Profiles & Operations Index > Profile: MedicationRequest

Profile: MedicationRequest

Canonical URL:http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-medicationrequest

Simplifier project page: Medication Request (PS-ON)

Derived from: MedicationRequest (R4)

Formal Views of Profile Content

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

Differential View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
RenderedDosageInstructionI0..1Extension(string)
identifier0..*Identifier
statusS Σ ?!1..1codeBinding
statusReason0..1CodeableConcept
intentΣ ?!1..1codeBinding
category0..*CodeableConcept
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
reportedBooleanboolean
reportedReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
medicationReferenceS Σ0..1Reference(Medication (PS-ON))
medicationCodeableConceptS Σ0..1Codeable Concept (PS-ON)Binding
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterI0..1Reference(Encounter)
supportingInformationI0..*Reference(Resource)
authoredOnS Σ0..1dateTime
requesterΣ I0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
performerI0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam)
performerTypeΣ0..1CodeableConcept
recorderI0..1Reference(Practitioner | PractitionerRole)
reasonCode0..*CodeableConcept
reasonReferenceI0..*Reference(Condition | Observation)
instantiatesCanonicalΣ0..*canonical()
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation)
groupIdentifierΣ0..1Identifier
courseOfTherapyType0..1CodeableConcept
insuranceI0..*Reference(Coverage | ClaimResponse)
note0..*Annotation
sequenceΣ0..1integer
textS Σ0..1string
additionalInstructionΣ0..*CodeableConcept
patientInstructionΣ0..1string
timingS Σ0..1Timing
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
siteΣ0..1CodeableConcept
routeSCTCAΣ0..*Coding (PS-ON)Binding
textS Σ0..1string
methodΣ0..1CodeableConcept
typeΣ0..1CodeableConcept
doseRangeRange
doseQuantitySimpleQuantity
rateRatioRatio
rateRangeRange
rateQuantitySimpleQuantity
maxDosePerPeriodΣ I0..1Ratio
maxDosePerAdministrationΣ I0..1SimpleQuantity
maxDosePerLifetimeΣ I0..1SimpleQuantity
quantityI0..1SimpleQuantity
durationI0..1Duration
dispenseIntervalI0..1Duration
validityPeriodI0..1Period
numberOfRepeatsAllowed0..1unsignedInt
quantityI0..1SimpleQuantity
expectedSupplyDurationI0..1Duration
performerI0..1Reference(Organization)
allowedBooleanboolean
allowedCodeableConceptCodeableConcept
reason0..1CodeableConcept
priorPrescriptionI0..1Reference(MedicationRequest)
detectedIssueI0..*Reference(DetectedIssue)
eventHistoryI0..*Reference(Provenance)

Hybrid View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
RenderedDosageInstructionI0..1Extension(string)
identifier0..*Identifier
statusS Σ ?!1..1codeBinding
statusReason0..1CodeableConcept
intentΣ ?!1..1codeBinding
category0..*CodeableConcept
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
reportedBooleanboolean
reportedReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
medicationReferenceS Σ0..1Reference(Medication (PS-ON))
medicationCodeableConceptS Σ0..1Codeable Concept (PS-ON)Binding
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterI0..1Reference(Encounter)
supportingInformationI0..*Reference(Resource)
authoredOnS Σ0..1dateTime
requesterΣ I0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
performerI0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam)
performerTypeΣ0..1CodeableConcept
recorderI0..1Reference(Practitioner | PractitionerRole)
reasonCode0..*CodeableConcept
reasonReferenceI0..*Reference(Condition | Observation)
instantiatesCanonicalΣ0..*canonical()
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation)
groupIdentifierΣ0..1Identifier
courseOfTherapyType0..1CodeableConcept
insuranceI0..*Reference(Coverage | ClaimResponse)
note0..*Annotation
sequenceΣ0..1integer
textS Σ0..1string
additionalInstructionΣ0..*CodeableConcept
patientInstructionΣ0..1string
timingS Σ0..1Timing
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
siteΣ0..1CodeableConcept
routeSCTCAΣ0..*Coding (PS-ON)Binding
textS Σ0..1string
methodΣ0..1CodeableConcept
typeΣ0..1CodeableConcept
doseRangeRange
doseQuantitySimpleQuantity
rateRatioRatio
rateRangeRange
rateQuantitySimpleQuantity
maxDosePerPeriodΣ I0..1Ratio
maxDosePerAdministrationΣ I0..1SimpleQuantity
maxDosePerLifetimeΣ I0..1SimpleQuantity
quantityI0..1SimpleQuantity
durationI0..1Duration
dispenseIntervalI0..1Duration
validityPeriodI0..1Period
numberOfRepeatsAllowed0..1unsignedInt
quantityI0..1SimpleQuantity
expectedSupplyDurationI0..1Duration
performerI0..1Reference(Organization)
allowedBooleanboolean
allowedCodeableConceptCodeableConcept
reason0..1CodeableConcept
priorPrescriptionI0..1Reference(MedicationRequest)
detectedIssueI0..*Reference(DetectedIssue)
eventHistoryI0..*Reference(Provenance)

Snapshot View

versionIdΣ0..1id
lastUpdatedΣ0..1instant
sourceΣ0..1uri
profileS Σ1..*canonical(StructureDefinition)
securityΣ0..*CodingBinding
tagΣ0..*Coding
RenderedDosageInstructionI0..1Extension(string)
identifier0..*Identifier
statusS Σ ?!1..1codeBinding
statusReason0..1CodeableConcept
intentΣ ?!1..1codeBinding
category0..*CodeableConcept
priorityΣ0..1codeBinding
doNotPerformΣ ?!0..1boolean
reportedBooleanboolean
reportedReferenceReference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization)
medicationReferenceS Σ0..1Reference(Medication (PS-ON))
medicationCodeableConceptS Σ0..1Codeable Concept (PS-ON)Binding
referenceS Σ I1..1string
typeΣ0..1uriBinding
identifierΣ0..1Identifier
displayΣ0..1string
encounterI0..1Reference(Encounter)
supportingInformationI0..*Reference(Resource)
authoredOnS Σ0..1dateTime
requesterΣ I0..1Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device)
performerI0..1Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam)
performerTypeΣ0..1CodeableConcept
recorderI0..1Reference(Practitioner | PractitionerRole)
reasonCode0..*CodeableConcept
reasonReferenceI0..*Reference(Condition | Observation)
instantiatesCanonicalΣ0..*canonical()
instantiatesUriΣ0..*uri
basedOnΣ I0..*Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation)
groupIdentifierΣ0..1Identifier
courseOfTherapyType0..1CodeableConcept
insuranceI0..*Reference(Coverage | ClaimResponse)
note0..*Annotation
sequenceΣ0..1integer
textS Σ0..1string
additionalInstructionΣ0..*CodeableConcept
patientInstructionΣ0..1string
timingS Σ0..1Timing
asNeededBooleanboolean
asNeededCodeableConceptCodeableConcept
siteΣ0..1CodeableConcept
routeSCTCAΣ0..*Coding (PS-ON)Binding
textS Σ0..1string
methodΣ0..1CodeableConcept
typeΣ0..1CodeableConcept
doseRangeRange
doseQuantitySimpleQuantity
rateRatioRatio
rateRangeRange
rateQuantitySimpleQuantity
maxDosePerPeriodΣ I0..1Ratio
maxDosePerAdministrationΣ I0..1SimpleQuantity
maxDosePerLifetimeΣ I0..1SimpleQuantity
quantityI0..1SimpleQuantity
durationI0..1Duration
dispenseIntervalI0..1Duration
validityPeriodI0..1Period
numberOfRepeatsAllowed0..1unsignedInt
quantityI0..1SimpleQuantity
expectedSupplyDurationI0..1Duration
performerI0..1Reference(Organization)
allowedBooleanboolean
allowedCodeableConceptCodeableConcept
reason0..1CodeableConcept
priorPrescriptionI0..1Reference(MedicationRequest)
detectedIssueI0..*Reference(DetectedIssue)
eventHistoryI0..*Reference(Provenance)

Table View

MedicationRequest..
MedicationRequest.meta1..
MedicationRequest.meta.profile1..
MedicationRequest.extensionExtension..1
MedicationRequest.status..
MedicationRequest.intent..
MedicationRequest.medication[x]..
MedicationRequest.medication[x]Reference(Medication (PS-ON))0..1
MedicationRequest.medication[x]Codeable Concept (PS-ON)0..1
MedicationRequest.subjectReference(Patient (PS-ON))..
MedicationRequest.subject.reference1..
MedicationRequest.authoredOn..
MedicationRequest.dosageInstruction..
MedicationRequest.dosageInstruction.text..
MedicationRequest.dosageInstruction.timing..
MedicationRequest.dosageInstruction.routeCodeable Concept (PS-ON)0..1
MedicationRequest.dosageInstruction.route.codingCoding (PS-ON)..
MedicationRequest.dosageInstruction.route.coding..


JSON View

{
    "resourceType": "StructureDefinition",
    "id": "ca-on-ps-profile-medicationrequest",
    "url": "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-medicationrequest",
    "version": "0.10.0",
    "name": "MedicationRequestPSON",
    "title": "Medication Request (PS-ON)",
    "status": "draft",
    "date": "2022-10-15T12:00:00+00:00",
    "publisher": "Ontario Health",
    "description": "This profile defines a set of constraints to the FHIR MedicationRequest resource for use in Ontario Patient Summaries (PS-ON).  It refines constraints applied to the MedicationRequest resource by the PS-CA project to represent a record of a medication request in the patient summary. It is informed by the constraints of the most recent direction of the IPS-UV (September Connectathon Build) and the [Canadian Baseline Profile](http://build.fhir.org/ig/HL7-Canada/ca-baseline/branches/master/StructureDefinition-profile-medicationstatement.html) to allow for cross-border and cross-jurisdiction sharing of Medication Summary information.",
    "fhirVersion": "4.0.1",
    "mapping":  [
        {
            "identity": "workflow",
            "uri": "http://hl7.org/fhir/workflow",
            "name": "Workflow Pattern"
        },
        {
            "identity": "rim",
            "uri": "http://hl7.org/v3",
            "name": "RIM Mapping"
        },
        {
            "identity": "w5",
            "uri": "http://hl7.org/fhir/fivews",
            "name": "FiveWs Pattern Mapping"
        },
        {
            "identity": "v2",
            "uri": "http://hl7.org/v2",
            "name": "HL7 v2 Mapping"
        }
    ],
    "kind": "resource",
    "abstract": false,
    "type": "MedicationRequest",
    "baseDefinition": "http://hl7.org/fhir/StructureDefinition/MedicationRequest",
    "derivation": "constraint",
    "differential": {
        "element":  [
            {
                "id": "MedicationRequest",
                "path": "MedicationRequest",
                "comment": "Jurisdictions mapping prescription data into FHIR profiles for the patient summary should support the MedicationRequest resource. Use of the MedicationStatement profile should be reserved for communicating a statement about the patient's usage of the medication that is ultimately provided by a patient, significant other, or a clinican."
            },
            {
                "id": "MedicationRequest.meta",
                "path": "MedicationRequest.meta",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.meta.profile",
                "path": "MedicationRequest.meta.profile",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.extension:RenderedDosageInstruction",
                "path": "MedicationRequest.extension",
                "sliceName": "RenderedDosageInstruction",
                "short": "Extension for representing rendered dosage instruction.",
                "definition": "A free form textual specification generated from the input specifications as created by the provider.This is made up of either an 'Ad-hoc instruction' or 'Textual rendition of the structured dosage lines', plus route, dosage unit, and other pertinent administration information specified by the provider.",
                "comment": "Use of structured fields for dosage instructions is heavily encouraged by this specification to promote interoperability of patient summaries. However, this extension is provided to make implementers aware that legacy medication data may come from some systems in this format. This extension is used by PrescribeIT implementations when the system has difficulty sending very complex dosage instructions in the form of structured data. Implementers are encouraged to read the PrescribeIT Specification (https://specs.prescribeit.ca/R5.0/erx/extension-ext-medication-rendered-dosage.html) to understand the context around its use.",
                "max": "1",
                "type":  [
                    {
                        "code": "Extension",
                        "profile":  [
                            "http://prescribeit.ca/fhir/StructureDefinition/ext-rendered-dosage-instruction"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationRequest.status",
                "path": "MedicationRequest.status",
                "comment": "In the scope of the IPS the entered-in-error concept is not allowed.",
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.intent",
                "path": "MedicationRequest.intent",
                "comment": "It is expected that the type of requester will be restricted for different stages of a MedicationRequest. For example, Proposals can be created by a patient, relatedPerson, Practitioner or Device. Plans can be created by Practitioners, Patients, RelatedPersons and Devices. Original orders can be created by a Practitioner only. An instance-order is an instantiation of a request or order and may be used to populate Medication Administration Record. This element is labeled as a modifier because the intent alters when and how the resource is actually applicable. This element is mandatory."
            },
            {
                "id": "MedicationRequest.medication[x]",
                "path": "MedicationRequest.medication[x]",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "type",
                            "path": "$this"
                        }
                    ],
                    "rules": "closed"
                },
                "definition": "Identifies the medication being administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code. To improve global interoperability is strongly encouraged that the reference to a medication resource is used, limiting the usage of the medicationCodeableConcept only to the cases in which no other information than a simple code is available.",
                "mustSupport": true,
                "binding": {
                    "strength": "preferred",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"
                }
            },
            {
                "id": "MedicationRequest.medication[x]:medicationReference",
                "path": "MedicationRequest.medication[x]",
                "sliceName": "medicationReference",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-medication"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.medication[x]:medicationCodeableConcept",
                "path": "MedicationRequest.medication[x]",
                "sliceName": "medicationCodeableConcept",
                "short": "Code for the medication being administered",
                "definition": "Code for the medication being administered.",
                "min": 0,
                "max": "1",
                "mustSupport": true,
                "type":  [
                    {
                        "code": "CodeableConcept",
                        "profile":  [
                            "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-codeableconcept"
                        ]
                    }
                ],
                "binding": {
                    "strength": "required",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/prescriptionmedicinalproduct"
                }
            },
            {
                "id": "MedicationRequest.subject",
                "path": "MedicationRequest.subject",
                "type":  [
                    {
                        "code": "Reference",
                        "targetProfile":  [
                            "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-patient"
                        ]
                    }
                ],
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.subject.reference",
                "path": "MedicationRequest.subject.reference",
                "min": 1,
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.authoredOn",
                "path": "MedicationRequest.authoredOn",
                "comment": "This is a MS element in the CA Baseline that will likely make its way into the IPS-UV when/if they decide to profile MedicationRequest (likely at transition to R5). Included as preliminary analysis shows most participating systems could support this, further feedback and discussion is required on whether systems should be able to demonstrate this element for conformance",
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.dosageInstruction",
                "path": "MedicationRequest.dosageInstruction",
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.dosageInstruction.text",
                "path": "MedicationRequest.dosageInstruction.text",
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.dosageInstruction.timing",
                "path": "MedicationRequest.dosageInstruction.timing",
                "mustSupport": true
            },
            {
                "id": "MedicationRequest.dosageInstruction.route",
                "path": "MedicationRequest.dosageInstruction.route",
                "min": 0,
                "max": "1",
                "type":  [
                    {
                        "code": "CodeableConcept",
                        "profile":  [
                            "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-codeableconcept"
                        ]
                    }
                ],
                "binding": {
                    "strength": "preferred",
                    "description": "SCTCA Route of Administration",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration"
                }
            },
            {
                "id": "MedicationRequest.dosageInstruction.route.coding",
                "path": "MedicationRequest.dosageInstruction.route.coding",
                "slicing": {
                    "discriminator":  [
                        {
                            "type": "pattern",
                            "path": "$this"
                        }
                    ],
                    "description": "Discriminated by value set",
                    "rules": "open"
                },
                "mustSupport": true,
                "type":  [
                    {
                        "code": "Coding",
                        "profile":  [
                            "http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-coding"
                        ]
                    }
                ]
            },
            {
                "id": "MedicationRequest.dosageInstruction.route.coding:routeSCTCA",
                "path": "MedicationRequest.dosageInstruction.route.coding",
                "sliceName": "routeSCTCA",
                "short": "Optional slice for representing SNOMED CT Canadian edition routes of administration",
                "definition": "SNOMED CT Canadian edition routes of administration",
                "binding": {
                    "strength": "required",
                    "valueSet": "https://fhir.infoway-inforoute.ca/ValueSet/routeofadministration"
                }
            }
        ]
    }
}

Usage

The MedicationRequest Resource is used to populate entries in the Medication Summary section of a Patient Summary.

Notes

.id

  • Definition: Logical id of this artifact
  • used to uniquely identify the resource
  • if a persistent identity for the resource is not available to use when constructing the composition Bundle, a UUID SHOULD be used in this element (with a corresponding value in Bundle.entry.fullUrl)
  • Where .id is populated with a persistent identifier, consumers SHALL NOT expect to be able to resolve the resource and SHALL always use the version of the resource contained in the Bundle to render the composition.

.meta.profile

  • used to declare conformance to this profile
  • populate with a fixed value: http://ontariohealth.ca/fhir/StructureDefinition/ca-on-ps-profile-medicationrequest|0.9.1

.meta.versionId

  • SHALL be populated by the Patient Summary Repository server
  • consuming systems can expect this element to be populated when retrieving patient summary instances from the repository
  • source systems do not need to populate this element prior to submission

.status

  • SHALL be used to indicate the status of the medication usage described by this record (e.g. "active", "stopped", "on-hold"
  • mustSupport element in international patient summary

.medication

  • SHALL be used to identify the medication in the entry
  • in situations where a medication resource is present, a reference to a Medication resource contained in this patient summary Bundle SHALL be provided
  • when a Patient has unknown or no known medications, this should be conveyed using the MedicationStatement resource, rather than MedicationRequest
    • in situations where the EMR cannot distinguish between no-known and no information about patient medications, then the code for no information should be used. In the instance where a patient is KNOWN to have no medications, the no-known code should be used.
  • mustSupport element in international patient summary

.subject

  • SHALL provide a .reference to the same Patient resource identified in Composition.subject
  • mustSupport element in international patient summary

.authoredOn

  • SHOULD be used to convey when the MedicationRequest was authored

.dosageInstruction.text

  • SHOULD be used to convey free-text instructions about how the medication is to be taken. It is expected that dosage.text will always be populated; if dosage.timing and/or dosage.route are also populated, dosage.text should convey the same timing and route information as the coded elements.
  • mustSupport element in international patient summary

.dosageInstruction.timing

  • SHOULD be used to convey the timing schedule for the medication in this record if coded timing is available.
  • If present, dosage.timing should reflect the same timing information conveyed by dosage.text
  • mustSupport element in international patient summary

dosageInstruction.route

  • MAY be used to convey the route by which the medication is administered (e.g. oral use, nasal use) if coded route data is available.
  • If present, dosage.route should reflect the same administration route information conveyed by dosage.text
  • mustSupport element in international patient summary

.dispenseRequest.validityPeriod

  • SHOULD be used to convey the period of time for which the medication in this entry is/was being taken
  • One of either .validityPeriod or .dataAbsentReason SHALL be populated
  • mustSupport element in international patient summary

dispenseRequest.validityPeriod.dataAbsentReason

  • If no data is available about the effective date or period of the record, dataAbsentReason SHALL be used to indicate why this information is absent
  • One of either .validityPeriod or .dataAbsentReason SHALL be populated
  • mustSupport element in international patient summary