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 and changes regularly. See the Directory of published versions

Logical Model: MedicationPrescription - Detailed Descriptions

Active as of 2024-04-15

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)

ShortMedication prescription - Data 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 - Data 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 - Data 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 - Data 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)
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.usageInstructions
Definition

Dosaging and administration instructions

ShortDosaging and administration instructions
Control1..1
TypeReference(Dosaging - Data Model)
36. MedicationPrescription.preparationInstructions
Definition

Additional instructions about preparation or dispense

ShortAdditional instructions about preparation or dispense
Control0..*
TypeElement(ST)
38. MedicationPrescription.noSubstitution
Definition

Substitution is not allowed for a given reason

ShortSubstitution is not allowed for a given reason
Control0..1
TypeBackboneElement
40. MedicationPrescription.noSubstitution.noSubstitutionFlag
Definition

Substitution of the product is not allowed.

ShortSubstitution of the product is not allowed.
Control1..1
TypeElement(BL)
42. MedicationPrescription.noSubstitution.noSubstitutionReason
Definition

Coded reason for the no-substitution requirement

ShortCoded reason for the no-substitution requirement
Control0..1
TypeElement(CD)
44. MedicationPrescription.noSubstitution.noSubstitutionReasonText
Definition

Textual reason for the no-substitution requirement

ShortTextual reason for the no-substitution requirement
Control0..1
TypeElement(ST)
46. MedicationPrescription.allowedSubstitutionType
Definition

Specific type of substitution that is allowed. Can be an explicit relaxation to normal jurisdictional substitution rules, especially in hospital context.

ShortSpecific type of substitution that is allowed. Can be an explicit relaxation to normal jurisdictional substitution rules, especially in hospital context.
Control0..*
TypeElement(CD)
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)


Base definition for all types defined in FHIR type system.

ShortMedication prescription - Data ModelBase 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 - Data 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 - Data 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 - Data 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)
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.usageInstructions
Definition

Dosaging and administration instructions

ShortDosaging and administration instructions
Control1..1
TypeReference(Dosaging - Data Model)
36. MedicationPrescription.preparationInstructions
Definition

Additional instructions about preparation or dispense

ShortAdditional instructions about preparation or dispense
Control0..*
TypeElement(ST)
38. MedicationPrescription.noSubstitution
Definition

Substitution is not allowed for a given reason

ShortSubstitution is not allowed for a given reason
Control0..1
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
40. MedicationPrescription.noSubstitution.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())
42. MedicationPrescription.noSubstitution.noSubstitutionFlag
Definition

Substitution of the product is not allowed.

ShortSubstitution of the product is not allowed.
Control1..1
TypeElement(BL)
44. MedicationPrescription.noSubstitution.noSubstitutionReason
Definition

Coded reason for the no-substitution requirement

ShortCoded reason for the no-substitution requirement
Control0..1
TypeElement(CD)
46. MedicationPrescription.noSubstitution.noSubstitutionReasonText
Definition

Textual reason for the no-substitution requirement

ShortTextual reason for the no-substitution requirement
Control0..1
TypeElement(ST)
48. MedicationPrescription.allowedSubstitutionType
Definition

Specific type of substitution that is allowed. Can be an explicit relaxation to normal jurisdictional substitution rules, especially in hospital context.

ShortSpecific type of substitution that is allowed. Can be an explicit relaxation to normal jurisdictional substitution rules, especially in hospital context.
Control0..*
TypeElement(CD)
50. 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 - Data 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 - Data 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 - Data 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 - Data 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)
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.usageInstructions
Definition

Dosaging and administration instructions

ShortDosaging and administration instructions
Control1..1
TypeReference(Dosaging - Data Model)
36. MedicationPrescription.preparationInstructions
Definition

Additional instructions about preparation or dispense

ShortAdditional instructions about preparation or dispense
Control0..*
TypeElement(ST)
38. MedicationPrescription.noSubstitution
Definition

Substitution is not allowed for a given reason

ShortSubstitution is not allowed for a given reason
Control0..1
TypeBackboneElement
Invariantsele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()))
40. MedicationPrescription.noSubstitution.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
42. MedicationPrescription.noSubstitution.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.noSubstitution.extension. The slices are unordered and Open, and can be differentiated using the following discriminators:
  • value @ url
  • 44. MedicationPrescription.noSubstitution.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())
    46. MedicationPrescription.noSubstitution.noSubstitutionFlag
    Definition

    Substitution of the product is not allowed.

    ShortSubstitution of the product is not allowed.
    Control1..1
    TypeElement(BL)
    48. MedicationPrescription.noSubstitution.noSubstitutionReason
    Definition

    Coded reason for the no-substitution requirement

    ShortCoded reason for the no-substitution requirement
    Control0..1
    TypeElement(CD)
    50. MedicationPrescription.noSubstitution.noSubstitutionReasonText
    Definition

    Textual reason for the no-substitution requirement

    ShortTextual reason for the no-substitution requirement
    Control0..1
    TypeElement(ST)
    52. MedicationPrescription.allowedSubstitutionType
    Definition

    Specific type of substitution that is allowed. Can be an explicit relaxation to normal jurisdictional substitution rules, especially in hospital context.

    ShortSpecific type of substitution that is allowed. Can be an explicit relaxation to normal jurisdictional substitution rules, especially in hospital context.
    Control0..*
    TypeElement(CD)
    54. MedicationPrescription.comment
    Definition

    Additional information or comments

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