{
  "resourceType": "StructureDefinition",
  "id": "de-core-patient",
  "url": "https://fhir.de/core/StructureDefinition/de-core-patient",
  "version": "0.1.0",
  "name": "DECorePatient",
  "title": "DE Core Patient",
  "status": "draft",
  "experimental": false,
  "date": "2026-04-28",
  "publisher": "DE Core Authoring Group",
  "contact": [
    {
      "name": "DE Core Authoring Group",
      "telecom": [
        {
          "system": "url",
          "value": "https://fhir.de"
        }
      ]
    }
  ],
  "description": "Sektoren- und professionsübergreifendes Kernprofil für die Patient-Ressource im deutschen Gesundheitswesen. Kompatibel mit DE-Basisprofilen (GEVKO/KBV), ISiK Stufe 3+, gematik ePA 3.1+ sowie dem European Health Data Space (EHDS) / IPS.",
  "purpose": "Dieses Profil definiert den gemeinsamen Kern einer Patient-Ressource, der im ambulanten, stationären, zahnärztlichen und Forschungsumfeld genutzt werden kann. Es ist bewusst offen gehalten und stellt keine sektorspezifischen Anforderungen, um als Basis für spezialisierte Ableitungsprofile zu dienen.",
  "copyright": "CC-BY 4.0",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Patient",
  "baseDefinition": "http://hl7.org/fhir/StructureDefinition/Patient",
  "derivation": "constraint",
  "mapping": [
    {
      "identity": "de-basis",
      "uri": "http://fhir.de/StructureDefinition/patient-de-basis",
      "name": "DE Basisprofil Patient (GEVKO)"
    },
    {
      "identity": "isik",
      "uri": "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient",
      "name": "ISiK Patient Stufe 3"
    },
    {
      "identity": "epa",
      "uri": "https://gematik.de/fhir/epa-basic/StructureDefinition/PatientEPA",
      "name": "gematik ePA Patient 3.1"
    },
    {
      "identity": "ips",
      "uri": "http://hl7.org/fhir/uv/ips/StructureDefinition/Patient-uv-ips",
      "name": "IPS Patient (EHDS Basis)"
    }
  ],
  "differential": {
    "element": [
      {
        "id": "Patient",
        "path": "Patient",
        "short": "DE Core Patient",
        "definition": "Kernprofil für einen Patienten im deutschen Gesundheitswesen.",
        "constraint": [
          {
            "key": "de-core-pat-1",
            "severity": "warning",
            "human": "Mindestens ein amtlicher Name (official) SOLLTE vorhanden sein.",
            "expression": "name.where(use = 'official').exists()"
          },
          {
            "key": "de-core-pat-2",
            "severity": "warning",
            "human": "Mindestens ein Identifier SOLLTE angegeben werden.",
            "expression": "identifier.exists()"
          }
        ]
      },
      {
        "id": "Patient.meta",
        "path": "Patient.meta",
        "mustSupport": true
      },
      {
        "id": "Patient.meta.profile",
        "path": "Patient.meta.profile",
        "mustSupport": true
      },
      {
        "id": "Patient.extension",
        "path": "Patient.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Patient.extension:vaterschaftsanerkennung",
        "path": "Patient.extension",
        "sliceName": "vaterschaftsanerkennung",
        "short": "Hinweis auf Vaterschaftsanerkennung (DE-Basisprofil)",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.de/StructureDefinition/patient-de-basis/vaterschaftsanerkennung"
            ]
          }
        ],
        "mustSupport": false
      },
      {
        "id": "Patient.identifier",
        "path": "Patient.identifier",
        "slicing": {
          "discriminator": [
            {
              "type": "pattern",
              "path": "$this"
            }
          ],
          "rules": "open",
          "description": "Offenes Slicing. Bekannte Identifier-Typen sind vordefiniert."
        },
        "short": "Patientenidentifikatoren",
        "definition": "Mindestens einer der bekannten deutschen Identifier SOLLTE vorhanden sein. Das Slicing ist offen, sodass weitere Identifier ergänzt werden können.",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:kvid10",
        "path": "Patient.identifier",
        "sliceName": "kvid10",
        "short": "Krankenversichertennummer (KVID-10, GKV)",
        "definition": "10-stellige Krankenversichertennummer gemäß § 290 SGB V. Verwendet das DE-Basisprofil-System.",
        "min": 0,
        "max": "1",
        "patternIdentifier": {
          "type": {
            "coding": [
              {
                "system": "http://fhir.de/CodeSystem/identifier-type-de-basis",
                "code": "KVZ10"
              }
            ]
          }
        },
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:kvid10.type",
        "path": "Patient.identifier.type",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:kvid10.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "fixedUri": "http://fhir.de/sid/gkv/kvid-10",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:kvid10.value",
        "path": "Patient.identifier.value",
        "short": "10-stellige KVID",
        "min": 1,
        "mustSupport": true,
        "constraint": [
          {
            "key": "de-core-kvid-1",
            "severity": "error",
            "human": "Die KVID-10 muss 10 alphanumerische Zeichen haben (1 Buchstabe + 9 Ziffern).",
            "expression": "matches('^[A-Z][0-9]{9}$')"
          }
        ]
      },
      {
        "id": "Patient.identifier:pkv",
        "path": "Patient.identifier",
        "sliceName": "pkv",
        "short": "PKV-Versichertennummer",
        "definition": "Versichertennummer einer privaten Krankenversicherung.",
        "min": 0,
        "max": "*",
        "patternIdentifier": {
          "type": {
            "coding": [
              {
                "system": "http://fhir.de/CodeSystem/identifier-type-de-basis",
                "code": "PKV"
              }
            ]
          }
        },
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pkv.type",
        "path": "Patient.identifier.type",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pkv.system",
        "path": "Patient.identifier.system",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pkv.value",
        "path": "Patient.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pkv.assigner",
        "path": "Patient.identifier.assigner",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pid",
        "path": "Patient.identifier",
        "sliceName": "pid",
        "short": "Lokale Patientennummer (PID)",
        "definition": "Interne Patientennummer einer Einrichtung (z. B. KIS, PVS, Forschungspseudonym).",
        "min": 0,
        "max": "*",
        "patternIdentifier": {
          "type": {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                "code": "MR"
              }
            ]
          }
        },
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pid.type",
        "path": "Patient.identifier.type",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pid.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pid.value",
        "path": "Patient.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:pid.assigner",
        "path": "Patient.identifier.assigner",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:telematik-id",
        "path": "Patient.identifier",
        "sliceName": "telematik-id",
        "short": "Telematik-ID (gematik / ePA)",
        "definition": "Telematik-ID des Versicherten aus der eGK gemäß gematik-Spezifikation (ePA 3.1+).",
        "min": 0,
        "max": "1",
        "patternIdentifier": {
          "type": {
            "coding": [
              {
                "system": "http://terminology.hl7.org/CodeSystem/v2-0203",
                "code": "XX"
              }
            ]
          },
          "system": "https://gematik.de/fhir/sid/telematik-id"
        },
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:telematik-id.system",
        "path": "Patient.identifier.system",
        "min": 1,
        "fixedUri": "https://gematik.de/fhir/sid/telematik-id",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:telematik-id.value",
        "path": "Patient.identifier.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name",
        "path": "Patient.name",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "use"
            }
          ],
          "rules": "open"
        },
        "short": "Name des Patienten",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name:official",
        "path": "Patient.name",
        "sliceName": "official",
        "short": "Amtlicher Name gemäß DE-Basisprofil (HumannameDeBasis)",
        "definition": "Amtlicher Name des Patienten inkl. Namenszusätzen, Vorsatzwörtern und akademischen Graden gemäß DE-Basisprofil.",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "HumanName",
            "profile": [
              "http://fhir.de/StructureDefinition/humanname-de-basis"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Patient.name:official.use",
        "path": "Patient.name.use",
        "min": 1,
        "fixedCode": "official",
        "mustSupport": true
      },
      {
        "id": "Patient.name:official.family",
        "path": "Patient.name.family",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name:official.given",
        "path": "Patient.name.given",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name:maiden",
        "path": "Patient.name",
        "sliceName": "maiden",
        "short": "Geburtsname gemäß DE-Basisprofil",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "HumanName",
            "profile": [
              "http://fhir.de/StructureDefinition/humanname-de-basis"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Patient.name:maiden.use",
        "path": "Patient.name.use",
        "min": 1,
        "fixedCode": "maiden",
        "mustSupport": true
      },
      {
        "id": "Patient.name:maiden.family",
        "path": "Patient.name.family",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.telecom",
        "path": "Patient.telecom",
        "mustSupport": true
      },
      {
        "id": "Patient.telecom.system",
        "path": "Patient.telecom.system",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.telecom.value",
        "path": "Patient.telecom.value",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.gender",
        "path": "Patient.gender",
        "short": "Administratives Geschlecht (inkl. 'other' für divers)",
        "definition": "Administratives Geschlecht. Für das dritte Geschlecht ('divers') gemäß PStG wird 'other' verwendet und durch die Extension 'gender-amtlich-de' präzisiert.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.gender.extension",
        "path": "Patient.gender.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Patient.gender.extension:geschlecht-amtlich",
        "path": "Patient.gender.extension",
        "sliceName": "geschlecht-amtlich",
        "short": "Amtliches Geschlecht gemäß DE-Basisprofil (D = divers, X = unbestimmt)",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://fhir.de/StructureDefinition/gender-amtlich-de"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate",
        "path": "Patient.birthDate",
        "short": "Geburtsdatum",
        "definition": "Geburtsdatum des Patienten. Partielle Datumsangaben (nur Jahr, Jahr+Monat) sind erlaubt.",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate.extension",
        "path": "Patient.birthDate.extension",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "url"
            }
          ],
          "rules": "open"
        }
      },
      {
        "id": "Patient.birthDate.extension:data-absent-reason",
        "path": "Patient.birthDate.extension",
        "sliceName": "data-absent-reason",
        "short": "Grund für fehlendes Geburtsdatum",
        "min": 0,
        "max": "1",
        "type": [
          {
            "code": "Extension",
            "profile": [
              "http://hl7.org/fhir/StructureDefinition/data-absent-reason"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Patient.deceased[x]",
        "path": "Patient.deceased[x]",
        "short": "Verstorben (Boolean oder Datum)",
        "mustSupport": true
      },
      {
        "id": "Patient.address",
        "path": "Patient.address",
        "slicing": {
          "discriminator": [
            {
              "type": "value",
              "path": "type"
            }
          ],
          "rules": "open"
        },
        "mustSupport": true
      },
      {
        "id": "Patient.address:strassenanschrift",
        "path": "Patient.address",
        "sliceName": "strassenanschrift",
        "short": "Straßenanschrift gemäß DE-Basisprofil (AddressDeBasis)",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Address",
            "profile": [
              "http://fhir.de/StructureDefinition/address-de-basis"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Patient.address:strassenanschrift.type",
        "path": "Patient.address.type",
        "min": 1,
        "fixedCode": "both",
        "mustSupport": true
      },
      {
        "id": "Patient.address:strassenanschrift.line",
        "path": "Patient.address.line",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.address:strassenanschrift.city",
        "path": "Patient.address.city",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.address:strassenanschrift.postalCode",
        "path": "Patient.address.postalCode",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.address:strassenanschrift.country",
        "path": "Patient.address.country",
        "short": "Ländercode ISO 3166-1 alpha-2 (z. B. 'DE')",
        "definition": "Ländercode gemäß ISO 3166-1 alpha-2. Für EHDS-Kompatibilität wird die Verwendung des 2-stelligen Ländercodes empfohlen.",
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/ValueSet/iso3166-1-2"
        }
      },
      {
        "id": "Patient.address:postfach",
        "path": "Patient.address",
        "sliceName": "postfach",
        "short": "Postfachadresse gemäß DE-Basisprofil",
        "min": 0,
        "max": "*",
        "type": [
          {
            "code": "Address",
            "profile": [
              "http://fhir.de/StructureDefinition/address-de-basis"
            ]
          }
        ],
        "mustSupport": true
      },
      {
        "id": "Patient.address:postfach.type",
        "path": "Patient.address.type",
        "min": 1,
        "fixedCode": "postal",
        "mustSupport": true
      },
      {
        "id": "Patient.maritalStatus",
        "path": "Patient.maritalStatus",
        "mustSupport": false,
        "binding": {
          "strength": "extensible",
          "valueSet": "http://fhir.de/ValueSet/marital-status-de"
        }
      },
      {
        "id": "Patient.communication",
        "path": "Patient.communication",
        "short": "Bevorzugte Kommunikationssprache(n)",
        "mustSupport": true
      },
      {
        "id": "Patient.communication.language",
        "path": "Patient.communication.language",
        "short": "Sprache gemäß BCP-47 / ietf:bcp:47",
        "mustSupport": true,
        "binding": {
          "strength": "preferred",
          "valueSet": "http://hl7.org/fhir/ValueSet/languages",
          "description": "BCP-47 Sprachcodes (z. B. 'de', 'en', 'tr'). Empfohlen für EHDS-Kompatibilität."
        }
      },
      {
        "id": "Patient.communication.preferred",
        "path": "Patient.communication.preferred",
        "mustSupport": true
      },
      {
        "id": "Patient.generalPractitioner",
        "path": "Patient.generalPractitioner",
        "short": "Hausarzt / behandelnder Arzt",
        "mustSupport": true
      },
      {
        "id": "Patient.managingOrganization",
        "path": "Patient.managingOrganization",
        "short": "Verwaltende Organisation (z. B. Krankenhaus, Praxis, Forschungszentrum)",
        "mustSupport": true
      },
      {
        "id": "Patient.link",
        "path": "Patient.link",
        "short": "Verknüpfung mit anderen Patient-Ressourcen (z. B. nach Merge/MPI)",
        "mustSupport": true
      }
    ]
  }
}