Medication Prescription and Dispense (MPD)
1.0.0-preview - ci-build

Medication Prescription and Dispense (MPD), published by Integrating the Healthcare Enterprise (IHE). This guide is not an authorized publication; it is the continuous build for version 1.0.0-preview built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/pharm-mpd/tree/92/merge and changes regularly. See the Directory of published versions

## Resource Profile: IHE Medication Order

Official URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedicationOrder | Version: 1.0.0-preview
Active as of 2025-05-01 | Computable Name: IHEMedicationOrder
Copyright/Legal: IHE http://www.ihe.net/Governance/#Intellectual_Property

IHE Medication Order profile

Usage:

- Refer to this Resource Profile: Medication order (model)
- Examples for this Resource Profile: MedicationRequest/10-prescription-cefuroxime-singleline, MedicationRequest/100-3-medication-prescription-request1, MedicationRequest/100-3-medication-prescription-request2 and MedicationRequest/100-3-medication-prescription-request3
- CapabilityStatements using this Resource Profile: IHE MPD Dispense Receiver Actor (server), IHE MPD Dispense Responder Actor (server), IHE MPD Order Consumer Actor, IHE MPD Order Placer Actor... Show 2 more, IHE MPD Order Receiver Actor (server) and IHE MPD Order Responder Actor (server)

### Formal Views of Profile Content

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

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group 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
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:offLabel |  | 0..1 | (Complex) | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the product. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
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
identifier |  | 0..* | Identifier | Prescription/prescribed item ID ele-1: All FHIR elements must have a @value or children
groupIdentifier | S Σ | 0..1 | Identifier | Prescription this is part of. Not needed if a presciption includes only one prescribed item. ele-1: All FHIR elements must have a @value or children
status | ?!S Σ | 1..1 | code | Status of the order Binding: MedicationrequestStatus (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
statusReason | S | 0..1 | CodeableConcept | Reason for current status Binding: MedicationRequestStatusReasonCodes (example): Identifies the reasons for a given status. ele-1: All FHIR elements must have a @value or children
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: MedicationRequestIntent (required): The kind of medication order. ele-1: All FHIR elements must have a @value or children
category | S | 0..* | CodeableConcept | Grouping or category of medication request Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication is to be consumed or administered. ele-1: All FHIR elements must have a @value or children
doNotPerform | ?!Σ | 0..1 | boolean | True if patient is to stop taking or not to start taking the medication ele-1: All FHIR elements must have a @value or children
medication | S Σ | 1..1 | CodeableReference(IHE Medication) | Medication to be taken Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered. ele-1: All FHIR elements must have a @value or children
subject | S Σ | 1..1 | Reference(Patient | Group) | Individual or group for whom the medication has been requested ele-1: All FHIR elements must have a @value or children
authoredOn | S Σ | 1..1 | dateTime | When request was initially authored ele-1: All FHIR elements must have a @value or children
requester | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request ele-1: All FHIR elements must have a @value or children
recorder | S | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request ele-1: All FHIR elements must have a @value or children
reason | S | 0..* | CodeableReference(Condition | Observation) | Reason or indication for ordering or not ordering the medication Binding: ConditionProblemDiagnosisCodes (example): A coded concept indicating why the medication was ordered. ele-1: All FHIR elements must have a @value or children
note | S | 0..* | Annotation | Information about the prescription ele-1: All FHIR elements must have a @value or children
effectiveDosePeriod | S | 0..1 | Period | Period over which the medication is to be taken 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 | Σ | 0..1 | string | Free text dosage instructions ele-1: All FHIR elements must have a @value or children
patientInstruction | S Σ | 0..1 | string | Patient or consumer oriented instructions ele-1: All FHIR elements must have a @value or children
timing | Σ | 0..1 | Timing | Administration schedule 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
code | Σ | 0..1 | CodeableConcept | A code for the timing schedule. Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern. ele-1: All FHIR elements must have a @value or children
route | Σ | 0..1 | CodeableConcept | Route of administration 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. ele-1: All FHIR elements must have a @value or children
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization ele-1: All FHIR elements must have a @value or children
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:prescribedQuantity |  | 0..1 | Quantity | Overall amount of product prescribed, independent from the number of repeats. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
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
validityPeriod | S | 0..1 | Period | Time period supply is authorized for ele-1: All FHIR elements must have a @value or children
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution 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
allowed[x] |  | 1..1 |  | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (preferred): Identifies the type of substitution allowed. ele-1: All FHIR elements must have a @value or children
allowedBoolean |  |  | boolean |
allowedCodeableConcept |  |  | CodeableConcept |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.status | required | MedicationrequestStatus `http://hl7.org/fhir/ValueSet/medicationrequest-status|5.0.0` from the FHIR Standard
MedicationRequest.statusReason | example | MedicationRequestStatusReasonCodes `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` from the FHIR Standard
MedicationRequest.intent | required | MedicationRequestIntent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|5.0.0` from the FHIR Standard
MedicationRequest.category | example | MedicationRequestAdministrationLocationCodes `http://hl7.org/fhir/ValueSet/medicationrequest-admin-location` from the FHIR Standard
MedicationRequest.medication | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` from the FHIR Standard
MedicationRequest.reason | example | ConditionProblemDiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` from the FHIR Standard
MedicationRequest.dosageInstruction.route | example | SNOMEDCTRouteCodes `http://hl7.org/fhir/ValueSet/route-codes` from the FHIR Standard
MedicationRequest.substitution.allowed[x] | preferred | ActSubstanceAdminSubstitutionCode `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | MedicationRequest | If 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-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

This structure is derived from MedicationRequest

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:offLabel |  | 0..1 | (Complex) | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the product. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
identifier |  | 0..* | Identifier | Prescription/prescribed item ID
groupIdentifier | S | 0..1 | Identifier | Prescription this is part of. Not needed if a presciption includes only one prescribed item.
status | S | 1..1 | code | Status of the order
statusReason | S | 0..1 | CodeableConcept | Reason for current status
category | S | 0..* | CodeableConcept | Grouping or category of medication request
medication | S | 1..1 | CodeableReference(IHE Medication) | Medication to be taken
subject | S | 1..1 | Reference(Patient | Group) | Individual or group for whom the medication has been requested
authoredOn | S | 1..1 | dateTime | When request was initially authored
requester |  | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request
recorder | S | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reason | S | 0..* | CodeableReference(Condition | Observation) | Reason or indication for ordering or not ordering the medication
note | S | 0..* | Annotation | Information about the prescription
effectiveDosePeriod | S | 0..1 | Period | Period over which the medication is to be taken
dosageInstruction | S | 0..* | Dosage | How the medication should be taken.
text |  | 0..1 | string | Free text dosage instructions
patientInstruction | S | 0..1 | string | Patient or consumer oriented instructions
timing |  | 0..1 | Timing | Administration schedule
repeat |  |  |  |
duration |  | 0..1 | decimal | Duration of the treatment
frequency |  | 0..1 | positiveInt | Frequency times per period
period |  | 0..1 | decimal | Duration of time over which repetitions are to occur
periodUnit |  | 0..1 | code | Unit of the period (e.g. day)
code |  | 0..1 | CodeableConcept | A code for the timing schedule.
route |  | 0..1 | CodeableConcept | Route of administration
doseAndRate |  |  |  |
Slices for dose[x] |  | 0..1 | Range, SimpleQuantity | Amount of medication per dose Slice: Unordered, Open by type:$this
dose[x]:doseQuantity |  | 0..1 | SimpleQuantity | Amount of medication per dose
dispenseRequest |  |  |  |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:prescribedQuantity |  | 0..1 | Quantity | Overall amount of product prescribed, independent from the number of repeats. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity
validityPeriod | S | 0..1 | Period | Time period supply is authorized for
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group
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
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:offLabel |  | 0..1 | (Complex) | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the product. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier |  | 0..* | Identifier | Prescription/prescribed item ID
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | A plan or request that is fulfilled in whole or in part by this medication request
priorPrescription |  | 0..1 | Reference(MedicationRequest) | Reference to an order/prescription that is being replaced by this MedicationRequest
groupIdentifier | S Σ | 0..1 | Identifier | Prescription this is part of. Not needed if a presciption includes only one prescribed item.
status | ?!S Σ | 1..1 | code | Status of the order Binding: MedicationrequestStatus (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
statusReason | S | 0..1 | CodeableConcept | Reason for current status Binding: MedicationRequestStatusReasonCodes (example): Identifies the reasons for a given status.
statusChanged |  | 0..1 | dateTime | When the status was changed
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: MedicationRequestIntent (required): The kind of medication order.
category | S | 0..* | CodeableConcept | Grouping or category of medication request Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication is to be consumed or administered.
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if patient is to stop taking or not to start taking the medication
medication | S Σ | 1..1 | CodeableReference(IHE Medication) | Medication to be taken Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
subject | S Σ | 1..1 | Reference(Patient | Group) | Individual or group for whom the medication has been requested
informationSource |  | 0..* | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | The person or organization who provided the information about this request, if the source is someone other than the requestor
encounter |  | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | Information to support fulfilling of the medication
authoredOn | S Σ | 1..1 | dateTime | When request was initially authored
requester | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request
reported | Σ | 0..1 | boolean | Reported rather than primary record
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: MedicationIntendedPerformerRole (extensible): Identifies the type of individual that is desired to administer the medication.
performer |  | 0..* | Reference(Practitioner | PractitionerRole | Organization | Patient | DeviceDefinition | RelatedPerson | CareTeam | HealthcareService) | Intended performer of administration
device |  | 0..* | CodeableReference(DeviceDefinition) | Intended type of device for the administration
recorder | S | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reason | S | 0..* | CodeableReference(Condition | Observation) | Reason or indication for ordering or not ordering the medication Binding: ConditionProblemDiagnosisCodes (example): A coded concept indicating why the medication was ordered.
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: MedicationRequestCourseOfTherapyCodes (extensible): Identifies the overall pattern of medication administratio.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
note | S | 0..* | Annotation | Information about the prescription
renderedDosageInstruction |  | 0..1 | markdown | Full representation of the dosage instructions
effectiveDosePeriod | S | 0..1 | Period | Period over which the medication is to be taken
dosageInstruction | S | 0..* | Dosage | How the medication should be taken.
id |  | 0..1 | id | 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 | Σ | 0..1 | string | Free text dosage instructions
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 | S Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 0..1 | Timing | Administration schedule
id |  | 0..1 | id | 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
event | Σ | 0..* | dateTime | When the event occurs
repeat | Σ C | 0..1 | Element | When the event is to occur tim-1: if there's a duration, there needs to be duration units tim-2: if there's a period, there needs to be period units tim-4: duration SHALL be a non-negative value tim-5: period SHALL be a non-negative value tim-6: If there's a periodMax, there must be a period tim-7: If there's a durationMax, there must be a duration tim-8: If there's a countMax, there must be a count tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV) tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
bounds[x] | Σ | 0..1 |  | Length/Range of lengths, or (Start and/or end) limits
boundsDuration |  |  | Duration |
boundsRange |  |  | Range |
boundsPeriod |  |  | Period |
count | Σ C | 0..1 | positiveInt | Number of times to repeat
countMax | Σ C | 0..1 | positiveInt | Maximum number of times to repeat
duration | Σ C | 0..1 | decimal | Duration of the treatment
durationMax | Σ C | 0..1 | decimal | How long when it happens (Max)
durationUnit | Σ C | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
frequency | Σ | 0..1 | positiveInt | Frequency times per period
frequencyMax | Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | Σ C | 0..1 | decimal | Duration of time over which repetitions are to occur
periodMax | Σ C | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | Σ C | 0..1 | code | Unit of the period (e.g. day) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required)
timeOfDay | Σ C | 0..* | time | Time of day for action
when | Σ C | 0..* | code | Code for time period of occurrence Binding: EventTiming (required): Real-world event relating to the schedule.
offset | Σ C | 0..1 | unsignedInt | Minutes from event (before or after)
code | Σ | 0..1 | CodeableConcept | A code for the timing schedule. Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
asNeeded | Σ C | 0..1 | boolean | Take "as needed"
asNeededFor | Σ C | 0..* | CodeableConcept | 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.
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureAdministrationSites (example): A coded concept describing the site location the medicine enters into or onto the body.
route | Σ | 0..1 | CodeableConcept | Route of administration 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, to be administered or typical amount to be 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.
Slices for dose[x] | Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Open by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | Σ | 0..1 | SimpleQuantity | Amount of medication per dose
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..* | 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
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:prescribedQuantity |  | 0..1 | Quantity | Overall amount of product prescribed, independent from the number of repeats. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
initialFill |  | 0..1 | BackboneElement | First fill details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
quantity |  | 0..1 | SimpleQuantity | First fill quantity
duration |  | 0..1 | Duration | First fill duration
dispenseInterval |  | 0..1 | Duration | Minimum period of time between dispenses
validityPeriod | S | 0..1 | Period | Time period supply is authorized for
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | Number of refills authorized
quantity |  | 0..1 | SimpleQuantity | Amount of medication to supply per dispense
expectedSupplyDuration |  | 0..1 | Duration | Number of days supply per dispense
dispenser |  | 0..1 | Reference(Organization) | Intended performer of dispense
dispenserInstruction |  | 0..* | Annotation | Additional information for the dispenser
doseAdministrationAid |  | 0..1 | CodeableConcept | Type of adherence packaging to use for the dispense Binding: MedicationDoseAids (example)
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] |  | 1..1 |  | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (preferred): Identifies the type of substitution allowed.
allowedBoolean |  |  | boolean |
allowedCodeableConcept |  |  | CodeableConcept |
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example): SubstanceAdminSubstitutionReason
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` from the FHIR Standard
MedicationRequest.status | required | MedicationrequestStatus `http://hl7.org/fhir/ValueSet/medicationrequest-status|5.0.0` from the FHIR Standard
MedicationRequest.statusReason | example | MedicationRequestStatusReasonCodes `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` from the FHIR Standard
MedicationRequest.intent | required | MedicationRequestIntent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|5.0.0` from the FHIR Standard
MedicationRequest.category | example | MedicationRequestAdministrationLocationCodes `http://hl7.org/fhir/ValueSet/medicationrequest-admin-location` from the FHIR Standard
MedicationRequest.priority | required | RequestPriority `http://hl7.org/fhir/ValueSet/request-priority|5.0.0` from the FHIR Standard
MedicationRequest.medication | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` from the FHIR Standard
MedicationRequest.performerType | extensible | MedicationIntendedPerformerRole `http://hl7.org/fhir/ValueSet/medication-intended-performer-role` from the FHIR Standard
MedicationRequest.reason | example | ConditionProblemDiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` from the FHIR Standard
MedicationRequest.courseOfTherapyType | extensible | MedicationRequestCourseOfTherapyCodes `http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy` from the FHIR Standard
MedicationRequest.dosageInstruction.additionalInstruction | example | SNOMEDCTAdditionalDosageInstructions `http://hl7.org/fhir/ValueSet/additional-instruction-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.durationUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.dayOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.when | required | EventTiming `http://hl7.org/fhir/ValueSet/event-timing|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` from the FHIR Standard
MedicationRequest.dosageInstruction.asNeededFor | example | SNOMEDCTMedicationAsNeededReasonCodes `http://hl7.org/fhir/ValueSet/medication-as-needed-reason` from the FHIR Standard
MedicationRequest.dosageInstruction.site | example | SNOMEDCTAnatomicalStructureAdministrationSites `http://hl7.org/fhir/ValueSet/approach-site-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.route | example | SNOMEDCTRouteCodes `http://hl7.org/fhir/ValueSet/route-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.method | example | SNOMEDCTAdministrationMethodCodes `http://hl7.org/fhir/ValueSet/administration-method-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.type | example | DoseAndRateType `http://terminology.hl7.org/ValueSet/dose-rate-type`
MedicationRequest.dispenseRequest.doseAdministrationAid | example | MedicationDoseAids `http://hl7.org/fhir/ValueSet/medication-dose-aid` from the FHIR Standard
MedicationRequest.substitution.allowed[x] | preferred | ActSubstanceAdminSubstitutionCode `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode`
MedicationRequest.substitution.reason | example | SubstanceAdminSubstitutionReason `http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | MedicationRequest | If 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-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
tim-1 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() |
tim-2 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() |
tim-4 | error | MedicationRequest.dosageInstruction.timing.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 |
tim-5 | error | MedicationRequest.dosageInstruction.timing.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 |
tim-6 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() |
tim-7 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() |
tim-8 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() |
tim-9 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) : offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse()) |
tim-10 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |

This structure is derived from MedicationRequest

Summary

Mandatory: 2 elements
Must-Support: 15 elements

Structures

This structure refers to these other structures:

- IHE Medication (http://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedication)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
- http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of MedicationRequest.dosageInstruction.doseAndRate.dose[x]

Key Elements View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group 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
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:offLabel |  | 0..1 | (Complex) | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the product. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
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
identifier |  | 0..* | Identifier | Prescription/prescribed item ID ele-1: All FHIR elements must have a @value or children
groupIdentifier | S Σ | 0..1 | Identifier | Prescription this is part of. Not needed if a presciption includes only one prescribed item. ele-1: All FHIR elements must have a @value or children
status | ?!S Σ | 1..1 | code | Status of the order Binding: MedicationrequestStatus (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
statusReason | S | 0..1 | CodeableConcept | Reason for current status Binding: MedicationRequestStatusReasonCodes (example): Identifies the reasons for a given status. ele-1: All FHIR elements must have a @value or children
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: MedicationRequestIntent (required): The kind of medication order. ele-1: All FHIR elements must have a @value or children
category | S | 0..* | CodeableConcept | Grouping or category of medication request Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication is to be consumed or administered. ele-1: All FHIR elements must have a @value or children
doNotPerform | ?!Σ | 0..1 | boolean | True if patient is to stop taking or not to start taking the medication ele-1: All FHIR elements must have a @value or children
medication | S Σ | 1..1 | CodeableReference(IHE Medication) | Medication to be taken Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered. ele-1: All FHIR elements must have a @value or children
subject | S Σ | 1..1 | Reference(Patient | Group) | Individual or group for whom the medication has been requested ele-1: All FHIR elements must have a @value or children
authoredOn | S Σ | 1..1 | dateTime | When request was initially authored ele-1: All FHIR elements must have a @value or children
requester | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request ele-1: All FHIR elements must have a @value or children
recorder | S | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request ele-1: All FHIR elements must have a @value or children
reason | S | 0..* | CodeableReference(Condition | Observation) | Reason or indication for ordering or not ordering the medication Binding: ConditionProblemDiagnosisCodes (example): A coded concept indicating why the medication was ordered. ele-1: All FHIR elements must have a @value or children
note | S | 0..* | Annotation | Information about the prescription ele-1: All FHIR elements must have a @value or children
effectiveDosePeriod | S | 0..1 | Period | Period over which the medication is to be taken 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 | Σ | 0..1 | string | Free text dosage instructions ele-1: All FHIR elements must have a @value or children
patientInstruction | S Σ | 0..1 | string | Patient or consumer oriented instructions ele-1: All FHIR elements must have a @value or children
timing | Σ | 0..1 | Timing | Administration schedule 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
code | Σ | 0..1 | CodeableConcept | A code for the timing schedule. Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern. ele-1: All FHIR elements must have a @value or children
route | Σ | 0..1 | CodeableConcept | Route of administration 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. ele-1: All FHIR elements must have a @value or children
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization ele-1: All FHIR elements must have a @value or children
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
extension:prescribedQuantity |  | 0..1 | Quantity | Overall amount of product prescribed, independent from the number of repeats. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity ele-1: All FHIR elements must have a @value or children ext-1: Must have either extensions or value[x], not both
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
validityPeriod | S | 0..1 | Period | Time period supply is authorized for ele-1: All FHIR elements must have a @value or children
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution 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
allowed[x] |  | 1..1 |  | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (preferred): Identifies the type of substitution allowed. ele-1: All FHIR elements must have a @value or children
allowedBoolean |  |  | boolean |
allowedCodeableConcept |  |  | CodeableConcept |
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.status | required | MedicationrequestStatus `http://hl7.org/fhir/ValueSet/medicationrequest-status|5.0.0` from the FHIR Standard
MedicationRequest.statusReason | example | MedicationRequestStatusReasonCodes `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` from the FHIR Standard
MedicationRequest.intent | required | MedicationRequestIntent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|5.0.0` from the FHIR Standard
MedicationRequest.category | example | MedicationRequestAdministrationLocationCodes `http://hl7.org/fhir/ValueSet/medicationrequest-admin-location` from the FHIR Standard
MedicationRequest.medication | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` from the FHIR Standard
MedicationRequest.reason | example | ConditionProblemDiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` from the FHIR Standard
MedicationRequest.dosageInstruction.route | example | SNOMEDCTRouteCodes `http://hl7.org/fhir/ValueSet/route-codes` from the FHIR Standard
MedicationRequest.substitution.allowed[x] | preferred | ActSubstanceAdminSubstitutionCode `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | MedicationRequest | If 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-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |

Differential View

This structure is derived from MedicationRequest

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:offLabel |  | 0..1 | (Complex) | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the product. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
identifier |  | 0..* | Identifier | Prescription/prescribed item ID
groupIdentifier | S | 0..1 | Identifier | Prescription this is part of. Not needed if a presciption includes only one prescribed item.
status | S | 1..1 | code | Status of the order
statusReason | S | 0..1 | CodeableConcept | Reason for current status
category | S | 0..* | CodeableConcept | Grouping or category of medication request
medication | S | 1..1 | CodeableReference(IHE Medication) | Medication to be taken
subject | S | 1..1 | Reference(Patient | Group) | Individual or group for whom the medication has been requested
authoredOn | S | 1..1 | dateTime | When request was initially authored
requester |  | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request
recorder | S | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reason | S | 0..* | CodeableReference(Condition | Observation) | Reason or indication for ordering or not ordering the medication
note | S | 0..* | Annotation | Information about the prescription
effectiveDosePeriod | S | 0..1 | Period | Period over which the medication is to be taken
dosageInstruction | S | 0..* | Dosage | How the medication should be taken.
text |  | 0..1 | string | Free text dosage instructions
patientInstruction | S | 0..1 | string | Patient or consumer oriented instructions
timing |  | 0..1 | Timing | Administration schedule
repeat |  |  |  |
duration |  | 0..1 | decimal | Duration of the treatment
frequency |  | 0..1 | positiveInt | Frequency times per period
period |  | 0..1 | decimal | Duration of time over which repetitions are to occur
periodUnit |  | 0..1 | code | Unit of the period (e.g. day)
code |  | 0..1 | CodeableConcept | A code for the timing schedule.
route |  | 0..1 | CodeableConcept | Route of administration
doseAndRate |  |  |  |
Slices for dose[x] |  | 0..1 | Range, SimpleQuantity | Amount of medication per dose Slice: Unordered, Open by type:$this
dose[x]:doseQuantity |  | 0..1 | SimpleQuantity | Amount of medication per dose
dispenseRequest |  |  |  |
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:prescribedQuantity |  | 0..1 | Quantity | Overall amount of product prescribed, independent from the number of repeats. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity
validityPeriod | S | 0..1 | Period | Time period supply is authorized for
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group
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
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:offLabel |  | 0..1 | (Complex) | Indicates that the prescriber has knowingly prescribed the medication for an indication, age group, dosage, or route of administration that is not approved by the regulatory agencies and is not mentioned in the prescribing information for the product. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier |  | 0..* | Identifier | Prescription/prescribed item ID
basedOn | Σ | 0..* | Reference(CarePlan | MedicationRequest | ServiceRequest | ImmunizationRecommendation) | A plan or request that is fulfilled in whole or in part by this medication request
priorPrescription |  | 0..1 | Reference(MedicationRequest) | Reference to an order/prescription that is being replaced by this MedicationRequest
groupIdentifier | S Σ | 0..1 | Identifier | Prescription this is part of. Not needed if a presciption includes only one prescribed item.
status | ?!S Σ | 1..1 | code | Status of the order Binding: MedicationrequestStatus (required): A coded concept specifying the state of the prescribing event. Describes the lifecycle of the prescription.
statusReason | S | 0..1 | CodeableConcept | Reason for current status Binding: MedicationRequestStatusReasonCodes (example): Identifies the reasons for a given status.
statusChanged |  | 0..1 | dateTime | When the status was changed
intent | ?!Σ | 1..1 | code | proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option Binding: MedicationRequestIntent (required): The kind of medication order.
category | S | 0..* | CodeableConcept | Grouping or category of medication request Binding: MedicationRequestAdministrationLocationCodes (example): A coded concept identifying where the medication is to be consumed or administered.
priority | Σ | 0..1 | code | routine | urgent | asap | stat Binding: RequestPriority (required): Identifies the level of importance to be assigned to actioning the request.
doNotPerform | ?!Σ | 0..1 | boolean | True if patient is to stop taking or not to start taking the medication
medication | S Σ | 1..1 | CodeableReference(IHE Medication) | Medication to be taken Binding: SNOMEDCTMedicationCodes (example): A coded concept identifying substance or product that can be ordered.
subject | S Σ | 1..1 | Reference(Patient | Group) | Individual or group for whom the medication has been requested
informationSource |  | 0..* | Reference(Patient | Practitioner | PractitionerRole | RelatedPerson | Organization) | The person or organization who provided the information about this request, if the source is someone other than the requestor
encounter |  | 0..1 | Reference(Encounter) | Encounter created as part of encounter/admission/stay
supportingInformation |  | 0..* | Reference(Resource) | Information to support fulfilling of the medication
authoredOn | S Σ | 1..1 | dateTime | When request was initially authored
requester | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | Patient | RelatedPerson | Device) | Who/What requested the Request
reported | Σ | 0..1 | boolean | Reported rather than primary record
performerType | Σ | 0..1 | CodeableConcept | Desired kind of performer of the medication administration Binding: MedicationIntendedPerformerRole (extensible): Identifies the type of individual that is desired to administer the medication.
performer |  | 0..* | Reference(Practitioner | PractitionerRole | Organization | Patient | DeviceDefinition | RelatedPerson | CareTeam | HealthcareService) | Intended performer of administration
device |  | 0..* | CodeableReference(DeviceDefinition) | Intended type of device for the administration
recorder | S | 0..1 | Reference(Practitioner | PractitionerRole) | Person who entered the request
reason | S | 0..* | CodeableReference(Condition | Observation) | Reason or indication for ordering or not ordering the medication Binding: ConditionProblemDiagnosisCodes (example): A coded concept indicating why the medication was ordered.
courseOfTherapyType |  | 0..1 | CodeableConcept | Overall pattern of medication administration Binding: MedicationRequestCourseOfTherapyCodes (extensible): Identifies the overall pattern of medication administratio.
insurance |  | 0..* | Reference(Coverage | ClaimResponse) | Associated insurance coverage
note | S | 0..* | Annotation | Information about the prescription
renderedDosageInstruction |  | 0..1 | markdown | Full representation of the dosage instructions
effectiveDosePeriod | S | 0..1 | Period | Period over which the medication is to be taken
dosageInstruction | S | 0..* | Dosage | How the medication should be taken.
id |  | 0..1 | id | 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 | Σ | 0..1 | string | Free text dosage instructions
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 | S Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 0..1 | Timing | Administration schedule
id |  | 0..1 | id | 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
event | Σ | 0..* | dateTime | When the event occurs
repeat | Σ C | 0..1 | Element | When the event is to occur tim-1: if there's a duration, there needs to be duration units tim-2: if there's a period, there needs to be period units tim-4: duration SHALL be a non-negative value tim-5: period SHALL be a non-negative value tim-6: If there's a periodMax, there must be a period tim-7: If there's a durationMax, there must be a duration tim-8: If there's a countMax, there must be a count tim-9: If there's an offset, there must be a when (and not C, CM, CD, CV) tim-10: If there's a timeOfDay, there cannot be a when, or vice versa
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
bounds[x] | Σ | 0..1 |  | Length/Range of lengths, or (Start and/or end) limits
boundsDuration |  |  | Duration |
boundsRange |  |  | Range |
boundsPeriod |  |  | Period |
count | Σ C | 0..1 | positiveInt | Number of times to repeat
countMax | Σ C | 0..1 | positiveInt | Maximum number of times to repeat
duration | Σ C | 0..1 | decimal | Duration of the treatment
durationMax | Σ C | 0..1 | decimal | How long when it happens (Max)
durationUnit | Σ C | 0..1 | code | s | min | h | d | wk | mo | a - unit of time (UCUM) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
frequency | Σ | 0..1 | positiveInt | Frequency times per period
frequencyMax | Σ | 0..1 | positiveInt | Event occurs up to frequencyMax times per period
period | Σ C | 0..1 | decimal | Duration of time over which repetitions are to occur
periodMax | Σ C | 0..1 | decimal | Upper limit of period (3-4 hours)
periodUnit | Σ C | 0..1 | code | Unit of the period (e.g. day) Binding: UnitsOfTime (required): A unit of time (units from UCUM).
dayOfWeek | Σ | 0..* | code | mon | tue | wed | thu | fri | sat | sun Binding: DaysOfWeek (required)
timeOfDay | Σ C | 0..* | time | Time of day for action
when | Σ C | 0..* | code | Code for time period of occurrence Binding: EventTiming (required): Real-world event relating to the schedule.
offset | Σ C | 0..1 | unsignedInt | Minutes from event (before or after)
code | Σ | 0..1 | CodeableConcept | A code for the timing schedule. Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
asNeeded | Σ C | 0..1 | boolean | Take "as needed"
asNeededFor | Σ C | 0..* | CodeableConcept | 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.
site | Σ | 0..1 | CodeableConcept | Body site to administer to Binding: SNOMEDCTAnatomicalStructureAdministrationSites (example): A coded concept describing the site location the medicine enters into or onto the body.
route | Σ | 0..1 | CodeableConcept | Route of administration 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, to be administered or typical amount to be 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.
Slices for dose[x] | Σ | 0..1 |  | Amount of medication per dose Slice: Unordered, Open by type:$this
doseRange |  |  | Range |
doseQuantity |  |  | Quantity(SimpleQuantity) |
dose[x]:doseQuantity | Σ | 0..1 | SimpleQuantity | Amount of medication per dose
rate[x] | Σ | 0..1 |  | Amount of medication per unit of time
rateRatio |  |  | Ratio |
rateRange |  |  | Range |
rateQuantity |  |  | Quantity(SimpleQuantity) |
maxDosePerPeriod | Σ | 0..* | 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
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:prescribedQuantity |  | 0..1 | Quantity | Overall amount of product prescribed, independent from the number of repeats. URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
initialFill |  | 0..1 | BackboneElement | First fill details
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
quantity |  | 0..1 | SimpleQuantity | First fill quantity
duration |  | 0..1 | Duration | First fill duration
dispenseInterval |  | 0..1 | Duration | Minimum period of time between dispenses
validityPeriod | S | 0..1 | Period | Time period supply is authorized for
numberOfRepeatsAllowed |  | 0..1 | unsignedInt | Number of refills authorized
quantity |  | 0..1 | SimpleQuantity | Amount of medication to supply per dispense
expectedSupplyDuration |  | 0..1 | Duration | Number of days supply per dispense
dispenser |  | 0..1 | Reference(Organization) | Intended performer of dispense
dispenserInstruction |  | 0..* | Annotation | Additional information for the dispenser
doseAdministrationAid |  | 0..1 | CodeableConcept | Type of adherence packaging to use for the dispense Binding: MedicationDoseAids (example)
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
allowed[x] |  | 1..1 |  | Whether substitution is allowed or not Binding: ActSubstanceAdminSubstitutionCode (preferred): Identifies the type of substitution allowed.
allowedBoolean |  |  | boolean |
allowedCodeableConcept |  |  | CodeableConcept |
reason |  | 0..1 | CodeableConcept | Why should (not) substitution be made Binding: SubstanceAdminSubstitutionReason (example): SubstanceAdminSubstitutionReason
eventHistory |  | 0..* | Reference(Provenance) | A list of events of interest in the lifecycle
Documentation for this format

#### Terminology Bindings

Path | Conformance | ValueSet | URI
MedicationRequest.language | required | AllLanguages `http://hl7.org/fhir/ValueSet/all-languages|5.0.0` from the FHIR Standard
MedicationRequest.status | required | MedicationrequestStatus `http://hl7.org/fhir/ValueSet/medicationrequest-status|5.0.0` from the FHIR Standard
MedicationRequest.statusReason | example | MedicationRequestStatusReasonCodes `http://hl7.org/fhir/ValueSet/medicationrequest-status-reason` from the FHIR Standard
MedicationRequest.intent | required | MedicationRequestIntent `http://hl7.org/fhir/ValueSet/medicationrequest-intent|5.0.0` from the FHIR Standard
MedicationRequest.category | example | MedicationRequestAdministrationLocationCodes `http://hl7.org/fhir/ValueSet/medicationrequest-admin-location` from the FHIR Standard
MedicationRequest.priority | required | RequestPriority `http://hl7.org/fhir/ValueSet/request-priority|5.0.0` from the FHIR Standard
MedicationRequest.medication | example | SNOMEDCTMedicationCodes `http://hl7.org/fhir/ValueSet/medication-codes` from the FHIR Standard
MedicationRequest.performerType | extensible | MedicationIntendedPerformerRole `http://hl7.org/fhir/ValueSet/medication-intended-performer-role` from the FHIR Standard
MedicationRequest.reason | example | ConditionProblemDiagnosisCodes `http://hl7.org/fhir/ValueSet/condition-code` from the FHIR Standard
MedicationRequest.courseOfTherapyType | extensible | MedicationRequestCourseOfTherapyCodes `http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy` from the FHIR Standard
MedicationRequest.dosageInstruction.additionalInstruction | example | SNOMEDCTAdditionalDosageInstructions `http://hl7.org/fhir/ValueSet/additional-instruction-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.durationUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.periodUnit | required | UnitsOfTime `http://hl7.org/fhir/ValueSet/units-of-time|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.dayOfWeek | required | DaysOfWeek `http://hl7.org/fhir/ValueSet/days-of-week|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.repeat.when | required | EventTiming `http://hl7.org/fhir/ValueSet/event-timing|5.0.0` from the FHIR Standard
MedicationRequest.dosageInstruction.timing.code | preferred | TimingAbbreviation `http://hl7.org/fhir/ValueSet/timing-abbreviation` from the FHIR Standard
MedicationRequest.dosageInstruction.asNeededFor | example | SNOMEDCTMedicationAsNeededReasonCodes `http://hl7.org/fhir/ValueSet/medication-as-needed-reason` from the FHIR Standard
MedicationRequest.dosageInstruction.site | example | SNOMEDCTAnatomicalStructureAdministrationSites `http://hl7.org/fhir/ValueSet/approach-site-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.route | example | SNOMEDCTRouteCodes `http://hl7.org/fhir/ValueSet/route-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.method | example | SNOMEDCTAdministrationMethodCodes `http://hl7.org/fhir/ValueSet/administration-method-codes` from the FHIR Standard
MedicationRequest.dosageInstruction.doseAndRate.type | example | DoseAndRateType `http://terminology.hl7.org/ValueSet/dose-rate-type`
MedicationRequest.dispenseRequest.doseAdministrationAid | example | MedicationDoseAids `http://hl7.org/fhir/ValueSet/medication-dose-aid` from the FHIR Standard
MedicationRequest.substitution.allowed[x] | preferred | ActSubstanceAdminSubstitutionCode `http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode`
MedicationRequest.substitution.reason | example | SubstanceAdminSubstitutionReason `http://terminology.hl7.org/ValueSet/v3-SubstanceAdminSubstitutionReason`

#### Constraints

Id | Grade | Path(s) | Details | Requirements
dom-2 | error | MedicationRequest | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() |
dom-3 | error | MedicationRequest | 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 : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty() |
dom-4 | error | MedicationRequest | If 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-5 | error | MedicationRequest | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() |
dom-6 | best practice | MedicationRequest | A resource should have narrative for robust management : text.`div`.exists() |
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both : extension.exists() != value.exists() |
tim-1 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a duration, there needs to be duration units : duration.empty() or durationUnit.exists() |
tim-2 | error | MedicationRequest.dosageInstruction.timing.repeat | if there's a period, there needs to be period units : period.empty() or periodUnit.exists() |
tim-4 | error | MedicationRequest.dosageInstruction.timing.repeat | duration SHALL be a non-negative value : duration.exists() implies duration >= 0 |
tim-5 | error | MedicationRequest.dosageInstruction.timing.repeat | period SHALL be a non-negative value : period.exists() implies period >= 0 |
tim-6 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a periodMax, there must be a period : periodMax.empty() or period.exists() |
tim-7 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a durationMax, there must be a duration : durationMax.empty() or duration.exists() |
tim-8 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a countMax, there must be a count : countMax.empty() or count.exists() |
tim-9 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's an offset, there must be a when (and not C, CM, CD, CV) : offset.empty() or (when.exists() and when.select($this in ('C' | 'CM' | 'CD' | 'CV')).allFalse()) |
tim-10 | error | MedicationRequest.dosageInstruction.timing.repeat | If there's a timeOfDay, there cannot be a when, or vice versa : timeOfDay.empty() or when.empty() |

This structure is derived from MedicationRequest

Summary

Mandatory: 2 elements
Must-Support: 15 elements

Structures

This structure refers to these other structures:

- IHE Medication (http://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedication)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
- http://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity

Slices

This structure defines the following Slices:

- The element 1 is sliced based on the value of MedicationRequest.dosageInstruction.doseAndRate.dose[x]

Other representations of profile: CSV, Excel, Schematron