Medication
1.1.0 - STU

Medication, published by eHealth Platform. 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/ 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
Active as of 2026-03-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 Line may refer to a Medication Dispense that occurs in the treatment.

- Medication Dispense may be the trigger for creating or updating a Medication Line.

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
patient |  | 1..1 | Reference(BePatient) | The person for which the medication is dispensed
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.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
BeModelMedicationDispense.​status | Base | required | Medication dispense status codes | 📦4.0.1 | FHIR Std.
BeModelMedicationDispense.​statusReason | Base | required | Medication dispense status reason codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Base

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
patient |  | 1..1 | Reference(BePatient) | The person for which the medication is dispensed
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.
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
BeModelMedicationDispense.​status | Base | required | Medication dispense status codes | 📦4.0.1 | FHIR Std.
BeModelMedicationDispense.​statusReason | Base | required | Medication dispense status reason codes | 📦4.0.1 | FHIR Std.

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
patient |  | 1..1 | Reference(BePatient) | The person for which the medication is dispensed
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.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
BeModelMedicationDispense.​status | Base | required | Medication dispense status codes | 📦4.0.1 | FHIR Std.
BeModelMedicationDispense.​statusReason | Base | required | Medication dispense status reason codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Base

Summary

Mandatory: 0 element(5 nested mandatory elements)

Structures

This structure refers to these other structures:

- Medication Line (model) (https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/BeModelMedicationLine)
- BePatient (https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-patient)
- BePractitioner (https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-practitioner)
- BeOrganization (https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-organization)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
patient |  | 1..1 | Reference(BePatient) | The person for which the medication is dispensed
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.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
BeModelMedicationDispense.​status | Base | required | Medication dispense status codes | 📦4.0.1 | FHIR Std.
BeModelMedicationDispense.​statusReason | Base | required | Medication dispense status reason codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

Differential View

This structure is derived from Base

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
patient |  | 1..1 | Reference(BePatient) | The person for which the medication is dispensed
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.
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
BeModelMedicationDispense.​status | Base | required | Medication dispense status codes | 📦4.0.1 | FHIR Std.
BeModelMedicationDispense.​statusReason | Base | required | Medication dispense status reason codes | 📦4.0.1 | FHIR Std.

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
patient |  | 1..1 | Reference(BePatient) | The person for which the medication is dispensed
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.
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
BeModelMedicationDispense.​status | Base | required | Medication dispense status codes | 📦4.0.1 | FHIR Std.
BeModelMedicationDispense.​statusReason | Base | required | Medication dispense status reason codes | 📦4.0.1 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children | `hasValue() or (children().count() > id.count())`
ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both | `extension.exists() != value.exists()`

This structure is derived from Base

Summary

Mandatory: 0 element(5 nested mandatory elements)

Structures

This structure refers to these other structures:

- Medication Line (model) (https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/BeModelMedicationLine)
- BePatient (https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-patient)
- BePractitioner (https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-practitioner)
- BeOrganization (https://www.ehealth.fgov.be/standards/fhir/core/StructureDefinition/be-organization)
- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Other representations of profile: CSV, Excel

### Notes:

Detailed diagram: