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 Dispense (model)

Official URL: https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/BeModelMedicationDispense Version: 1.1.0
Draft as of 2025-07-25 Computable Name: BeModelMedicationDispense

This is the logical model for the Dispense Record entry - the information that can be captured upon the act of dispensing - in a hospital pharmacy, or a community pharmacy. This is not for a future dispense, rather a record of an actual dispense.

Relationship with other elements:

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

 Medication  Medication Line Prescription Dispense      

Usages:

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

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... recordedDate 0..1 dateTime The date (or date+time) when the dispense was recorded
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) The medication line that this dispense is related to
... status 1..1 code The status of the dispense record
Binding: MedicationDispense Status Codes (required)
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
Binding: MedicationDispense Status Reason Codes (required)
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... @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
.... dispenser 0..1 Reference(BePractitioner) Reference to person that performed the recording or reporting
.... organization 0..1 Reference(BeOrganization) Reference to person that performed the recording or reporting
... dispenseDate 1..1 dateTime The date (or date+time) when the dispense ocurred
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
.... @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
.... isPrescribed 0..1 boolean Whether this dispense was performed against a prescription
.... prescription 0..1 Reference() The prescription identification
... dispensedItem 1..1 BackboneElement Each product that was dispensed
.... @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
.... product 1..1 CodeableConcept The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosage 0..* Dosage The structured dosage or text instructions for use
.... offLabel 0..1 CodeableConcept Text or coded reason for different dosage
... note 0..* Annotation Additional information about the dispense - this can be relevant history, any remarks by the patient or professional, etc.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
BeModelMedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status
From the FHIR Standard
BeModelMedicationDispense.statusReasonrequiredMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
From the FHIR Standard

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
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... recordedDate 0..1 dateTime The date (or date+time) when the dispense was recorded
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) The medication line that this dispense is related to
... status 1..1 code The status of the dispense record
Binding: MedicationDispense Status Codes (required)
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
Binding: MedicationDispense Status Reason Codes (required)
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... dispenser 0..1 Reference(BePractitioner) Reference to person that performed the recording or reporting
.... organization 0..1 Reference(BeOrganization) Reference to person that performed the recording or reporting
... dispenseDate 1..1 dateTime The date (or date+time) when the dispense ocurred
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
.... isPrescribed 0..1 boolean Whether this dispense was performed against a prescription
.... prescription 0..1 Reference() The prescription identification
... dispensedItem 1..1 BackboneElement Each product that was dispensed
.... product 1..1 CodeableConcept The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosage 0..* Dosage The structured dosage or text instructions for use
.... offLabel 0..1 CodeableConcept Text or coded reason for different dosage
... note 0..* Annotation Additional information about the dispense - this can be relevant history, any remarks by the patient or professional, etc.

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
BeModelMedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status
From the FHIR Standard
BeModelMedicationDispense.statusReasonrequiredMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
From the FHIR Standard
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... recordedDate 0..1 dateTime The date (or date+time) when the dispense was recorded
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) The medication line that this dispense is related to
... status 1..1 code The status of the dispense record
Binding: MedicationDispense Status Codes (required)
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
Binding: MedicationDispense Status Reason Codes (required)
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... @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
.... dispenser 0..1 Reference(BePractitioner) Reference to person that performed the recording or reporting
.... organization 0..1 Reference(BeOrganization) Reference to person that performed the recording or reporting
... dispenseDate 1..1 dateTime The date (or date+time) when the dispense ocurred
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
.... @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
.... isPrescribed 0..1 boolean Whether this dispense was performed against a prescription
.... prescription 0..1 Reference() The prescription identification
... dispensedItem 1..1 BackboneElement Each product that was dispensed
.... @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
.... product 1..1 CodeableConcept The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosage 0..* Dosage The structured dosage or text instructions for use
.... offLabel 0..1 CodeableConcept Text or coded reason for different dosage
... note 0..* Annotation Additional information about the dispense - this can be relevant history, any remarks by the patient or professional, etc.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
BeModelMedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status
From the FHIR Standard
BeModelMedicationDispense.statusReasonrequiredMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
From the FHIR Standard

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
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... recordedDate 0..1 dateTime The date (or date+time) when the dispense was recorded
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) The medication line that this dispense is related to
... status 1..1 code The status of the dispense record
Binding: MedicationDispense Status Codes (required)
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
Binding: MedicationDispense Status Reason Codes (required)
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... @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
.... dispenser 0..1 Reference(BePractitioner) Reference to person that performed the recording or reporting
.... organization 0..1 Reference(BeOrganization) Reference to person that performed the recording or reporting
... dispenseDate 1..1 dateTime The date (or date+time) when the dispense ocurred
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
.... @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
.... isPrescribed 0..1 boolean Whether this dispense was performed against a prescription
.... prescription 0..1 Reference() The prescription identification
... dispensedItem 1..1 BackboneElement Each product that was dispensed
.... @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
.... product 1..1 CodeableConcept The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosage 0..* Dosage The structured dosage or text instructions for use
.... offLabel 0..1 CodeableConcept Text or coded reason for different dosage
... note 0..* Annotation Additional information about the dispense - this can be relevant history, any remarks by the patient or professional, etc.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
BeModelMedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status
From the FHIR Standard
BeModelMedicationDispense.statusReasonrequiredMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
From the FHIR Standard

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
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... recordedDate 0..1 dateTime The date (or date+time) when the dispense was recorded
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) The medication line that this dispense is related to
... status 1..1 code The status of the dispense record
Binding: MedicationDispense Status Codes (required)
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
Binding: MedicationDispense Status Reason Codes (required)
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... dispenser 0..1 Reference(BePractitioner) Reference to person that performed the recording or reporting
.... organization 0..1 Reference(BeOrganization) Reference to person that performed the recording or reporting
... dispenseDate 1..1 dateTime The date (or date+time) when the dispense ocurred
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
.... isPrescribed 0..1 boolean Whether this dispense was performed against a prescription
.... prescription 0..1 Reference() The prescription identification
... dispensedItem 1..1 BackboneElement Each product that was dispensed
.... product 1..1 CodeableConcept The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosage 0..* Dosage The structured dosage or text instructions for use
.... offLabel 0..1 CodeableConcept Text or coded reason for different dosage
... note 0..* Annotation Additional information about the dispense - this can be relevant history, any remarks by the patient or professional, etc.

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
BeModelMedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status
From the FHIR Standard
BeModelMedicationDispense.statusReasonrequiredMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
From the FHIR Standard

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... recordedDate 0..1 dateTime The date (or date+time) when the dispense was recorded
... basedOnMedicationLine 0..1 Reference(Medication Line (model)) The medication line that this dispense is related to
... status 1..1 code The status of the dispense record
Binding: MedicationDispense Status Codes (required)
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
Binding: MedicationDispense Status Reason Codes (required)
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... @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
.... dispenser 0..1 Reference(BePractitioner) Reference to person that performed the recording or reporting
.... organization 0..1 Reference(BeOrganization) Reference to person that performed the recording or reporting
... dispenseDate 1..1 dateTime The date (or date+time) when the dispense ocurred
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
.... @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
.... isPrescribed 0..1 boolean Whether this dispense was performed against a prescription
.... prescription 0..1 Reference() The prescription identification
... dispensedItem 1..1 BackboneElement Each product that was dispensed
.... @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
.... product 1..1 CodeableConcept The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosage 0..* Dosage The structured dosage or text instructions for use
.... offLabel 0..1 CodeableConcept Text or coded reason for different dosage
... note 0..* Annotation Additional information about the dispense - this can be relevant history, any remarks by the patient or professional, etc.

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
BeModelMedicationDispense.statusrequiredMedicationDispense Status Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status
From the FHIR Standard
BeModelMedicationDispense.statusReasonrequiredMedicationDispense Status Reason Codes
http://hl7.org/fhir/ValueSet/medicationdispense-status-reason
From the FHIR Standard

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:

BeModelMedicationDispensestatus 1..1statusReason 0..1medicationLine 0..1identifier 0..*patient 1..1dispenser 0..1dispenser 1..1organization 1..1recordedDate 1..1dispenseDate 1..1prescription 0..1prescription 0..1dispensedItem 1..1product 1..1quantityDispensed 0..1dosageInstructions 0..1offLabel 0..1note 0..*