<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="http://dktk.dkfz.de/fhir/StructureDefinition/onco-core-Observation-GenetischeVariante" />
  <version value="1.0.0" />
  <name value="GenetischeVariante" />
  <status value="active" />
  <description value="Datenelemente zur Erfassung molekularer Marker im DKTK" />
  <fhirVersion value="4.0.0" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="Observation" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Observation" />
  <derivation value="constraint" />
  <differential>
    <element id="Observation.status">
      <path value="Observation.status" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.category.coding.system">
      <path value="Observation.category.coding.system" />
      <min value="1" />
      <fixedUri value="http://hl7.org/fhir/observation-category" />
    </element>
    <element id="Observation.category.coding.code">
      <path value="Observation.category.coding.code" />
      <min value="1" />
      <fixedCode value="laboratory" />
    </element>
    <element id="Observation.code">
      <path value="Observation.code" />
      <short value="Bezeichnung des molekularen Markers" />
      <definition value="Bezeichnung des molekularen Markers" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.system">
      <path value="Observation.code.coding.system" />
      <min value="1" />
      <fixedUri value="http://loinc.org" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.code.coding.code">
      <path value="Observation.code.coding.code" />
      <min value="1" />
      <fixedCode value="69548-6" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.subject">
      <path value="Observation.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://dktk.dkfz.de/fhir/StructureDefinition/onco-core-Patient-Patient" />
        <targetProfile value="http://dktk.dkfz.de/fhir/StructureDefinition/onco-core-Patient-Pseudonym" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.focus">
      <path value="Observation.focus" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://hl7.org/fhir/StructureDefinition/Resource" />
        <targetProfile value="http://dktk.dkfz.de/fhir/StructureDefinition/onco-core-Condition-Primaerdiagnose" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Observation.encounter">
      <path value="Observation.encounter" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://dktk.dkfz.de/fhir/StructureDefinition/onco-core-Encounter-Fall" />
      </type>
    </element>
    <element id="Observation.effective[x]">
      <path value="Observation.effective[x]" />
      <short value="Datum der Datenerhebung" />
      <definition value="Datum der Datenerhebung des molekularen Markers" />
      <type>
        <code value="dateTime" />
      </type>
      <mustSupport value="true" />
      <mapping>
        <identity value="ISO-11179" />
        <map value="urn:dktk:dataelement:1:3" />
        <comment value="urn:dktk:dataelement:1:3" />
      </mapping>
    </element>
    <element id="Observation.value[x]">
      <path value="Observation.value[x]" />
      <short value="Status des molekularen Markers" />
      <definition value="Zustand oder Status des molekularen Markers" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <description value="Genetische Variante Ausprägung" />
        <valueSet value="http://dktk.dkfz.de/fhir/onco/core/ValueSet/GenetischeVarianteVS" />
      </binding>
    </element>
    <element id="Observation.value[x].coding.system">
      <path value="Observation.value[x].coding.system" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.value[x].coding.code">
      <path value="Observation.value[x].coding.code" />
      <short value="Status des molekularen Markers" />
      <definition value="Zustand oder Status des molekularen Markers" />
      <min value="1" />
      <mustSupport value="true" />
      <mapping>
        <identity value="ISO-11179" />
        <map value="urn:dktk:dataelement:3:2" />
        <comment value="urn:dktk:dataelement:3:2" />
      </mapping>
    </element>
    <element id="Observation.value[x].text">
      <path value="Observation.value[x].text" />
      <mustSupport value="true" />
      <mapping>
        <identity value="ISO-11179" />
        <map value="urn:dktk:dataelement:4:3" />
        <comment value="urn:dktk:dataelement:4:3" />
      </mapping>
    </element>
    <element id="Observation.specimen">
      <path value="Observation.specimen" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.bbmri.de/StructureDefinition/Specimen" />
      </type>
    </element>
    <element id="Observation.specimen.reference">
      <path value="Observation.specimen.reference" />
      <min value="1" />
    </element>
    <element id="Observation.component">
      <path value="Observation.component" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="code" />
        </discriminator>
        <description value="Slice based on the component.code pattern" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="Observation.component:GeneNomenclature">
      <path value="Observation.component" />
      <sliceName value="GeneNomenclature" />
      <short value="Gene Name" />
      <definition value="Bezeichnung des molekularen Markers gemaess HGNC oder bei Bedarf eigene Bezeichnung" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:GeneNomenclature.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="48018-6" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:GeneNomenclature.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
      <binding>
        <strength value="extensible" />
        <description value="HGNC" />
        <valueSet value="http://dktk.dkfz.de/fhir/onco/core/ValueSet/GeneNomenclatureVS" />
      </binding>
      <mapping>
        <identity value="ISO-11179" />
        <map value="urn:dktk:dataelement:2:2" />
        <comment value="urn:dktk:dataelement:2:2" />
      </mapping>
    </element>
    <element id="Observation.component:Amino-acid-change">
      <path value="Observation.component" />
      <sliceName value="Amino-acid-change" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:Amino-acid-change.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="48005-3" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:Amino-acid-change.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.component:DNA-change">
      <path value="Observation.component" />
      <sliceName value="DNA-change" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:DNA-change.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="81290-9" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:DNA-change.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.component:RefSeq-NCBI-ID">
      <path value="Observation.component" />
      <sliceName value="RefSeq-NCBI" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:RefSeq-NCBI-ID.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="81248-7" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:RefSeq-NCBI-ID.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Observation.component:Ensembl-ID">
      <path value="Observation.component" />
      <sliceName value="Ensembl-ID" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Observation.component:Ensembl-ID.code">
      <path value="Observation.component.code" />
      <patternCodeableConcept>
        <coding>
          <system value="http://loinc.org" />
          <code value="81249-5" />
        </coding>
      </patternCodeableConcept>
    </element>
    <element id="Observation.component:Ensembl-ID.value[x]">
      <path value="Observation.component.value[x]" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
  </differential>
</StructureDefinition>