## Profile Comparison between http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest vs http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest

Left: | IPA-MedicationRequest (http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest)
Right: | MedicationRequest Profile (http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest)

### Messages

Error | StructureDefinition.url | Values for url differ: 'http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest' vs 'http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest'
Error | StructureDefinition.version | Values for version differ: '1.1.0' vs '1.2.0'
Information | StructureDefinition.name | Values for name differ: 'IPAMedicationRequest' vs 'MedicationRequestProfile'
Information | StructureDefinition.title | Values for title differ: 'IPA-MedicationRequest' vs 'MedicationRequest Profile'
Information | StructureDefinition.status | Values for status differ: 'active' vs 'draft'
Information | StructureDefinition.date | Values for date differ: '2022-08-02' vs '2024-08-09'
Information | StructureDefinition.publisher | Values for publisher differ: 'HL7 International / Patient Care' vs 'HL7 Canada - FHIR Implementation Work Group'
Information | StructureDefinition.jurisdiction | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
Information | StructureDefinition.jurisdiction | Added the item 'urn:iso:std:iso:3166#CA'
Information | StructureDefinition.short | Values for short differ: 'Ordering of medication for patient or group' vs 'MedicationRequest Profile'
Information | StructureDefinition.definition | Values for definition differ: 'An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called 'MedicationRequest' rather than 'MedicationPrescription' or 'MedicationOrder' to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns.' vs 'The Canadian Baseline MedicationRequest Profile is based upon the core FHIR MedicationRequest Resource'
Information | MedicationRequest.language | Example/preferred bindings differ at MedicationRequest.language using binding from IPAMedicationRequest
Warning | MedicationRequest.intent | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.reported[x] | Elements differ in definition for mustSupport: 'true' vs 'false'
Information | MedicationRequest.medication[x] | Example/preferred bindings differ at MedicationRequest.medication[x] using binding from MedicationRequestProfile
Warning | MedicationRequest.encounter | Elements differ in definition for mustSupport: 'true' vs 'false'
Warning | MedicationRequest.requester | Elements differ in definition for mustSupport: 'true' vs 'false'

### Metadata

Name | Value | Comments
--- | --- | ---
abstract | false |
baseDefinition | http://hl7.org/fhir/StructureDefinition/MedicationRequest |
copyright | Used by permission of HL7 International all rights reserved Creative Commons License |  | Removed the item 'Used by permission of HL7 International all rights reserved Creative Commons License'
date | 2022-08-02 | 2024-08-09 | Values Differ
description | Minimum expectations for a MedicationRequest resource when accessed via a International Patient Access API. The MedicationRequest resource represents an order or request for both supply of the medication and the instructions for administration of the medication to a patient. | Proposed constraints and extensions on the MedicationRequest resource. Generated as a first step toward creating a set of Canadian Baseline FHIR profiles. | Values Differ
experimental | false |  | Removed the item 'false'
fhirVersion | 4.0.1 |
jurisdiction |  |
jurisdiction[0] | http://unstats.un.org/unsd/methods/m49/m49.htm#001 |  | Removed the item 'http://unstats.un.org/unsd/methods/m49/m49.htm#001'
jurisdiction[1] |  | urn:iso:std:iso:3166#CA | Added the item 'urn:iso:std:iso:3166#CA'
kind | resource |
name | IPAMedicationRequest | MedicationRequestProfile | Values Differ
publisher | HL7 International / Patient Care | HL7 Canada - FHIR Implementation Work Group | Values Differ
purpose |  |
status | active | draft | Values Differ
title | IPA-MedicationRequest | MedicationRequest Profile | Values Differ
type | MedicationRequest |
url | http://hl7.org/fhir/uv/ipa/StructureDefinition/ipa-medicationrequest | http://hl7.org/fhir/ca/baseline/StructureDefinition/profile-medicationrequest | Values Differ
version | 1.1.0 | 1.2.0 | Values Differ

### Structure

Name | L Flags | L Card. | L Type | L Description & Constraints | R Flags | R Card. | R Type | R Description & Constraints | Comments
--- | --- | --- | --- | --- | --- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group |  | 0..* | MedicationRequest | MedicationRequest Profile |
id | Σ | 0..1 | id | Logical id of this artifact | Σ | 0..1 | id | Logical id of this artifact |
meta | Σ | 0..1 | Meta | Metadata about the resource | Σ | 0..1 | Meta | Metadata about the resource |
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created | ?!Σ | 0..1 | uri | A set of rules under which this content was created |
language |  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
|  | 0..1 | code | Language of the resource content Binding: ?? (preferred): A human language.
Additional Bindings | Purpose
?? | Max Binding
| Example/preferred bindings differ at MedicationRequest.language using binding from IPAMedicationRequest
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements |
contained |  | 0..* | Resource | Contained, inline Resources |  | 0..* | Resource | Contained, inline Resources |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?! | 0..* | Extension | Extensions that cannot be ignored | ?! | 0..* | Extension | Extensions that cannot be ignored |
identifier |  | 0..* | Identifier | External ids for this request |  | 0..* | Identifier | External ids for this request |
status | ?!SO Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: ?? (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| ?!S Σ | 1..1 | code | active | on-hold | cancelled | completed | entered-in-error | stopped | draft | unknown Binding: ?? (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription. |
statusReason |  | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): Identifies the reasons for a given status. |  | 0..1 | CodeableConcept | Reason for current status Binding: ?? (example): Identifies the reasons for a given status. |
intent | ?!SO Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: ?? (required): The kind of medication order.
Obligations | Actor
SHALL:populate-if-known | Server
| ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: ?? (required): The kind of medication order. | Elements differ in definition for mustSupport: 'true' vs 'false'
category |  | 0..* | CodeableConcept | Type of medication usage Binding: ?? (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. |  | 0..* | CodeableConcept | Type of medication usage Binding: ?? (example): A coded concept identifying the category of medication request. For example, where the medication is to be consumed or administered, or the type of medication treatment. |
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: ?? (required): Identifies the level of importance to be assigned to actioning the request. | Σ | 0..1 | code | routine | urgent | asap | stat Binding: ?? (required): Identifies the level of importance to be assigned to actioning the request. |
doNotPerform | ?!O Σ | 0..1 | boolean | True if request is prohibiting action
Obligations | Actor
SHOULD:populate | Server
SHALL:handle | Client
| ?!Σ | 0..1 | boolean | True if request is prohibiting action |
reported[x] | SO Σ | 0..1 | boolean, Reference(IPA-Patient | IPA-Practitioner | IPA-PractitionerRole) | Reported rather than primary record
Obligations | Actor
SHALL:populate-if-known | Server
SHOULD:handle | Client
| Σ | 0..1 | boolean, Reference(Patient Profile | Practitioner Profile (General) | PractitionerRole Profile (General) | RelatedPerson | Organization Profile) | Reported rather than primary record | Elements differ in definition for mustSupport: 'true' vs 'false'
medication[x] | SO Σ | 1..1 | CodeableConcept, Reference(IPA-Medication) | Medication to be taken Binding: ?? (example): A coded concept identifying substance or product that can be ordered.
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ | 1..1 | CodeableConcept, Reference(Medication Profile) | Medication to be taken Binding: ?? (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. | Example/preferred bindings differ at MedicationRequest.medication[x] using binding from MedicationRequestProfile
subject | SO Σ | 1..1 | Reference(IPA-Patient) | Who or group medication request is for
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S Σ | 1..1 | Reference(Patient Profile) | Who or group medication request is for |
encounter | SO | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay
Obligations | Actor
SHALL:populate-if-known | Server
|  | 0..1 | Reference(Encounter Profile) | Encounter created as part of encounter/admission/stay | Elements differ in definition for mustSupport: 'true' vs 'false'
supportingInformation |  | 0..* | Reference(Resource) | Information to support ordering of the medication |  | 0..* | Reference(Resource) | Information to support ordering of the medication |
authoredOn | SO Σ | 0..1 | dateTime | When request was initially authored
Obligations | Actor
SHALL:populate-if-known | Server
| S Σ | 0..1 | dateTime | When request was initially authored |
requester | SO Σ | 0..1 | Reference(IPA-Practitioner | IPA-PractitionerRole | Organization | IPA-Patient | RelatedPerson | Device) | Who/What requested the Request
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| Σ | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | RelatedPerson | Device Profile (Implantable)) | Who/What requested the Request | Elements differ in definition for mustSupport: 'true' vs 'false'
performer |  | 0..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | Device | RelatedPerson | CareTeam) | Intended performer of administration |  | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General) | Organization Profile | Patient Profile | Device Profile (Implantable) | RelatedPerson | CareTeam) | Intended performer of administration |
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ?? (example): Identifies the type of individual that is desired to administer the medication. | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: ?? (example): Identifies the type of individual that is desired to administer the medication. |
recorder |  | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request |  | 0..1 | Reference(Practitioner Profile (General) | PractitionerRole Profile (General)) | Person who entered the request |
reasonCode |  | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: ?? (example): A coded concept indicating why the medication was ordered. |  | 0..* | CodeableConcept | Reason or indication for ordering or not ordering the medication Binding: ?? (example): A coded concept indicating why the medication was ordered. |
reasonReference |  | 0..* | Reference(Condition | Observation) | Condition or observation that supports why the prescription is being written |  | 0..* | Reference(Condition Profile | Observation Profile (General Use)) | Condition or observation that supports why the prescription is being written |
instantiatesCanonical | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition | Σ | 0..* | canonical() | Instantiates FHIR protocol or definition |
instantiatesUri | Σ | 0..* | uri | Instantiates external protocol or definition | Σ | 0..* | uri | Instantiates external protocol or definition |
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | What request fulfills | Σ | 0..* | Reference(CarePlan | MedicationRequest Profile | ServiceRequest | ImmunizationRecommendation Profile) | What request fulfills |
groupIdentifier | Σ | 0..1 | Identifier | Composite request this is part of | Σ | 0..1 | Identifier | Composite request this is part of |
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: ?? (example): Identifies the overall pattern of medication administratio. |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: ?? (example): Identifies the overall pattern of medication administratio. |
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage |
note |  | 0..* | Annotation | Information about the prescription |  | 0..* | Annotation | Information about the prescription |
dosageInstruction | SO | 0..* | Dosage | How the medication should be taken
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| S | 0..* | Dosage | How the medication should be taken |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
sequence | Σ | 0..1 | integer | The order of the dosage instructions | Σ | 0..1 | integer | The order of the dosage instructions |
text | SO Σ | 0..1 | string | Free text dosage instructions e.g. SIG
Obligations | Actor
SHALL:populate-if-known | Server
SHALL:handle | Client
| 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: ?? (example): A coded concept identifying additional instructions such as "take with water" or "avoid operating heavy machinery". | Σ | 0..* | CodeableConcept | Supplemental instruction or warnings to the patient - e.g. "with meals", "may cause drowsiness" Binding: ?? (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 | Σ | 0..1 | string | Patient or consumer oriented instructions |
timing | Σ | 0..1 | Timing | When medication should be administered | Σ | 0..1 | Timing | When medication should be administered |
asNeeded[x] | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: ?? (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. | Σ | 0..1 | boolean, CodeableConcept | Take "as needed" (for x) Binding: ?? (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. |
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: ?? (example): A coded concept describing the site location the medicine enters into or onto the body. | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: ?? (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: ?? (example): A coded concept describing the route or physiological path of administration of a therapeutic agent into or onto the body of a subject. | Σ | 0..1 | CodeableConcept | How drug should enter body Binding: ?? (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: ?? (example): A coded concept describing the technique by which the medicine is administered. | Σ | 0..1 | CodeableConcept | Technique for administering medication Binding: ?? (example): A coded concept describing the technique by which the medicine is administered. |
doseAndRate | Σ | 0..* | Element | Amount of medication administered | Σ | 0..* | Element | Amount of medication administered |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url |  | 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: ?? (example): The kind of dose or rate specified. | Σ | 0..1 | CodeableConcept | The kind of dose or rate specified Binding: ?? (example): The kind of dose or rate specified. |
dose[x] | Σ | 0..1 | Range, ?? | Amount of medication per dose | Σ | 0..1 | Range, ?? | Amount of medication per dose |
rate[x] | Σ | 0..1 | Ratio, Range, ?? | Amount of medication per unit of time | Σ | 0..1 | Ratio, Range, ?? | Amount of medication per unit of time |
maxDosePerPeriod | Σ | 0..1 | Ratio | Upper limit on medication per unit of time | Σ | 0..1 | Ratio | Upper limit on medication per unit of time |
maxDosePerAdministration | Σ | 0..1 | ?? | Upper limit on medication per administration | Σ | 0..1 | ?? | Upper limit on medication per administration |
maxDosePerLifetime | Σ | 0..1 | ?? | Upper limit on medication per lifetime of the patient | Σ | 0..1 | ?? | Upper limit on medication per lifetime of the patient |
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization |  | 0..1 | BackboneElement | Medication supply authorization |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
initialFill |  | 0..1 | BackboneElement | First fill details |  | 0..1 | BackboneElement | First fill details |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
quantity |  | 0..1 | ?? | First fill quantity |  | 0..1 | ?? | First fill quantity |
duration |  | 0..1 | Duration | First fill duration |  | 0..1 | Duration | First fill duration |
dispenseInterval |  | 0..1 | Duration | Minimum period of time between dispenses |  | 0..1 | Duration | Minimum period of time between dispenses |
validityPeriod |  | 0..1 | Period | Time period supply is authorized for |  | 0..1 | Period | Time period supply is authorized for |
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | Number of refills authorized |  | 0..1 | unsignedInt | Number of refills authorized |
quantity |  | 0..1 | ?? | Amount of medication to supply per dispense |  | 0..1 | ?? | Amount of medication to supply per dispense |
expectedSupplyDuration |  | 0..1 | Duration | Number of days supply per dispense |  | 0..1 | Duration | Number of days supply per dispense |
performer |  | 0..1 | Reference(Organization) | Intended dispenser |  | 0..1 | Reference(Organization Profile) | Intended dispenser |
substitution |  | 0..1 | BackboneElement | Any restrictions on medication substitution |  | 0..1 | BackboneElement | Any restrictions on medication substitution |
id |  | 0..1 | string | Unique id for inter-element referencing |  | 0..1 | string | Unique id for inter-element referencing |
extension |  | 0..* | Extension | Additional content defined by implementations |  | 0..* | Extension | Additional content defined by implementations |
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
allowed[x] |  | 1..1 | boolean, CodeableConcept | Whether substitution is allowed or not Binding: ?? (example): Identifies the type of substitution allowed. |  | 1..1 | boolean, CodeableConcept | Whether substitution is allowed or not Binding: ?? (example): Identifies the type of substitution allowed. |
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: ?? (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: ?? (example): A coded concept describing the reason that a different medication should (or should not) be substituted from what was prescribed. |
priorPrescription |  | 0..1 | Reference(MedicationRequest) | An order/prescription that is being replaced |  | 0..1 | Reference(MedicationRequest Profile) | An order/prescription that is being replaced |
detectedIssue |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action |  | 0..* | Reference(DetectedIssue) | Clinical Issue with action |
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle |
Documentation for this format