<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="PatientCoreDe" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-category">
    <valueString value="Base.Individuals" />
  </extension>
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category">
    <valueCode value="patient" />
  </extension>
  <url value="http://fhir.ishmed.com/R4/StructureDefinition/PatientCoreDe" />
  <version value="2.0.0" />
  <name value="Patient_Core_DE" />
  <title value="Patient Core Profile Germany" />
  <status value="active" />
  <experimental value="false" />
  <date value="2022-07-29" />
  <publisher value="Oracle Cerner" />
  <description value="A profile used for patients receiving care in Germany." />
  <copyright value="Copyright © 2022 Oracle and/or its affiliates. All rights reserved." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="cda" />
    <uri value="http://hl7.org/v3/cda" />
    <name value="CDA (R2)" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="loinc" />
    <uri value="http://loinc.org" />
    <name value="LOINC code for the element" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Patient" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Patient" />
  <derivation value="constraint" />
  <differential>
    <element id="Patient.identifier">
      <path value="Patient.identifier" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PublicInsuranceNumber">
      <path value="Patient.identifier" />
      <sliceName value="PublicInsuranceNumber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-kvid-10" />
      </type>
      <patternIdentifier>
        <type>
          <coding>
            <system value="http://fhir.de/Codesystem/identifier-type-de-basis" />
            <code value="GKV" />
          </coding>
        </type>
      </patternIdentifier>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PublicInsuranceNumber.type">
      <path value="Patient.identifier.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PublicInsuranceNumber.type.coding">
      <path value="Patient.identifier.type.coding" />
      <patternCoding>
        <system value="http://fhir.de/Codesystem/identifier-type-de-basis" />
        <code value="GKV" />
      </patternCoding>
    </element>
    <element id="Patient.identifier:PublicInsuranceNumber.system">
      <path value="Patient.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PublicInsuranceNumber.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PrivateInsuranceNumber">
      <path value="Patient.identifier" />
      <sliceName value="PrivateInsuranceNumber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-pkv" />
      </type>
      <patternIdentifier>
        <type>
          <coding>
            <system value="http://fhir.de/Codesystem/identifier-type-de-basis" />
            <code value="PKV" />
          </coding>
        </type>
      </patternIdentifier>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PrivateInsuranceNumber.use">
      <path value="Patient.identifier.use" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PrivateInsuranceNumber.type">
      <path value="Patient.identifier.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PrivateInsuranceNumber.type.coding">
      <path value="Patient.identifier.type.coding" />
      <patternCoding>
        <system value="http://fhir.de/Codesystem/identifier-type-de-basis" />
        <code value="PKV" />
      </patternCoding>
    </element>
    <element id="Patient.identifier:PrivateInsuranceNumber.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:MedicalRecordNumber">
      <path value="Patient.identifier" />
      <sliceName value="MedicalRecordNumber" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-pid" />
      </type>
      <patternIdentifier>
        <type>
          <coding>
            <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
            <code value="MR" />
          </coding>
        </type>
      </patternIdentifier>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:MedicalRecordNumber.type">
      <path value="Patient.identifier.type" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:MedicalRecordNumber.type.coding">
      <path value="Patient.identifier.type.coding" />
      <patternCoding>
        <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
        <code value="MR" />
      </patternCoding>
    </element>
    <element id="Patient.identifier:MedicalRecordNumber.system">
      <path value="Patient.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:MedicalRecordNumber.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PassportNumber">
      <path value="Patient.identifier" />
      <sliceName value="PassportNumber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Identifier" />
        <profile value="http://fhir.de/StructureDefinition/identifier-reisepassnummer" />
      </type>
      <patternIdentifier>
        <type>
          <coding>
            <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
            <code value="PPN" />
          </coding>
        </type>
      </patternIdentifier>
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PassportNumber.use">
      <path value="Patient.identifier.use" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PassportNumber.type">
      <path value="Patient.identifier.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PassportNumber.type.coding">
      <path value="Patient.identifier.type.coding" />
      <patternCoding>
        <system value="http://terminology.hl7.org/CodeSystem/v2-0203" />
        <code value="PPN" />
      </patternCoding>
    </element>
    <element id="Patient.identifier:PassportNumber.system">
      <path value="Patient.identifier.system" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.identifier:PassportNumber.value">
      <path value="Patient.identifier.value" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.active">
      <path value="Patient.active" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name">
      <path value="Patient.name" />
      <sliceName value="Name" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="HumanName" />
        <profile value="http://fhir.de/StructureDefinition/humanname-de-basis" />
      </type>
      <patternHumanName>
        <use value="official" />
      </patternHumanName>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.use">
      <path value="Patient.name.use" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.family">
      <path value="Patient.name.family" />
      <min value="1" />
      <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:nachname">
      <path value="Patient.name.family.extension" />
      <sliceName value="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.given">
      <path value="Patient.name.given" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:Name.prefix">
      <path value="Patient.name.prefix" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName">
      <path value="Patient.name" />
      <sliceName value="BirthName" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="HumanName" />
        <profile value="http://fhir.de/StructureDefinition/humanname-de-basis" />
      </type>
      <patternHumanName>
        <use value="maiden" />
      </patternHumanName>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName.use">
      <path value="Patient.name.use" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName.family">
      <path value="Patient.name.family" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName.family.extension:namenszusatz">
      <path value="Patient.name.family.extension" />
      <sliceName value="namenszusatz" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName.family.extension:nachname">
      <path value="Patient.name.family.extension" />
      <sliceName value="nachname" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName.family.extension:vorsatzwort">
      <path value="Patient.name.family.extension" />
      <sliceName value="vorsatzwort" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name:BirthName.given">
      <path value="Patient.name.given" />
      <max value="0" />
    </element>
    <element id="Patient.name:BirthName.prefix">
      <path value="Patient.name.prefix" />
      <max value="0" />
    </element>
    <element id="Patient.telecom.system">
      <path value="Patient.telecom.system" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom.value">
      <path value="Patient.telecom.value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom.use">
      <path value="Patient.telecom.use" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender.extension:otherLegalGenderDE">
      <path value="Patient.gender.extension" />
      <sliceName value="otherLegalGenderDE" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://fhir.de/StructureDefinition/gender-amtlich-de" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:dataAbsentReason">
      <path value="Patient.birthDate.extension" />
      <sliceName value="dataAbsentReason" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://hl7.org/fhir/StructureDefinition/data-absent-reason" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate.extension:dataAbsentReason.value[x]">
      <path value="Patient.birthDate.extension.value[x]" />
      <fixedCode value="unknown" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="$this" />
        </discriminator>
        <rules value="open" />
      </slicing>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress">
      <path value="Patient.address" />
      <sliceName value="PoBoxAddress" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Address" />
        <profile value="http://fhir.de/StructureDefinition/address-de-basis" />
      </type>
      <patternAddress>
        <type value="postal" />
      </patternAddress>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress.type">
      <path value="Patient.address.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress.line">
      <path value="Patient.address.line" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress.line.extension:Strasse">
      <path value="Patient.address.line.extension" />
      <sliceName value="Strasse" />
      <max value="0" />
    </element>
    <element id="Patient.address:PoBoxAddress.line.extension:Hausnummer">
      <path value="Patient.address.line.extension" />
      <sliceName value="Hausnummer" />
      <max value="0" />
    </element>
    <element id="Patient.address:PoBoxAddress.line.extension:Adresszusatz">
      <path value="Patient.address.line.extension" />
      <sliceName value="Adresszusatz" />
      <max value="0" />
    </element>
    <element id="Patient.address:PoBoxAddress.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress.city">
      <path value="Patient.address.city" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress.postalCode">
      <path value="Patient.address.postalCode" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:PoBoxAddress.country">
      <path value="Patient.address.country" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress">
      <path value="Patient.address" />
      <sliceName value="StreetAddress" />
      <min value="0" />
      <max value="*" />
      <type>
        <code value="Address" />
        <profile value="http://fhir.de/StructureDefinition/address-de-basis" />
      </type>
      <patternAddress>
        <type value="both" />
      </patternAddress>
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.type">
      <path value="Patient.address.type" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.line">
      <path value="Patient.address.line" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.line.extension:Strasse">
      <path value="Patient.address.line.extension" />
      <sliceName value="Strasse" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.line.extension:Hausnummer">
      <path value="Patient.address.line.extension" />
      <sliceName value="Hausnummer" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.line.extension:Adresszusatz">
      <path value="Patient.address.line.extension" />
      <sliceName value="Adresszusatz" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <max value="0" />
    </element>
    <element id="Patient.address:StreetAddress.city">
      <path value="Patient.address.city" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:StreetAddress.postalCode">
      <path value="Patient.address.postalCode" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>