<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="KBV-EX-ERP-Narcotic" />
  <url value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Narcotic" />
  <version value="1.4.2" />
  <name value="KBV_EX_ERP_Narcotic" />
  <status value="active" />
  <date value="2026-04-15" />
  <publisher value="Kassenärztliche Bundesvereinigung (KBV)" />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="rim" />
    <uri value="http://hl7.org/v3" />
    <name value="RIM Mapping" />
  </mapping>
  <kind value="complex-type" />
  <abstract value="false" />
  <context>
    <type value="element" />
    <expression value="MedicationRequest" />
  </context>
  <context>
    <type value="element" />
    <expression value="SupplyRequest" />
  </context>
  <type value="Extension" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/Extension" />
  <derivation value="constraint" />
  <differential>
    <element id="Extension">
      <path value="Extension" />
      <short value="Betäubungsmittel (BtM)" />
      <definition value="Abbildung der Angaben zur Verordnung eines Betäubungsmittels im Sinne des Betäubungsmittelgesetzes (BtMG)" />
      <constraint>
        <key value="-erp-angabeErgaenzendeAngabenSubstitutionsmittelVerbot" />
        <severity value="error" />
        <human value="Bei der Verordnung eines Betäubungsmittels ist die Angabe von ergänzenden Angaben zum Substitutionsmittel nur mit dem Sonderkennzeichen 'S' oder 'ST' erlaubt." />
        <expression value="extension('ErgaenzendeAngabenSubstitutionsmittel').exists() implies ((extension('BtM-Sonderkennzeichen').value as Coding).code='S' or (extension('BtM-Sonderkennzeichen').value as Coding).code='ST')" />
      </constraint>
    </element>
    <element id="Extension.extension">
      <path value="Extension.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <max value="2" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen">
      <path value="Extension.extension" />
      <sliceName value="BtM-Sonderkennzeichen" />
      <short value="Kennzeichen nach § 9 Abs. 1 Nr. 6 BtMVV" />
      <max value="1" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.url">
      <path value="Extension.extension.url" />
      <fixedUri value="BtM-Sonderkennzeichen" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]">
      <path value="Extension.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]:valueCoding">
      <path value="Extension.extension.value[x]" />
      <sliceName value="valueCoding" />
      <min value="1" />
      <type>
        <code value="Coding" />
      </type>
      <binding>
        <strength value="required" />
        <valueSet value="https://fhir.kbv.de/ValueSet/KBV_VS_SFHIR_KBV_NARCOTIC_LABEL" />
      </binding>
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]:valueCoding.system">
      <path value="Extension.extension.value[x].system" />
      <min value="1" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]:valueCoding.version">
      <path value="Extension.extension.value[x].version" />
      <max value="0" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]:valueCoding.code">
      <path value="Extension.extension.value[x].code" />
      <min value="1" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]:valueCoding.display">
      <path value="Extension.extension.value[x].display" />
      <max value="0" />
    </element>
    <element id="Extension.extension:BtM-Sonderkennzeichen.value[x]:valueCoding.userSelected">
      <path value="Extension.extension.value[x].userSelected" />
      <max value="0" />
    </element>
    <element id="Extension.extension:ErgaenzendeAngabenSubstitutionsmittel">
      <path value="Extension.extension" />
      <sliceName value="ErgaenzendeAngabenSubstitutionsmittel" />
      <short value="Dieses Feld enthält ergänzende Angaben zu Reichdauer und Teilmengen des Substitutionsmittels, insbesondere Zeitpunkte, zu denen das Substitutionsmittel abgegeben bzw. verabreicht werden soll." />
      <max value="1" />
    </element>
    <element id="Extension.extension:ErgaenzendeAngabenSubstitutionsmittel.extension">
      <path value="Extension.extension.extension" />
      <max value="0" />
    </element>
    <element id="Extension.extension:ErgaenzendeAngabenSubstitutionsmittel.url">
      <path value="Extension.extension.url" />
      <fixedUri value="ErgaenzendeAngabenSubstitutionsmittel" />
    </element>
    <element id="Extension.extension:ErgaenzendeAngabenSubstitutionsmittel.value[x]">
      <path value="Extension.extension.value[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <type>
        <code value="string" />
      </type>
    </element>
    <element id="Extension.extension:ErgaenzendeAngabenSubstitutionsmittel.value[x]:valueString">
      <path value="Extension.extension.value[x]" />
      <sliceName value="valueString" />
      <min value="1" />
      <type>
        <code value="string" />
      </type>
      <maxLength value="500" />
    </element>
    <element id="Extension.url">
      <path value="Extension.url" />
      <fixedUri value="https://fhir.kbv.de/StructureDefinition/KBV_EX_ERP_Narcotic" />
    </element>
    <element id="Extension.value[x]">
      <path value="Extension.value[x]" />
      <max value="0" />
    </element>
  </differential>
</StructureDefinition>