Medication Prescription and Dispense (MPD)
0.1.0 - ci-build 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 0.1.0 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

Logical Model: Medication dispense (model)

Official URL: http://profiles.ihe.net/PHARM/MPD/StructureDefinition/IHEMedicationDispenseModel Version: 0.1.0
Active as of 2025-04-11 Computable Name: IHEMedicationDispenseModel

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

Logical model for medication dispense report (based on request or independently)

Usage:

  • This Logical Model Profile is not used by any profiles in this Implementation Guide

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. IHEMedicationDispenseModel 0..* Base Medication dispense (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the dispense
... patient 1..1 Reference(Patient (model)) The person for whom the medication is prescribed/ordered
... receiver 0..1 Reference(Patient (model) | Practitioner (model) | RelatedPerson | PractitionerRole) Identification of the person who received the dispensed medication, especially when it was not the patient
... relatedRequest 0..* Reference(Medication order (model)) Prescription/request/order the dispense is related to
... medication 1..1 Reference(Medicinal product (model)) Exact dispensed product
... dispensedQuantity 1..1 Quantity Number of dispensed packages if the pack size is known, or number of smaller items/units
... timeOfDispensation 1..1 dateTime Date and time of dispensation
... substitution 0..1 BackboneElement Substitution was made
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
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
.... 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
.... substitutionOccurred 1..1 boolean Indicates whether substitution was made by the dispenser
.... type 0..1 CodeableConcept Indicates the type of substitution made by the dispenser
.... reason 0..1 CodeableConcept The reason for the substitution by the dispenser or why a required substitution was not made
... status 1..1 CodeableConcept Status of the dispensation
... statusReason 0..* CodeableConcept Reason for the current status of dispensation, for example the reason why the dispensation was made invalid
... statusReasonText 0..1 string Textual reason for the current status of dispensation
... usageInstructions 0..* Reference(Dosaging (model)) Dosaging and administration instructions
... comment 0..* string Additional information or comments

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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()

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraintsdoco
.. IHEMedicationDispenseModel 0..* Base Medication dispense (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the dispense
... patient 1..1 Reference(Patient (model)) The person for whom the medication is prescribed/ordered
... receiver 0..1 Reference(Patient (model) | Practitioner (model) | RelatedPerson | PractitionerRole) Identification of the person who received the dispensed medication, especially when it was not the patient
... relatedRequest 0..* Reference(Medication order (model)) Prescription/request/order the dispense is related to
... medication 1..1 Reference(Medicinal product (model)) Exact dispensed product
... dispensedQuantity 1..1 Quantity Number of dispensed packages if the pack size is known, or number of smaller items/units
... timeOfDispensation 1..1 dateTime Date and time of dispensation
... substitution 0..1 BackboneElement Substitution was made
.... substitutionOccurred 1..1 boolean Indicates whether substitution was made by the dispenser
.... type 0..1 CodeableConcept Indicates the type of substitution made by the dispenser
.... reason 0..1 CodeableConcept The reason for the substitution by the dispenser or why a required substitution was not made
... status 1..1 CodeableConcept Status of the dispensation
... statusReason 0..* CodeableConcept Reason for the current status of dispensation, for example the reason why the dispensation was made invalid
... statusReasonText 0..1 string Textual reason for the current status of dispensation
... usageInstructions 0..* Reference(Dosaging (model)) Dosaging and administration instructions
... comment 0..* string Additional information or comments

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. IHEMedicationDispenseModel 0..* Base Medication dispense (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the dispense
... patient 1..1 Reference(Patient (model)) The person for whom the medication is prescribed/ordered
... receiver 0..1 Reference(Patient (model) | Practitioner (model) | RelatedPerson | PractitionerRole) Identification of the person who received the dispensed medication, especially when it was not the patient
... relatedRequest 0..* Reference(Medication order (model)) Prescription/request/order the dispense is related to
... medication 1..1 Reference(Medicinal product (model)) Exact dispensed product
... dispensedQuantity 1..1 Quantity Number of dispensed packages if the pack size is known, or number of smaller items/units
... timeOfDispensation 1..1 dateTime Date and time of dispensation
... substitution 0..1 BackboneElement Substitution was made
.... @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
.... substitutionOccurred 1..1 boolean Indicates whether substitution was made by the dispenser
.... type 0..1 CodeableConcept Indicates the type of substitution made by the dispenser
.... reason 0..1 CodeableConcept The reason for the substitution by the dispenser or why a required substitution was not made
... status 1..1 CodeableConcept Status of the dispensation
... statusReason 0..* CodeableConcept Reason for the current status of dispensation, for example the reason why the dispensation was made invalid
... statusReasonText 0..1 string Textual reason for the current status of dispensation
... usageInstructions 0..* Reference(Dosaging (model)) Dosaging and administration instructions
... comment 0..* string Additional information or comments

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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()

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. IHEMedicationDispenseModel 0..* Base Medication dispense (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the dispense
... patient 1..1 Reference(Patient (model)) The person for whom the medication is prescribed/ordered
... receiver 0..1 Reference(Patient (model) | Practitioner (model) | RelatedPerson | PractitionerRole) Identification of the person who received the dispensed medication, especially when it was not the patient
... relatedRequest 0..* Reference(Medication order (model)) Prescription/request/order the dispense is related to
... medication 1..1 Reference(Medicinal product (model)) Exact dispensed product
... dispensedQuantity 1..1 Quantity Number of dispensed packages if the pack size is known, or number of smaller items/units
... timeOfDispensation 1..1 dateTime Date and time of dispensation
... substitution 0..1 BackboneElement Substitution was made
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 id Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
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
.... 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
.... substitutionOccurred 1..1 boolean Indicates whether substitution was made by the dispenser
.... type 0..1 CodeableConcept Indicates the type of substitution made by the dispenser
.... reason 0..1 CodeableConcept The reason for the substitution by the dispenser or why a required substitution was not made
... status 1..1 CodeableConcept Status of the dispensation
... statusReason 0..* CodeableConcept Reason for the current status of dispensation, for example the reason why the dispensation was made invalid
... statusReasonText 0..1 string Textual reason for the current status of dispensation
... usageInstructions 0..* Reference(Dosaging (model)) Dosaging and administration instructions
... comment 0..* string Additional information or comments

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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()

Differential View

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraintsdoco
.. IHEMedicationDispenseModel 0..* Base Medication dispense (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the dispense
... patient 1..1 Reference(Patient (model)) The person for whom the medication is prescribed/ordered
... receiver 0..1 Reference(Patient (model) | Practitioner (model) | RelatedPerson | PractitionerRole) Identification of the person who received the dispensed medication, especially when it was not the patient
... relatedRequest 0..* Reference(Medication order (model)) Prescription/request/order the dispense is related to
... medication 1..1 Reference(Medicinal product (model)) Exact dispensed product
... dispensedQuantity 1..1 Quantity Number of dispensed packages if the pack size is known, or number of smaller items/units
... timeOfDispensation 1..1 dateTime Date and time of dispensation
... substitution 0..1 BackboneElement Substitution was made
.... substitutionOccurred 1..1 boolean Indicates whether substitution was made by the dispenser
.... type 0..1 CodeableConcept Indicates the type of substitution made by the dispenser
.... reason 0..1 CodeableConcept The reason for the substitution by the dispenser or why a required substitution was not made
... status 1..1 CodeableConcept Status of the dispensation
... statusReason 0..* CodeableConcept Reason for the current status of dispensation, for example the reason why the dispensation was made invalid
... statusReasonText 0..1 string Textual reason for the current status of dispensation
... usageInstructions 0..* Reference(Dosaging (model)) Dosaging and administration instructions
... comment 0..* string Additional information or comments

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. IHEMedicationDispenseModel 0..* Base Medication dispense (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* Identifier Identifier for the dispense
... patient 1..1 Reference(Patient (model)) The person for whom the medication is prescribed/ordered
... receiver 0..1 Reference(Patient (model) | Practitioner (model) | RelatedPerson | PractitionerRole) Identification of the person who received the dispensed medication, especially when it was not the patient
... relatedRequest 0..* Reference(Medication order (model)) Prescription/request/order the dispense is related to
... medication 1..1 Reference(Medicinal product (model)) Exact dispensed product
... dispensedQuantity 1..1 Quantity Number of dispensed packages if the pack size is known, or number of smaller items/units
... timeOfDispensation 1..1 dateTime Date and time of dispensation
... substitution 0..1 BackboneElement Substitution was made
.... @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
.... substitutionOccurred 1..1 boolean Indicates whether substitution was made by the dispenser
.... type 0..1 CodeableConcept Indicates the type of substitution made by the dispenser
.... reason 0..1 CodeableConcept The reason for the substitution by the dispenser or why a required substitution was not made
... status 1..1 CodeableConcept Status of the dispensation
... statusReason 0..* CodeableConcept Reason for the current status of dispensation, for example the reason why the dispensation was made invalid
... statusReasonText 0..1 string Textual reason for the current status of dispensation
... usageInstructions 0..* Reference(Dosaging (model)) Dosaging and administration instructions
... comment 0..* string Additional information or comments

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
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