PackagesCanonicalsLogsProblems
    Packages
    ca.infoway.io.core@0.3.1-dft-ballot
    http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/medicationstatement-ca-core
description: This profile represents the constraints applied to the MedicationStatement resource by the CA Core+ project to represent the minimum expectations for the MedicationStatement 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 MedicationStatement Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-medicationstatement.html)
package_name: ca.infoway.io.core
derivation: constraint
name: MedicationStatementCACore
type: MedicationStatement
elements:
  dosage:
    mustSupport: true
    index: 26
    elements:
      timing:
        mustSupport: true
        index: 27
        elements:
          code: {mustSupport: true, index: 28}
      route:
        type: CodeableConcept
        binding: {strength: preferred, valueSet: 'https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration'}
        mustSupport: true
        index: 29
        elements:
          coding:
            mustSupport: true
            index: 30
            elements:
              system: {mustSupport: true, index: 31}
              code: {mustSupport: true, index: 32}
            required: [system, code]
      doseAndRate:
        mustSupport: true
        index: 33
        elements:
          dose:
            choices: []
            index: 35
            slicing:
              rules: open
              discriminator:
              - {path: $this, type: type}
              min: null
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    constraint:
                      cacore-medstmt-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: 37
          doseQuantity:
            type: Quantity
            constraint:
              cacore-medstmt-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: 38
            slicing:
              slices:
                doseQuantity:
                  match: {}
                  schema:
                    type: Quantity
                    constraint:
                      cacore-medstmt-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: 38
          dose[x]:
            elements:
              value: {mustSupport: true, index: 39}
              system: {mustSupport: true, index: 40}
              code: {mustSupport: true, index: 41}
            required: [value]
  medication[x]:
    elements:
      coding:
        mustSupport: true
        index: 8
        elements:
          system: {mustSupport: true, index: 9}
          code: {mustSupport: true, index: 10}
          display:
            mustSupport: true
            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]
  reasonCode:
    binding: {strength: preferred, valueSet: 'http://fhir.infoway-inforoute.ca/ca-core/ValueSet/PHCVS'}
    mustSupport: true
    index: 22
    elements:
      coding:
        mustSupport: true
        index: 23
        elements:
          system: {mustSupport: true, index: 24}
          code: {mustSupport: true, index: 25}
        required: [system, code]
  medicationCodeableConcept:
    type: CodeableConcept
    mustSupport: true
    choiceOf: medication
    index: 7
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema: {type: CodeableConcept, mustSupport: true, choiceOf: medication, index: 7}
  effective[x]:
    elements:
      end: {mustSupport: true, index: 20}
  effective:
    choices: []
    index: 16
    slicing:
      rules: open
      discriminator:
      - {path: $this, type: type}
      min: null
      slices:
        effectivePeriod:
          match: {}
          schema:
            mustSupport: true
            choices: [effectivePeriod]
            index: 18
  dateAsserted: {mustSupport: true, index: 21}
  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
  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
  effectivePeriod:
    type: Period
    mustSupport: true
    choiceOf: effective
    index: 19
    slicing:
      slices:
        effectivePeriod:
          match: {}
          schema: {type: Period, mustSupport: true, choiceOf: effective, index: 19}
  medication:
    mustSupport: true
    choices: [medicationCodeableConcept]
    index: 6
    slicing:
      slices:
        medicationCodeableConcept:
          match: {}
          schema:
            mustSupport: true
            choices: [medicationCodeableConcept]
            index: 6
package_version: 0.3.1-dft-ballot
class: profile
kind: resource
url: http://fhir.infoway-inforoute.ca/ca-core/StructureDefinition/medicationstatement-ca-core
base: http://hl7.org/fhir/StructureDefinition/MedicationStatement
version: null
required: [dateAsserted]