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: MedicationRequest Profile

Official URL: http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest Version: 1.2.0
Draft as of 2024-08-09 Computable Name: MedicationRequestProfile

Proposed constraints and extensions on the MedicationRequest 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 MedicationRequest:

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

Usage:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. MedicationRequest 0..* MedicationRequest MedicationRequest 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
... status ?!SΣ 1..1 code active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown
Binding: medicationrequest Status (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.


ele-1: All FHIR elements must have a @value or children
... doNotPerform ?!Σ 0..1 boolean True if request is prohibiting action
ele-1: All FHIR elements must have a @value or children
... reported[x] Σ 0..1 Reported rather than primary record
ele-1: All FHIR elements must have a @value or children
.... reportedBoolean boolean
.... reportedReference Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile)
... medication[x] SΣ 1..1 Medication to be 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 or group medication request is for
ele-1: All FHIR elements must have a @value or children
... encounter 0..1 Reference(Encounter Profile) Encounter created as part of encounter/admission/stay
ele-1: All FHIR elements must have a @value or children
... authoredOn SΣ 0..1 dateTime When request was initially authored
ele-1: All FHIR elements must have a @value or children
... requester Σ 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | RelatedPerson | Device Profile (Implantable)) Who/What requested the Request
ele-1: All FHIR elements must have a @value or children
... performer 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson | CareTeam) Intended performer of administration
ele-1: All FHIR elements must have a @value or children
... recorder 0..1 Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) Person who entered the request
ele-1: All FHIR elements must have a @value or children
... reasonReference 0..* Reference(Condition Profile | Observation Profile (General Use)) Condition or observation that supports why the prescription is being written
ele-1: All FHIR elements must have a @value or children
... basedOn Σ 0..* Reference(CarePlan | MedicationRequest Profile | ServiceRequest | ImmunizationRecommendation Profile) What request fulfills
ele-1: All FHIR elements must have a @value or children
... dosageInstruction S 0..* Dosage How the medication 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
... priorPrescription 0..1 Reference(MedicationRequest Profile) An order/prescription that is being replaced
ele-1: All FHIR elements must have a @value or children

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationRequest.statusrequiredmedicationrequest Status
http://hl7.org/fhir/ValueSet/medicationrequest-status|4.0.1
from the FHIR Standard
MedicationRequest.intentrequiredmedicationRequest Intent
http://hl7.org/fhir/ValueSet/medicationrequest-intent|4.0.1
from the FHIR Standard
MedicationRequest.medication[x]preferredhttps://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct
https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationRequestIf 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-4errorMedicationRequestIf 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-5errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationRequestA 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