Medication Prescription and Dispense (MPD)
1.0.0-comment-2 - ballot International flag

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-2 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/master 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-2
Active as of 2025-06-09 Computable Name: IHEMedicationOrder

Copyright/Legal: IHE http://www.ihe.net/Governance/#Intellectual_Property

IHE Medication Order profile

Usages:

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. 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
... 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

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
MedicationRequest.statusrequiredMedicationrequestStatus
http://hl7.org/fhir/ValueSet/medicationrequest-status|5.0.0
From the FHIR Standard
MedicationRequest.statusReasonexampleMedicationRequestStatusReasonCodes
http://hl7.org/fhir/ValueSet/medicationrequest-status-reason
From the FHIR Standard
MedicationRequest.intentrequiredMedicationRequestIntent
http://hl7.org/fhir/ValueSet/medicationrequest-intent|5.0.0
From the FHIR Standard
MedicationRequest.categoryexampleMedicationRequestAdministrationLocationCodes
http://hl7.org/fhir/ValueSet/medicationrequest-admin-location
From the FHIR Standard
MedicationRequest.medicationexampleSNOMEDCTMedicationCodes
http://hl7.org/fhir/ValueSet/medication-codes
From the FHIR Standard
MedicationRequest.reasonexampleConditionProblemDiagnosisCodes
http://hl7.org/fhir/ValueSet/condition-code
From the FHIR Standard
MedicationRequest.dosageInstruction.timing.codepreferredTimingAbbreviation
http://hl7.org/fhir/ValueSet/timing-abbreviation
From the FHIR Standard
MedicationRequest.dosageInstruction.routeexampleSNOMEDCTRouteCodes
http://hl7.org/fhir/ValueSet/route-codes
From the FHIR Standard
MedicationRequest.substitution.allowed[x]preferredActSubstanceAdminSubstitutionCode
http://terminology.hl7.org/ValueSet/v3-ActSubstanceAdminSubstitutionCode

Constraints

IdGradePath(s)DetailsRequirements
dom-2errorMedicationRequestIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorMedicationRequestIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource
: contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().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-4errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
: contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5errorMedicationRequestIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceMedicationRequestA resource should have narrative for robust management
: text.`div`.exists()
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

 

Other representations of profile: CSV, Excel, Schematron