Medication Prescription and Dispense (MPD)
1.0.0-comment-3 - ballot

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-comment-3 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/110/merge and changes regularly. See the Directory of published versions

## Resource Profile: IHE Medication Order

Official URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedicationOrder | Version: 1.0.0-comment-3
Active as of 2026-04-22 | Computable Name: IHEMedicationOrder
Copyright/Legal: IHE http://www.ihe.net/Governance/#Intellectual_Property

IHE Medication Order profile

Usages:

- Refer to this Profile: Medication order (model)
- Examples for this 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 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)

You can also check for usages in the FHIR IG Statistics

### 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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
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: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
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 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.
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.
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
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 Binding: ConditionProblemDiagnosisCodes (example): A coded concept indicating why the medication was ordered.
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.
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
text | Σ | 0..1 | string | Free text dosage instructions
patientInstruction | S Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 0..1 | Timing | Administration schedule
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 0..1 | CodeableConcept | A code for the timing schedule. Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
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.
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization
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: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
validityPeriod | S | 0..1 | Period | Time period supply is authorized for
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution
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 |
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.status | Base | required | medicationrequest Status | 📍5.0.0 | FHIR Std.
MedicationRequest.statusReason | Base | example | medicationRequest Status Reason Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.intent | Base | required | medicationRequest Intent | 📍5.0.0 | FHIR Std.
MedicationRequest.category | Base | example | medicationRequest Administration Location Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.medication | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.reason | Base | example | Condition/Problem/Diagnosis Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.code | Base | preferred | TimingAbbreviation | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​route | Base | example | SNOMED CT Route Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.substitution.​allowed[x] | Base | preferred | ActSubstanceAdminSubstitutionCode | 📦3.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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: https://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(5.0.0) | 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: https://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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 This profile does not constrain the narrative in regard to content, language, or traceability to data elements
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: https://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 Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
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(5.0.0) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(5.0.0) | 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: https://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(5.0.0) | 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(5.0.0) | 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 | Status | Usage | ValueSet | Version | Source
MedicationRequest.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
MedicationRequest.status | Base | required | medicationrequest Status | 📍5.0.0 | FHIR Std.
MedicationRequest.statusReason | Base | example | medicationRequest Status Reason Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.intent | Base | required | medicationRequest Intent | 📍5.0.0 | FHIR Std.
MedicationRequest.category | Base | example | medicationRequest Administration Location Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.priority | Base | required | RequestPriority | 📍5.0.0 | FHIR Std.
MedicationRequest.medication | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.performerType | Base | extensible | Medication Intended Performer Role | 📍5.0.0 | FHIR Std.
MedicationRequest.reason | Base | example | Condition/Problem/Diagnosis Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.courseOfTherapyType | Base | extensible | medicationRequest Course of Therapy Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.durationUnit | Base | required | UnitsOfTime | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.periodUnit | Base | required | UnitsOfTime | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.dayOfWeek | Base | required | Days Of Week | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.when | Base | required | EventTiming | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.code | Base | preferred | TimingAbbreviation | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​asNeededFor | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​site | Base | example | SNOMED CT Anatomical Structure for Administration Site Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​route | Base | example | SNOMED CT Route Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​method | Base | example | SNOMED CT Administration Method Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​doseAndRate.type | Base | example | DoseAndRateType | 📦2.0.0 | THO v7.1
MedicationRequest.dispenseRequest.​doseAdministrationAid | Base | example | Medication Dose Aids | 📍5.0.0 | FHIR Std.
MedicationRequest.substitution.​allowed[x] | Base | preferred | ActSubstanceAdminSubstitutionCode | 📦3.0.0 | THO v7.1
MedicationRequest.substitution.​reason | Base | example | SubstanceAdminSubstitutionReason | 📦3.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 (https://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedication)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
- https://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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
MedicationRequest |  | 0..* | MedicationRequest | Ordering of medication for patient or group
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
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: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
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 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.
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.
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
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 Binding: ConditionProblemDiagnosisCodes (example): A coded concept indicating why the medication was ordered.
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.
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
text | Σ | 0..1 | string | Free text dosage instructions
patientInstruction | S Σ | 0..1 | string | Patient or consumer oriented instructions
timing | Σ | 0..1 | Timing | Administration schedule
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
code | Σ | 0..1 | CodeableConcept | A code for the timing schedule. Binding: TimingAbbreviation (preferred): Code for a known / defined timing pattern.
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.
dispenseRequest |  | 0..1 | BackboneElement | Medication supply authorization
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: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medicationrequest-prescribedQuantity
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
validityPeriod | S | 0..1 | Period | Time period supply is authorized for
substitution | S | 0..1 | BackboneElement | Any restrictions on medication substitution
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 |
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
MedicationRequest.status | Base | required | medicationrequest Status | 📍5.0.0 | FHIR Std.
MedicationRequest.statusReason | Base | example | medicationRequest Status Reason Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.intent | Base | required | medicationRequest Intent | 📍5.0.0 | FHIR Std.
MedicationRequest.category | Base | example | medicationRequest Administration Location Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.medication | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.reason | Base | example | Condition/Problem/Diagnosis Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.code | Base | preferred | TimingAbbreviation | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​route | Base | example | SNOMED CT Route Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.substitution.​allowed[x] | Base | preferred | ActSubstanceAdminSubstitutionCode | 📦3.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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: https://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(5.0.0) | 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: https://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 Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 This profile does not constrain the narrative in regard to content, language, or traceability to data elements
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: https://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 Constraints: tim-1, tim-2, tim-4, tim-5, tim-6, tim-7, tim-8, tim-9, tim-10
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(5.0.0) | Upper limit on medication per administration
maxDosePerLifetime | Σ | 0..1 | SimpleQuantity(5.0.0) | 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: https://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(5.0.0) | 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(5.0.0) | 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 | Status | Usage | ValueSet | Version | Source
MedicationRequest.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
MedicationRequest.status | Base | required | medicationrequest Status | 📍5.0.0 | FHIR Std.
MedicationRequest.statusReason | Base | example | medicationRequest Status Reason Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.intent | Base | required | medicationRequest Intent | 📍5.0.0 | FHIR Std.
MedicationRequest.category | Base | example | medicationRequest Administration Location Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.priority | Base | required | RequestPriority | 📍5.0.0 | FHIR Std.
MedicationRequest.medication | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.performerType | Base | extensible | Medication Intended Performer Role | 📍5.0.0 | FHIR Std.
MedicationRequest.reason | Base | example | Condition/Problem/Diagnosis Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.courseOfTherapyType | Base | extensible | medicationRequest Course of Therapy Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​additionalInstruction | Base | example | SNOMED CT Additional Dosage Instructions | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.durationUnit | Base | required | UnitsOfTime | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.periodUnit | Base | required | UnitsOfTime | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.dayOfWeek | Base | required | Days Of Week | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.repeat.when | Base | required | EventTiming | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​timing.code | Base | preferred | TimingAbbreviation | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​asNeededFor | Base | example | SNOMED CT Medication As Needed Reason Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​site | Base | example | SNOMED CT Anatomical Structure for Administration Site Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​route | Base | example | SNOMED CT Route Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​method | Base | example | SNOMED CT Administration Method Codes | 📍5.0.0 | FHIR Std.
MedicationRequest.dosageInstruction.​doseAndRate.type | Base | example | DoseAndRateType | 📦2.0.0 | THO v7.1
MedicationRequest.dispenseRequest.​doseAdministrationAid | Base | example | Medication Dose Aids | 📍5.0.0 | FHIR Std.
MedicationRequest.substitution.​allowed[x] | Base | preferred | ActSubstanceAdminSubstitutionCode | 📦3.0.0 | THO v7.1
MedicationRequest.substitution.​reason | Base | example | SubstanceAdminSubstitutionReason | 📦3.0.0 | THO v7.1

#### Constraints

Id | Grade | Path(s) | Description | Expression
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 (https://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedication)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Extensions

This structure refers to these extensions:

- https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-offLabel
- https://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