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: IHEMultilineOrder - Detailed Descriptions

Active as of 2025-04-29

Definitions for the IHEMultilineOrder logical model.

Guidance on how to interpret the contents of this table can be found here

0. IHEMultilineOrder
Definition

Logical model for multiline medication prescription


Base definition for all types defined in FHIR type system.

ShortMedication order - multiline (model)Base for all types and resources
Control0..*
Is Modifierfalse
Logical ModelInstances of this logical model are not marked to be the target of a Reference
2. IHEMultilineOrder.identifier
Definition

Business identifier(s) for the prescription group

ShortBusiness identifier(s) for the prescription group
NoteThis is a business identifier, not a resource identifier (see discussion)
Control1..*
TypeIdentifier
4. IHEMultilineOrder.patient
Definition

Question: would we want to add basic Patient model?

ShortThe person for whom the medication is prescribed/ordered
Control1..1
TypeReference(Patient (model))
6. IHEMultilineOrder.prescriber
Definition

Question: would we want to add basic Practicioner model?

ShortThe person who made the prescription, and who takes the responsibility of the treatment
Control1..1
TypeReference(Practitioner (model), PractitionerRole)
8. IHEMultilineOrder.issueDate
Definition

Time of issuing (signing) the prescription by health care practicioner

ShortTime of issuing (signing) the prescription by health care practicioner
Control1..1
TypedateTime
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
10. IHEMultilineOrder.recorder
Definition

The recorder of the prescription/draft in the information system

ShortThe recorder of the prescription/draft in the information system
Control0..1
TypeReference(Practitioner (model), PractitionerRole)
12. IHEMultilineOrder.recordingDate
Definition

Time of authoring the prescription/draft in the information system

ShortTime of authoring the prescription/draft in the information system
Control0..1
TypedateTime
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
14. IHEMultilineOrder.validFrom
Definition

Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate

ShortEffective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
Control0..1
TypedateTime
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
16. IHEMultilineOrder.validUntil
Definition

The validity period end date. The prescription is not dispensable after this date.

ShortThe validity period end date. The prescription is not dispensable after this date.
Control0..1
TypedateTime
Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
18. IHEMultilineOrder.medicationLine
Definition

Medication line in the prescription

ShortMedication line in the prescription
Control1..*
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
20. IHEMultilineOrder.medicationLine.id
Definition

Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

ShortUnique id for inter-element referencing
Control0..1
This element is affected by the following invariants: ele-1
Typeidstring
Is Modifierfalse
XML FormatIn the XML format, this property is represented as an attribute.
Summaryfalse
22. IHEMultilineOrder.medicationLine.extension
Definition

May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

ShortAdditional content defined by implementations
Comments

There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

Control0..*
TypeExtension
Is Modifierfalse
Summaryfalse
Alternate Namesextensions, user content
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
SlicingThis element introduces a set of slices on IHEMultilineOrder.medicationLine.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 24. IHEMultilineOrder.medicationLine.modifierExtension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

    Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

    ShortExtensions that cannot be ignored even if unrecognized
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
    Summarytrue
    Requirements

    Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

    Alternate Namesextensions, user content, modifiers
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    26. IHEMultilineOrder.medicationLine.status
    Definition

    Status of the prescription, this should not be status of treatment

    ShortStatus of the prescription, this should not be status of treatment
    Control1..1
    TypeCodeableConcept
    28. IHEMultilineOrder.medicationLine.statusReason
    Definition

    Reason for the current status of prescription, for example the reason why the prescription was made invalid

    ShortReason for the current status of prescription, for example the reason why the prescription was made invalid
    Control0..*
    TypeCodeableConcept
    30. IHEMultilineOrder.medicationLine.category
    Definition

    Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).

    ShortCategory or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
    Control0..*
    TypeCodeableConcept
    32. IHEMultilineOrder.medicationLine.basedOn
    Definition

    This is a reference to the order that this order is based on. For example, a prescription for a medication may be based on a proposal, and an administration request may be based on a prescription.

    ShortWhat this order is based on
    Control0..1
    TypeReference(Medication order - multiline (model))
    34. IHEMultilineOrder.medicationLine.medication
    Definition

    Prescribed product, branded, generic, virtual, extemporal, etc

    ShortPrescribed product, branded, generic, virtual, extemporal, etc
    Control1..1
    TypeReference(Medicinal product (model))
    36. IHEMultilineOrder.medicationLine.prescriptionIntent
    Definition

    Type of intent of the prescription - prophylaxis, treatment, anesthesia, etc

    ShortType of intent of the prescription - prophylaxis, treatment, anesthesia, etc
    Control0..1
    TypeCodeableConcept
    38. IHEMultilineOrder.medicationLine.indication
    Definition

    Reason for the prescription (typically diagnosis, prophylaxis, or a procedure)

    ShortReason for the prescription (typically diagnosis, prophylaxis, or a procedure)
    Control0..*
    TypeCodeableConcept
    40. IHEMultilineOrder.medicationLine.indicationText
    Definition

    Reason for the prescription in textual form. This might not be allowed by some implementations.

    ShortReason for the prescription in textual form. This might not be allowed by some implementations.
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    42. IHEMultilineOrder.medicationLine.indicationReference
    Definition

    Reason for the prescription - as a reference to a problem, result, etc.

    ShortReason for the prescription - as a reference to a problem, result, etc.
    Control0..*
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    44. IHEMultilineOrder.medicationLine.treatmentPeriod
    Definition

    Period over which the medication is to be taken (in case of multiple dosaging schemes, this would be the overall period of all dosages.)

    ShortPeriod over which the medication is to be taken (in case of multiple dosaging schemes, this would be the overall period of all dosages.)
    Control0..1
    TypePeriod
    46. IHEMultilineOrder.medicationLine.quantityPrescribed
    Definition

    Overall quantity of prescribed product (e.g number of packages or number of tablets).

    ShortOverall quantity of prescribed product (e.g number of packages or number of tablets).
    Control0..1
    TypeQuantity
    48. IHEMultilineOrder.medicationLine.dosageInstructions
    Definition

    Dosaging and administration instructions

    ShortDosaging and administration instructions
    Control0..*
    TypeReference(Dosaging (model))
    50. IHEMultilineOrder.medicationLine.preparationInstructions
    Definition

    Additional instructions about preparation or dispense

    ShortAdditional instructions about preparation or dispense
    Control0..1
    Typestring
    Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
    52. IHEMultilineOrder.medicationLine.substitution
    Definition

    Whether and which type of substitution is allowed for this medication treatment line

    ShortWhether and which type of substitution is allowed for this medication treatment line
    Control0..1
    TypeBackboneElement
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    54. IHEMultilineOrder.medicationLine.substitution.id
    Definition

    Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.

    ShortUnique id for inter-element referencing
    Control0..1
    This element is affected by the following invariants: ele-1
    Typeidstring
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    56. IHEMultilineOrder.medicationLine.substitution.extension
    Definition

    May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.

    ShortAdditional content defined by implementations
    Comments

    There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

    Control0..*
    TypeExtension
    Is Modifierfalse
    Summaryfalse
    Alternate Namesextensions, user content
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
    SlicingThis element introduces a set of slices on IHEMultilineOrder.medicationLine.substitution.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 58. IHEMultilineOrder.medicationLine.substitution.modifierExtension
      Definition

      May be used to represent additional information that is not part of the basic definition of the element and that modifies the understanding of the element in which it is contained and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.

      Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).

      ShortExtensions that cannot be ignored even if unrecognized
      Comments

      There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.

      Control0..*
      TypeExtension
      Is Modifiertrue because Modifier extensions are expected to modify the meaning or interpretation of the element that contains them
      Summarytrue
      Requirements

      Modifier extensions allow for extensions that cannot be safely ignored to be clearly distinguished from the vast majority of extensions which can be safely ignored. This promotes interoperability by eliminating the need for implementers to prohibit the presence of extensions. For further information, see the definition of modifier extensions.

      Alternate Namesextensions, user content, modifiers
      Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
      ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists())
      60. IHEMultilineOrder.medicationLine.substitution.allowed[x]
      Definition

      Whether substitution is allowed or not (or type of substitution).

      ShortWhether substitution is allowed or not (or type of substitution).
      Control0..1
      TypeChoice of: boolean, CodeableConcept
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      62. IHEMultilineOrder.medicationLine.substitution.reason[x]
      Definition

      Reason for the substitution requirement

      ShortReason for the substitution requirement
      Control0..1
      TypeChoice of: CodeableConcept, string
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      64. IHEMultilineOrder.medicationLine.offLabel
      Definition

      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.

      ShortIndicates 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.
      Control0..1
      TypeBase
      66. IHEMultilineOrder.medicationLine.offLabel.isOffLabelUse
      Definition

      Indicates off-label use. Must be 'true' when .reason is provided.

      ShortIndicates off-label use. Must be 'true' when .reason is provided.
      Control1..1
      Typeboolean
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      68. IHEMultilineOrder.medicationLine.offLabel.reason[x]
      Definition

      Reason or related clarification for off-label use.

      ShortReason or related clarification for off-label use.
      Control0..*
      TypeChoice of: CodeableConcept, string
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      70. IHEMultilineOrder.medicationLine.repeatsAllowed
      Definition

      How many times the prescription item can be dispensed in addition to the original dispense.

      ShortNumber of refills authorized
      Control0..1
      Typeinteger
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension
      72. IHEMultilineOrder.medicationLine.minimumDispenseInterval
      Definition

      If a prescription allows for repeated dispensations, the interval between dispensations shall be stated here.

      ShortMinimum Dispense Interval
      Control0..1
      TypeDuration
      74. IHEMultilineOrder.comment
      Definition

      Additional information or comments

      ShortAdditional information or comments
      Control0..*
      Typestring
      Primitive ValueThis primitive element may be present, or absent, or replaced by an extension