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: BeModelMedicationDispense

Official URL: https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/be-model-medicationdispense Version: 1.1.0
Draft as of 2025-04-23 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 Line Dispense      

Usage:

  • This Logical Model Profile 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 & Constraintsdoco
.. be-model-medicationdispense 0..* Base BeModelMedicationDispense
... identifier 0..1 Identifier The business identifier(s) for the medication dispense record
... patient 1..1 Reference(BePatient) The person for which the medication is dispensed
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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 & Constraintsdoco
.. be-model-medicationdispense 0..* Base BeModelMedicationDispense
... identifier 0..1 Identifier The business identifier(s) for the medication dispense record
... patient 1..1 Reference(BePatient) The person for which the medication is dispensed
... 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
... 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 & Constraintsdoco
.. be-model-medicationdispense 0..* Base BeModelMedicationDispense
... identifier 0..1 Identifier The business identifier(s) for the medication dispense record
... patient 1..1 Reference(BePatient) The person for which the medication is dispensed
... 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
... 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 & Constraintsdoco
.. be-model-medicationdispense 0..* Base BeModelMedicationDispense
... identifier 0..1 Identifier The business identifier(s) for the medication dispense record
... patient 1..1 Reference(BePatient) The person for which the medication is dispensed
... dispenser 0..1 BackboneElement The dispenser, if known and relevant
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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
... prescription 0..1 BackboneElement Information about a prescription related to the dispense
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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
ele-1: All FHIR elements must have a @value or children
.... @id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
ele-1: All FHIR elements must have a @value or children
ext-1: Must have either extensions or value[x], not both
.... 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 & Constraintsdoco
.. be-model-medicationdispense 0..* Base BeModelMedicationDispense
... identifier 0..1 Identifier The business identifier(s) for the medication dispense record
... patient 1..1 Reference(BePatient) The person for which the medication is dispensed
... 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
... 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 & Constraintsdoco
.. be-model-medicationdispense 0..* Base BeModelMedicationDispense
... identifier 0..1 Identifier The business identifier(s) for the medication dispense record
... patient 1..1 Reference(BePatient) The person for which the medication is dispensed
... 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
... 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:

MedicationLineuniqueIdentifier 1..1versionIdentifier 1..1lastUpdatedDate 1..1status 1..1statusReason 0..1recordedDate 0..1assertedDate 0..1recorder 1..1patient 1..1category 0..1originType 0..1medication 1..1product 1..1type 1..1exposure 0..1reason 0..*reference 0..1code 0..1effectivePeriod 1..1start 1..1end 0..1adherence 0..1code 1..1adherenceReason 0..1dosage 0..1dosageDetails 0..1dosageOverride 0..1dosageOverrideReason 1..1note 0..*dispenseRequestNeeded 0..*visibility 0..*