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-06-27 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 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
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... status 1..1 code The status of the dispense record
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... 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 1..1 Reference(BePatient) Reference to person that performed the recording or reporting
.... organization 1..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 0..* 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 0..1 Reference() The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosageInstructions 0..1 Dosage The structured dosage or text instructions for use
.... note 0..* Annotation Additional information about the dispensed item - this can be relevant history, any remarks by the patient or professional, etc.
... 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

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)
... status 1..1 code The status of the dispense record
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... dispenser 1..1 Reference(BePatient) Reference to person that performed the recording or reporting
.... organization 1..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 0..* BackboneElement Each product that was dispensed
.... product 0..1 Reference() The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosageInstructions 0..1 Dosage The structured dosage or text instructions for use
.... note 0..* Annotation Additional information about the dispensed item - this can be relevant history, any remarks by the patient or professional, etc.
... 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
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... status 1..1 code The status of the dispense record
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... 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 1..1 Reference(BePatient) Reference to person that performed the recording or reporting
.... organization 1..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 0..* 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 0..1 Reference() The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosageInstructions 0..1 Dosage The structured dosage or text instructions for use
.... note 0..* Annotation Additional information about the dispensed item - this can be relevant history, any remarks by the patient or professional, etc.
... 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

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)
... status 1..1 code The status of the dispense record
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... 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 1..1 Reference(BePatient) Reference to person that performed the recording or reporting
.... organization 1..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 0..* 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 0..1 Reference() The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosageInstructions 0..1 Dosage The structured dosage or text instructions for use
.... note 0..* Annotation Additional information about the dispensed item - this can be relevant history, any remarks by the patient or professional, etc.
... 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

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)
... status 1..1 code The status of the dispense record
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
.... dispenser 1..1 Reference(BePatient) Reference to person that performed the recording or reporting
.... organization 1..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 0..* BackboneElement Each product that was dispensed
.... product 0..1 Reference() The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosageInstructions 0..1 Dosage The structured dosage or text instructions for use
.... note 0..* Annotation Additional information about the dispensed item - this can be relevant history, any remarks by the patient or professional, etc.
... 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

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. BeModelMedicationDispense 0..* Base Medication Dispense (model)
... status 1..1 code The status of the dispense record
... statusReason 0..1 CodeableConcept The reason why the dispense was not performed, if it was not performed
... identifier 0..* Identifier The business identifier(s) for the medication dispense record
... 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 1..1 Reference(BePatient) Reference to person that performed the recording or reporting
.... organization 1..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 0..* 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 0..1 Reference() The product that was dispensed - coded or not (e.g. for magistral preparations)
.... quantityDispensed 0..1 SimpleQuantity The amount of product that was dispensed
.... dosageInstructions 0..1 Dosage The structured dosage or text instructions for use
.... note 0..* Annotation Additional information about the dispensed item - this can be relevant history, any remarks by the patient or professional, etc.
... 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

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..*