PackagesCanonicalsLogsProblems
    Packages
    ca.infoway.io.core@0.3.1-dft-ballot-alpha
    http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/medicationrequest-ca-core
description: This profile represents the constraints applied to the MedicationRequest resource by the CA Core+ project to represent the minimum expectations for the MedicationRequest resource when used to promote capacity building for functionality found across Canadian FHIR implementations. It is informed by the constraints of shared across CIHI pCHDCF data sets and has also undergone analysis to assert alignment with the [Canadian Baseline MedicationRequest Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-medicationrequest.html)
package_name: ca.infoway.io.core
derivation: constraint
name: MedicationRequestCACore
type: MedicationRequest
elements:
  medication:
    mustSupport: true
    choices: [medicationCodeableConcept]
    index: 6
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema:
            mustSupport: true
            choices: [medicationCodeableConcept]
            index: 6
  medicationReference:
    type: Reference
    mustSupport: true
    choiceOf: medication
    refers: ['http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/medication-ca-core']
    index: 4
    slicing:
      slices:
        medicationReference:
          match: {}
          schema:
            type: Reference
            mustSupport: true
            choiceOf: medication
            refers: ['http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/medication-ca-core']
            index: 4
  medicationCodeableConcept:
    type: CodeableConcept
    mustSupport: true
    choiceOf: medication
    index: 7
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema: {type: CodeableConcept, mustSupport: true, choiceOf: medication, index: 7}
  medication[x]:
    elements:
      coding:
        mustSupport: true
        index: 8
        elements:
          system: {mustSupport: true, index: 9}
          code: {mustSupport: true, index: 10}
          display:
            index: 11
            extensions:
              translation: {url: 'http://hl7.org/fhir/StructureDefinition/translation', type: Extension, index: 12}
            elements:
              extension:
                type: Extension
                url: http://hl7.org/fhir/StructureDefinition/translation
                index: 12
                slicing:
                  slices:
                    translation:
                      match: {}
                      schema: {type: Extension, url: 'http://hl7.org/fhir/StructureDefinition/translation', index: 12}
        required: [display, system, code]
      text: {mustSupport: true, index: 13}
    required: [coding]
  subject:
    type: Reference
    mustSupport: true
    refers: ['http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/patient-ca-core', 'http://hl7.org/fhir/StructureDefinition/Group']
    index: 14
  authoredOn: {mustSupport: true, index: 15}
  reasonCode:
    binding: {strength: preferred, valueSet: 'http://fhir.infoway-inforoute.ca/ca-core/ValueSet/PHCVS'}
    mustSupport: true
    index: 16
    elements:
      coding:
        mustSupport: true
        index: 17
        elements:
          system: {mustSupport: true, index: 18}
          code: {mustSupport: true, index: 19}
        required: [system, code]
  dosageInstruction:
    mustSupport: true
    index: 20
    elements:
      timing:
        mustSupport: true
        index: 21
        elements:
          repeat:
            mustSupport: true
            index: 22
            elements:
              bounds:
                choices: []
                index: 24
                slicing:
                  rules: open
                  discriminator:
                  - {path: $this, type: type}
                  min: null
                  slices:
                    boundsPeriod:
                      match: {}
                      schema:
                        mustSupport: true
                        choices: [boundsPeriod]
                        index: 26
              boundsPeriod:
                type: Period
                mustSupport: true
                choiceOf: bounds
                index: 27
                slicing:
                  slices:
                    boundsPeriod:
                      match: {}
                      schema: {type: Period, mustSupport: true, choiceOf: bounds, index: 27}
              bounds[x]:
                elements:
                  end: {mustSupport: true, index: 28}
          code: {mustSupport: true, index: 29}
      route:
        binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration'}
        mustSupport: true
        index: 30
        elements:
          coding:
            mustSupport: true
            index: 31
            elements:
              system: {mustSupport: true, index: 32}
              code: {mustSupport: true, index: 33}
            required: [system, code]
      doseAndRate:
        mustSupport: true
        index: 34
        elements:
          dose:
            choices: []
            index: 36
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: type}
              min: null
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    constraint:
                      cacore-medreq-doseqty-1: {human: doseQuantity.unit(string) or doseQuantity.code(code) must be provided, severity: error, expression: unit.hasValue() or code.hasValue()}
                    mustSupport: true
                    choices: [doseQuantity]
                    index: 38
          doseQuantity:
            type: Quantity
            constraint:
              cacore-medreq-doseqty-1: {human: doseQuantity.unit(string) or doseQuantity.code(code) must be provided, severity: error, expression: unit.hasValue() or code.hasValue()}
            mustSupport: true
            choiceOf: dose
            index: 39
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    type: Quantity
                    constraint:
                      cacore-medreq-doseqty-1: {human: doseQuantity.unit(string) or doseQuantity.code(code) must be provided, severity: error, expression: unit.hasValue() or code.hasValue()}
                    mustSupport: true
                    choiceOf: dose
                    index: 39
          dose[x]:
            elements:
              value: {mustSupport: true, index: 40}
              system: {mustSupport: true, index: 41}
              code: {mustSupport: true, index: 42}
            required: [value]
package_version: 0.3.1-dft-ballot-alpha
class: profile
kind: resource
url: http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/medicationrequest-ca-core
base: http://hl7.org/fhir/StructureDefinition/MedicationRequest
version: null
required: [authoredOn]