Medication
1.1.0 - STU Belgium flag

Medication, published by HL7 Belgium. This guide is not an authorized publication; it is the continuous build for version 1.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-be/medication/tree/master and changes regularly. See the Directory of published versions

Logical Model: Medication prescription (model)

Official URL: https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/BeModelMedicationPrescription Version: 1.1.0
Draft as of 2025-06-27 Computable Name: BeModelMedicationPrescription

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

Relationship with other elements:

The Medication Prescription relates to the other data structures in the following way:

Medication Product  Medication Line  Prescription  Dispense          

Usages:

  • This Logical Model 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 & Constraints    Filter: Filtersdoco
.. BeModelMedicationPrescription 0..* Base Medication prescription (model)
Instances of this logical model can be the target of a Reference
... groupIdentifier 0..1 Identifier(5.2.0) 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
... identifier 1..* Identifier(5.2.0) Business identifier(s) for the prescription
... prescriber 1..1 Reference(Practitioner | PractitionerRole) The person who made the prescription, and who takes the responsibility of the treatment
... issueDate 1..1 dateTime Time of issuing (signing) the prescription by health care practicioner
... patient 1..1 Reference() The person for whom the medication is prescribed/ordered
... recorder 0..1 Reference(Practitioner | PractitionerRole) The recorder of the prescription/draft in the information system
... recordedDate 0..1 dateTime Time of authoring the prescription/draft in the information system
... status 1..1 CodeableConcept Status of the prescription, this should not be status of treatment
... statusReason 0..* CodeableConcept Reason for the current status of prescription, for example the reason why the prescription was made invalid
... category 0..* CodeableConcept Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
... validFrom 0..1 dateTime Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
... validUntil 0..1 dateTime The validity period end date. The prescription is not dispensable after this date.
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) Link to the Medication Line from which this request is based
... medication 1..1 Reference(Medication (model)) Prescribed product, branded, generic, virtual, extemporaneous, etc
... indication 0..* BackboneElement Reason for the prescription (typically diagnosis, or a procedure)
.... @id 0..1 string 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
.... reference 0..* Reference() Reason for the prescription (typically diagnosis, or a procedure)
.... code 0..* CodeableConcept Reason or text for the prescription (typically diagnosis, or a procedure)
... dosage 1..* BeModelDosagingInformation Dosaging and administration instructions
... dispenseRequest 0..1 BackboneElement Dispense Request or authorization for the prescribed medication
.... @id 0..1 string 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
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... quantityPerDispense 0..1 SimpleQuantity Amount of medication to supply per dispense
... substitution 0..1 BackboneElement Whether substitution is allowed, and reason
.... @id 0..1 string 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
.... substitutionallowed 1..1 boolean Substitution of the product is allowed.
.... substitutionReason 0..1 CodeableConcept Coded or Text reason for the no-substitution requirement
... offLabel 0..1 boolean Off-Label / Dosage Override
.... @id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional content defined by implementations
.... @value 0..1 boolean Primitive value for boolean
.... isOffLabelUse 0..1 boolean Off-Label / Dosage Override
.... reason 1..1 CodeableConcept Dosage Override reason
... note 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 & Constraints    Filter: Filtersdoco
.. BeModelMedicationPrescription 0..* Base Medication prescription (model)
Instances of this logical model can be the target of a Reference
... groupIdentifier 0..1 Identifier(5.2.0) 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
... identifier 1..* Identifier(5.2.0) Business identifier(s) for the prescription
... prescriber 1..1 Reference(Practitioner | PractitionerRole) The person who made the prescription, and who takes the responsibility of the treatment
... issueDate 1..1 dateTime Time of issuing (signing) the prescription by health care practicioner
... patient 1..1 Reference() The person for whom the medication is prescribed/ordered
... recorder 0..1 Reference(Practitioner | PractitionerRole) The recorder of the prescription/draft in the information system
... recordedDate 0..1 dateTime Time of authoring the prescription/draft in the information system
... status 1..1 CodeableConcept Status of the prescription, this should not be status of treatment
... statusReason 0..* CodeableConcept Reason for the current status of prescription, for example the reason why the prescription was made invalid
... category 0..* CodeableConcept Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
... validFrom 0..1 dateTime Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
... validUntil 0..1 dateTime The validity period end date. The prescription is not dispensable after this date.
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) Link to the Medication Line from which this request is based
... medication 1..1 Reference(Medication (model)) Prescribed product, branded, generic, virtual, extemporaneous, etc
... indication 0..* BackboneElement Reason for the prescription (typically diagnosis, or a procedure)
.... reference 0..* Reference() Reason for the prescription (typically diagnosis, or a procedure)
.... code 0..* CodeableConcept Reason or text for the prescription (typically diagnosis, or a procedure)
... dosage 1..* BeModelDosagingInformation Dosaging and administration instructions
... dispenseRequest 0..1 BackboneElement Dispense Request or authorization for the prescribed medication
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... quantityPerDispense 0..1 SimpleQuantity Amount of medication to supply per dispense
... substitution 0..1 BackboneElement Whether substitution is allowed, and reason
.... substitutionallowed 1..1 boolean Substitution of the product is allowed.
.... substitutionReason 0..1 CodeableConcept Coded or Text reason for the no-substitution requirement
... offLabel 0..1 boolean Off-Label / Dosage Override
.... isOffLabelUse 0..1 boolean Off-Label / Dosage Override
.... reason 1..1 CodeableConcept Dosage Override reason
... note 0..* string Additional information or comments

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationPrescription 0..* Base Medication prescription (model)
Instances of this logical model can be the target of a Reference
... groupIdentifier 0..1 Identifier(5.2.0) 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
... identifier 1..* Identifier(5.2.0) Business identifier(s) for the prescription
... prescriber 1..1 Reference(Practitioner | PractitionerRole) The person who made the prescription, and who takes the responsibility of the treatment
... issueDate 1..1 dateTime Time of issuing (signing) the prescription by health care practicioner
... patient 1..1 Reference() The person for whom the medication is prescribed/ordered
... recorder 0..1 Reference(Practitioner | PractitionerRole) The recorder of the prescription/draft in the information system
... recordedDate 0..1 dateTime Time of authoring the prescription/draft in the information system
... status 1..1 CodeableConcept Status of the prescription, this should not be status of treatment
... statusReason 0..* CodeableConcept Reason for the current status of prescription, for example the reason why the prescription was made invalid
... category 0..* CodeableConcept Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
... validFrom 0..1 dateTime Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
... validUntil 0..1 dateTime The validity period end date. The prescription is not dispensable after this date.
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) Link to the Medication Line from which this request is based
... medication 1..1 Reference(Medication (model)) Prescribed product, branded, generic, virtual, extemporaneous, etc
... indication 0..* BackboneElement Reason for the prescription (typically diagnosis, or a procedure)
.... @id 0..1 string 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
.... reference 0..* Reference() Reason for the prescription (typically diagnosis, or a procedure)
.... code 0..* CodeableConcept Reason or text for the prescription (typically diagnosis, or a procedure)
... dosage 1..* BeModelDosagingInformation Dosaging and administration instructions
... dispenseRequest 0..1 BackboneElement Dispense Request or authorization for the prescribed medication
.... @id 0..1 string 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
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... quantityPerDispense 0..1 SimpleQuantity Amount of medication to supply per dispense
... substitution 0..1 BackboneElement Whether substitution is allowed, and reason
.... @id 0..1 string 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
.... substitutionallowed 1..1 boolean Substitution of the product is allowed.
.... substitutionReason 0..1 CodeableConcept Coded or Text reason for the no-substitution requirement
... offLabel 0..1 boolean Off-Label / Dosage Override
.... @id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional content defined by implementations
.... @value 0..1 boolean Primitive value for boolean
.... isOffLabelUse 0..1 boolean Off-Label / Dosage Override
.... reason 1..1 CodeableConcept Dosage Override reason
... note 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 & Constraints    Filter: Filtersdoco
.. BeModelMedicationPrescription 0..* Base Medication prescription (model)
Instances of this logical model can be the target of a Reference
... groupIdentifier 0..1 Identifier(5.2.0) 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
... identifier 1..* Identifier(5.2.0) Business identifier(s) for the prescription
... prescriber 1..1 Reference(Practitioner | PractitionerRole) The person who made the prescription, and who takes the responsibility of the treatment
... issueDate 1..1 dateTime Time of issuing (signing) the prescription by health care practicioner
... patient 1..1 Reference() The person for whom the medication is prescribed/ordered
... recorder 0..1 Reference(Practitioner | PractitionerRole) The recorder of the prescription/draft in the information system
... recordedDate 0..1 dateTime Time of authoring the prescription/draft in the information system
... status 1..1 CodeableConcept Status of the prescription, this should not be status of treatment
... statusReason 0..* CodeableConcept Reason for the current status of prescription, for example the reason why the prescription was made invalid
... category 0..* CodeableConcept Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
... validFrom 0..1 dateTime Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
... validUntil 0..1 dateTime The validity period end date. The prescription is not dispensable after this date.
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) Link to the Medication Line from which this request is based
... medication 1..1 Reference(Medication (model)) Prescribed product, branded, generic, virtual, extemporaneous, etc
... indication 0..* BackboneElement Reason for the prescription (typically diagnosis, or a procedure)
.... @id 0..1 string 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
.... reference 0..* Reference() Reason for the prescription (typically diagnosis, or a procedure)
.... code 0..* CodeableConcept Reason or text for the prescription (typically diagnosis, or a procedure)
... dosage 1..* BeModelDosagingInformation Dosaging and administration instructions
... dispenseRequest 0..1 BackboneElement Dispense Request or authorization for the prescribed medication
.... @id 0..1 string 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
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... quantityPerDispense 0..1 SimpleQuantity Amount of medication to supply per dispense
... substitution 0..1 BackboneElement Whether substitution is allowed, and reason
.... @id 0..1 string 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
.... substitutionallowed 1..1 boolean Substitution of the product is allowed.
.... substitutionReason 0..1 CodeableConcept Coded or Text reason for the no-substitution requirement
... offLabel 0..1 boolean Off-Label / Dosage Override
.... @id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional content defined by implementations
.... @value 0..1 boolean Primitive value for boolean
.... isOffLabelUse 0..1 boolean Off-Label / Dosage Override
.... reason 1..1 CodeableConcept Dosage Override reason
... note 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 & Constraints    Filter: Filtersdoco
.. BeModelMedicationPrescription 0..* Base Medication prescription (model)
Instances of this logical model can be the target of a Reference
... groupIdentifier 0..1 Identifier(5.2.0) 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
... identifier 1..* Identifier(5.2.0) Business identifier(s) for the prescription
... prescriber 1..1 Reference(Practitioner | PractitionerRole) The person who made the prescription, and who takes the responsibility of the treatment
... issueDate 1..1 dateTime Time of issuing (signing) the prescription by health care practicioner
... patient 1..1 Reference() The person for whom the medication is prescribed/ordered
... recorder 0..1 Reference(Practitioner | PractitionerRole) The recorder of the prescription/draft in the information system
... recordedDate 0..1 dateTime Time of authoring the prescription/draft in the information system
... status 1..1 CodeableConcept Status of the prescription, this should not be status of treatment
... statusReason 0..* CodeableConcept Reason for the current status of prescription, for example the reason why the prescription was made invalid
... category 0..* CodeableConcept Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
... validFrom 0..1 dateTime Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
... validUntil 0..1 dateTime The validity period end date. The prescription is not dispensable after this date.
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) Link to the Medication Line from which this request is based
... medication 1..1 Reference(Medication (model)) Prescribed product, branded, generic, virtual, extemporaneous, etc
... indication 0..* BackboneElement Reason for the prescription (typically diagnosis, or a procedure)
.... reference 0..* Reference() Reason for the prescription (typically diagnosis, or a procedure)
.... code 0..* CodeableConcept Reason or text for the prescription (typically diagnosis, or a procedure)
... dosage 1..* BeModelDosagingInformation Dosaging and administration instructions
... dispenseRequest 0..1 BackboneElement Dispense Request or authorization for the prescribed medication
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... quantityPerDispense 0..1 SimpleQuantity Amount of medication to supply per dispense
... substitution 0..1 BackboneElement Whether substitution is allowed, and reason
.... substitutionallowed 1..1 boolean Substitution of the product is allowed.
.... substitutionReason 0..1 CodeableConcept Coded or Text reason for the no-substitution requirement
... offLabel 0..1 boolean Off-Label / Dosage Override
.... isOffLabelUse 0..1 boolean Off-Label / Dosage Override
.... reason 1..1 CodeableConcept Dosage Override reason
... note 0..* string Additional information or comments

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationPrescription 0..* Base Medication prescription (model)
Instances of this logical model can be the target of a Reference
... groupIdentifier 0..1 Identifier(5.2.0) 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
... identifier 1..* Identifier(5.2.0) Business identifier(s) for the prescription
... prescriber 1..1 Reference(Practitioner | PractitionerRole) The person who made the prescription, and who takes the responsibility of the treatment
... issueDate 1..1 dateTime Time of issuing (signing) the prescription by health care practicioner
... patient 1..1 Reference() The person for whom the medication is prescribed/ordered
... recorder 0..1 Reference(Practitioner | PractitionerRole) The recorder of the prescription/draft in the information system
... recordedDate 0..1 dateTime Time of authoring the prescription/draft in the information system
... status 1..1 CodeableConcept Status of the prescription, this should not be status of treatment
... statusReason 0..* CodeableConcept Reason for the current status of prescription, for example the reason why the prescription was made invalid
... category 0..* CodeableConcept Category or categories of prescription. For example type of reimbursement, or type of prescription (e.g. hospital, private, etc).
... validFrom 0..1 dateTime Effective date of the prescription. The prescription is not dispensable before this date. In most cases this information repeats issueDate
... validUntil 0..1 dateTime The validity period end date. The prescription is not dispensable after this date.
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) Link to the Medication Line from which this request is based
... medication 1..1 Reference(Medication (model)) Prescribed product, branded, generic, virtual, extemporaneous, etc
... indication 0..* BackboneElement Reason for the prescription (typically diagnosis, or a procedure)
.... @id 0..1 string 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
.... reference 0..* Reference() Reason for the prescription (typically diagnosis, or a procedure)
.... code 0..* CodeableConcept Reason or text for the prescription (typically diagnosis, or a procedure)
... dosage 1..* BeModelDosagingInformation Dosaging and administration instructions
... dispenseRequest 0..1 BackboneElement Dispense Request or authorization for the prescribed medication
.... @id 0..1 string 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
.... dispenseInterval 0..1 Duration Minimum period of time between dispenses
.... quantityPerDispense 0..1 SimpleQuantity Amount of medication to supply per dispense
... substitution 0..1 BackboneElement Whether substitution is allowed, and reason
.... @id 0..1 string 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
.... substitutionallowed 1..1 boolean Substitution of the product is allowed.
.... substitutionReason 0..1 CodeableConcept Coded or Text reason for the no-substitution requirement
... offLabel 0..1 boolean Off-Label / Dosage Override
.... @id 0..1 string xml:id (or equivalent in JSON)
.... extension 0..* Extension Additional content defined by implementations
.... @value 0..1 boolean Primitive value for boolean
.... isOffLabelUse 0..1 boolean Off-Label / Dosage Override
.... reason 1..1 CodeableConcept Dosage Override reason
... note 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

Notes:

Detailed diagram:

BeModelMedicationPrescriptiongroupIdentifier 0..1identifier 1..*prescriber 1..1organization 0..1issueDate 1..1patient 1..1recorder 0..1recordedDate 0..1status 1..1statusReason 0..*category 0..*validFrom 0..1validUntil 0..1basedOnMedicationLine 0..1medication 1..1indication 0..*reference 0..*code 0..*dosage 1..*dispenseRequest 0..1dispenseInterval 0..1quantityPerDispense 0..1substitution 0..1substitutionallowed 1..1substitutionReason 0..1offLabel 0..1isOffLabelUse 0..1reason 1..1note 0..*instructionsForReimbursement 0..1