EHDS Logical Information Models
0.4.0 - draft

EHDS Logical Information Models, published by Xt-EHR. This guide is not an authorized publication; it is the continuous build for version 0.4.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/Xt-EHR/xt-ehr-common/ and changes regularly. See the Directory of published versions

## Logical Model: Medication dispense model

Official URL: http://www.xt-ehr.eu/fhir/models/StructureDefinition/EHDSMedicationDispense | Version: 0.4.0
Draft as of 2026-02-23 | Computable Name: EHDSMedicationDispense

Logical model for medication dispensation (based on a request and dispensed in a pharmacy). Implementers should take into account, if allowed and needed, the calculation of remaining dispensable product based on this information.

Usages:

- Derived from this Logical Model: Medication dispense model obligations
- Use this Logical Model: Medication use model

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
--- | --- | --- | --- | ---
EHDSMedicationDispense |  | 0..* | EHDSDataSet | Medication dispense model Elements defined in Ancestors:header
header |  | 1..1 | Base | Basic metadata for this information
subject |  | 1..1 | EHDSPatient | Patient/subject information
identifier |  | 0..* | Identifier | Business identifier for the object, unique within its system. Supporting disambiguation between different contexts (systems/countries).
author[x] |  | 1..* |  | The actor who issued the dispense record. Responsibility for the dispense should be traceable from this information.
authorEHDSHealthProfessional |  |  | EHDSHealthProfessional |
authorEHDSOrganisation |  |  | EHDSOrganisation |
authorEHDSDevice |  |  | EHDSDevice |
date |  | 1..1 | dateTime | Date and time of issuing the dispense record
status |  | 1..1 | CodeableConcept | The status of the dispense, e.g. completed, declined, entered-in-error Binding Description: (preferred): HL7 MedicationDispense Status Codes
language |  | 0..1 | CodeableConcept | Language in which the resource is written. Language is expressed by the IETF language tag. Binding Description: (preferred): BCP 47
dispenseLocation |  | 0..1 | EHDSLocation | Location of dispense
receiver[x] |  | 0..1 |  | Identification of the person who received the dispensed medication, especially when it was not the patient. When not present, it is assumed that the patient is the receiver.
receiverEHDSPatient |  |  | EHDSPatient |
receiverEHDSHealthProfessional |  |  | EHDSHealthProfessional |
receiverEHDSRelatedPerson |  |  | EHDSRelatedPerson |
relatedRequest |  | 0..* | Identifier | Identifier of the prescription item the dispense is related to
medication |  | 1..1 | EHDSMedication | Exact dispensed product. If multiple medications are dispensed together, multiple dispense records should be created.
dispensedQuantity |  | 1..1 | Quantity | Number of dispensed packages if the package size is known, or number of smaller items/units, according to the medication dispensed. A unit is expected. Binding Description: (preferred): UCUM, EDQM Standard Terms
timeOfDispensation |  | 0..1 | dateTime | Date and time when medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing dispense record.
substitutionOccurred |  | 0..1 | boolean | Whether substitution was made by the dispenser. Definition of substitution is specific to the jurisdiction.
dosageInstructions |  | 0..1 | EHDSDosage | Dosage and administration instructions
note |  | 0..1 | string | Additional information or comments
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
EHDSMedicationDispense.​header.status | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​header.language | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​dispensedQuantity | Base | preferred |  | Not State | Unknown

This structure is derived from EHDSDataSet

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
EHDSMedicationDispense |  | 0..* | EHDSDataSet | Medication dispense model Elements defined in Ancestors:header
header |  |  |  |
author[x] |  | 1..* | EHDSHealthProfessional, EHDSOrganisation, EHDSDevice | The actor who issued the dispense record. Responsibility for the dispense should be traceable from this information.
date |  | 1..1 | dateTime | Date and time of issuing the dispense record
status |  | 1..1 | CodeableConcept | The status of the dispense, e.g. completed, declined, entered-in-error Binding Description: (preferred): HL7 MedicationDispense Status Codes
source |  | 0..0 |  | Source of information (e.g. patient, patient's proxy). Used in case the patient has authored the information or the author has submitted patient-stated information.
dispenseLocation |  | 0..1 | EHDSLocation | Location of dispense
receiver[x] |  | 0..1 |  | Identification of the person who received the dispensed medication, especially when it was not the patient. When not present, it is assumed that the patient is the receiver.
receiverEHDSPatient |  |  | EHDSPatient |
receiverEHDSHealthProfessional |  |  | EHDSHealthProfessional |
receiverEHDSRelatedPerson |  |  | EHDSRelatedPerson |
relatedRequest |  | 0..* | Identifier | Identifier of the prescription item the dispense is related to
medication |  | 1..1 | EHDSMedication | Exact dispensed product. If multiple medications are dispensed together, multiple dispense records should be created.
dispensedQuantity |  | 1..1 | Quantity | Number of dispensed packages if the package size is known, or number of smaller items/units, according to the medication dispensed. A unit is expected. Binding Description: (preferred): UCUM, EDQM Standard Terms
timeOfDispensation |  | 0..1 | dateTime | Date and time when medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing dispense record.
substitutionOccurred |  | 0..1 | boolean | Whether substitution was made by the dispenser. Definition of substitution is specific to the jurisdiction.
dosageInstructions |  | 0..1 | EHDSDosage | Dosage and administration instructions
note |  | 0..1 | string | Additional information or comments
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
EHDSMedicationDispense.​header.status | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​dispensedQuantity | Base | preferred |  | Not State | Unknown

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
EHDSMedicationDispense |  | 0..* | EHDSDataSet | Medication dispense model Elements defined in Ancestors:header
header |  | 1..1 | Base | Basic metadata for this information
subject |  | 1..1 | EHDSPatient | Patient/subject information
identifier |  | 0..* | Identifier | Business identifier for the object, unique within its system. Supporting disambiguation between different contexts (systems/countries).
author[x] |  | 1..* |  | The actor who issued the dispense record. Responsibility for the dispense should be traceable from this information.
authorEHDSHealthProfessional |  |  | EHDSHealthProfessional |
authorEHDSOrganisation |  |  | EHDSOrganisation |
authorEHDSDevice |  |  | EHDSDevice |
date |  | 1..1 | dateTime | Date and time of issuing the dispense record
status |  | 1..1 | CodeableConcept | The status of the dispense, e.g. completed, declined, entered-in-error Binding Description: (preferred): HL7 MedicationDispense Status Codes
language |  | 0..1 | CodeableConcept | Language in which the resource is written. Language is expressed by the IETF language tag. Binding Description: (preferred): BCP 47
dispenseLocation |  | 0..1 | EHDSLocation | Location of dispense
receiver[x] |  | 0..1 |  | Identification of the person who received the dispensed medication, especially when it was not the patient. When not present, it is assumed that the patient is the receiver.
receiverEHDSPatient |  |  | EHDSPatient |
receiverEHDSHealthProfessional |  |  | EHDSHealthProfessional |
receiverEHDSRelatedPerson |  |  | EHDSRelatedPerson |
relatedRequest |  | 0..* | Identifier | Identifier of the prescription item the dispense is related to
medication |  | 1..1 | EHDSMedication | Exact dispensed product. If multiple medications are dispensed together, multiple dispense records should be created.
dispensedQuantity |  | 1..1 | Quantity | Number of dispensed packages if the package size is known, or number of smaller items/units, according to the medication dispensed. A unit is expected. Binding Description: (preferred): UCUM, EDQM Standard Terms
timeOfDispensation |  | 0..1 | dateTime | Date and time when medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing dispense record.
substitutionOccurred |  | 0..1 | boolean | Whether substitution was made by the dispenser. Definition of substitution is specific to the jurisdiction.
dosageInstructions |  | 0..1 | EHDSDosage | Dosage and administration instructions
note |  | 0..1 | string | Additional information or comments
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
EHDSMedicationDispense.​header.status | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​header.language | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​dispensedQuantity | Base | preferred |  | Not State | Unknown

This structure is derived from EHDSDataSet

Summary

Mandatory: 2 elements(2 nested mandatory elements)
Prohibited: 1 element

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
EHDSMedicationDispense |  | 0..* | EHDSDataSet | Medication dispense model Elements defined in Ancestors:header
header |  | 1..1 | Base | Basic metadata for this information
subject |  | 1..1 | EHDSPatient | Patient/subject information
identifier |  | 0..* | Identifier | Business identifier for the object, unique within its system. Supporting disambiguation between different contexts (systems/countries).
author[x] |  | 1..* |  | The actor who issued the dispense record. Responsibility for the dispense should be traceable from this information.
authorEHDSHealthProfessional |  |  | EHDSHealthProfessional |
authorEHDSOrganisation |  |  | EHDSOrganisation |
authorEHDSDevice |  |  | EHDSDevice |
date |  | 1..1 | dateTime | Date and time of issuing the dispense record
status |  | 1..1 | CodeableConcept | The status of the dispense, e.g. completed, declined, entered-in-error Binding Description: (preferred): HL7 MedicationDispense Status Codes
language |  | 0..1 | CodeableConcept | Language in which the resource is written. Language is expressed by the IETF language tag. Binding Description: (preferred): BCP 47
dispenseLocation |  | 0..1 | EHDSLocation | Location of dispense
receiver[x] |  | 0..1 |  | Identification of the person who received the dispensed medication, especially when it was not the patient. When not present, it is assumed that the patient is the receiver.
receiverEHDSPatient |  |  | EHDSPatient |
receiverEHDSHealthProfessional |  |  | EHDSHealthProfessional |
receiverEHDSRelatedPerson |  |  | EHDSRelatedPerson |
relatedRequest |  | 0..* | Identifier | Identifier of the prescription item the dispense is related to
medication |  | 1..1 | EHDSMedication | Exact dispensed product. If multiple medications are dispensed together, multiple dispense records should be created.
dispensedQuantity |  | 1..1 | Quantity | Number of dispensed packages if the package size is known, or number of smaller items/units, according to the medication dispensed. A unit is expected. Binding Description: (preferred): UCUM, EDQM Standard Terms
timeOfDispensation |  | 0..1 | dateTime | Date and time when medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing dispense record.
substitutionOccurred |  | 0..1 | boolean | Whether substitution was made by the dispenser. Definition of substitution is specific to the jurisdiction.
dosageInstructions |  | 0..1 | EHDSDosage | Dosage and administration instructions
note |  | 0..1 | string | Additional information or comments
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
EHDSMedicationDispense.​header.status | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​header.language | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​dispensedQuantity | Base | preferred |  | Not State | Unknown

Differential View

This structure is derived from EHDSDataSet

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
EHDSMedicationDispense |  | 0..* | EHDSDataSet | Medication dispense model Elements defined in Ancestors:header
header |  |  |  |
author[x] |  | 1..* | EHDSHealthProfessional, EHDSOrganisation, EHDSDevice | The actor who issued the dispense record. Responsibility for the dispense should be traceable from this information.
date |  | 1..1 | dateTime | Date and time of issuing the dispense record
status |  | 1..1 | CodeableConcept | The status of the dispense, e.g. completed, declined, entered-in-error Binding Description: (preferred): HL7 MedicationDispense Status Codes
source |  | 0..0 |  | Source of information (e.g. patient, patient's proxy). Used in case the patient has authored the information or the author has submitted patient-stated information.
dispenseLocation |  | 0..1 | EHDSLocation | Location of dispense
receiver[x] |  | 0..1 |  | Identification of the person who received the dispensed medication, especially when it was not the patient. When not present, it is assumed that the patient is the receiver.
receiverEHDSPatient |  |  | EHDSPatient |
receiverEHDSHealthProfessional |  |  | EHDSHealthProfessional |
receiverEHDSRelatedPerson |  |  | EHDSRelatedPerson |
relatedRequest |  | 0..* | Identifier | Identifier of the prescription item the dispense is related to
medication |  | 1..1 | EHDSMedication | Exact dispensed product. If multiple medications are dispensed together, multiple dispense records should be created.
dispensedQuantity |  | 1..1 | Quantity | Number of dispensed packages if the package size is known, or number of smaller items/units, according to the medication dispensed. A unit is expected. Binding Description: (preferred): UCUM, EDQM Standard Terms
timeOfDispensation |  | 0..1 | dateTime | Date and time when medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing dispense record.
substitutionOccurred |  | 0..1 | boolean | Whether substitution was made by the dispenser. Definition of substitution is specific to the jurisdiction.
dosageInstructions |  | 0..1 | EHDSDosage | Dosage and administration instructions
note |  | 0..1 | string | Additional information or comments
Documentation for this format

#### Terminology Bindings (Differential)

Path | Status | Usage | ValueSet | Version | Source
EHDSMedicationDispense.​header.status | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​dispensedQuantity | Base | preferred |  | Not State | Unknown

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
EHDSMedicationDispense |  | 0..* | EHDSDataSet | Medication dispense model Elements defined in Ancestors:header
header |  | 1..1 | Base | Basic metadata for this information
subject |  | 1..1 | EHDSPatient | Patient/subject information
identifier |  | 0..* | Identifier | Business identifier for the object, unique within its system. Supporting disambiguation between different contexts (systems/countries).
author[x] |  | 1..* |  | The actor who issued the dispense record. Responsibility for the dispense should be traceable from this information.
authorEHDSHealthProfessional |  |  | EHDSHealthProfessional |
authorEHDSOrganisation |  |  | EHDSOrganisation |
authorEHDSDevice |  |  | EHDSDevice |
date |  | 1..1 | dateTime | Date and time of issuing the dispense record
status |  | 1..1 | CodeableConcept | The status of the dispense, e.g. completed, declined, entered-in-error Binding Description: (preferred): HL7 MedicationDispense Status Codes
language |  | 0..1 | CodeableConcept | Language in which the resource is written. Language is expressed by the IETF language tag. Binding Description: (preferred): BCP 47
dispenseLocation |  | 0..1 | EHDSLocation | Location of dispense
receiver[x] |  | 0..1 |  | Identification of the person who received the dispensed medication, especially when it was not the patient. When not present, it is assumed that the patient is the receiver.
receiverEHDSPatient |  |  | EHDSPatient |
receiverEHDSHealthProfessional |  |  | EHDSHealthProfessional |
receiverEHDSRelatedPerson |  |  | EHDSRelatedPerson |
relatedRequest |  | 0..* | Identifier | Identifier of the prescription item the dispense is related to
medication |  | 1..1 | EHDSMedication | Exact dispensed product. If multiple medications are dispensed together, multiple dispense records should be created.
dispensedQuantity |  | 1..1 | Quantity | Number of dispensed packages if the package size is known, or number of smaller items/units, according to the medication dispensed. A unit is expected. Binding Description: (preferred): UCUM, EDQM Standard Terms
timeOfDispensation |  | 0..1 | dateTime | Date and time when medication was handed over. When not present, the time of dispensation is assumed to be the time of issuing dispense record.
substitutionOccurred |  | 0..1 | boolean | Whether substitution was made by the dispenser. Definition of substitution is specific to the jurisdiction.
dosageInstructions |  | 0..1 | EHDSDosage | Dosage and administration instructions
note |  | 0..1 | string | Additional information or comments
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
EHDSMedicationDispense.​header.status | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​header.language | Base | preferred |  | Not State | Unknown
EHDSMedicationDispense.​dispensedQuantity | Base | preferred |  | Not State | Unknown

This structure is derived from EHDSDataSet

Summary

Mandatory: 2 elements(2 nested mandatory elements)
Prohibited: 1 element

Other representations of profile: CSV, Excel