PackagesCanonicalsLogsProblems
    Packages
    rs/ca.on.dhdr.r4@4.0.3-snapshot2
    http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-MedicationDispense-submission
description: Indicates that a medication is to be or has been dispensed for a named patient.
package_name: rs/ca.on.dhdr.r4
derivation: constraint
name: MedicationDispenseDHDRSubmission
type: MedicationDispense
elements:
  category:
    binding: {strength: required, valueSet: 'http://ontariohealth.ca/fhir/ehr/ValueSet/dispense-category'}
    mustSupport: true
    index: 14
    elements:
      coding:
        mustSupport: true
        index: 15
        elements:
          system:
            pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/CodeSystem/dispense-category'}
            mustSupport: true
            type: uri
            index: 16
          code: {mustSupport: true, index: 17}
          display: {mustSupport: true, index: 18}
        required: [code, display, system]
    required: [coding]
  whenHandedOver: {mustSupport: true, index: 38}
  whenPrepared: {mustSupport: true, index: 37}
  meta:
    mustSupport: true
    index: 0
    elements:
      source: {mustSupport: true, index: 1}
      profile: {mustSupport: true, index: 2}
    required: [profile, source]
  medication[x]:
    elements:
      reference: {mustSupport: true, index: 22}
    required: [reference]
  note:
    mustSupport: true
    index: 39
    elements:
      text: {mustSupport: true, index: 40}
  extension:
    mustSupport: true
    index: 3
    slicing:
      slices:
        DispenseRemainingRefills:
          match: {}
          schema:
            type: Extension
            url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-refills-remaining
            index: 4
            elements:
              url:
                pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-refills-remaining'}
                type: uri
                index: 5
        DispenseRemainingQuantity:
          match: {}
          schema:
            type: Extension
            url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-quantity-remaining
            index: 6
            elements:
              url:
                pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-quantity-remaining'}
                type: uri
                index: 7
        DrugServiceCoverage:
          match: {}
          schema:
            type: Extension
            isModifier: false
            url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-drug-service-coverage
            index: 8
            elements:
              url:
                pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-drug-service-coverage'}
                type: uri
                index: 9
  status: {mustSupport: true, index: 13}
  dosageInstruction:
    mustSupport: true
    index: 41
    elements:
      site:
        mustSupport: true
        index: 79
        elements:
          coding:
            mustSupport: true
            index: 80
            elements:
              system: {mustSupport: true, index: 81}
              code: {mustSupport: true, index: 82}
              display: {mustSupport: true, index: 83}
            required: [code, display, system]
          text: {mustSupport: true, index: 84}
      asNeeded:
        mustSupport: true
        choices: [asNeededBoolean]
        index: 77
      method:
        mustSupport: true
        index: 90
        elements:
          coding:
            mustSupport: true
            index: 91
            elements:
              system: {mustSupport: true, index: 92}
              code: {mustSupport: true, index: 93}
              display: {mustSupport: true, index: 94}
            required: [code, display, system]
          text: {mustSupport: true, index: 95}
      patientInstruction: {mustSupport: true, index: 50}
      maxDosePerLifetime:
        mustSupport: true
        index: 178
        elements:
          value: {mustSupport: true, index: 179}
          unit: {mustSupport: true, index: 180}
          system: {mustSupport: true, index: 181}
          code: {mustSupport: true, index: 182}
        required: [code, system, unit, value]
      maxDosePerAdministration:
        mustSupport: true
        index: 173
        elements:
          value: {mustSupport: true, index: 174}
          unit: {mustSupport: true, index: 175}
          system: {mustSupport: true, index: 176}
          code: {mustSupport: true, index: 177}
        required: [code, system, unit, value]
      route:
        mustSupport: true
        index: 85
        elements:
          coding:
            binding: {strength: required, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration'}
            mustSupport: true
            index: 86
            elements:
              system:
                pattern: {type: uri, value: 'http://snomed.info/sct'}
                mustSupport: true
                type: uri
                index: 87
              code: {mustSupport: true, index: 88}
              display: {mustSupport: true, index: 89}
            required: [code, display, system]
        required: [coding]
      asNeededBoolean: {type: boolean, mustSupport: true, choiceOf: asNeeded, index: 78}
      timing:
        mustSupport: true
        index: 51
        elements:
          event: {mustSupport: true, index: 52}
          repeat:
            mustSupport: true
            index: 53
            elements:
              frequencyMax: {mustSupport: true, index: 62}
              when: {mustSupport: true, index: 68}
              offset: {mustSupport: true, index: 69}
              periodUnit:
                binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/units-of-time|4.0.0'}
                mustSupport: true
                index: 65
              frequency: {mustSupport: true, index: 61}
              durationMax: {mustSupport: true, index: 59}
              duration: {mustSupport: true, index: 58}
              bounds:
                mustSupport: true
                choices: []
                index: 55
              durationUnit: {mustSupport: true, index: 60}
              dayOfWeek: {mustSupport: true, index: 66}
              count: {mustSupport: true, index: 56}
              periodMax: {mustSupport: true, index: 64}
              period: {mustSupport: true, index: 63}
              countMax: {mustSupport: true, index: 57}
              timeOfDay: {mustSupport: true, index: 67}
          code:
            binding: {strength: extensible, valueSet: 'http://ontariohealth.ca/fhir/ehr/ValueSet/medication-repeat-pattern'}
            mustSupport: true
            index: 70
            elements:
              coding:
                mustSupport: true
                index: 71
                elements:
                  system:
                    pattern: {type: uri, value: 'http://snomed.info/sct'}
                    mustSupport: true
                    type: uri
                    index: 72
                  code: {mustSupport: true, index: 73}
                  display: {mustSupport: true, index: 74}
                required: [code, display, system]
              text: {mustSupport: true, index: 75}
      additionalInstruction:
        mustSupport: true
        index: 44
        elements:
          coding:
            mustSupport: true
            index: 45
            elements:
              system: {mustSupport: true, index: 46}
              code: {mustSupport: true, index: 47}
              display: {mustSupport: true, index: 48}
            required: [code, display, system]
          text: {mustSupport: true, index: 49}
      sequence: {mustSupport: true, index: 42}
      maxDosePerPeriod:
        mustSupport: true
        index: 160
        elements:
          numerator:
            mustSupport: true
            index: 161
            elements:
              value: {mustSupport: true, index: 162}
              comparator: {mustSupport: true, index: 163}
              unit: {mustSupport: true, index: 164}
              system: {mustSupport: true, index: 165}
              code: {mustSupport: true, index: 166}
            required: [code, system, unit, value]
          denominator:
            mustSupport: true
            index: 167
            elements:
              value: {mustSupport: true, index: 168}
              comparator: {mustSupport: true, index: 169}
              unit: {mustSupport: true, index: 170}
              system: {mustSupport: true, index: 171}
              code: {mustSupport: true, index: 172}
            required: [code, system, unit, value]
      doseAndRate:
        mustSupport: true
        index: 96
        elements:
          dose[x]:
            elements:
              value: {mustSupport: true, index: 121}
              unit: {mustSupport: true, index: 122}
              system: {mustSupport: true, index: 123}
              code: {mustSupport: true, index: 124}
          rate[x]:
            elements:
              value: {mustSupport: true, index: 156}
              unit: {mustSupport: true, index: 157}
              system: {mustSupport: true, index: 158}
              code: {mustSupport: true, index: 159}
          doseRange:
            type: Range
            mustSupport: true
            choiceOf: dose
            index: 107
            slicing:
              slices:
                doseRange:
                  match: {}
                  schema: {type: Range, mustSupport: true, choiceOf: dose, index: 107}
                  min: 0
                  max: 1
          rateRange:
            type: Range
            mustSupport: true
            choiceOf: rate
            index: 142
            slicing:
              slices:
                rateRange:
                  match: {}
                  schema: {type: Range, mustSupport: true, choiceOf: rate, index: 142}
                  min: 0
                  max: 1
          doseQuantity:
            type: Quantity
            mustSupport: true
            choiceOf: dose
            index: 120
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema: {type: Quantity, mustSupport: true, choiceOf: dose, index: 120}
                  min: 0
                  max: 1
          dose:
            mustSupport: true
            choices: [doseQuantity]
            index: 119
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: [doseQuantity]
                    index: 119
                  min: 0
                  max: 1
          type:
            mustSupport: true
            index: 97
            elements:
              coding:
                mustSupport: true
                index: 98
                elements:
                  system: {mustSupport: true, index: 99}
                  code: {mustSupport: true, index: 100}
                  display: {mustSupport: true, index: 101}
                required: [code, display, system]
              text: {mustSupport: true, index: 102}
          rate:
            mustSupport: true
            choices: [rateQuantity]
            index: 154
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema:
                    mustSupport: true
                    choices: [rateQuantity]
                    index: 154
                  min: 0
                  max: 1
          rateRatio:
            type: Ratio
            mustSupport: true
            choiceOf: rate
            index: 129
            slicing:
              slices:
                rateRatio:
                  match: {}
                  schema: {type: Ratio, mustSupport: true, choiceOf: rate, index: 129}
                  min: 0
                  max: 1
          rateQuantity:
            type: Quantity
            mustSupport: true
            choiceOf: rate
            index: 155
            slicing:
              slices:
                rateQuantity:
                  match: {}
                  schema: {type: Quantity, mustSupport: true, choiceOf: rate, index: 155}
                  min: 0
                  max: 1
      text: {mustSupport: true, index: 43}
    required: [text]
  daysSupply:
    mustSupport: true
    index: 35
    elements:
      value: {mustSupport: true, index: 36}
    required: [value]
  identifier:
    mustSupport: true
    array: true
    min: 1
    max: 2
    index: 10
    elements:
      system:
        constraint:
          RX-system-id: {human: 'Original Rx Number value should be original Rx Number assigned by the pharmacy system on the first fill and should be the following formats:  [id-system-local-base]/ca-on-pharmacy-[Pharmacy ID]-original-rx-number or [id-system-local-base]/ca-on-pharmacy-[Pharmacy ID]-current-rx-number', severity: error, expression: '$this.matches(''http://ehealthontario.ca/fhir/NamingSystem/ca-on-pharmacy-[0-9]{1,9}(?:-original-rx-number|-current-rx-number)'')'}
        mustSupport: true
        index: 11
      value: {mustSupport: true, index: 12}
    required: [system, value]
  medicationReference:
    type: Reference
    mustSupport: true
    choiceOf: medication
    refers: ['http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-Medication-submission']
    index: 21
  quantity:
    binding: {strength: extensible, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/prescribedquantityunit'}
    mustSupport: true
    index: 30
    elements:
      value: {mustSupport: true, index: 31}
      unit: {mustSupport: true, index: 32}
      system: {mustSupport: true, index: 33}
      code: {mustSupport: true, index: 34}
    required: [value]
  authorizingPrescription:
    type: Reference
    mustSupport: true
    refers: ['http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-MedicationRequest-submission']
    index: 28
    elements:
      reference: {mustSupport: true, index: 29}
    required: [reference]
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-Patient-submission']
    index: 23
    elements:
      reference: {mustSupport: true, index: 24}
    required: [reference]
  performer:
    mustSupport: true
    index: 25
    elements:
      actor:
        type: Reference
        mustSupport: true
        refers: ['http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-PractitionerRole-submission']
        index: 26
        elements:
          reference: {mustSupport: true, index: 27}
        required: [reference]
  medication:
    mustSupport: true
    choices: [medicationReference]
    index: 20
package_version: 4.0.3-snapshot2
extensions:
  DispenseRemainingRefills:
    url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-refills-remaining
    type: Extension
    index: 4
    elements:
      url:
        pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-refills-remaining'}
        type: uri
        index: 5
  DispenseRemainingQuantity:
    url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-quantity-remaining
    type: Extension
    index: 6
    elements:
      url:
        pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-quantity-remaining'}
        type: uri
        index: 7
  DrugServiceCoverage:
    url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-drug-service-coverage
    type: Extension
    isModifier: false
    index: 8
    elements:
      url:
        pattern: {type: uri, value: 'http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-ext-drug-service-coverage'}
        type: uri
        index: 9
class: profile
kind: resource
url: http://ehealthontario.ca/fhir/StructureDefinition/ca-on-medications-profile-MedicationDispense-submission
base: http://hl7.org/fhir/StructureDefinition/MedicationDispense
version: 4.0.3
required: [category, dosageInstruction, extension, identifier, meta, performer, subject, whenPrepared]