{
  "resourceType": "StructureDefinition",
  "id": "DGUV-OPER-PR-VersichertePerson",
  "url": "http://fhir.dguv.de/OPER/Patient/DGUV-OPER-PR-VersichertePerson",
  "version": "0.1",
  "name": "DGUV_OPER_PR_VersichertePerson",
  "title": "Versicherte Person",
  "status": "draft",
  "publisher": "Deutsche Gesetzliche Unfallversicherung e.V. (DGUV)",
  "description": "Dieses Profil beschreibt die versicherte Person.",
  "fhirVersion": "4.0.1",
  "kind": "resource",
  "abstract": false,
  "type": "Patient",
  "baseDefinition": "http://fhir.dguv.de/Basis/Patient/DGUV-Basis-PR-VersichertePerson",
  "derivation": "constraint",
  "differential": {
    "element": [
      {
        "id": "Patient",
        "path": "Patient",
        "constraint": [
          {
            "key": "dguv-pat-identifier-exclude-gkv-pkv",
            "severity": "error",
            "human": "Die gleichzeitige Verwendung von VersichertenId_GKV und Versichertennummer_PKV ist verboten",
            "expression": "(identifier.where(type.coding.where(system='http://fhir.de/CodeSystem/identifier-type-de-basis' and code='KVZ10').exists()).value.exists() and identifier.where(type.coding.where(system='http://fhir.de/CodeSystem/identifier-type-de-basis' and code='PKV').exists()).value.exists()).not()"
          }
        ]
      },
      {
        "id": "Patient.id",
        "path": "Patient.id",
        "mustSupport": true
      },
      {
        "id": "Patient.meta",
        "path": "Patient.meta",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.meta.profile",
        "path": "Patient.meta.profile",
        "min": 1,
        "max": "1",
        "fixedCanonical": "http://fhir.dguv.de/OPER/Patient/DGUV-OPER-PR-VersichertePerson",
        "mustSupport": true
      },
      {
        "id": "Patient.extension",
        "path": "Patient.extension",
        "mustSupport": false
      },
      {
        "id": "Patient.extension:nationality",
        "path": "Patient.extension",
        "sliceName": "nationality",
        "short": "Staatsbürgerschaft der versicherten Person",
        "mustSupport": false
      },
      {
        "id": "Patient.extension:nationality.extension",
        "path": "Patient.extension.extension",
        "min": 1,
        "max": "2",
        "mustSupport": false
      },
      {
        "id": "Patient.extension:nationality.extension:code",
        "path": "Patient.extension.extension",
        "sliceName": "code",
        "short": "Code der Nationalität",
        "min": 1,
        "mustSupport": false
      },
      {
        "id": "Patient.extension:nationality.extension:code.value[x]",
        "path": "Patient.extension.extension.value[x]",
        "short": "Angabe über die Nationalität der versicherten Person",
        "mustSupport": false
      },
      {
        "id": "Patient.extension:nationality.extension:code.value[x].coding",
        "path": "Patient.extension.extension.value[x].coding",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Patient.extension:nationality.extension:code.value[x].coding.system",
        "path": "Patient.extension.extension.value[x].coding.system",
        "short": "ValueSet mit Nationalitäten",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.extension:nationality.extension:code.value[x].coding.code",
        "path": "Patient.extension.extension.value[x].coding.code",
        "short": "Kürzel der konkreten Nationalität",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.extension:nationality.extension:code.value[x].coding.display",
        "path": "Patient.extension.extension.value[x].coding.display",
        "short": "Bezeichnung der konkreten Nationalität",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.identifier",
        "path": "Patient.identifier",
        "comment": "Kardinalität 0..3, da - 1. - im OPER kein Identifikator zwingend ist und - 2. - sich VersichertenId_GKV und Versichertennummer_PKV gegenseitig ausschließen und somit max. 3 Identifikatoren angegeben werden können.",
        "max": "3",
        "mustSupport": false
      },
      {
        "id": "Patient.identifier:VersichertenId",
        "path": "Patient.identifier",
        "sliceName": "VersichertenId",
        "mustSupport": false
      },
      {
        "id": "Patient.identifier:VersichertenId.type",
        "path": "Patient.identifier.type",
        "short": "Kennzeichnung des Identifikators als lebenslange Krankenversichertennummer",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:VersichertenId.system",
        "path": "Patient.identifier.system",
        "short": "Namensraum der lebenslangen Krankenversichertennummer",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:VersichertenId.value",
        "path": "Patient.identifier.value",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:VersichertenId_GKV",
        "path": "Patient.identifier",
        "sliceName": "VersichertenId_GKV"
      },
      {
        "id": "Patient.identifier:VersichertenId_GKV.type",
        "path": "Patient.identifier.type",
        "short": "Kennzeichnung des Identifikators als GKV-Versichertennummer",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:VersichertenId_GKV.system",
        "path": "Patient.identifier.system",
        "short": "Menge der verfügbaren GKV-Versichertennummern",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:VersichertenId_GKV.value",
        "path": "Patient.identifier.value",
        "short": "Konkrete GKV-Versichertennummer",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Patientennummer",
        "path": "Patient.identifier",
        "sliceName": "Patientennummer",
        "max": "1"
      },
      {
        "id": "Patient.identifier:Patientennummer.type",
        "path": "Patient.identifier.type",
        "short": "Kennzeichnung des Identifikators als Patientennummer",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Patientennummer.system",
        "path": "Patient.identifier.system",
        "short": "Menge der im Krankenhaus-/Praxisverwaltungssystem verfügbaren Patientennummern",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Patientennummer.value",
        "path": "Patient.identifier.value",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Versichertennummer_PKV",
        "path": "Patient.identifier",
        "sliceName": "Versichertennummer_PKV"
      },
      {
        "id": "Patient.identifier:Versichertennummer_PKV.type",
        "path": "Patient.identifier.type",
        "short": "Kennzeichnung des Identifikators als Versichertennummer einer privaten Krankenversicherung",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Versichertennummer_PKV.value",
        "path": "Patient.identifier.value",
        "short": "Konkrete Versichertennummer innerhalb der PKV",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Versichertennummer_PKV.assigner",
        "path": "Patient.identifier.assigner",
        "short": "PKV-Versichertennummer ausgebende Stelle",
        "definition": "Assigner bei PKV immer anzugeben, da Versichertennummer_PKV nicht mit Sicherheit eindeutig",
        "mustSupport": true
      },
      {
        "id": "Patient.identifier:Versichertennummer_PKV.assigner.display",
        "path": "Patient.identifier.assigner.display",
        "short": "Konkrete Bezeichnung der PKV-Nr-ausgebenden Stelle",
        "mustSupport": true
      },
      {
        "id": "Patient.name",
        "path": "Patient.name",
        "short": "Name der versicherten Person",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name",
        "path": "Patient.name",
        "sliceName": "Name",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.use",
        "path": "Patient.name.use",
        "definition": "Abgrenzung von offiziellem Namen, Geburtsnamen, Künstlernamen usw. voneinander",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family",
        "path": "Patient.name.family",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension",
        "path": "Patient.name.family.extension",
        "max": "3",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension:namenszusatz",
        "path": "Patient.name.family.extension",
        "sliceName": "namenszusatz",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension:namenszusatz.value[x]",
        "path": "Patient.name.family.extension.value[x]",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension:nachname",
        "path": "Patient.name.family.extension",
        "sliceName": "nachname",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension:nachname.value[x]",
        "path": "Patient.name.family.extension.value[x]",
        "short": "Konkreter Nachname",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension:vorsatzwort",
        "path": "Patient.name.family.extension",
        "sliceName": "vorsatzwort",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.family.extension:vorsatzwort.value[x]",
        "path": "Patient.name.family.extension.value[x]",
        "short": "Konkretes Vorsatzwort",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.given",
        "path": "Patient.name.given",
        "min": 1,
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.prefix",
        "path": "Patient.name.prefix",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.prefix.extension",
        "path": "Patient.name.prefix.extension",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.prefix.extension:prefix-qualifier",
        "path": "Patient.name.prefix.extension",
        "sliceName": "prefix-qualifier",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.prefix.extension:prefix-qualifier.value[x]",
        "path": "Patient.name.prefix.extension.value[x]",
        "definition": "Konkrete Spezialisierung der Präfixart",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Name.suffix",
        "path": "Patient.name.suffix",
        "mustSupport": true
      },
      {
        "id": "Patient.name:Geburtsname",
        "path": "Patient.name",
        "sliceName": "Geburtsname",
        "max": "0"
      },
      {
        "id": "Patient.telecom",
        "path": "Patient.telecom",
        "short": "Angaben zu bestehenden Kontaktmöglichkeiten (Telefon) der versicherten Person",
        "max": "1"
      },
      {
        "id": "Patient.telecom.system",
        "path": "Patient.telecom.system",
        "comment": "Im OPER soll an dieser Stelle nur die Telefonnummer angegeben werden",
        "fixedCode": "phone"
      },
      {
        "id": "Patient.telecom.value",
        "path": "Patient.telecom.value",
        "short": "Konkrete Erreichbarkeit per Telefon"
      },
      {
        "id": "Patient.gender",
        "path": "Patient.gender",
        "mustSupport": false
      },
      {
        "id": "Patient.gender.extension",
        "path": "Patient.gender.extension",
        "mustSupport": true
      },
      {
        "id": "Patient.gender.extension:gender-amtlich",
        "path": "Patient.gender.extension",
        "sliceName": "gender-amtlich",
        "short": "Genauere Differenzierung des administrativen Geschlechts",
        "definition": "Extension zur genaueren Differenzierung des administrativen Geschlechts",
        "mustSupport": true
      },
      {
        "id": "Patient.gender.extension:gender-amtlich.value[x]",
        "path": "Patient.gender.extension.value[x]",
        "mustSupport": true
      },
      {
        "id": "Patient.gender.extension:gender-amtlich.value[x].code",
        "path": "Patient.gender.extension.value[x].code",
        "short": "Konkreter Code aus gender-other-de",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.gender.extension:gender-amtlich.value[x].display",
        "path": "Patient.gender.extension.value[x].display",
        "short": "Konkreter Code aus gender-other-de",
        "min": 1,
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate",
        "path": "Patient.birthDate",
        "short": "Geburtsdatum des Patienten",
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate.extension",
        "path": "Patient.birthDate.extension",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate.extension:data_absent_reason",
        "path": "Patient.birthDate.extension",
        "sliceName": "data_absent_reason",
        "definition": "Grund, warum das richtige Geburtsdatum nicht vorliegt",
        "mustSupport": true
      },
      {
        "id": "Patient.birthDate.extension:data_absent_reason.value[x]",
        "path": "Patient.birthDate.extension.value[x]",
        "short": "Kürzel des konkreten Grundes für Fehlen des Geburtsdatums",
        "mustSupport": true
      },
      {
        "id": "Patient.address",
        "path": "Patient.address",
        "short": "Adresse der versicherten Person",
        "max": "2"
      },
      {
        "id": "Patient.address:Strassenanschrift",
        "path": "Patient.address",
        "sliceName": "Strassenanschrift"
      },
      {
        "id": "Patient.address:Strassenanschrift.extension",
        "path": "Patient.address.extension",
        "max": "1",
        "mustSupport": true
      },
      {
        "id": "Patient.address:Strassenanschrift.extension:Stadtteil",
        "path": "Patient.address.extension",
        "sliceName": "Stadtteil",
        "mustSupport": true
      },
      {
        "id": "Patient.address:Strassenanschrift.extension:Stadtteil.value[x]",
        "path": "Patient.address.extension.value[x]",
        "short": "Konkreter Name des Stadt- oder Ortsteils",
        "mustSupport": true
      },
      {
        "id": "Patient.address:Strassenanschrift.line",
        "path": "Patient.address.line",
        "short": "Straßenname mit Hausnummer sowie weitere Angaben zur Zustellung",
        "definition": "Diese Komponente kann Straßennamen, Hausnummer, Appartmentnummer, c/o sowie weitere Zustellungshinweise enthalten. Die Informationen können in mehrere line-Komponenten aufgeteilt werden.\r\nBei Verwendung der Extensions, um Straße, Hausnnummer und Postleitzahl strukturiert zu übermitteln, müssen diese Informationen stets vollständig auch in der line-Komponente, die sie erweitern, enthalten sein, um es Systemen, die diese Extensions nicht verwenden zu ermöglichen, auf diese Informationen zugreifen zu können.",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension",
        "path": "Patient.address.line.extension",
        "min": 2,
        "max": "3"
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension:Strasse",
        "path": "Patient.address.line.extension",
        "sliceName": "Strasse",
        "short": "Straßenname (ohne Hausnummer)",
        "min": 1
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension:Strasse.value[x]",
        "path": "Patient.address.line.extension.value[x]",
        "short": "Konkreter Straßenname",
        "mustSupport": true
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension:Hausnummer",
        "path": "Patient.address.line.extension",
        "sliceName": "Hausnummer",
        "min": 1
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension:Hausnummer.value[x]",
        "path": "Patient.address.line.extension.value[x]",
        "short": "Konkrete Hausnummer",
        "mustSupport": true
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension:Adresszusatz",
        "path": "Patient.address.line.extension",
        "sliceName": "Adresszusatz"
      },
      {
        "id": "Patient.address:Strassenanschrift.line.extension:Adresszusatz.value[x]",
        "path": "Patient.address.line.extension.value[x]",
        "short": "Konkreter Adresszusatz",
        "mustSupport": true
      },
      {
        "id": "Patient.address:Strassenanschrift.city",
        "path": "Patient.address.city",
        "short": "Name der Stadt",
        "min": 1
      },
      {
        "id": "Patient.address:Strassenanschrift.postalCode",
        "path": "Patient.address.postalCode",
        "min": 1
      },
      {
        "id": "Patient.address:Postfach",
        "path": "Patient.address",
        "sliceName": "Postfach",
        "short": "Postfachadresse"
      },
      {
        "id": "Patient.address:Postfach.line",
        "path": "Patient.address.line",
        "short": "Postfach",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Patient.address:Postfach.line.extension",
        "path": "Patient.address.line.extension",
        "min": 1,
        "max": "1"
      },
      {
        "id": "Patient.address:Postfach.line.extension:Postfach",
        "path": "Patient.address.line.extension",
        "sliceName": "Postfach",
        "min": 1
      },
      {
        "id": "Patient.address:Postfach.line.extension:Postfach.value[x]",
        "path": "Patient.address.line.extension.value[x]",
        "short": "Konkrete Postfachnummer"
      },
      {
        "id": "Patient.address:Postfach.city",
        "path": "Patient.address.city",
        "short": "Name der Stadt",
        "min": 1
      },
      {
        "id": "Patient.address:Postfach.postalCode",
        "path": "Patient.address.postalCode",
        "min": 1
      },
      {
        "id": "Patient.maritalStatus",
        "path": "Patient.maritalStatus",
        "max": "0"
      }
    ]
  }
}