Medication Prescription and Delivery (MPD)
0.1.0 - ci-build International flag

Medication Prescription and Delivery (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: MedicationPrescription - Detailed Descriptions

Active as of 2024-12-31

Definitions for the MedicationPrescription logical model.

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

0. MedicationPrescription
Definition

Logical model for medication prescription (or some other form of order)


Base definition for all types defined in FHIR type system.

ShortMedication prescription (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. MedicationPrescription.identifier
Definition

Business identifier(s) for the prescription

ShortBusiness identifier(s) for the prescription
NoteThis is a business identifier, not a resource identifier (see discussion)
Control1..*
TypeElement(II)
4. MedicationPrescription.groupIdentifier
Definition

Identifier for the group that this prescription belongs to. This might be the common identifier in use cases where one national prescription contains several medication items, which can be handled as separate orders

ShortIdentifier for the group that this prescription belongs to. This might be the common identifier in use cases where one national prescription contains several medication items, which can be handled as separate orders
Control0..1
TypeElement(II)
6. MedicationPrescription.recordingDate
Definition

Time of authoring the prescription/draft in the information system

ShortTime of authoring the prescription/draft in the information system
Control0..1
TypeElement(DT)
8. MedicationPrescription.issueDate
Definition

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

ShortTime of issuing (signing) the prescription by health care practicioner
Control1..1
TypeElement(DT)
10. MedicationPrescription.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. MedicationPrescription.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)
14. MedicationPrescription.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..*
TypeElement(CD)
16. MedicationPrescription.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
TypeElement(DT)
18. MedicationPrescription.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
TypeElement(DT)
20. MedicationPrescription.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))
22. MedicationPrescription.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
TypeElement(CD)
24. MedicationPrescription.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..*
TypeElement(CD)
26. MedicationPrescription.statusReasonText
Definition

Textual reason for the current status of prescription

ShortTextual reason for the current status of prescription
Control0..1
TypeElement(ST)
28. MedicationPrescription.medication
Definition

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

ShortPrescribed product, branded, generic, virtual, extemporal, etc
Control1..1
TypeReference(Medicinal product (model))
30. MedicationPrescription.indication
Definition

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

ShortReason for the prescription (typically diagnosis, or a procedure)
Control0..*
TypeElement(CD)
32. MedicationPrescription.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
TypeElement(ST)
34. MedicationPrescription.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
36. MedicationPrescription.usageInstructions
Definition

Dosaging and administration instructions

ShortDosaging and administration instructions
Control0..*
TypeReference(Dosaging (model))
38. MedicationPrescription.preparationInstructions
Definition

Additional instructions about preparation or dispense

ShortAdditional instructions about preparation or dispense
Control0..1
TypeElement(ST)
40. MedicationPrescription.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(Class)
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
42. MedicationPrescription.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
44. MedicationPrescription.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 MedicationPrescription.substitution.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 46. MedicationPrescription.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())
    48. MedicationPrescription.substitution.allowed
    Definition

    Whether substitution is allowed or not.

    ShortWhether substitution is allowed or not.
    Control0..1
    TypeElement(BL)
    50. MedicationPrescription.substitution.type
    Definition

    The type of substitution that is allowed.

    ShortThe type of substitution that is allowed.
    Control1..1
    TypeElement(CD)
    52. MedicationPrescription.substitution.reason[x]
    Definition

    Reason for the substitution requirement

    ShortReason for the substitution requirement
    Control0..1
    TypeElement(CD, ST)
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    54. MedicationPrescription.comment
    Definition

    Additional information or comments

    ShortAdditional information or comments
    Control0..*
    TypeElement(ST)

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

    0. MedicationPrescription
    Definition

    Logical model for medication prescription (or some other form of order)

    ShortMedication prescription (model)
    Logical ModelInstances of this logical model are not marked to be the target of a Reference
    2. MedicationPrescription.identifier
    Definition

    Business identifier(s) for the prescription

    ShortBusiness identifier(s) for the prescription
    NoteThis is a business identifier, not a resource identifier (see discussion)
    Control1..*
    TypeElement(II)
    4. MedicationPrescription.groupIdentifier
    Definition

    Identifier for the group that this prescription belongs to. This might be the common identifier in use cases where one national prescription contains several medication items, which can be handled as separate orders

    ShortIdentifier for the group that this prescription belongs to. This might be the common identifier in use cases where one national prescription contains several medication items, which can be handled as separate orders
    Control0..1
    TypeElement(II)
    6. MedicationPrescription.recordingDate
    Definition

    Time of authoring the prescription/draft in the information system

    ShortTime of authoring the prescription/draft in the information system
    Control0..1
    TypeElement(DT)
    8. MedicationPrescription.issueDate
    Definition

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

    ShortTime of issuing (signing) the prescription by health care practicioner
    Control1..1
    TypeElement(DT)
    10. MedicationPrescription.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. MedicationPrescription.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)
    14. MedicationPrescription.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..*
    TypeElement(CD)
    16. MedicationPrescription.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
    TypeElement(DT)
    18. MedicationPrescription.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
    TypeElement(DT)
    20. MedicationPrescription.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))
    22. MedicationPrescription.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
    TypeElement(CD)
    24. MedicationPrescription.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..*
    TypeElement(CD)
    26. MedicationPrescription.statusReasonText
    Definition

    Textual reason for the current status of prescription

    ShortTextual reason for the current status of prescription
    Control0..1
    TypeElement(ST)
    28. MedicationPrescription.medication
    Definition

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

    ShortPrescribed product, branded, generic, virtual, extemporal, etc
    Control1..1
    TypeReference(Medicinal product (model))
    30. MedicationPrescription.indication
    Definition

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

    ShortReason for the prescription (typically diagnosis, or a procedure)
    Control0..*
    TypeElement(CD)
    32. MedicationPrescription.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
    TypeElement(ST)
    34. MedicationPrescription.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
    36. MedicationPrescription.usageInstructions
    Definition

    Dosaging and administration instructions

    ShortDosaging and administration instructions
    Control0..*
    TypeReference(Dosaging (model))
    38. MedicationPrescription.preparationInstructions
    Definition

    Additional instructions about preparation or dispense

    ShortAdditional instructions about preparation or dispense
    Control0..1
    TypeElement(ST)
    40. MedicationPrescription.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(Class)
    42. MedicationPrescription.substitution.allowed
    Definition

    Whether substitution is allowed or not.

    ShortWhether substitution is allowed or not.
    Control0..1
    TypeElement(BL)
    44. MedicationPrescription.substitution.type
    Definition

    The type of substitution that is allowed.

    ShortThe type of substitution that is allowed.
    Control1..1
    TypeElement(CD)
    46. MedicationPrescription.substitution.reason[x]
    Definition

    Reason for the substitution requirement

    ShortReason for the substitution requirement
    Control0..1
    TypeElement(CD, ST)
    [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
    48. MedicationPrescription.comment
    Definition

    Additional information or comments

    ShortAdditional information or comments
    Control0..*
    TypeElement(ST)

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

    0. MedicationPrescription
    Definition

    Logical model for medication prescription (or some other form of order)

    ShortMedication prescription (model)
    Control0..*
    Is Modifierfalse
    Logical ModelInstances of this logical model are not marked to be the target of a Reference
    2. MedicationPrescription.identifier
    Definition

    Business identifier(s) for the prescription

    ShortBusiness identifier(s) for the prescription
    NoteThis is a business identifier, not a resource identifier (see discussion)
    Control1..*
    TypeElement(II)
    4. MedicationPrescription.groupIdentifier
    Definition

    Identifier for the group that this prescription belongs to. This might be the common identifier in use cases where one national prescription contains several medication items, which can be handled as separate orders

    ShortIdentifier for the group that this prescription belongs to. This might be the common identifier in use cases where one national prescription contains several medication items, which can be handled as separate orders
    Control0..1
    TypeElement(II)
    6. MedicationPrescription.recordingDate
    Definition

    Time of authoring the prescription/draft in the information system

    ShortTime of authoring the prescription/draft in the information system
    Control0..1
    TypeElement(DT)
    8. MedicationPrescription.issueDate
    Definition

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

    ShortTime of issuing (signing) the prescription by health care practicioner
    Control1..1
    TypeElement(DT)
    10. MedicationPrescription.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. MedicationPrescription.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)
    14. MedicationPrescription.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..*
    TypeElement(CD)
    16. MedicationPrescription.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
    TypeElement(DT)
    18. MedicationPrescription.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
    TypeElement(DT)
    20. MedicationPrescription.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))
    22. MedicationPrescription.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
    TypeElement(CD)
    24. MedicationPrescription.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..*
    TypeElement(CD)
    26. MedicationPrescription.statusReasonText
    Definition

    Textual reason for the current status of prescription

    ShortTextual reason for the current status of prescription
    Control0..1
    TypeElement(ST)
    28. MedicationPrescription.medication
    Definition

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

    ShortPrescribed product, branded, generic, virtual, extemporal, etc
    Control1..1
    TypeReference(Medicinal product (model))
    30. MedicationPrescription.indication
    Definition

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

    ShortReason for the prescription (typically diagnosis, or a procedure)
    Control0..*
    TypeElement(CD)
    32. MedicationPrescription.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
    TypeElement(ST)
    34. MedicationPrescription.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
    36. MedicationPrescription.usageInstructions
    Definition

    Dosaging and administration instructions

    ShortDosaging and administration instructions
    Control0..*
    TypeReference(Dosaging (model))
    38. MedicationPrescription.preparationInstructions
    Definition

    Additional instructions about preparation or dispense

    ShortAdditional instructions about preparation or dispense
    Control0..1
    TypeElement(ST)
    40. MedicationPrescription.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(Class)
    Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
    42. MedicationPrescription.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
    Typeid
    Is Modifierfalse
    XML FormatIn the XML format, this property is represented as an attribute.
    Summaryfalse
    44. MedicationPrescription.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 MedicationPrescription.substitution.extension. The slices areUnordered and Open, and can be differentiated using the following discriminators:
    • value @ url
    • 46. MedicationPrescription.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())
      48. MedicationPrescription.substitution.allowed
      Definition

      Whether substitution is allowed or not.

      ShortWhether substitution is allowed or not.
      Control0..1
      TypeElement(BL)
      50. MedicationPrescription.substitution.type
      Definition

      The type of substitution that is allowed.

      ShortThe type of substitution that is allowed.
      Control1..1
      TypeElement(CD)
      52. MedicationPrescription.substitution.reason[x]
      Definition

      Reason for the substitution requirement

      ShortReason for the substitution requirement
      Control0..1
      TypeElement(CD, ST)
      [x] NoteSeeChoice of Data Typesfor further information about how to use [x]
      54. MedicationPrescription.comment
      Definition

      Additional information or comments

      ShortAdditional information or comments
      Control0..*
      TypeElement(ST)