<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="ie-core-medicationstatement" />
  <url value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-medicationstatement" />
  <name value="IECoreMedicationStatement" />
  <title value="IE Core MedicationStatement" />
  <status value="draft" />
  <description value="Profile for medication use statements in the Irish healthcare system, aligned with the Xt-EHR EHDSMedicationUse logical model v1.0.0. Used in the mandatory medication summary sections of the Patient Summary and Hospital Discharge Report. In FHIR R4, MedicationStatement is the direct mapping for EHDSMedicationUse; in FHIR R5, the equivalent resource is MedicationUsage." />
  <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.identifier">
      <path value="MedicationStatement.identifier" />
      <comment value="HIQA PS 6.3.2 Medication identifier (Required)." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.status">
      <path value="MedicationStatement.status" />
      <short value="Status of the medication use statement (active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken)" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.statusReason">
      <path value="MedicationStatement.statusReason" />
      <comment value="HIQA PS 6.3.1.2 Medication status reason (Required)." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x]">
      <path value="MedicationStatement.medication[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <short value="Medication (NMPC preferred; SNOMED CT Irish Edition and ATC as secondary codes)" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.medication[x]:medicationCodeableConcept">
      <path value="MedicationStatement.medication[x]" />
      <sliceName value="medicationCodeableConcept" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
      </type>
      <binding>
        <strength value="extensible" />
        <valueSet value="http://hl7.org/fhir/ValueSet/medication-codes" />
      </binding>
    </element>
    <element id="MedicationStatement.subject">
      <path value="MedicationStatement.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.effective[x]">
      <path value="MedicationStatement.effective[x]" />
      <short value="Period when the patient took or is taking the medication (EHDSMedicationUse.periodOfUse)" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.informationSource">
      <path value="MedicationStatement.informationSource" />
      <short value="Author of the medication statement" />
      <type>
        <code value="Reference" />
        <targetProfile value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-patient" />
        <targetProfile value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-practitioner" />
        <targetProfile value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-practitionerrole" />
        <targetProfile value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-relatedperson" />
        <targetProfile value="https://hl7-ie.github.io/ie-core/fhir/ie/core/StructureDefinition/ie-core-organization" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.derivedFrom">
      <path value="MedicationStatement.derivedFrom" />
      <short value="Prescription, dispense, or administration that is the basis for this statement (EHDSMedicationUse.derivedFrom)" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonCode">
      <path value="MedicationStatement.reasonCode" />
      <short value="Reason for taking the medication — diagnosis or procedure (ICD-10, SNOMED CT)" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.reasonReference">
      <path value="MedicationStatement.reasonReference" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.note">
      <path value="MedicationStatement.note" />
      <short value="Additional information about the medication use statement" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage">
      <path value="MedicationStatement.dosage" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.text">
      <path value="MedicationStatement.dosage.text" />
      <short value="Human-readable dosage instructions" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.additionalInstruction">
      <path value="MedicationStatement.dosage.additionalInstruction" />
      <comment value="HIQA PS 6.3.11.1 Additional instructions (Required)." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.timing">
      <path value="MedicationStatement.dosage.timing" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.timing.repeat.frequency">
      <path value="MedicationStatement.dosage.timing.repeat.frequency" />
      <comment value="HIQA PS 6.3.10.1 Frequency (Mandatory within the frequency cluster)." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.timing.repeat.period">
      <path value="MedicationStatement.dosage.timing.repeat.period" />
      <comment value="HIQA PS 6.3.10.2 Period (Mandatory within the frequency cluster)." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.site">
      <path value="MedicationStatement.dosage.site" />
      <comment value="HIQA PS 6.3.8 Site (Required)." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.route">
      <path value="MedicationStatement.dosage.route" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate">
      <path value="MedicationStatement.dosage.doseAndRate" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationStatement.dosage.doseAndRate.dose[x]">
      <path value="MedicationStatement.dosage.doseAndRate.dose[x]" />
      <comment value="HIQA PS 6.3.9 Dose (Mandatory 1..1). Not enforced as 1..1: that would reject 'as directed' statements where only dosage.text is known (Requires Clarification; raised in the consultation feedback)." />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>