<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="DGUV-ENLA-PR-VersichertePerson" />
  <url value="http://fhir.dguv.de/ENLA/Patient/DGUV-ENLA-PR-VersichertePerson" />
  <version value="1.0" />
  <name value="DGUV_ENLA_PR_VersichertePerson" />
  <title value="Versicherte Person" />
  <status value="draft" />
  <publisher value="Deutsche Gesetzliche Unfallversicherung e.V. (DGUV)" />
  <description value="Dieses Profil beschreibt die versicherte Person." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://fhir.dguv.de/Basis/Patient/DGUV-Basis-PR-VersichertePerson" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <constraint>
        <key value="dguv-pat-identifier-exclude-gkv-pkv" />
        <severity value="error" />
        <human value="Die gleichzeitige Verwendung von VersichertenId_GKV und Versichertennummer_PKV ist verboten" />
        <expression value="(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()" />
      </constraint>
    </element>
    <element id="Patient.id">
      <path value="Patient.id" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.meta">
      <path value="Patient.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.meta.profile">
      <path value="Patient.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="http://fhir.dguv.de/ENLA/Patient/DGUV-ENLA-PR-VersichertePerson" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension">
      <path value="Patient.extension" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality">
      <path value="Patient.extension" />
      <sliceName value="nationality" />
      <short value="Staatsbürgerschaft der versicherten Person" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension">
      <path value="Patient.extension.extension" />
      <min value="1" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension:code">
      <path value="Patient.extension.extension" />
      <sliceName value="code" />
      <short value="Code der Nationalität" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension:code.value[x]">
      <path value="Patient.extension.extension.value[x]" />
      <short value="Angabe über die Nationalität der versicherten Person" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension:code.value[x].coding">
      <path value="Patient.extension.extension.value[x].coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension:code.value[x].coding.system">
      <path value="Patient.extension.extension.value[x].coding.system" />
      <short value="ValueSet mit Nationalitäten" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension:code.value[x].coding.code">
      <path value="Patient.extension.extension.value[x].coding.code" />
      <short value="Kürzel der konkreten Nationalität" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.extension:nationality.extension:code.value[x].coding.display">
      <path value="Patient.extension.extension.value[x].coding.display" />
      <short value="Bezeichnung der konkreten Nationalität" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <comment value="Kardinalität 0..3, da - 1. - im ENLA 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 value="3" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId">
      <path value="Patient.identifier" />
      <sliceName value="VersichertenId" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId.type">
      <path value="Patient.identifier.type" />
      <short value="Kennzeichnung des Identifikators als lebenslange Krankenversichertennummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId.system">
      <path value="Patient.identifier.system" />
      <short value="Namensraum der lebenslangen Krankenversichertennummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId_GKV">
      <path value="Patient.identifier" />
      <sliceName value="VersichertenId_GKV" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId_GKV.type">
      <path value="Patient.identifier.type" />
      <short value="Kennzeichnung des Identifikators als GKV-Versichertennummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId_GKV.system">
      <path value="Patient.identifier.system" />
      <short value="Menge der verfügbaren GKV-Versichertennummern" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:VersichertenId_GKV.value">
      <path value="Patient.identifier.value" />
      <short value="Konkrete GKV-Versichertennummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Patientennummer">
      <path value="Patient.identifier" />
      <sliceName value="Patientennummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Patientennummer.type">
      <path value="Patient.identifier.type" />
      <short value="Kennzeichnung des Identifikators als Patientennummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Patientennummer.system">
      <path value="Patient.identifier.system" />
      <short value="Menge der im Krankenhaus-/Praxisverwaltungssystem verfügbaren Patientennummern" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Patientennummer.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Versichertennummer_PKV">
      <path value="Patient.identifier" />
      <sliceName value="Versichertennummer_PKV" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Versichertennummer_PKV.type">
      <path value="Patient.identifier.type" />
      <short value="Kennzeichnung des Identifikators als Versichertennummer einer privaten Krankenversicherung" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Versichertennummer_PKV.value">
      <path value="Patient.identifier.value" />
      <short value="Konkrete Versichertennummer innerhalb der PKV" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Versichertennummer_PKV.assigner">
      <path value="Patient.identifier.assigner" />
      <short value="PKV-Versichertennummer ausgebende Stelle" />
      <definition value="Assigner bei PKV immer anzugeben, da Versichertennummer_PKV nicht mit Sicherheit eindeutig" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:Versichertennummer_PKV.assigner.display">
      <path value="Patient.identifier.assigner.display" />
      <short value="Konkrete Bezeichnung der PKV-Nr-ausgebenden Stelle" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <short value="Name der versicherten Person" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name">
      <path value="Patient.name" />
      <sliceName value="Name" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.use">
      <path value="Patient.name.use" />
      <definition value="Abgrenzung von offiziellem Namen, Geburtsnamen, Künstlernamen usw. voneinander" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family">
      <path value="Patient.name.family" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension">
      <path value="Patient.name.family.extension" />
      <short value="Weitere Differenzierung des vollständigen Familiennamens" />
      <max value="3" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension:namenszusatz">
      <path value="Patient.name.family.extension" />
      <sliceName value="namenszusatz" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension:namenszusatz.value[x]">
      <path value="Patient.name.family.extension.value[x]" />
      <short value="Konkreter Namenszusatz" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension:nachname">
      <path value="Patient.name.family.extension" />
      <sliceName value="nachname" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension:nachname.value[x]">
      <path value="Patient.name.family.extension.value[x]" />
      <short value="Konkreter Nachname" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension:vorsatzwort">
      <path value="Patient.name.family.extension" />
      <sliceName value="vorsatzwort" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family.extension:vorsatzwort.value[x]">
      <path value="Patient.name.family.extension.value[x]" />
      <short value="Konkretes Vorsatzwort" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.given">
      <path value="Patient.name.given" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.prefix">
      <path value="Patient.name.prefix" />
      <definition value="Namensteile vor dem Vornamen, z.B. akademischer Titel" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.prefix.extension">
      <path value="Patient.name.prefix.extension" />
      <short value="Weitere Differenzierung des Prefixes" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.prefix.extension:prefix-qualifier">
      <path value="Patient.name.prefix.extension" />
      <sliceName value="prefix-qualifier" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.prefix.extension:prefix-qualifier.value[x]">
      <path value="Patient.name.prefix.extension.value[x]" />
      <short value="Konkrete Spezialisierung der Präfixart" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.suffix">
      <path value="Patient.name.suffix" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Geburtsname">
      <path value="Patient.name" />
      <sliceName value="Geburtsname" />
      <max value="0" />
      <mustSupport value="false" />
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <short value="Angaben zu bestehenden Kontaktmöglichkeiten (Telefon) der versicherten Person" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom.system">
      <path value="Patient.telecom.system" />
      <comment value="Im ENLA soll an dieser Stelle nur die Telefonnummer angegeben werden." />
      <fixedCode value="phone" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom.value">
      <path value="Patient.telecom.value" />
      <short value="Konkrete Erreichbarkeit per Telefon" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <comment value="Für die Geschlechtskennzeichen &quot;unbestimmt&quot; und &quot;divers&quot; ist der code &quot;other&quot; zu verwenden. Falls ein administratives Geschlecht &quot;divers&quot; abzubilden ist (z. B. da dieses Geschlecht auf offiziellen Ausweisen eingetragen ist) muss eine Differenzierung zwischen &quot;other&quot; und &quot;divers&quot; als positiver Geschlechtseintrag erfolgen. Hierfür ist die &quot;gender-amtlich&quot;-Extension zu verwenden." />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Geschlecht der versicherten Person für administrative Zwecke" />
      </binding>
    </element>
    <element id="Patient.gender.extension">
      <path value="Patient.gender.extension" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:gender-amtlich">
      <path value="Patient.gender.extension" />
      <sliceName value="gender-amtlich" />
      <short value="Genauere Differenzierung des administrativen Geschlechts" />
      <definition value="Extension zur genaueren Differenzierung des administrativen Geschlechts" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:gender-amtlich.value[x]">
      <path value="Patient.gender.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:gender-amtlich.value[x].code">
      <path value="Patient.gender.extension.value[x].code" />
      <short value="Konkreter Code aus gender-other-de" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:gender-amtlich.value[x].display">
      <path value="Patient.gender.extension.value[x].display" />
      <short value="Konkrete Bezeichnung aus gender-other-de" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="Geburtsdatum des Patienten" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension">
      <path value="Patient.birthDate.extension" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:data_absent_reason">
      <path value="Patient.birthDate.extension" />
      <sliceName value="data_absent_reason" />
      <definition value="Grund, warum das richtige Geburtsdatum nicht vorliegt" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:data_absent_reason.value[x]">
      <path value="Patient.birthDate.extension.value[x]" />
      <short value="Kürzel des konkreten Grundes für Fehlen des Geburtsdatums" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <short value="Adresse der versicherten Person" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift">
      <path value="Patient.address" />
      <sliceName value="Strassenanschrift" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.extension">
      <path value="Patient.address.extension" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.extension:Stadtteil">
      <path value="Patient.address.extension" />
      <sliceName value="Stadtteil" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.extension:Stadtteil.value[x]">
      <path value="Patient.address.extension.value[x]" />
      <short value="Konkreter Name des Stadt- oder Ortsteils" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.type">
      <path value="Patient.address.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line">
      <path value="Patient.address.line" />
      <short value="Straßenname mit Hausnummer sowie weitere Angaben zur Zustellung" />
      <definition value="Diese Komponente kann Straßennamen, Hausnummer, Appartmentnummer, c/o sowie weitere Zustellungshinweise enthalten. Die Informationen können in mehrere line-Komponenten aufgeteilt werden.&#xD;&#xA;Bei 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 value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension">
      <path value="Patient.address.line.extension" />
      <min value="2" />
      <max value="3" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Strasse">
      <path value="Patient.address.line.extension" />
      <sliceName value="Strasse" />
      <short value="Straßenname (ohne Hausnummer)" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Strasse.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <short value="Konkreter Straßenname" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Hausnummer">
      <path value="Patient.address.line.extension" />
      <sliceName value="Hausnummer" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Hausnummer.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <short value="Konkrete Hausnummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Adresszusatz">
      <path value="Patient.address.line.extension" />
      <sliceName value="Adresszusatz" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Adresszusatz.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <short value="Konkreter Adresszusatz" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.city">
      <path value="Patient.address.city" />
      <short value="Name der Stadt" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.postalCode">
      <path value="Patient.address.postalCode" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.country">
      <path value="Patient.address.country" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach">
      <path value="Patient.address" />
      <sliceName value="Postfach" />
      <short value="Postfachadresse" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.extension:Stadtteil">
      <path value="Patient.address.extension" />
      <sliceName value="Stadtteil" />
    </element>
    <element id="Patient.address:Postfach.extension:Stadtteil.value[x]">
      <path value="Patient.address.extension.value[x]" />
      <short value="Konkreter Name des Stadt- oder Ortsteils" />
    </element>
    <element id="Patient.address:Postfach.type">
      <path value="Patient.address.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line">
      <path value="Patient.address.line" />
      <short value="Postfach" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line.extension">
      <path value="Patient.address.line.extension" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line.extension:Postfach.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <short value="Konkrete Postfachnummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.city">
      <path value="Patient.address.city" />
      <short value="Name der Stadt" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.postalCode">
      <path value="Patient.address.postalCode" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.country">
      <path value="Patient.address.country" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.maritalStatus">
      <path value="Patient.maritalStatus" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>