<StructureDefinition xmlns="http://hl7.org/fhir">
  <id value="MedicationRequest" />
  <url value="http://healthpei.ca/fhir/StructureDefinition/ca-pei-profile-MedicationRequest" />
  <name value="MedicationRequest" />
  <title value="MedicationRequest" />
  <status value="draft" />
  <description value="An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called MedicationRequest rather than MedicationPrescription or MedicationOrder to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns." />
  <fhirVersion value="4.0.1" />
  <kind value="resource" />
  <abstract value="false" />
  <type value="MedicationRequest" />
  <baseDefinition value="http://hl7.org/fhir/StructureDefinition/MedicationRequest" />
  <derivation value="constraint" />
  <differential>
    <element id="MedicationRequest.identifier">
      <path value="MedicationRequest.identifier" />
      <min value="1" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.status">
      <path value="MedicationRequest.status" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.intent">
      <path value="MedicationRequest.intent" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category">
      <path value="MedicationRequest.category" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category.coding">
      <path value="MedicationRequest.category.coding" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category.coding.system">
      <path value="MedicationRequest.category.coding.system" />
      <fixedUri value="http://terminology.hl7.org/CodeSystem/medicationrequest-category" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category.coding.code">
      <path value="MedicationRequest.category.coding.code" />
      <fixedCode value="community" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category.coding.display">
      <path value="MedicationRequest.category.coding.display" />
      <fixedString value="community" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.category.text">
      <path value="MedicationRequest.category.text" />
      <fixedString value="community" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.medication[x]">
      <path value="MedicationRequest.medication[x]" />
      <slicing>
        <discriminator>
          <type value="type" />
          <path value="$this" />
        </discriminator>
        <ordered value="false" />
        <rules value="open" />
      </slicing>
      <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://hl7.org/fhir/StructureDefinition/Medication" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.subject">
      <path value="MedicationRequest.subject" />
      <type>
        <code value="Reference" />
        <targetProfile value="http://healthpei.ca/fhir/StructureDefinition/ca-pei-profile-Patient" />
      </type>
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.subject.reference">
      <path value="MedicationRequest.subject.reference" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.authoredOn">
      <path value="MedicationRequest.authoredOn" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.requester">
      <path value="MedicationRequest.requester" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dosageInstruction">
      <path value="MedicationRequest.dosageInstruction" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dosageInstruction.text">
      <path value="MedicationRequest.dosageInstruction.text" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest">
      <path value="MedicationRequest.dispenseRequest" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill">
      <path value="MedicationRequest.dispenseRequest.initialFill" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.quantity">
      <path value="MedicationRequest.dispenseRequest.initialFill.quantity" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.quantity.value">
      <path value="MedicationRequest.dispenseRequest.initialFill.quantity.value" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.quantity.unit">
      <path value="MedicationRequest.dispenseRequest.initialFill.quantity.unit" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.quantity.system">
      <path value="MedicationRequest.dispenseRequest.initialFill.quantity.system" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.quantity.code">
      <path value="MedicationRequest.dispenseRequest.initialFill.quantity.code" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.duration">
      <path value="MedicationRequest.dispenseRequest.initialFill.duration" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.duration.value">
      <path value="MedicationRequest.dispenseRequest.initialFill.duration.value" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.duration.unit">
      <path value="MedicationRequest.dispenseRequest.initialFill.duration.unit" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.duration.system">
      <path value="MedicationRequest.dispenseRequest.initialFill.duration.system" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.initialFill.duration.code">
      <path value="MedicationRequest.dispenseRequest.initialFill.duration.code" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod">
      <path value="MedicationRequest.dispenseRequest.validityPeriod" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod.start">
      <path value="MedicationRequest.dispenseRequest.validityPeriod.start" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.validityPeriod.end">
      <path value="MedicationRequest.dispenseRequest.validityPeriod.end" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.numberOfRepeatsAllowed">
      <path value="MedicationRequest.dispenseRequest.numberOfRepeatsAllowed" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity">
      <path value="MedicationRequest.dispenseRequest.quantity" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.value">
      <path value="MedicationRequest.dispenseRequest.quantity.value" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.unit">
      <path value="MedicationRequest.dispenseRequest.quantity.unit" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.system">
      <path value="MedicationRequest.dispenseRequest.quantity.system" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.quantity.code">
      <path value="MedicationRequest.dispenseRequest.quantity.code" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration.value">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration.value" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration.unit">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration.unit" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration.system">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration.system" />
      <mustSupport value="true" />
    </element>
    <element id="MedicationRequest.dispenseRequest.expectedSupplyDuration.code">
      <path value="MedicationRequest.dispenseRequest.expectedSupplyDuration.code" />
      <mustSupport value="true" />
    </element>
  </differential>
</StructureDefinition>