<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="NotifiedPerson" />
  <url value="https://demis.rki.de/fhir/StructureDefinition/NotifiedPerson" />
  <version value="2.0.0" />
  <name value="NotifiedPerson" />
  <title value="Betroffene Person" />
  <status value="active" />
  <date value="2024-06-18" />
  <description value="Die betroffene Person enthält relevante Angaben zum Patienten, die entsprechend der aktuellen Planung aus den Auftragsdaten extrahiert werden, die der Einsender dem jeweiligen Labor übermittelt hat. Dies werden in der Mehrzahl der Fälle die Angaben von der eGK der betroffenen Person sein (Versichertenstammdaten)." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="cda" />
    <uri value="http://hl7.org/v3/cda" />
    <name value="CDA (R2)" />
  </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">
      <path value="Patient" />
      <constraint>
        <key value="validFamilyName" />
        <severity value="error" />
        <human value="Der Nachname muss valide sein." />
        <expression value="name.family.matches('^[^@\\*?$|=´&quot;\\[\\]{}&lt;&gt;0-9]{0,100}$')" />
      </constraint>
      <constraint>
        <key value="validGivenName" />
        <severity value="error" />
        <human value="Die Vornamen muss valide sein." />
        <expression value="name.given.all(matches('^[^@\\*?$|=´&quot;\\[\\]{}&lt;&gt;0-9]{0,100}$'))" />
      </constraint>
    </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="https://demis.rki.de/fhir/StructureDefinition/NotifiedPerson" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name">
      <path value="Patient.name" />
      <short value="Name" />
      <definition value="Name der betroffenen Person. Mindestens ein Vorname und der Nachname müssen angegeben werden." />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="HumanName" />
        <profile value="http://fhir.de/StructureDefinition/humanname-de-basis" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Patient.name.family">
      <path value="Patient.name.family" />
      <short value="Nachname" />
      <definition value="Nachname der betroffenen Person. Es muss genau ein Nachname angegeben werden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.name.given">
      <path value="Patient.name.given" />
      <short value="Vorname" />
      <definition value="Vorname der betroffenen Person. Es muss mindestens ein Vorname angegeben werden." />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom">
      <path value="Patient.telecom" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <short value="Kontaktangaben" />
      <definition value="Kontaktangaben der betroffenen Person. Telefonnummern oder E-Mailadressen können angegeben werden." />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom:Email">
      <path value="Patient.telecom" />
      <sliceName value="Email" />
    </element>
    <element id="Patient.telecom:Email.system">
      <path value="Patient.telecom.system" />
      <min value="1" />
      <fixedCode value="email" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom:Email.value">
      <path value="Patient.telecom.value" />
      <min value="1" />
      <constraint>
        <key value="validEmailAddress" />
        <severity value="error" />
        <human value="Die E-Mail-Adresse muss valide sein." />
        <expression value="$this.matches('^[a-zA-Z0-9._%+-]+@(?:[a-zA-Z0-9-]+[.])+[a-zA-Z0-9]{2,63}$')" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom:Phone">
      <path value="Patient.telecom" />
      <sliceName value="Phone" />
    </element>
    <element id="Patient.telecom:Phone.extension">
      <path value="Patient.telecom.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.telecom:Phone.extension:comment">
      <path value="Patient.telecom.extension" />
      <sliceName value="comment" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/Comment" />
      </type>
    </element>
    <element id="Patient.telecom:Phone.system">
      <path value="Patient.telecom.system" />
      <min value="1" />
      <fixedCode value="phone" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.telecom:Phone.value">
      <path value="Patient.telecom.value" />
      <min value="1" />
      <constraint>
        <key value="validPhoneNumber" />
        <severity value="error" />
        <human value="Die Telefonnummer muss valide sein." />
        <expression value="$this.matches('^[0+][0-9 \\-\\(\\)]{6,50}$')" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Patient.gender">
      <path value="Patient.gender" />
      <short value="Geschlecht" />
      <definition value="Geschlecht der betroffenen Person" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.birthDate">
      <path value="Patient.birthDate" />
      <short value="Geburtsdatum" />
      <definition value="Geburtsdatum der betroffenen Person" />
      <constraint>
        <key value="validBirthDate" />
        <severity value="error" />
        <human value="Das Geburtsjahr muss mit 19 oder 20 beginnen." />
        <expression value="$this.toString().matches('^19[0-9]{2}-[0-9]{2}-[0-9]{2}|20[0-9]{2}-[0-9]{2}-[0-9]{2}|19[0-9]{2}-[0-9]{2}|20[0-9]{2}-[0-9]{2}|19[0-9]{2}|20[0-9]{2}$')" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Patient.deceased[x]">
      <path value="Patient.deceased[x]" />
      <comment value="Diese Angabe betrifft nur die DEMIS-Erkrankungsmeldung (https://simplifier.net/rki.demis.disease): Angaben zum Tod der betroffenen Person sollen ausschließlich über den Fragebogen DiseaseQuestionsCommon dokumentiert werden, siehe dazu linkId isDead und deathDate in https://simplifier.net/guide/rki.demis.disease/Home/resources/questionnaires/guide-diseasequestionscommon.md?version=current." />
    </element>
    <element id="Patient.address">
      <path value="Patient.address" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="extension('https://demis.rki.de/fhir/StructureDefinition/AddressUse').value" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <short value="Adresse" />
      <definition value="Adresse der betroffenen Person. Über die Extension &quot;addressUse&quot; kann angegeben werden, um welche Art von Adresse es sich handelt. Ist die betroffene Person in einer Einrichtung untergebracht, kann über die Extension die Einrichtung angegeben werden." />
      <max value="3" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.address:hauptwohnung">
      <path value="Patient.address" />
      <sliceName value="hauptwohnung" />
      <max value="1" />
      <type>
        <code value="Address" />
        <profile value="http://fhir.de/StructureDefinition/address-de-basis" />
      </type>
    </element>
    <element id="Patient.address:hauptwohnung.extension">
      <path value="Patient.address.extension" />
      <min value="1" />
    </element>
    <element id="Patient.address:hauptwohnung.extension:addressUse">
      <path value="Patient.address.extension" />
      <sliceName value="addressUse" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/AddressUse" />
      </type>
      <mustSupport value="true" />
      <isModifier value="false" />
    </element>
    <element id="Patient.address:hauptwohnung.extension:addressUse.value[x]">
      <path value="Patient.address.extension.value[x]" />
      <fixedCoding>
        <system value="https://demis.rki.de/fhir/CodeSystem/addressUse" />
        <code value="primary" />
      </fixedCoding>
    </element>
    <element id="Patient.address:hauptwohnung.extension:facility">
      <path value="Patient.address.extension" />
      <sliceName value="facility" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/FacilityAddressNotifiedPerson" />
      </type>
    </element>
    <element id="Patient.address:hauptwohnung.use">
      <path value="Patient.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.address:hauptwohnung.line">
      <path value="Patient.address.line" />
      <short value="Anschriftenzeile" />
      <definition value="Anschriftenzeile. Die Angabe eines Postfaches ist nicht erlaubt." />
      <max value="1" />
    </element>
    <element id="Patient.address:hauptwohnung.line.extension">
      <path value="Patient.address.line.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.address:hauptwohnung.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <max value="0" />
    </element>
    <element id="Patient.address:hauptwohnung.city">
      <path value="Patient.address.city" />
      <short value="Stadt" />
      <definition value="Stadt" />
    </element>
    <element id="Patient.address:hauptwohnung.postalCode">
      <path value="Patient.address.postalCode" />
      <definition value="Postleitzahl. Der Wert muss entsprechend des vom RKI definierten ValueSets (https://demis.rki.de/fhir/ValueSet/postalCode) im coding Element dargestellt werden." />
      <binding>
        <strength value="preferred" />
        <valueSet value="https://demis.rki.de/fhir/ValueSet/postalCode" />
      </binding>
    </element>
    <element id="Patient.address:hauptwohnung.country">
      <path value="Patient.address.country" />
      <short value="Land" />
      <definition value="Land" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/iso3166-1-2" />
      </binding>
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort">
      <path value="Patient.address" />
      <sliceName value="gewoehnlicherAufenthaltsort" />
      <max value="1" />
      <type>
        <code value="Address" />
        <profile value="http://fhir.de/StructureDefinition/address-de-basis" />
      </type>
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.extension">
      <path value="Patient.address.extension" />
      <min value="1" />
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.extension:addressUse">
      <path value="Patient.address.extension" />
      <sliceName value="addressUse" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/AddressUse" />
      </type>
      <mustSupport value="true" />
      <isModifier value="false" />
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.extension:addressUse.value[x]">
      <path value="Patient.address.extension.value[x]" />
      <fixedCoding>
        <system value="https://demis.rki.de/fhir/CodeSystem/addressUse" />
        <code value="ordinary" />
      </fixedCoding>
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.extension:facility">
      <path value="Patient.address.extension" />
      <sliceName value="facility" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/FacilityAddressNotifiedPerson" />
      </type>
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.use">
      <path value="Patient.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.line">
      <path value="Patient.address.line" />
      <short value="Anschriftenzeile" />
      <definition value="Anschriftenzeile. Die Angabe eines Postfaches ist nicht erlaubt." />
      <max value="1" />
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.line.extension">
      <path value="Patient.address.line.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <max value="0" />
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.city">
      <path value="Patient.address.city" />
      <short value="Stadt" />
      <definition value="Stadt" />
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.postalCode">
      <path value="Patient.address.postalCode" />
      <definition value="Postleitzahl. Der Wert muss entsprechend des vom RKI definierten ValueSets (https://demis.rki.de/fhir/ValueSet/postalCode) im coding Element dargestellt werden." />
      <binding>
        <strength value="preferred" />
        <valueSet value="https://demis.rki.de/fhir/ValueSet/postalCode" />
      </binding>
    </element>
    <element id="Patient.address:gewoehnlicherAufenthaltsort.country">
      <path value="Patient.address.country" />
      <short value="Land" />
      <definition value="Land" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/iso3166-1-2" />
      </binding>
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort">
      <path value="Patient.address" />
      <sliceName value="derzeitigerAufenthaltsort" />
      <max value="1" />
      <type>
        <code value="Address" />
        <profile value="http://fhir.de/StructureDefinition/address-de-basis" />
      </type>
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.extension">
      <path value="Patient.address.extension" />
      <min value="1" />
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.extension:addressUse">
      <path value="Patient.address.extension" />
      <sliceName value="addressUse" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/AddressUse" />
      </type>
      <mustSupport value="true" />
      <isModifier value="false" />
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.extension:addressUse.value[x]">
      <path value="Patient.address.extension.value[x]" />
      <fixedCoding>
        <system value="https://demis.rki.de/fhir/CodeSystem/addressUse" />
        <display value="current" />
      </fixedCoding>
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.extension:facility">
      <path value="Patient.address.extension" />
      <sliceName value="facility" />
      <type>
        <code value="Extension" />
        <profile value="https://demis.rki.de/fhir/StructureDefinition/FacilityAddressNotifiedPerson" />
      </type>
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.use">
      <path value="Patient.address.use" />
      <max value="0" />
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.line">
      <path value="Patient.address.line" />
      <short value="Anschriftenzeile" />
      <definition value="Anschriftenzeile. Die Angabe eines Postfaches ist nicht erlaubt." />
      <max value="1" />
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.line.extension">
      <path value="Patient.address.line.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.line.extension:Postfach">
      <path value="Patient.address.line.extension" />
      <sliceName value="Postfach" />
      <max value="0" />
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.city">
      <path value="Patient.address.city" />
      <short value="Stadt" />
      <definition value="Stadt" />
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.postalCode">
      <path value="Patient.address.postalCode" />
      <definition value="Postleitzahl. Der Wert muss entsprechend des vom RKI definierten ValueSets (https://demis.rki.de/fhir/ValueSet/postalCode) im coding Element dargestellt werden." />
      <binding>
        <strength value="preferred" />
        <valueSet value="https://demis.rki.de/fhir/ValueSet/postalCode" />
      </binding>
    </element>
    <element id="Patient.address:derzeitigerAufenthaltsort.country">
      <path value="Patient.address.country" />
      <short value="Land" />
      <definition value="Land" />
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/iso3166-1-2" />
      </binding>
    </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" />
      <short value="Kontaktperson" />
      <definition value="Kontaktperson der betroffenen Person" />
      <mustSupport value="true" />
    </element>
    <element id="Patient.communication">
      <path value="Patient.communication" />
      <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>