<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_ZAEB_Observation_Dental_Check_Up" />
  <version value="1.1.0" />
  <name value="KBV_PR_MIO_ZAEB_Observation_Dental_Check_Up" />
  <title value="KBV_PR_MIO_ZAEB_Observation_Dental_Check_Up" />
  <status value="active" />
  <publisher value="Kassenärztliche Bundesvereinigung (KBV)" />
  <copyright value="Hinweis: This material includes SNOMED Clinical Terms® (SNOMED CT®) which is used by permission of SNOMED International. All rights reserved. SNOMED CT®, was originally created by The College of American Pathologists. SNOMED and SNOMED CT are registered trademarks of SNOMED International. Implementers of these artefacts must have the appropriate SNOMED CT Affiliate license." />
  <fhirVersion value="4.0.1" />
  <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" />
      <definition value="In diesem Profil kann die Art der durchgeführten Vorsorgeuntersuchung dokumentiert werden." />
      <constraint>
        <key value="effective" />
        <severity value="error" />
        <human value="Das Untersuchungsdatum muss mindestens 8 Stellen haben" />
        <expression value="effective.toString().length()&gt;=8" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_ZAEB_Observation_Dental_Check_Up" />
      </constraint>
    </element>
    <element id="Observation.meta">
      <path value="Observation.meta" />
      <min value="1" />
    </element>
    <element id="Observation.meta.versionId">
      <path value="Observation.meta.versionId" />
      <max value="0" />
    </element>
    <element id="Observation.meta.lastUpdated">
      <path value="Observation.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="Observation.meta.source">
      <path value="Observation.meta.source" />
      <max value="0" />
    </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_MIO_ZAEB_Observation_Dental_Check_Up|1.1.0" />
    </element>
    <element id="Observation.meta.security">
      <path value="Observation.meta.security" />
      <max value="0" />
    </element>
    <element id="Observation.meta.tag">
      <path value="Observation.meta.tag" />
      <max value="0" />
    </element>
    <element id="Observation.implicitRules">
      <path value="Observation.implicitRules" />
      <max value="0" />
    </element>
    <element id="Observation.language">
      <path value="Observation.language" />
      <max value="0" />
    </element>
    <element id="Observation.text">
      <path value="Observation.text" />
      <definition value="In diesem Element können die, in der Instanz, enthaltenen Informationen in einer menschenlesbaren Form zusammengefasst werden. Dabei ist zu beachten, dass keine Informationen aufgenommen werden dürfen, die nicht in strukturierter Form an anderer Stelle in der Instanz enthalten sind." />
    </element>
    <element id="Observation.contained">
      <path value="Observation.contained" />
      <max value="0" />
    </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" />
      <fixedCode value="final" />
    </element>
    <element id="Observation.category">
      <path value="Observation.category" />
      <max value="0" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <mustSupport value="true" />
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.kbv.de/ValueSet/KBV_VS_MIO_ZAEB_Preventive_Check_Up_Type|1.1.0" />
      </binding>
    </element>
    <element id="Observation.code.coding">
      <path value="Observation.code.coding" />
      <short value="Art der Untersuchung" />
      <definition value="In diesem Element wird die Art der Untersuchung angegeben." />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://snomed.info/sct" />
    </element>
    <element id="Observation.code.coding.version">
      <path value="Observation.code.coding.version" />
      <min value="1" />
    </element>
    <element id="Observation.code.coding.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
    </element>
    <element id="Observation.code.coding.display">
      <path value="Observation.code.coding.display" />
      <min value="1" />
    </element>
    <element id="Observation.code.coding.display.extension">
      <path value="Observation.code.coding.display.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.code.coding.display.extension:anzeigenameCodeSnomed">
      <path value="Observation.code.coding.display.extension" />
      <sliceName value="anzeigenameCodeSnomed" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_Base_Terminology_German" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.display.extension:anzeigenameCodeSnomed.extension">
      <path value="Observation.code.coding.display.extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.code.coding.display.extension:anzeigenameCodeSnomed.extension:content">
      <path value="Observation.code.coding.display.extension.extension" />
      <sliceName value="content" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.display.extension:anzeigenameCodeSnomed.extension:content.value[x]">
      <path value="Observation.code.coding.display.extension.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.display.extension:anzeigenameCodeSnomed.extension:content.value[x]:valueString">
      <path value="Observation.code.coding.display.extension.extension.value[x]" />
      <sliceName value="valueString" />
      <definition value="In diesem Attribut sollen die entsprechende deutsche Bezeichnung des Loinc oder Snomed-Codes aus der Conceptmap eingetragen werden, also in diesem Fall den Displaynamen des Targetsystems aus https://fhir.kbv.de/ConceptMap/KBV_CM_MIO_ZAEB_Preventive_Check_Up_German|1.1.0" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.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" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.kbv.de/StructureDefinition/KBV_PR_MIO_ZAEB_Patient|1.1.0" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.subject.reference">
      <path value="Observation.subject.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </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" />
      <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>
      <min value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.effective[x]:effectiveDateTime">
      <path value="Observation.effective[x]" />
      <sliceName value="effectiveDateTime" />
      <min value="1" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
    </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.performer.reference">
      <path value="Observation.performer.reference" />
      <mustSupport value="false" />
    </element>
    <element id="Observation.performer.type">
      <path value="Observation.performer.type" />
      <max value="0" />
    </element>
    <element id="Observation.performer.identifier">
      <path value="Observation.performer.identifier" />
      <max value="0" />
    </element>
    <element id="Observation.performer.display">
      <path value="Observation.performer.display" />
      <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>
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.value[x]:valueBoolean">
      <path value="Observation.value[x]" />
      <sliceName value="valueBoolean" />
      <min value="1" />
      <type>
        <code value="boolean" />
      </type>
      <fixedBoolean value="true" />
      <mustSupport value="true" />
    </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.interpretation.coding">
      <path value="Observation.interpretation.coding" />
      <max value="1" />
    </element>
    <element id="Observation.interpretation.coding.userSelected">
      <path value="Observation.interpretation.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Observation.note">
      <path value="Observation.note" />
      <max value="0" />
    </element>
    <element id="Observation.note.author[x]">
      <path value="Observation.note.author[x]" />
      <max value="0" />
    </element>
    <element id="Observation.note.time">
      <path value="Observation.note.time" />
      <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" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>