<StructureDefinition xmlns="http://hl7.org/fhir">
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding" />
  <version value="1.0.2" />
  <name value="KBV_PR_ERP_Medication_Compounding" />
  <status value="active" />
  <date value="2021-09-13" />
  <publisher value="Kassenärztliche Bundesvereinigung" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="script10.6" />
    <uri value="http://ncpdp.org/SCRIPT10_6" />
    <name value="Mapping to NCPDP SCRIPT 10.6" />
  </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="v2" />
    <uri value="http://hl7.org/v2" />
    <name value="HL7 v2 Mapping" />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="Medication" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Medication" />
  <derivation value="constraint" />
  <differential>
    <element id="Medication.id">
      <path value="Medication.id" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.meta">
      <path value="Medication.meta" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.meta.versionId">
      <path value="Medication.meta.versionId" />
      <max value="0" />
    </element>
    <element id="Medication.meta.lastUpdated">
      <path value="Medication.meta.lastUpdated" />
      <max value="0" />
    </element>
    <element id="Medication.meta.source">
      <path value="Medication.meta.source" />
      <max value="0" />
    </element>
    <element id="Medication.meta.profile">
      <path value="Medication.meta.profile" />
      <min value="1" />
      <max value="1" />
      <fixedCanonical value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding|1.0.2" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.meta.security">
      <path value="Medication.meta.security" />
      <max value="0" />
    </element>
    <element id="Medication.meta.tag">
      <path value="Medication.meta.tag" />
      <max value="0" />
    </element>
    <element id="Medication.implicitRules">
      <path value="Medication.implicitRules" />
      <max value="0" />
    </element>
    <element id="Medication.language">
      <path value="Medication.language" />
      <max value="0" />
    </element>
    <element id="Medication.text">
      <path value="Medication.text" />
      <max value="0" />
    </element>
    <element id="Medication.contained">
      <path value="Medication.contained" />
      <max value="0" />
    </element>
    <element id="Medication.extension">
      <path value="Medication.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Medication.extension:kategorie">
      <path value="Medication.extension" />
      <sliceName value="kategorie" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Category" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:kategorie.value[x]">
      <path value="Medication.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:kategorie.value[x]:valueCoding">
      <path value="Medication.extension.value[x]" />
      <sliceName value="valueCoding" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:kategorie.value[x]:valueCoding.system">
      <path value="Medication.extension.value[x].system" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:kategorie.value[x]:valueCoding.code">
      <path value="Medication.extension.value[x].code" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:impfstoff">
      <path value="Medication.extension" />
      <sliceName value="impfstoff" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Vaccine" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:impfstoff.value[x]">
      <path value="Medication.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:impfstoff.value[x]:valueBoolean">
      <path value="Medication.extension.value[x]" />
      <sliceName value="valueBoolean" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:herstellungsanweisung">
      <path value="Medication.extension" />
      <sliceName value="herstellungsanweisung" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_CompoundingInstruction" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:herstellungsanweisung.value[x]">
      <path value="Medication.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:herstellungsanweisung.value[x]:valueString">
      <path value="Medication.extension.value[x]" />
      <sliceName value="valueString" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:verpackung">
      <path value="Medication.extension" />
      <sliceName value="verpackung" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Packaging" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:verpackung.value[x]">
      <path value="Medication.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.extension:verpackung.value[x]:valueString">
      <path value="Medication.extension.value[x]" />
      <sliceName value="valueString" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.identifier">
      <path value="Medication.identifier" />
      <max value="0" />
    </element>
    <element id="Medication.code">
      <path value="Medication.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.code.coding">
      <path value="Medication.code.coding" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.code.coding.system">
      <path value="Medication.code.coding.system" />
      <min value="1" />
      <fixedUri value="https://fhir.kbv.de/CodeSystem/KBV_CS_ERP_Medication_Type" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.code.coding.version">
      <path value="Medication.code.coding.version" />
      <max value="0" />
    </element>
    <element id="Medication.code.coding.code">
      <path value="Medication.code.coding.code" />
      <short value="Kennzeichnung Rezepturverordnung" />
      <definition value="Anhand des &quot;Fixed value&quot; kann die Medication als Rezepturverordnung identifiziert werden." />
      <min value="1" />
      <fixedCode value="rezeptur" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.code.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.code.coding.display" />
      <max value="0" />
    </element>
    <element id="Medication.code.coding.userSelected">
      <path value="Medication.code.coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Medication.code.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.code.text" />
      <short value="Rezepturname" />
      <definition value="Bezeichnung der Rezeptur (z.B. gemäß deutsches Arzneibuches: Zinkpaste DAB2020)" />
      <maxLength value="70" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.status">
      <path value="Medication.status" />
      <max value="0" />
    </element>
    <element id="Medication.manufacturer">
      <path value="Medication.manufacturer" />
      <max value="0" />
    </element>
    <element id="Medication.form">
      <path value="Medication.form" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.form.coding">
      <path value="Medication.form.coding" />
      <max value="0" />
    </element>
    <element id="Medication.form.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.form.text" />
      <short value="Darreichungsform Freitext" />
      <definition value="Angabe der Darreichungsform als Freitext" />
      <min value="1" />
      <maxLength value="30" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount">
      <path value="Medication.amount" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount.numerator">
      <path value="Medication.amount.numerator" />
      <min value="1" />
      <constraint>
        <key value="-erp-begrenzungValue" />
        <severity value="error" />
        <human value="Die Gesamtmenge der Rezeptur darf aus maximal 7 Zeichen bestehen." />
        <expression value="value.toString().length()&lt;=7" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding" />
      </constraint>
      <constraint>
        <key value="-erp-codeUndSystem" />
        <severity value="error" />
        <human value="Wenn ein Code eingegeben ist, muss auch das System hinterlegt sein." />
        <expression value="code.exists() implies system.exists()" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount.numerator.value">
      <path value="Medication.amount.numerator.value" />
      <short value="Gesamtmenge der Rezeptur" />
      <definition value="Gesamtmenge der verordneten Rezeptur" />
      <min value="1" />
      <condition value="begrenzungValue" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount.numerator.comparator">
      <path value="Medication.amount.numerator.comparator" />
      <max value="0" />
    </element>
    <element id="Medication.amount.numerator.unit">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.amount.numerator.unit" />
      <short value="Einheit der Gesamtmenge" />
      <definition value="Einheit der Gesamtmenge einer Rezeptur" />
      <min value="1" />
      <maxLength value="12" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount.numerator.system">
      <path value="Medication.amount.numerator.system" />
      <fixedUri value="http://unitsofmeasure.org" />
      <condition value="codeUndSystem" />
      <mustSupport value="false" />
    </element>
    <element id="Medication.amount.numerator.code">
      <path value="Medication.amount.numerator.code" />
      <short value="Einheit der Gesamtmenge (kodiert)" />
      <definition value="optional kodierte Einheit der Gesamtmenge einer Rezeptur gemäß unitsofmeasure.org" />
      <condition value="codeUndSystem" />
      <mustSupport value="false" />
    </element>
    <element id="Medication.amount.denominator">
      <path value="Medication.amount.denominator" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount.denominator.value">
      <path value="Medication.amount.denominator.value" />
      <min value="1" />
      <fixedDecimal value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.amount.denominator.comparator">
      <path value="Medication.amount.denominator.comparator" />
      <max value="0" />
    </element>
    <element id="Medication.amount.denominator.unit">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.amount.denominator.unit" />
      <max value="0" />
    </element>
    <element id="Medication.amount.denominator.system">
      <path value="Medication.amount.denominator.system" />
      <max value="0" />
    </element>
    <element id="Medication.amount.denominator.code">
      <path value="Medication.amount.denominator.code" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient">
      <path value="Medication.ingredient" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.extension">
      <path value="Medication.ingredient.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Medication.ingredient.extension:darreichungform">
      <path value="Medication.ingredient.extension" />
      <sliceName value="darreichungform" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Form" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.extension:darreichungform.value[x]">
      <path value="Medication.ingredient.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.extension:darreichungform.value[x]:valueString">
      <path value="Medication.ingredient.extension.value[x]" />
      <sliceName value="valueString" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.item[x]">
      <path value="Medication.ingredient.item[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept">
      <path value="Medication.ingredient.item[x]" />
      <sliceName value="itemCodeableConcept" />
      <min value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.coding">
      <path value="Medication.ingredient.item[x].coding" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.coding.system">
      <path value="Medication.ingredient.item[x].coding.system" />
      <min value="1" />
      <fixedUri value="http://fhir.de/CodeSystem/ifa/pzn" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.coding.version">
      <path value="Medication.ingredient.item[x].coding.version" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.coding.code">
      <path value="Medication.ingredient.item[x].coding.code" />
      <short value="PZN des Bestandteils" />
      <definition value="eindeutige Identifikation des Arzneimittels mittels PZN, das vollständig oder teilweise für die Rezeptur verwandt werden soll" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.coding.display">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.ingredient.item[x].coding.display" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.coding.userSelected">
      <path value="Medication.ingredient.item[x].coding.userSelected" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.item[x]:itemCodeableConcept.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.ingredient.item[x].text" />
      <short value="Name des Bestandteils" />
      <definition value="Namentliche Bezeichnung des Bestandteiles der Rezeptur&#xD;&#xA;Wenn die PZN des Bestandteils vorhanden ist, dann ist der hinter der PZN liegende Handelsname anzugeben." />
      <min value="1" />
      <maxLength value="60" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.isActive">
      <path value="Medication.ingredient.isActive" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.strength">
      <path value="Medication.ingredient.strength" />
      <min value="1" />
      <constraint>
        <key value="-erp-numeratorOderFreitext" />
        <severity value="error" />
        <human value="Entweder ist die Menge des Bestandteils durch &quot;numerator&quot; oder als Freitext (extension('https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount')) anzugeben." />
        <expression value="extension('https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount').exists() xor numerator.exists()" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.extension">
      <path value="Medication.ingredient.strength.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="open" />
      </slicing>
    </element>
    <element id="Medication.ingredient.strength.extension:mengeFreitext">
      <path value="Medication.ingredient.strength.extension" />
      <sliceName value="mengeFreitext" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Medication_Ingredient_Amount" />
      </type>
      <condition value="numeratorOderFreitext" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.extension:mengeFreitext.value[x]">
      <path value="Medication.ingredient.strength.extension.value[x]" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.extension:mengeFreitext.value[x]:valueString">
      <path value="Medication.ingredient.strength.extension.value[x]" />
      <sliceName value="valueString" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.numerator">
      <path value="Medication.ingredient.strength.numerator" />
      <condition value="numeratorOderFreitext" />
      <constraint>
        <key value="-erp-begrenzungValue" />
        <severity value="error" />
        <human value="Die Menge eines Bestandteils einer Rezeptur darf aus maximal 15 Zeichen bestehen." />
        <expression value="value.toString().length() &lt;= 15" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding" />
      </constraint>
      <constraint>
        <key value="-erp-codeUndSystem" />
        <severity value="error" />
        <human value="Wenn ein Code eingegeben ist, muss auch das System hinterlegt sein." />
        <expression value="code.exists() implies system.exists()" />
        <source value="https://fhir.kbv.de/StructureDefinition/KBV_PR_ERP_Medication_Compounding" />
      </constraint>
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.numerator.value">
      <path value="Medication.ingredient.strength.numerator.value" />
      <short value="Menge des Bestandteils" />
      <definition value="Verordnete Menge des Bestandteils z.B. 100" />
      <min value="1" />
      <condition value="begrenzungValue" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.numerator.comparator">
      <path value="Medication.ingredient.strength.numerator.comparator" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.strength.numerator.unit">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.ingredient.strength.numerator.unit" />
      <short value="Einheit des Bestandteils" />
      <definition value="Verordnete Einheit des Bestandteils z. B. mg" />
      <min value="1" />
      <maxLength value="15" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.numerator.system">
      <path value="Medication.ingredient.strength.numerator.system" />
      <fixedUri value="http://unitsofmeasure.org" />
      <condition value="codeUndSystem" />
      <mustSupport value="false" />
    </element>
    <element id="Medication.ingredient.strength.numerator.code">
      <path value="Medication.ingredient.strength.numerator.code" />
      <short value="Einheit des Bestandteils kodierte" />
      <definition value="optional kodierte Einheit des Bestandteils gemäß http://unitsofmeasure.org" />
      <condition value="codeUndSystem" />
      <mustSupport value="false" />
    </element>
    <element id="Medication.ingredient.strength.denominator">
      <path value="Medication.ingredient.strength.denominator" />
      <condition value="numeratorOderFreitext" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.denominator.value">
      <path value="Medication.ingredient.strength.denominator.value" />
      <min value="1" />
      <fixedDecimal value="1" />
      <mustSupport value="true" />
    </element>
    <element id="Medication.ingredient.strength.denominator.comparator">
      <path value="Medication.ingredient.strength.denominator.comparator" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.strength.denominator.unit">
      <extension url="http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable">
        <valueBoolean value="true" />
      </extension>
      <path value="Medication.ingredient.strength.denominator.unit" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.strength.denominator.system">
      <path value="Medication.ingredient.strength.denominator.system" />
      <max value="0" />
    </element>
    <element id="Medication.ingredient.strength.denominator.code">
      <path value="Medication.ingredient.strength.denominator.code" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>