<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KBV-PR-VoS-Patient" />
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
  <version value="2.2.0" />
  <name value="KBV_PR_VoS_Patient" />
  <title value="KBV_PR_VoS_Patient" />
  <status value="draft" />
  <date value="2025-10-01" />
  <publisher value="Kassenärztliche Bundesvereinigung" />
  <description value="Informationen zu der behandelten Person zur Übermittlung vom PVS an die VoS" />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="https://fhir.kbv.de/StructureDefinition/KBV_PR_Base_Patient|1.7.0" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient">
      <path value="Patient" />
      <short value="Patient" />
      <definition value="Informationen zur Person, dessen Behandlung dem Aufruf der VoS zugrunde liegt" />
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-1" />
        <severity value="error" />
        <human value="Falls die erste Adresszeile einen Straßennamen und eine Hausnummer besitzt, sind diese zusammen im Element 'line' mit mindestens einem Leerzeichen getrennt anzugeben." />
        <expression value="(address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').exists() and address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').exists()) implies (address.line[0].indexOf(%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').value as string)=0 and address.line[0].substring(%context.address.line[0].length()-(%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').value as string).length(), (%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').value as string).length())=(%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').value as string) and address.line[0].substring((%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').value as string).length(), %context.address.line[0].length()-(%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').value as string).length()-(%context.address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').value as string).length()).matches('^ +$'))" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-2" />
        <severity value="error" />
        <human value="Falls die erste Adresszeile keinen Straßennamen und eine Hausnummer besitzt, ist letztere im Element 'line' anzugeben." />
        <expression value="(address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').exists() and address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').exists().not()) implies address.line[0] = (address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').value as string)" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-3" />
        <severity value="error" />
        <human value="Falls die erste Adresszeile keine Hausnummer und einen Straßennamen besitzt, ist letzterer im Element 'line' anzugeben." />
        <expression value="(address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').exists().not() and address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').exists()) implies address.line[0] = (address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').value as string)" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-4" />
        <severity value="error" />
        <human value="Falls eine Adresszeile einen Adresszusatz besitzt, ist dieser im Element 'line' anzugeben." />
        <expression value="(address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').exists() implies address.line[0] = (address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').value as string)) and (address.line[1].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').exists() implies address.line[1] = (address.line[1].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').value as string))" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-5" />
        <severity value="error" />
        <human value="Falls die erste Adresszeile ein Postfach besitzt, ist dieses im Element 'line' anzugeben." />
        <expression value="address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox').exists() implies address.line[0] = (address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-postBox').value as string)" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-6" />
        <severity value="error" />
        <human value="Falls die erste Adresszeile einen Straßennamen oder eine Hausnummer besitzt, darf sie keinen Adresszusatz enthalten." />
        <expression value="(address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').exists() or address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').exists()) implies address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').exists().not()" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-7" />
        <severity value="error" />
        <human value="Falls eine zweite Adresszeile existiert, darf sie weder einen Straßennamen oder eine Hausnummer enthalten und muss einen Adresszusatz enthalten." />
        <expression value="address.line[1].exists() implies address.line[1].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').exists().not() and address.line[1].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').exists().not() and address.line[1].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').exists()" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <constraint>
        <key value="-for-adresszeilenAufbauPatientRessource-8" />
        <severity value="error" />
        <human value="Falls eine zweite Adresszeile existiert, muss die erste Adresszeile einen Straßennamen oder eine Hausnummer enthalten und darf keinen Adresszusatz besitzen." />
        <expression value="address.line[1].exists() implies ((address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber').exists() or address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName').exists()) and address.line[0].extension('http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-additionalLocator').exists().not())" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
    </element>
    <element id="Patient.id">
      <path value="Patient.id" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.meta">
      <path value="Patient.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.meta.source">
      <path value="Patient.meta.source" />
      <max value="0" />
    </element>
    <element id="Patient.meta.profile">
      <path value="Patient.meta.profile" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.meta.profile:vosProfile">
      <path value="Patient.meta.profile" />
      <sliceName value="vosProfile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient|2.2.0" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.meta.security">
      <path value="Patient.meta.security" />
      <max value="0" />
    </element>
    <element id="Patient.meta.tag">
      <path value="Patient.meta.tag" />
      <max value="0" />
    </element>
    <element id="Patient.implicitRules">
      <path value="Patient.implicitRules" />
      <max value="0" />
    </element>
    <element id="Patient.language">
      <path value="Patient.language" />
      <max value="0" />
    </element>
    <element id="Patient.contained">
      <path value="Patient.contained" />
      <max value="0" />
    </element>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="type" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <definition value="Es muss genau einer der Identifier versichertenId, versichertennummer_pkv und versichertennummer_kvk ausgewählt werden. Optional kann noch ein Identifier &quot;pid&quot; übergeben werden." />
      <min value="1" />
      <max value="2" />
    </element>
    <element id="Patient.identifier:pid">
      <path value="Patient.identifier" />
      <sliceName value="pid" />
      <short value="Patienten-ID" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.type">
      <path value="Patient.identifier.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.type.coding">
      <path value="Patient.identifier.type.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.type.coding.system">
      <path value="Patient.identifier.type.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.type.coding.version">
      <path value="Patient.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:pid.type.coding.code">
      <path value="Patient.identifier.type.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.type.coding.display">
      <path value="Patient.identifier.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:pid.type.coding.userSelected">
      <path value="Patient.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:pid.type.text">
      <path value="Patient.identifier.type.text" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:pid.system">
      <path value="Patient.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:pid.period">
      <path value="Patient.identifier.period" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:pid.assigner">
      <path value="Patient.identifier.assigner" />
      <max value="0" />
    </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" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertenId.type.coding">
      <path value="Patient.identifier.type.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertenId.type.coding.system">
      <path value="Patient.identifier.type.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertenId.type.coding.version">
      <path value="Patient.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertenId.type.coding.code">
      <path value="Patient.identifier.type.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertenId.type.coding.display">
      <path value="Patient.identifier.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertenId.type.coding.userSelected">
      <path value="Patient.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertenId.type.text">
      <path value="Patient.identifier.type.text" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertenId.system">
      <path value="Patient.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertenId.value">
      <path value="Patient.identifier.value" />
      <constraint>
        <key value="-for-laengeVersichertenId" />
        <severity value="error" />
        <human value="Der unveränderliche Teil der VersichertenId muss 10-stellig sein und mit einem Großbuchstaben anfangen." />
        <expression value="matches('^[A-Z][0-9]{9}$' )" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_VoS_Patient" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertenId.period">
      <path value="Patient.identifier.period" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertenId.assigner">
      <path value="Patient.identifier.assigner" />
      <max value="0" />
    </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" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.type.coding">
      <path value="Patient.identifier.type.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.type.coding.system">
      <path value="Patient.identifier.type.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.type.coding.code">
      <path value="Patient.identifier.type.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.period">
      <path value="Patient.identifier.period" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.assigner">
      <path value="Patient.identifier.assigner" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.assigner.identifier">
      <path value="Patient.identifier.assigner.identifier" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.assigner.identifier.system">
      <path value="Patient.identifier.assigner.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.assigner.identifier.value">
      <path value="Patient.identifier.assigner.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_pkv.assigner.display">
      <path value="Patient.identifier.assigner.display" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:reisepassnummer">
      <path value="Patient.identifier" />
      <sliceName value="reisepassnummer" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:reisepassnummer.assigner">
      <path value="Patient.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk">
      <path value="Patient.identifier" />
      <sliceName value="versichertennummer_kvk" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type">
      <path value="Patient.identifier.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.coding">
      <path value="Patient.identifier.type.coding" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.coding.system">
      <path value="Patient.identifier.type.coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.coding.version">
      <path value="Patient.identifier.type.coding.version" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.coding.code">
      <path value="Patient.identifier.type.coding.code" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.coding.display">
      <path value="Patient.identifier.type.coding.display" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.coding.userSelected">
      <path value="Patient.identifier.type.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.type.text">
      <path value="Patient.identifier.type.text" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.system">
      <path value="Patient.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.period">
      <path value="Patient.identifier.period" />
      <max value="0" />
    </element>
    <element id="Patient.identifier:versichertennummer_kvk.assigner">
      <path value="Patient.identifier.assigner" />
      <max value="0" />
    </element>
    <element id="Patient.draft">
      <path value="Patient.draft" />
      <max value="0" />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="use" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <max value="1" />
    </element>
    <element id="Patient.name:name">
      <path value="Patient.name" />
      <sliceName value="name" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.use">
      <path value="Patient.name.use" />
      <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" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <description value="Extensions are always sliced by (at least) url" />
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <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]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.family.extension:namenszusatz.value[x]:valueString">
      <path value="Patient.name.family.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <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]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.family.extension:nachname.value[x]:valueString">
      <path value="Patient.name.family.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <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]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.family.extension:vorsatzwort.value[x]:valueString">
      <path value="Patient.name.family.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.given">
      <path value="Patient.name.given" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.prefix">
      <path value="Patient.name.prefix" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.prefix.extension">
      <path value="Patient.name.prefix.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <description value="Extensions are always sliced by (at least) url" />
        <rules value="closed" />
      </slicing>
      <max value="1" />
    </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]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.prefix.extension:prefix-qualifier.value[x]:valueCode">
      <path value="Patient.name.prefix.extension.value[x]" />
      <sliceName value="valueCode" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:name.suffix">
      <path value="Patient.name.suffix" />
      <max value="0" />
    </element>
    <element id="Patient.name:name.period">
      <path value="Patient.name.period" />
      <max value="0" />
    </element>
    <element id="Patient.name:geburtsname">
      <path value="Patient.name" />
      <sliceName value="geburtsname" />
      <max value="0" />
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <max value="0" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:other-amtlich">
      <path value="Patient.gender.extension" />
      <sliceName value="other-amtlich" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:other-amtlich.value[x]">
      <path value="Patient.gender.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="Geburtsdatum" />
      <definition value="Das Geburtsdatum der behandelten Person" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:data-absent-reason">
      <path value="Patient.birthDate.extension" />
      <sliceName value="data-absent-reason" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:data-absent-reason.value[x]">
      <path value="Patient.birthDate.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:data-absent-reason.value[x]:valueCode">
      <path value="Patient.birthDate.extension.value[x]" />
      <sliceName value="valueCode" />
      <type>
        <code value="code" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <max value="0" />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift">
      <path value="Patient.address" />
      <sliceName value="Strassenanschrift" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.use">
      <path value="Patient.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.address:Strassenanschrift.type">
      <path value="Patient.address.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.text">
      <path value="Patient.address.text" />
      <max value="0" />
    </element>
    <element id="Patient.address:Strassenanschrift.line">
      <path value="Patient.address.line" />
      <definition value="Diese Komponente kann Straßennamen, Hausnummer, Appartmentnummer, Postfach, 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. Es wird empfohlen, dass die erste Zeile für Straße und Hausnummer und die zweite Zeile für den Zusatz verwendet wird." />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Strasse">
      <path value="Patient.address.line.extension" />
      <sliceName value="Strasse" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Strasse.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Strasse.value[x]:valueString">
      <path value="Patient.address.line.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Hausnummer">
      <path value="Patient.address.line.extension" />
      <sliceName value="Hausnummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Hausnummer.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Hausnummer.value[x]:valueString">
      <path value="Patient.address.line.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <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]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.line.extension:Adresszusatz.value[x]:valueString">
      <path value="Patient.address.line.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.city">
      <path value="Patient.address.city" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.state">
      <path value="Patient.address.state" />
      <max value="0" />
    </element>
    <element id="Patient.address:Strassenanschrift.postalCode">
      <path value="Patient.address.postalCode" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.country">
      <path value="Patient.address.country" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Strassenanschrift.period">
      <path value="Patient.address.period" />
      <max value="0" />
    </element>
    <element id="Patient.address:Postfach">
      <path value="Patient.address" />
      <sliceName value="Postfach" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.use">
      <path value="Patient.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.address:Postfach.type">
      <path value="Patient.address.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.text">
      <path value="Patient.address.text" />
      <max value="0" />
    </element>
    <element id="Patient.address:Postfach.line">
      <path value="Patient.address.line" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line.extension:Postfach.value[x]">
      <path value="Patient.address.line.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.line.extension:Postfach.value[x]:valueString">
      <path value="Patient.address.line.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.city">
      <path value="Patient.address.city" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.state">
      <path value="Patient.address.state" />
      <max value="0" />
    </element>
    <element id="Patient.address:Postfach.postalCode">
      <path value="Patient.address.postalCode" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.country">
      <path value="Patient.address.country" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:Postfach.period">
      <path value="Patient.address.period" />
      <max value="0" />
    </element>
    <element id="Patient.maritalStatus">
      <path value="Patient.maritalStatus" />
      <max value="0" />
    </element>
    <element id="Patient.multipleBirth[x]">
      <path value="Patient.multipleBirth[x]" />
      <max value="0" />
    </element>
    <element id="Patient.photo">
      <path value="Patient.photo" />
      <max value="0" />
    </element>
    <element id="Patient.contact">
      <path value="Patient.contact" />
      <max value="0" />
    </element>
    <element id="Patient.communication">
      <path value="Patient.communication" />
      <max value="0" />
    </element>
    <element id="Patient.generalPractitioner">
      <path value="Patient.generalPractitioner" />
      <max value="0" />
    </element>
    <element id="Patient.managingOrganization">
      <path value="Patient.managingOrganization" />
      <max value="0" />
    </element>
    <element id="Patient.link">
      <path value="Patient.link" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>