<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="medicationrequest-ca-core" />
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="2" />
  </extension>
  <url value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/medicationrequest-ca-core" />
  <version value="1.1.0" />
  <name value="MedicationRequestCACore" />
  <title value="Medication Request (CA-Core)" />
  <status value="active" />
  <experimental value="false" />
  <date value="2025-08-27" />
  <publisher value="Canada Health Infoway" />
  <contact>
    <name value="National Standards Release Centre" />
    <telecom>
      <system value="url" />
      <value value="http://www.infoway-inforoute.ca" />
    </telecom>
    <telecom>
      <system value="email" />
      <value value="standards@infoway-inforoute.ca" />
    </telecom>
  </contact>
  <description value="This profile applies constraints to the MedicationRequest resource for CA Core+ to support prescription and medication orders in the pan-Canadian context." />
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166" />
      <code value="CA" />
    </coding>
  </jurisdiction>
  <copyright value="Copyright © 2025+ Canada Health Infoway. All rights reserved. [Terms of Use and License Agreements](https://ic.infoway-inforoute.ca/en/about/tou). [Privacy Policy](https://www.infoway-inforoute.ca/en/legal/privacy-policy)." />
  <fhirVersion value="4.0.1" />
  <mapping>
    <identity value="CACDI" />
    <name value="Canadian Core Data for Interoperability (CACDI)" />
    <comment value="Mapping for MedicationRequestCACore to  Canadian Core Data for Interoperability (CACDI)." />
  </mapping>
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationRequest.extension">
      <path value="MedicationRequest.extension" />
      <slicing>
        <discriminator>
          <type value="value" />
          <path value="url" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="MedicationRequest.extension:RenderedDosageInstruction">
      <path value="MedicationRequest.extension" />
      <sliceName value="RenderedDosageInstruction" />
      <short value="Extension for representing rendered dosage instruction." />
      <definition value="A free form textual specification generated from the input specifications as created by the provider. This is made up of either an 'Ad-hoc instruction' or 'Textual rendition of the structured dosage lines', plus route, dosage unit, and other pertinent administration information specified by the provider." />
      <comment value="Use of structured fields for dosage instructions is heavily encouraged by this specification to promote interoperability of patient summaries. However, this extension is provided to make implementers aware that legacy medication data may come from some systems in this format. This extension is used by PrescribeIT implementations when the system has difficulty sending very complex dosage instructions in the form of structured data. Implementers are encouraged to read the PrescribeIT Specification (https://specs.prescribeit.ca/R5.0/erx/extension-ext-medication-rendered-dosage.html) to understand the context around its use." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Extension" />
        <profile value="http://prescribeit.ca/fhir/StructureDefinition/ext-medication-rendered-dosage" />
      </type>
    </element>
    <element id="MedicationRequest.medication[x]">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:populate-if-known" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="MedicationRequest.medication[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <comment value="The decision whether to use medicationCodeableConcept versus medicationReference is highly context dependent. Therefore, Ca Core+ defers that decision to downstream, use case specific implementation guides." />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.medication[x]:medicationReference">
      <path value="MedicationRequest.medication[x]" />
      <sliceName value="medicationReference" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/medication-ca-core" />
      </type>
    </element>
    <element id="MedicationRequest.medication[x]:medicationCodeableConcept">
      <path value="MedicationRequest.medication[x]" />
      <sliceName value="medicationCodeableConcept" />
      <comment value="The preferred binding on this element is to use Canadian Clinical Drug Data Set (CCDD)." />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/codeableconcept-ca-core" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/LicensedNaturalHealthProducts" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="ValueSet for licensed natural health products" />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="http://hl7.org/fhir/uv/ips/ValueSet/whoatc-uv-ips" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="per pCHDCF: Can be used for the international use case where a medication is not available in Canada and therefore does not appear in the recommended pan-Canadian value sets. ATC is the recommended supporting classification for reporting and analysis" />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/pharmaceuticalbiologicproductandsubstancecode" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="per PCHDCF: The alternate value set can be used for the international use case where the medication is not available in Canada and therefore does not appear in the recommended pan-Canadian value sets" />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/DIN" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="A Drug Identification Number (DIN) is a computer-generated eight digit number assigned by Health Canada to a drug product prior to being marketed in Canada. It uniquely identifies all drug products sold in a dosage form in Canada" />
          </extension>
        </extension>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct" />
      </binding>
      <mapping>
        <identity value="CACDI" />
        <map value="Medication" />
      </mapping>
    </element>
    <element id="MedicationRequest.medication[x]:medicationCodeableConcept.coding.system">
      <path value="MedicationRequest.medication[x].coding.system" />
      <mapping>
        <identity value="CACDI" />
        <map value="Drug Code System URI" />
      </mapping>
    </element>
    <element id="MedicationRequest.medication[x]:medicationCodeableConcept.coding.display">
      <path value="MedicationRequest.medication[x].coding.display" />
      <mapping>
        <identity value="CACDI" />
        <map value="Drug English Description" />
      </mapping>
      <mapping>
        <identity value="CACDI" />
        <map value="Drug French Description" />
      </mapping>
    </element>
    <element id="MedicationRequest.subject">
      <path value="MedicationRequest.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/patient-ca-core" />
      </type>
    </element>
    <element id="MedicationRequest.subject.reference">
      <path value="MedicationRequest.subject.reference" />
      <min value="1" />
    </element>
    <element id="MedicationRequest.reasonCode">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="MAY:populate-if-known" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="MedicationRequest.reasonCode" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/codeableconcept-ca-core" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/prescriptionindicationforuse" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="Commonly used reason for which a medication is being ordered reference set (foundation metadata concept)" />
          </extension>
        </extension>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/healthconditioncode" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="A value set for health-related conditions which can be diagnoses, the results of a clinical observation or assessment of judgment" />
          </extension>
        </extension>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/medicationreasoncode" />
      </binding>
      <mapping>
        <identity value="CACDI" />
        <map value="Medication Reason" />
      </mapping>
    </element>
    <element id="MedicationRequest.reasonReference">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="MAY:populate-if-known" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="MedicationRequest.reasonReference" />
      <mapping>
        <identity value="CACDI" />
        <map value="Medication Reason" />
      </mapping>
    </element>
    <element id="MedicationRequest.dosageInstruction">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="MAY:populate-if-known" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="MedicationRequest.dosageInstruction" />
    </element>
    <element id="MedicationRequest.dosageInstruction.text">
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="MAY:populate-if-known" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/producer" />
        </extension>
      </extension>
      <extension url="http://hl7.org/fhir/StructureDefinition/obligation">
        <extension url="code">
          <valueCode value="SHALL:no-error" />
        </extension>
        <extension url="actor">
          <valueCanonical value="http://fhir.infoway-inforoute.ca/ca-core/ActorDefinition/consumer" />
        </extension>
      </extension>
      <path value="MedicationRequest.dosageInstruction.text" />
    </element>
    <element id="MedicationRequest.dosageInstruction.timing">
      <path value="MedicationRequest.dosageInstruction.timing" />
      <mapping>
        <identity value="CACDI" />
        <map value="Medication Timing" />
      </mapping>
    </element>
    <element id="MedicationRequest.dosageInstruction.route">
      <path value="MedicationRequest.dosageInstruction.route" />
      <type>
        <code value="CodeableConcept" />
        <profile value="http://fhir.infoway-inforoute.ca/cacore/StructureDefinition/codeableconcept-ca-core" />
      </type>
      <binding>
        <extension url="http://hl7.org/fhir/tools/StructureDefinition/additional-binding">
          <extension url="purpose">
            <valueCode value="candidate" />
          </extension>
          <extension url="valueSet">
            <valueCanonical value="https://fhir.infoway-inforoute.ca/ValueSet/prescriptionrouteofadministration" />
          </extension>
          <extension url="documentation">
            <valueMarkdown value="Route of administration for the prescription from the PrescribeIT value set. Implementers should anticipate that data collected and or exchanged in the context of ePrescribing may contain concepts from this valueSet. While not the preferred terminology for broader pan-Canadian exchange use cases, this additional binding is surfaced to socialize the value sets that may be more commonly in use. Where multiple codings can be supplied, it is encouraged to supply the original coding alongside the pan-Canadian preferred terminology." />
          </extension>
        </extension>
        <strength value="preferred" />
        <valueSet value="https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration" />
      </binding>
      <mapping>
        <identity value="CACDI" />
        <map value="Medication Route of Administration" />
      </mapping>
    </element>
    <element id="MedicationRequest.dosageInstruction.doseAndRate.dose[x]">
      <path value="MedicationRequest.dosageInstruction.doseAndRate.dose[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
    </element>
    <element id="MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity">
      <path value="MedicationRequest.dosageInstruction.doseAndRate.dose[x]" />
      <sliceName value="doseQuantity" />
      <min value="0" />
      <max value="1" />
      <type>
        <code value="Quantity" />
        <profile value="http://hl7.org/fhir/StructureDefinition/SimpleQuantity" />
      </type>
    </element>
    <element id="MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.value">
      <path value="MedicationRequest.dosageInstruction.doseAndRate.dose[x].value" />
      <mapping>
        <identity value="CACDI" />
        <map value="Medication Dose Value" />
      </mapping>
    </element>
    <element id="MedicationRequest.dosageInstruction.doseAndRate.dose[x]:doseQuantity.unit">
      <path value="MedicationRequest.dosageInstruction.doseAndRate.dose[x].unit" />
      <mapping>
        <identity value="CACDI" />
        <map value="Medication Dose Unit of Measure" />
      </mapping>
    </element>
  </differential>
</StructureDefinition>