Canadian Baseline
1.1.0 - CI Build Canada flag

Canadian Baseline, published by HL7 Canada - FHIR Implementation Work Group. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7-Canada/ca-baseline/ and changes regularly. See the Directory of published versions

Resource Profile: MedicationStatement Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationstatement Version: 1.1.0
Draft as of 2024-12-13 Computable Name: MedicationStatementProfile

Proposed constraints and extensions on the MedicationStatement resource. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles.

This profile was generated from HL7 StructureDefinition on 2019-03-28 and constrained during a review of US Core against Canadian sources.

Key differences from USCoreR4 MedicationStatement:

  • MedicationStatement.medication updated:
    • CodeableConcept binding to ValueSet-prescriptionmedicinalproduct
    • Reference to profile-medication
  • MedicationStatement.subject reference updated to profile-patient

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement MedicationStatement Profile
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... basedOn Σ 0..* Reference(MedicationRequest Profile | CarePlan | ServiceRequest) Fulfils plan, proposal or order
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.


ele-1: All FHIR elements must have a @value or children
... medication[x] SΣ 1..1 What medication was taken
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


ele-1: All FHIR elements must have a @value or children
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who is/was taking the medication
ele-1: All FHIR elements must have a @value or children
... context Σ 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
ele-1: All FHIR elements must have a @value or children
... effective[x] SΣ 0..1 The date/time or interval when the medication is/was/will be taken
ele-1: All FHIR elements must have a @value or children
.... effectiveDateTime dateTime
.... effectivePeriod Period
... informationSource S 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) Person or organization that provided the information about the taking of this medication
ele-1: All FHIR elements must have a @value or children
... derivedFrom 0..* Reference(MedicationRequest Profile | MedicationDispense Profile | Claim | Observation Profile (General Use) | QuestionnaireResponse) Additional supporting information
ele-1: All FHIR elements must have a @value or children
... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Condition or observation that supports why the medication is being/was taken
ele-1: All FHIR elements must have a @value or children
... dosage S 0..* Dosage Details of how medication is/was taken or should be taken
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement MedicationStatement Profile
... basedOn 0..* Reference(MedicationRequest Profile | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf 0..* Reference(MedicationAdministration Profile | MedicationDispense Profile | MedicationStatement Profile | Procedure Profile | Observation Profile (General Use)) Part of referenced event
... status S 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject S 1..1 Reference(Patient Profile) Who is/was taking the medication
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] S 0..1 dateTime, Period The date/time or interval when the medication is/was/will be taken
... informationSource S 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(MedicationRequest Profile | MedicationDispense Profile | Claim | Observation Profile (General Use) | QuestionnaireResponse) Additional supporting information
... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Condition or observation that supports why the medication is being/was taken
... dosage S 0..* Dosage Details of how medication is/was taken or should be taken
.... text S 0..1 string Free text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationStatement.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement MedicationStatement Profile
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier
... basedOn Σ 0..* Reference(MedicationRequest Profile | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration Profile | MedicationDispense Profile | MedicationStatement Profile | Procedure Profile | Observation Profile (General Use)) Part of referenced event
... status ?!SΣ 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... statusReason 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept Type of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] SΣ 1..1 What medication was taken
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who is/was taking the medication
... context Σ 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] SΣ 0..1 The date/time or interval when the medication is/was/will be taken
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 0..1 dateTime When the statement was asserted?
... informationSource S 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(MedicationRequest Profile | MedicationDispense Profile | Claim | Observation Profile (General Use) | QuestionnaireResponse) Additional supporting information
... reasonCode 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Condition or observation that supports why the medication is being/was taken
... note 0..* Annotation Further information about the statement
... dosage S 0..* Dosage Details of how medication is/was taken or should be taken
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG
.... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
.... timing Σ 0..1 Timing When medication should be administered
.... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBoolean boolean
..... asNeededCodeableConcept CodeableConcept
.... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ 0..* Element Amount of medication administered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] Σ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)
.... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
.... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
.... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from MedicationStatement

Summary

Must-Support: 7 elements

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement MedicationStatement Profile
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-5: If a resource is contained in another resource, it SHALL NOT have a security label
dom-6: A resource should have narrative for robust management
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
ele-1: All FHIR elements must have a @value or children
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
... basedOn Σ 0..* Reference(MedicationRequest Profile | CarePlan | ServiceRequest) Fulfils plan, proposal or order
ele-1: All FHIR elements must have a @value or children
... status ?!SΣ 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.


ele-1: All FHIR elements must have a @value or children
... medication[x] SΣ 1..1 What medication was taken
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.


ele-1: All FHIR elements must have a @value or children
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who is/was taking the medication
ele-1: All FHIR elements must have a @value or children
... context Σ 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
ele-1: All FHIR elements must have a @value or children
... effective[x] SΣ 0..1 The date/time or interval when the medication is/was/will be taken
ele-1: All FHIR elements must have a @value or children
.... effectiveDateTime dateTime
.... effectivePeriod Period
... informationSource S 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) Person or organization that provided the information about the taking of this medication
ele-1: All FHIR elements must have a @value or children
... derivedFrom 0..* Reference(MedicationRequest Profile | MedicationDispense Profile | Claim | Observation Profile (General Use) | QuestionnaireResponse) Additional supporting information
ele-1: All FHIR elements must have a @value or children
... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Condition or observation that supports why the medication is being/was taken
ele-1: All FHIR elements must have a @value or children
... dosage S 0..* Dosage Details of how medication is/was taken or should be taken
ele-1: All FHIR elements must have a @value or children
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from MedicationStatement

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement MedicationStatement Profile
... basedOn 0..* Reference(MedicationRequest Profile | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf 0..* Reference(MedicationAdministration Profile | MedicationDispense Profile | MedicationStatement Profile | Procedure Profile | Observation Profile (General Use)) Part of referenced event
... status S 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject S 1..1 Reference(Patient Profile) Who is/was taking the medication
... context 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] S 0..1 dateTime, Period The date/time or interval when the medication is/was/will be taken
... informationSource S 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(MedicationRequest Profile | MedicationDispense Profile | Claim | Observation Profile (General Use) | QuestionnaireResponse) Additional supporting information
... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Condition or observation that supports why the medication is being/was taken
... dosage S 0..* Dosage Details of how medication is/was taken or should be taken
.... text S 0..1 string Free text dosage instructions e.g. SIG

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
MedicationStatement.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationStatement 0..* MedicationStatement MedicationStatement Profile
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..* Identifier External identifier
... basedOn Σ 0..* Reference(MedicationRequest Profile | CarePlan | ServiceRequest) Fulfils plan, proposal or order
... partOf Σ 0..* Reference(MedicationAdministration Profile | MedicationDispense Profile | MedicationStatement Profile | Procedure Profile | Observation Profile (General Use)) Part of referenced event
... status ?!SΣ 1..1 code active | completed | entered-in-error | intended | stopped | on-hold | unknown | not-taken
Binding: Medication Status Codes (required): A coded concept indicating the current status of a MedicationStatement.

... statusReason 0..* CodeableConcept Reason for current status
Binding: SNOMEDCTDrugTherapyStatusCodes (example): A coded concept indicating the reason for the status of the statement.


... category Σ 0..1 CodeableConcept Type of medication usage
Binding: Medication usage category codes (preferred): A coded concept identifying where the medication included in the MedicationStatement is expected to be consumed or administered.

... medication[x] SΣ 1..1 What medication was taken
Binding: https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct (preferred): TBD. This is a placeholder for a comprehensive valueset, consisting of all Manufactured Product (MP), Non-proprietary Therapeutic Product (NTP) and Therapeutic Moiety (TM) codes, which would be created and maintained by Canada Health Infoway. Medicinal products for prescribing and dispensing in Canada. The content of this subset only contains commonly used medicinal products that are available for prescribing and dispensing in Canada. This content will expand to include all human medicinal products over time.

.... medicationCodeableConcept CodeableConcept
.... medicationReference Reference(Medication Profile)
... subject SΣ 1..1 Reference(Patient Profile) Who is/was taking the medication
... context Σ 0..1 Reference(Encounter Profile | EpisodeOfCare) Encounter / Episode associated with MedicationStatement
... effective[x] SΣ 0..1 The date/time or interval when the medication is/was/will be taken
.... effectiveDateTime dateTime
.... effectivePeriod Period
... dateAsserted Σ 0..1 dateTime When the statement was asserted?
... informationSource S 0..1 Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) Person or organization that provided the information about the taking of this medication
... derivedFrom 0..* Reference(MedicationRequest Profile | MedicationDispense Profile | Claim | Observation Profile (General Use) | QuestionnaireResponse) Additional supporting information
... reasonCode 0..* CodeableConcept Reason for why the medication is being/was taken
Binding: Condition/Problem/DiagnosisCodes (example): A coded concept identifying why the medication is being taken.


... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use) | DiagnosticReport Profile for Laboratory Results Reporting | Diagnostic Report for Report and Note Exchange Profile) Condition or observation that supports why the medication is being/was taken
... note 0..* Annotation Further information about the statement
... dosage S 0..* Dosage Details of how medication is/was taken or should be taken
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... sequence Σ 0..1 integer The order of the dosage instructions
.... text SΣ 0..1 string Free text dosage instructions e.g. SIG
.... additionalInstruction Σ 0..* CodeableConcept Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness"
Binding: SNOMEDCTAdditionalDosageInstructions (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery".


.... patientInstruction Σ 0..1 string Patient or consumer oriented instructions
.... timing Σ 0..1 Timing When medication should be administered
.... asNeeded[x] Σ 0..1 Take "as needed" (for x)
Binding: SNOMEDCTMedicationAsNeededReasonCodes (example): A coded concept identifying the precondition that should be met or evaluated prior to consuming or administering a medication dose. For example "pain", "30 minutes prior to sexual intercourse", "on flare-up" etc.

..... asNeededBoolean boolean
..... asNeededCodeableConcept CodeableConcept
.... site Σ 0..1 CodeableConcept Body site to administer to
Binding: SNOMEDCTAnatomicalStructureForAdministrationSiteCodes (example): A coded concept describing the site location the medicine enters into or onto the body.

.... route Σ 0..1 CodeableConcept How drug should enter body
Binding: SNOMEDCTRouteCodes (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject.

.... method Σ 0..1 CodeableConcept Technique for administering medication
Binding: SNOMEDCTAdministrationMethodCodes (example): A coded concept describing the technique by which the medicine is administered.

.... doseAndRate Σ 0..* Element Amount of medication administered
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... type Σ 0..1 CodeableConcept The kind of dose or rate specified
Binding: DoseAndRateType (example): The kind of dose or rate specified.

..... dose[x] Σ 0..1 Amount of medication per dose
...... doseRange Range
...... doseQuantity Quantity(SimpleQuantity)
..... rate[x] Σ 0..1 Amount of medication per unit of time
...... rateRatio Ratio
...... rateRange Range
...... rateQuantity Quantity(SimpleQuantity)
.... maxDosePerPeriod Σ 0..1 Ratio Upper limit on medication per unit of time
.... maxDosePerAdministration Σ 0..1 SimpleQuantity Upper limit on medication per administration
.... maxDosePerLifetime Σ 0..1 SimpleQuantity Upper limit on medication per lifetime of the patient

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationStatement.languagepreferredCommonLanguages
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Additional Bindings Purpose
AllLanguages Max Binding
MedicationStatement.statusrequiredMedication Status Codes
http://hl7.org/fhir/ValueSet/medication-statement-status|4.0.1
from the FHIR Standard
MedicationStatement.statusReasonexampleSNOMEDCTDrugTherapyStatusCodes
http://hl7.org/fhir/ValueSet/reason-medication-status-codes
from the FHIR Standard
MedicationStatement.categorypreferredMedication usage category codes
http://hl7.org/fhir/ValueSet/medication-statement-category
from the FHIR Standard
MedicationStatement.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
MedicationStatement.reasonCodeexampleCondition/Problem/DiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
from the FHIR Standard
MedicationStatement.dosage.additionalInstructionexampleSNOMEDCTAdditionalDosageInstructions
http://hl7.org/fhir/ValueSet/additional-instruction-codes
from the FHIR Standard
MedicationStatement.dosage.asNeeded[x]exampleSNOMEDCTMedicationAsNeededReasonCodes
http://hl7.org/fhir/ValueSet/medication-as-needed-reason
from the FHIR Standard
MedicationStatement.dosage.siteexampleSNOMEDCTAnatomicalStructureForAdministrationSiteCodes
http://hl7.org/fhir/ValueSet/approach-site-codes
from the FHIR Standard
MedicationStatement.dosage.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
from the FHIR Standard
MedicationStatement.dosage.methodexampleSNOMEDCTAdministrationMethodCodes
http://hl7.org/fhir/ValueSet/administration-method-codes
from the FHIR Standard
MedicationStatement.dosage.doseAndRate.typeexampleDoseAndRateType
http://hl7.org/fhir/ValueSet/dose-rate-type
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationStatementIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationStatementIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationStatementIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationStatementA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from MedicationStatement

Summary

Must-Support: 7 elements

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron