<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KBV-PR-AW-Observation-Befund" />
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_PR_AW_Observation_Befund" />
  <version value="1.3.0" />
  <name value="KBV_PR_AW_Observation_Befund" />
  <status value="draft" />
  <publisher value="Kassenärztliche Bundesvereinigung (KBV)" />
  <copyright value="Copyright © [2022], Kassenärztliche Bundesvereinigung (KBV). All rights reserved." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="workflow" />
    <uri value="http://hl7.org/fhir/workflow" />
    <name value="Workflow Pattern" />
  </mapping>
  <mapping>
    <identity value="sct-concept" />
    <uri value="http://snomed.info/conceptdomain" />
    <name value="SNOMED CT Concept Domain Binding" />
  </mapping>
  <mapping>
    <identity value="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <mapping>
    <identity value="w5" />
    <uri value="http://hl7.org/fhir/fivews" />
    <name value="FiveWs Pattern Mapping" />
  </mapping>
  <mapping>
    <identity value="sct-attr" />
    <uri value="http://snomed.org/attributebinding" />
    <name value="SNOMED CT Attribute Binding" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation">
      <path value="Observation" />
      <short value="Befund" />
      <definition value="In dieser Ressource wird die generische Form eines Befundes abgebildet. Zusätzlich können spezielle Befunde als Komponente eingefügt werden." />
    </element>
    <element id="Observation.id">
      <path value="Observation.id" />
      <min value="1" />
    </element>
    <element id="Observation.meta">
      <path value="Observation.meta" />
      <min value="1" />
    </element>
    <element id="Observation.meta.versionId">
      <path value="Observation.meta.versionId" />
      <min value="1" />
    </element>
    <element id="Observation.meta.lastUpdated">
      <path value="Observation.meta.lastUpdated" />
      <min value="1" />
    </element>
    <element id="Observation.meta.profile">
      <path value="Observation.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://fhir.kbv.de/StructureDefinition/KBV_PR_AW_Observation_Befund|1.3.0" />
    </element>
    <element id="Observation.text">
      <path value="Observation.text" />
      <min value="1" />
    </element>
    <element id="Observation.text.status">
      <path value="Observation.text.status" />
      <short value="extensions" />
      <fixedCode value="extensions" />
    </element>
    <element id="Observation.identifier">
      <path value="Observation.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.basedOn">
      <path value="Observation.basedOn" />
      <max value="0" />
    </element>
    <element id="Observation.partOf">
      <path value="Observation.partOf" />
      <max value="0" />
    </element>
    <element id="Observation.status">
      <path value="Observation.status" />
      <definition value="Der Status ist immer abgeschlossen (final)." />
      <fixedCode value="final" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <definition value="Dieses Attribut dient zur Kategorisierung des Befundes. Zur Auswahl stehen ausschließlich Eigenbefund, Fremdbefund, Laborbefund, Roentgenbefund, Patientenangabe und EKG-Befund." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <description value="Befundart" />
        <valueSet value="https://fhir.kbv.de/ValueSet/KBV_VS_AW_Befundart" />
      </binding>
    </element>
    <element id="Observation.category.coding">
      <path value="Observation.category.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <min value="1" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.category.coding.userSelected">
      <path value="Observation.category.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.category.text">
      <path value="Observation.category.text" />
      <max value="0" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <short value="Observation Befund" />
      <definition value="In diesem Element wird der Typ der Observation definiert.&#xD;&#xA;&#xD;&#xA;Ist ein Loinc-Code zu dieser Observation bekannt, so ist dieser im Attribut loinc_code zu dokumentieren" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <description value="kbv_code&#xD;&#xA;loinc_code" />
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="2" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding:kbv_code">
      <path value="Observation.code.coding" />
      <sliceName value="kbv_code" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding:kbv_code.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="https://fhir.kbv.de/CodeSystem/KBV_CS_AW_Ressourcentyp" />
    </element>
    <element id="Observation.code.coding:kbv_code.code">
      <path value="Observation.code.coding.code" />
      <short value="Befund" />
      <min value="1" />
      <fixedCode value="Befund" />
    </element>
    <element id="Observation.code.coding:kbv_code.userSelected">
      <path value="Observation.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.code.coding:loinc_code">
      <path value="Observation.code.coding" />
      <sliceName value="loinc_code" />
      <max value="1" />
    </element>
    <element id="Observation.code.coding:loinc_code.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.code.coding:loinc_code.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.code.coding:loinc_code.userSelected">
      <path value="Observation.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.code.text">
      <path value="Observation.code.text" />
      <max value="0" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <label value="TR01" />
      <short value="Patientenbezug" />
      <definition value="Siehe Reason for inclusion and constrainment" />
      <requirements value="Diese Referenz wurde aus technischen Gründen erzeugt, um dieser patientenbezogenen Ressource zu genügen. Aus informationstechnischer Sicht ist Diese jedoch nicht notwendig, da der Zusammenhang bereits über das Attribut encounter hergestellt worden ist." />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_AW_Patient|1.3.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.subject.reference">
      <path value="Observation.subject.reference" />
      <min value="1" />
    </element>
    <element id="Observation.subject.type">
      <path value="Observation.subject.type" />
      <max value="0" />
    </element>
    <element id="Observation.subject.identifier">
      <path value="Observation.subject.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.subject.display">
      <path value="Observation.subject.display" />
      <max value="0" />
    </element>
    <element id="Observation.focus">
      <path value="Observation.focus" />
      <max value="0" />
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <short value="Begegnung" />
      <definition value="Referenz zur Ressource Begegnung" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_AW_Begegnung|1.3.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.encounter.reference">
      <path value="Observation.encounter.reference" />
      <min value="1" />
    </element>
    <element id="Observation.encounter.type">
      <path value="Observation.encounter.type" />
      <max value="0" />
    </element>
    <element id="Observation.encounter.identifier">
      <path value="Observation.encounter.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.encounter.display">
      <path value="Observation.encounter.display" />
      <max value="0" />
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Observation.effective[x]:effectiveDateTime">
      <path value="Observation.effective[x]" />
      <sliceName value="effectiveDateTime" />
      <short value="Aufnahmezeitpunkt" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Observation.issued">
      <path value="Observation.issued" />
      <max value="0" />
    </element>
    <element id="Observation.performer">
      <path value="Observation.performer" />
      <max value="0" />
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <type>
        <code value="string" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.value[x]:valueString">
      <path value="Observation.value[x]" />
      <sliceName value="valueString" />
      <short value="Befund" />
      <definition value="Freitext zur Beschreibung des Befundes" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.dataAbsentReason">
      <path value="Observation.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.interpretation">
      <path value="Observation.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.note">
      <path value="Observation.note" />
      <max value="0" />
    </element>
    <element id="Observation.bodySite">
      <path value="Observation.bodySite" />
      <max value="0" />
    </element>
    <element id="Observation.method">
      <path value="Observation.method" />
      <max value="0" />
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <max value="0" />
    </element>
    <element id="Observation.device">
      <path value="Observation.device" />
      <max value="0" />
    </element>
    <element id="Observation.referenceRange">
      <path value="Observation.referenceRange" />
      <max value="0" />
    </element>
    <element id="Observation.hasMember">
      <path value="Observation.hasMember" />
      <max value="0" />
    </element>
    <element id="Observation.derivedFrom">
      <path value="Observation.derivedFrom" />
      <max value="0" />
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.code">
      <path value="Observation.component.code" />
      <short value="Loinc-Code" />
      <definition value="Die Angabe eines Loinc-Codes ist verpflichtend." />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.code.coding">
      <path value="Observation.component.code.coding" />
      <min value="1" />
      <max value="1" />
    </element>
    <element id="Observation.component.code.coding.system">
      <path value="Observation.component.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
    </element>
    <element id="Observation.component.code.coding.code">
      <path value="Observation.component.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.component.code.coding.userSelected">
      <path value="Observation.component.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.component.code.text">
      <path value="Observation.component.code.text" />
      <max value="0" />
    </element>
    <element id="Observation.component.value[x]">
      <path value="Observation.component.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <short value="Wert des Befundes" />
      <definition value="Der Datentyp ist dem zu speichernden Wert anzupassen" />
      <min value="1" />
      <type>
        <code value="Quantity" />
      </type>
      <type>
        <code value="string" />
      </type>
      <type>
        <code value="Range" />
      </type>
      <type>
        <code value="Ratio" />
      </type>
      <type>
        <code value="time" />
      </type>
      <type>
        <code value="dateTime" />
      </type>
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.component.value[x]:valueQuantity">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueQuantity" />
      <type>
        <code value="Quantity" />
      </type>
    </element>
    <element id="Observation.component.value[x]:valueString">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueString" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.component.value[x]:valueRange">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueRange" />
      <type>
        <code value="Range" />
      </type>
    </element>
    <element id="Observation.component.value[x]:valueRatio">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueRatio" />
      <type>
        <code value="Ratio" />
      </type>
    </element>
    <element id="Observation.component.value[x]:valueTime">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueTime" />
      <type>
        <code value="time" />
      </type>
    </element>
    <element id="Observation.component.value[x]:valueDateTime">
      <path value="Observation.component.value[x]" />
      <sliceName value="valueDateTime" />
      <type>
        <code value="dateTime" />
      </type>
    </element>
    <element id="Observation.component.value[x]:valuePeriod">
      <path value="Observation.component.value[x]" />
      <sliceName value="valuePeriod" />
      <type>
        <code value="Period" />
      </type>
    </element>
    <element id="Observation.component.dataAbsentReason">
      <path value="Observation.component.dataAbsentReason" />
      <max value="0" />
    </element>
    <element id="Observation.component.interpretation">
      <path value="Observation.component.interpretation" />
      <max value="0" />
    </element>
    <element id="Observation.component.referenceRange">
      <path value="Observation.component.referenceRange" />
      <max value="0" />
      <contentReference value="http://hl7.org/fhir/StructureDefinition/Observation#Observation.referenceRange" />
    </element>
  </differential>
</StructureDefinition>