Canadian Baseline
1.2.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.2.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.2.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()

 

Other representations of profile: CSV, Excel, Schematron