<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="MedicationStatement" />
  <url value="https://fhir.centraxx.de/StructureDefinition/MedicationStatement" />
  <version value="2025.4.0" />
  <name value="MedicationStatement" />
  <status value="active" />
  <publisher value="Kairos an IQVIA business" />
  <description value="Represents a CentraXX medication." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationStatement" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationStatement" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationStatement.extension">
      <path value="MedicationStatement.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="9" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:updateWithOverwrite">
      <path value="MedicationStatement.extension" />
      <sliceName value="updateWithOverwrite" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/updateWithOverwrite" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:fillerOrderNumber">
      <path value="MedicationStatement.extension" />
      <sliceName value="fillerOrderNumber" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/fillerOrderNumber" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:placerOrderNumber">
      <path value="MedicationStatement.extension" />
      <sliceName value="placerOrderNumber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/placerOrderNumber" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:type">
      <path value="MedicationStatement.extension" />
      <sliceName value="type" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/type" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:resultDate">
      <path value="MedicationStatement.extension" />
      <sliceName value="resultDate" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/resultDate" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:transcriptionist">
      <path value="MedicationStatement.extension" />
      <sliceName value="transcriptionist" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/transcriptionist" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:prescriber">
      <path value="MedicationStatement.extension" />
      <sliceName value="prescriber" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/prescribedBy" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:isPrescription">
      <path value="MedicationStatement.extension" />
      <sliceName value="isPrescription" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/isPrescription" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.extension:ordinanceReleaseMethod">
      <path value="MedicationStatement.extension" />
      <sliceName value="ordinanceReleaseMethod" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/ordinanceReleaseMethod" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf">
      <path value="MedicationStatement.partOf" />
      <slicing>
        <discriminator>
          <type value="exists" />
          <path value="reference" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/MedicationStatement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byReference">
      <path value="MedicationStatement.partOf" />
      <sliceName value="byReference" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/MedicationStatement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byReference.reference">
      <path value="MedicationStatement.partOf.reference" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byIdentifier">
      <path value="MedicationStatement.partOf" />
      <sliceName value="byIdentifier" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/MedicationStatement" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byIdentifier.type">
      <path value="MedicationStatement.partOf.type" />
      <min value="1" />
      <fixedUri value="MedicationStatement" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byIdentifier.identifier">
      <path value="MedicationStatement.partOf.identifier" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byIdentifier.identifier.extension">
      <path value="MedicationStatement.partOf.identifier.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="2" />
      <max value="2" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byIdentifier.identifier.extension:medicationCode">
      <path value="MedicationStatement.partOf.identifier.extension" />
      <sliceName value="medicationCode" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/identifier/code" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.partOf:byIdentifier.identifier.extension:fillerOrderNumber">
      <path value="MedicationStatement.partOf.identifier.extension" />
      <sliceName value="fillerOrderNumber" />
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/identifier/fillerOrderNumber" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.status">
      <path value="MedicationStatement.status" />
      <min value="1" />
      <fixedString value="completed" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x]">
      <path value="MedicationStatement.medication[x]" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding">
      <path value="MedicationStatement.medication[x].coding" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="system" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="4" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:medication">
      <path value="MedicationStatement.medication[x].coding" />
      <sliceName value="medication" />
      <min value="1" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:medication.system">
      <path value="MedicationStatement.medication[x].coding.system" />
      <min value="1" />
      <fixedString value="https://fhir.centraxx.de/system/medication" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:medication.code">
      <path value="MedicationStatement.medication[x].coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:agent">
      <path value="MedicationStatement.medication[x].coding" />
      <sliceName value="agent" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:agent.system">
      <path value="MedicationStatement.medication[x].coding.system" />
      <min value="1" />
      <fixedString value="https://fhir.centraxx.de/system/medication/agent" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:agent.code">
      <path value="MedicationStatement.medication[x].coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:agentGroup">
      <path value="MedicationStatement.medication[x].coding" />
      <sliceName value="agentGroup" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:agentGroup.system">
      <path value="MedicationStatement.medication[x].coding.system" />
      <min value="1" />
      <fixedString value="https://fhir.centraxx.de/system/medication/agentGroup" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:agentGroup.code">
      <path value="MedicationStatement.medication[x].coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:methodOfApplication">
      <path value="MedicationStatement.medication[x].coding" />
      <sliceName value="methodOfApplication" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:methodOfApplication.system">
      <path value="MedicationStatement.medication[x].coding.system" />
      <min value="1" />
      <fixedString value="https://fhir.centraxx.de/system/medication/applicationMethod" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x].coding:methodOfApplication.code">
      <path value="MedicationStatement.medication[x].coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.subject">
      <path value="MedicationStatement.subject" />
      <min value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/Patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.context">
      <path value="MedicationStatement.context" />
      <min value="0" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/Encounter" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]">
      <path value="MedicationStatement.effective[x]" />
      <min value="0" />
      <type>
        <code value="Period" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x].start">
      <path value="MedicationStatement.effective[x].start" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x].end">
      <path value="MedicationStatement.effective[x].end" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dateAsserted">
      <path value="MedicationStatement.dateAsserted" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.informationSource">
      <path value="MedicationStatement.informationSource" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://fhir.centraxx.de/StructureDefinition/Practitioner" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note">
      <path value="MedicationStatement.note" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note.text">
      <path value="MedicationStatement.note.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage">
      <path value="MedicationStatement.dosage" />
      <min value="0" />
      <max value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.text">
      <path value="MedicationStatement.dosage.text" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.additionalInstruction">
      <path value="MedicationStatement.dosage.additionalInstruction" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.additionalInstruction.text">
      <path value="MedicationStatement.dosage.additionalInstruction.text" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.timing">
      <path value="MedicationStatement.dosage.timing" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.timing.event">
      <path value="MedicationStatement.dosage.timing.event" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.asNeeded[x]">
      <path value="MedicationStatement.dosage.asNeeded[x]" />
      <min value="0" />
      <type>
        <code value="boolean" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.route">
      <path value="MedicationStatement.dosage.route" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.route.coding">
      <path value="MedicationStatement.dosage.route.coding" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.route.coding.system">
      <path value="MedicationStatement.dosage.route.coding.system" />
      <min value="1" />
      <fixedString value="https://fhir.centraxx.de/system/medication/applicationForm" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.route.coding.code">
      <path value="MedicationStatement.dosage.route.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.method">
      <path value="MedicationStatement.dosage.method" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.method.coding">
      <path value="MedicationStatement.dosage.method.coding" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.method.coding.system">
      <path value="MedicationStatement.dosage.method.coding.system" />
      <min value="1" />
      <fixedString value="https://fhir.centraxx.de/system/medication/applicationMedium" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.method.coding.code">
      <path value="MedicationStatement.dosage.method.coding.code" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <slicing>
        <discriminator>
          <type value="pattern" />
          <path value="type" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="4" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <sliceName value="prescription" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.extension">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.extension:doseValue">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <sliceName value="doseValue" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/doseValue" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.type">
      <path value="MedicationStatement.dosage.doseAndRate.type" />
      <min value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="https://fhir.centraxx.de/system/medication/doseType" />
          <code value="PRESCRIPTION" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x]">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x]" />
      <min value="0" />
      <type>
        <code value="Quantity" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x].extension">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x].extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x].extension:createMasterData">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x].extension" />
      <sliceName value="createMasterData" />
      <comment value="set this true to create non-existent units on the fly in CXX catalog." />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/createMasterData" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x].value">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x].value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x].unit">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x].unit" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x].system">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x].system" />
      <min value="0" />
      <fixedString value="https://fhir.centraxx.de/system/laborValue/unit" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.dose[x].code">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x].code" />
      <min value="0" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.rate[x]">
      <path value="MedicationStatement.dosage.doseAndRate.rate[x]" />
      <min value="0" />
      <type>
        <code value="Quantity" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:prescription.rate[x].value">
      <path value="MedicationStatement.dosage.doseAndRate.rate[x].value" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:is">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <sliceName value="is" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:is.extension">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:is.extension:doseValue">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <sliceName value="doseValue" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/doseValue" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:is.type">
      <path value="MedicationStatement.dosage.doseAndRate.type" />
      <min value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="https://fhir.centraxx.de/system/medication/doseType" />
          <code value="IS" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:trg">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <sliceName value="trg" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:trg.extension">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:trg.extension:doseValue">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <sliceName value="doseValue" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/doseValue" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:trg.type">
      <path value="MedicationStatement.dosage.doseAndRate.type" />
      <min value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="https://fhir.centraxx.de/system/medication/doseType" />
          <code value="TRG" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:dev">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <sliceName value="dev" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:dev.extension">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <rules value="closed" />
      </slicing>
      <min value="1" />
      <max value="1" />
      <type>
        <code value="Extension" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:dev.extension:doseValue">
      <path value="MedicationStatement.dosage.doseAndRate.extension" />
      <sliceName value="doseValue" />
      <type>
        <code value="Extension" />
        <profile value="https://fhir.centraxx.de/extension/medication/doseValue" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate:dev.type">
      <path value="MedicationStatement.dosage.doseAndRate.type" />
      <min value="1" />
      <patternCodeableConcept>
        <coding>
          <system value="https://fhir.centraxx.de/system/medication/doseType" />
          <code value="DEV" />
        </coding>
      </patternCodeableConcept>
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>