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

Official URL: https://www.ehealth.fgov.be/standards/fhir/medication/StructureDefinition/BeModelMedication | Version: 1.1.0
Active as of 2026-03-25 | Computable Name: BeModelMedication

Logical data model for medication.

### Relationship with other elements:

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

This model is just a placeholder and has not been implemented as a FHIR resource. Implementers are expected to use the Medication resource which will be profiled later.

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

- Refer to this Logical Model: Medication Line (model) and Medication prescription (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
--- | --- | --- | --- | ---
BeModelMedication |  | 0..* | Base | Medication (model) Instances of this logical model can be the target of a Reference
status |  | 1..1 | CodeableConcept | Status of the medication (active, inactive, etc.)
code |  | 1..1 | CodeableConcept | Code for the medication that is actually being specified. This can be a product code, a virtual product code, or a package code.
doseForm |  | 0..1 | CodeableConcept | Dose form(s) on a product level. Dose form for a single package item is defined below.
item |  | 0..* | BackboneElement | A medication item. For combination packs, this can be manufactured items with each item having its own dose form and ingredients+strengths defined
@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
ingredient |  | 1..* | BackboneElement | Ingredients
@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
item |  | 1..1 | CodeableConcept | Substance or product that is ingredient
role |  | 0..1 | CodeableConcept | Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
strength |  | 0..1 | Ratio | Concentration or presentation strength of the precise active ingredient
amount |  | 0..1 | SimpleQuantity | Number of such manufactured items in this product (5 vials)
batch |  | 0..1 | BackboneElement | Batch or production information for the product
@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
lotNumber |  | 0..1 | string | Batch number
expirationDate |  | 0..1 | dateTime | Expiry date
Documentation for this format

#### 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
--- | --- | --- | --- | ---
BeModelMedication |  | 0..* | Base | Medication (model) Instances of this logical model can be the target of a Reference
status |  | 1..1 | CodeableConcept | Status of the medication (active, inactive, etc.)
code |  | 1..1 | CodeableConcept | Code for the medication that is actually being specified. This can be a product code, a virtual product code, or a package code.
doseForm |  | 0..1 | CodeableConcept | Dose form(s) on a product level. Dose form for a single package item is defined below.
item |  | 0..* | BackboneElement | A medication item. For combination packs, this can be manufactured items with each item having its own dose form and ingredients+strengths defined
ingredient |  | 1..* | BackboneElement | Ingredients
item |  | 1..1 | CodeableConcept | Substance or product that is ingredient
role |  | 0..1 | CodeableConcept | Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
strength |  | 0..1 | Ratio | Concentration or presentation strength of the precise active ingredient
amount |  | 0..1 | SimpleQuantity | Number of such manufactured items in this product (5 vials)
batch |  | 0..1 | BackboneElement | Batch or production information for the product
lotNumber |  | 0..1 | string | Batch number
expirationDate |  | 0..1 | dateTime | Expiry date
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
BeModelMedication |  | 0..* | Base | Medication (model) Instances of this logical model can be the target of a Reference
status |  | 1..1 | CodeableConcept | Status of the medication (active, inactive, etc.)
code |  | 1..1 | CodeableConcept | Code for the medication that is actually being specified. This can be a product code, a virtual product code, or a package code.
doseForm |  | 0..1 | CodeableConcept | Dose form(s) on a product level. Dose form for a single package item is defined below.
item |  | 0..* | BackboneElement | A medication item. For combination packs, this can be manufactured items with each item having its own dose form and ingredients+strengths defined
@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
ingredient |  | 1..* | BackboneElement | Ingredients
@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
item |  | 1..1 | CodeableConcept | Substance or product that is ingredient
role |  | 0..1 | CodeableConcept | Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
strength |  | 0..1 | Ratio | Concentration or presentation strength of the precise active ingredient
amount |  | 0..1 | SimpleQuantity | Number of such manufactured items in this product (5 vials)
batch |  | 0..1 | BackboneElement | Batch or production information for the product
@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
lotNumber |  | 0..1 | string | Batch number
expirationDate |  | 0..1 | dateTime | Expiry date
Documentation for this format

#### 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(4 nested mandatory elements)

Structures

This structure refers to these other structures:

- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
BeModelMedication |  | 0..* | Base | Medication (model) Instances of this logical model can be the target of a Reference
status |  | 1..1 | CodeableConcept | Status of the medication (active, inactive, etc.)
code |  | 1..1 | CodeableConcept | Code for the medication that is actually being specified. This can be a product code, a virtual product code, or a package code.
doseForm |  | 0..1 | CodeableConcept | Dose form(s) on a product level. Dose form for a single package item is defined below.
item |  | 0..* | BackboneElement | A medication item. For combination packs, this can be manufactured items with each item having its own dose form and ingredients+strengths defined
@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
ingredient |  | 1..* | BackboneElement | Ingredients
@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
item |  | 1..1 | CodeableConcept | Substance or product that is ingredient
role |  | 0..1 | CodeableConcept | Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
strength |  | 0..1 | Ratio | Concentration or presentation strength of the precise active ingredient
amount |  | 0..1 | SimpleQuantity | Number of such manufactured items in this product (5 vials)
batch |  | 0..1 | BackboneElement | Batch or production information for the product
@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
lotNumber |  | 0..1 | string | Batch number
expirationDate |  | 0..1 | dateTime | Expiry date
Documentation for this format

#### 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
--- | --- | --- | --- | ---
BeModelMedication |  | 0..* | Base | Medication (model) Instances of this logical model can be the target of a Reference
status |  | 1..1 | CodeableConcept | Status of the medication (active, inactive, etc.)
code |  | 1..1 | CodeableConcept | Code for the medication that is actually being specified. This can be a product code, a virtual product code, or a package code.
doseForm |  | 0..1 | CodeableConcept | Dose form(s) on a product level. Dose form for a single package item is defined below.
item |  | 0..* | BackboneElement | A medication item. For combination packs, this can be manufactured items with each item having its own dose form and ingredients+strengths defined
ingredient |  | 1..* | BackboneElement | Ingredients
item |  | 1..1 | CodeableConcept | Substance or product that is ingredient
role |  | 0..1 | CodeableConcept | Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
strength |  | 0..1 | Ratio | Concentration or presentation strength of the precise active ingredient
amount |  | 0..1 | SimpleQuantity | Number of such manufactured items in this product (5 vials)
batch |  | 0..1 | BackboneElement | Batch or production information for the product
lotNumber |  | 0..1 | string | Batch number
expirationDate |  | 0..1 | dateTime | Expiry date
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
BeModelMedication |  | 0..* | Base | Medication (model) Instances of this logical model can be the target of a Reference
status |  | 1..1 | CodeableConcept | Status of the medication (active, inactive, etc.)
code |  | 1..1 | CodeableConcept | Code for the medication that is actually being specified. This can be a product code, a virtual product code, or a package code.
doseForm |  | 0..1 | CodeableConcept | Dose form(s) on a product level. Dose form for a single package item is defined below.
item |  | 0..* | BackboneElement | A medication item. For combination packs, this can be manufactured items with each item having its own dose form and ingredients+strengths defined
@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
ingredient |  | 1..* | BackboneElement | Ingredients
@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
item |  | 1..1 | CodeableConcept | Substance or product that is ingredient
role |  | 0..1 | CodeableConcept | Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
strength |  | 0..1 | Ratio | Concentration or presentation strength of the precise active ingredient
amount |  | 0..1 | SimpleQuantity | Number of such manufactured items in this product (5 vials)
batch |  | 0..1 | BackboneElement | Batch or production information for the product
@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
lotNumber |  | 0..1 | string | Batch number
expirationDate |  | 0..1 | dateTime | Expiry date
Documentation for this format

#### 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(4 nested mandatory elements)

Structures

This structure refers to these other structures:

- SimpleQuantity (http://hl7.org/fhir/StructureDefinition/SimpleQuantity)

Other representations of profile: CSV, Excel