HL7 Europe Medication Prescription and Dispense
1.0.0 - trial-use 150

HL7 Europe Medication Prescription and Dispense, published by HL7 Europe. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/mpd-r5/ and changes regularly. See the Directory of published versions

## Resource Profile: Medication: MPD

Official URL: http://hl7.eu/fhir/mpd-r5/StructureDefinition/Medication-eu-mpd | Version: 1.0.0
Active as of 2026-05-27 | Computable Name: MedicationEuMpd
Copyright/Legal: Copyright HL7 Europe. Licensed under creative commons public domain (CC0 1.0).

This profile defines how to represent Medication data on ePrescription and eDispensation. The profile is equal to Medication EU Core and only adds obligations.

Usages:

- Refer to this Profile: MedicationDispense: MPD and MedicationRequest: MPD
- Examples for this Profile: Medication/01A-Cefuroxime1500GenericExplicit, Medication/01B-Cefuroxime1500GenericConcept, Medication/01C-Cefuroxime1500Branded, Medication/01D-Cefuroxime750Branded... Show 6 more, Medication/02A-ClotrimazoleCanifugCremolum, Medication/02A1-CanifugCremolumCreamItem, Medication/02A2-CanifugCremolumPessaryItem, Medication/03B-VitaminBComplexBranded, Medication/04A-FirmagonBranded and Medication/05A-Tilidin-Branded

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
--- | --- | --- | --- | ---
Medication |  | 0..* | MedicationEuCore | Definition of a Medication
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  |  |  | Content/Rules for all slices
extension:productName | O | 0..1 | string | Medication - Product Name URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-productname
Obligations | Actor
SHOULD:able-to-populate | Producer
extension:classification |  | 0..* | CodeableConcept | Classifications of the product, e.g ATC, narcotic/psychotropic, orphan drug, etc URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-classification Binding: ProductClassification (example)
extension:sizeOfItem |  | 0..1 | Quantity | Size of one item (for example, in a pack of 5 vials, this would represent the size of 1 vial) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-sizeofitem
extension:characteristic |  | 0..* | (Complex) | Specifies other descriptive properties of the medication. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-characteristic
extension:unitOfPresentation |  | 0..1 | CodeableConcept | Unit of presentation of the product (e.g. tablet, vial, ampoule, etc) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-unitofpresentation Binding: UnitOfPresentation (example)
extension:packageType |  | 0..1 | CodeableConcept | Type of container. This information is more relevant in cases when the packaging has an impact on administration of the product (e.g. pre-filled syringe) URL: http://hl7.eu/fhir/StructureDefinition/medication-package-type Binding: eHDSI Package (example)
extension:device |  | 0..* | (Complex) | Device, typically an administration device, included in the product. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device
Slices for extension |  | 2..* | Extension | Extension Slice: Unordered, Open by value:url
extension:device |  | 1..1 | Extension | Extension
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "device"
extension:quantity |  | 1..1 | Extension | Number of defined devices in te package
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "quantity"
url |  | 1..1 | uri | "https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device"
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | O Σ | 0..* | Identifier | Identifier for the medicinal product, its generic representation, or packaged product (e.g. EMA PMS ID on product or package level)
Obligations | Actor
SHALL:able-to-populate | Producer
code | O Σ | 0..1 | CodeableConcept | A terminology-based code for the product (e.g. SNOMED CT code) Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Obligations | Actor
SHALL:able-to-populate | Producer
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: MedicationStatusCodes (required): A coded concept defining if the medication is in active use.
doseForm | O | 0..1 | CodeableConcept | Dose form. For a branded product, this would most likely be authorised dose form, but it could also be administrable dose form. For package items, it could be item's individual dose form. Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Additional Bindings | Purpose
eHDSI Dose Form | Preferred
Obligations | Actor
SHOULD:able-to-populate | Producer
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.code | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
Medication.status | Base | required | Medication Status Codes | 📍5.0.0 | FHIR Std.
Medication.doseForm | Base | example | SNOMED CT Form Codes | 📦5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
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 MedicationEuCore

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | MedicationEuCore | Definition of a Medication
Slices for extension |  |  |  | Content/Rules for all slices
extension:productName | O | 0..1 | MedicationProductName | Medication - Product Name
Obligations | Actor
SHOULD:able-to-populate | Producer
identifier | O | 0..* | Identifier | Identifier for the medicinal product, its generic representation, or packaged product (e.g. EMA PMS ID on product or package level)
Obligations | Actor
SHALL:able-to-populate | Producer
code | O | 0..1 | CodeableConcept | A terminology-based code for the product (e.g. SNOMED CT code)
Obligations | Actor
SHALL:able-to-populate | Producer
doseForm | O | 0..1 | CodeableConcept | Dose form. For a branded product, this would most likely be authorised dose form, but it could also be administrable dose form. For package items, it could be item's individual dose form.
Obligations | Actor
SHOULD:able-to-populate | Producer
ingredient |  |  |  |
item | O | 1..1 | CodeableReference(Substance | Medication (EU core)) | Substance (Substance resource or concept from terminology) or a medicinal product (Medication resource or concept from terminology). Medicinal product can be an ingredient in case of extemporal medications or combination packs (e.g Creme + 6 tablets)
Obligations | Actor
SHOULD:able-to-populate | Producer
strength[x] | O | 0..1 | Ratio, CodeableConcept, Quantity | Amount of substance in product (presentation or concentration strength)
Obligations | Actor
SHOULD:able-to-populate | Producer
Documentation for this format

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | MedicationEuCore | Definition of a Medication
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:productName | O | 0..1 | string | Medication - Product Name URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-productname
Obligations | Actor
SHOULD:able-to-populate | Producer
extension:classification |  | 0..* | CodeableConcept | Classifications of the product, e.g ATC, narcotic/psychotropic, orphan drug, etc URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-classification Binding: ProductClassification (example)
extension:sizeOfItem |  | 0..1 | Quantity | Size of one item (for example, in a pack of 5 vials, this would represent the size of 1 vial) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-sizeofitem
extension:characteristic |  | 0..* | (Complex) | Specifies other descriptive properties of the medication. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-characteristic
extension:unitOfPresentation |  | 0..1 | CodeableConcept | Unit of presentation of the product (e.g. tablet, vial, ampoule, etc) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-unitofpresentation Binding: UnitOfPresentation (example)
extension:packageType |  | 0..1 | CodeableConcept | Type of container. This information is more relevant in cases when the packaging has an impact on administration of the product (e.g. pre-filled syringe) URL: http://hl7.eu/fhir/StructureDefinition/medication-package-type Binding: eHDSI Package (example)
extension:device |  | 0..* | (Complex) | Device, typically an administration device, included in the product. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 2..* | Extension | Extension Slice: Unordered, Open by value:url
extension:device |  | 1..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "device"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: eHDSI Package (example)
extension:quantity |  | 1..1 | Extension | Number of defined devices in te package
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "quantity"
value[x] |  | 0..1 | Quantity | Value of extension
url |  | 1..1 | uri | "https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device"
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | O Σ | 0..* | Identifier | Identifier for the medicinal product, its generic representation, or packaged product (e.g. EMA PMS ID on product or package level)
Obligations | Actor
SHALL:able-to-populate | Producer
code | O Σ | 0..1 | CodeableConcept | A terminology-based code for the product (e.g. SNOMED CT code) Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Obligations | Actor
SHALL:able-to-populate | Producer
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: MedicationStatusCodes (required): A coded concept defining if the medication is in active use.
marketingAuthorizationHolder | Σ | 0..1 | Reference(Organization) | Marketing authorisation holder of the medicinal product. If the product does not have a marketing authorisation, the manufactured information may be used. It is sufficient to populate only name and optionally an identifier of the organisation.
doseForm | O | 0..1 | CodeableConcept | Dose form. For a branded product, this would most likely be authorised dose form, but it could also be administrable dose form. For package items, it could be item's individual dose form. Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Additional Bindings | Purpose
eHDSI Dose Form | Preferred
Obligations | Actor
SHOULD:able-to-populate | Producer
totalVolume | Σ | 0..1 | Quantity | Total volume or number of package items inside a package. This element should not contain overall prescribed amount, but describe the product itself. In case of complex packages, this element could be left empty, and number of different items could be indicated in the nested Medications.
ingredient |  | 0..* | BackboneElement | Ingredient or a part product. For combination packs, each ingredient can be a separate manufactured item with its own ingredients, dose form, and strength
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
item | O | 1..1 | CodeableReference(Substance | Medication (EU core)) | Substance (Substance resource or concept from terminology) or a medicinal product (Medication resource or concept from terminology). Medicinal product can be an ingredient in case of extemporal medications or combination packs (e.g Creme + 6 tablets) Binding: SNOMEDCTSubstanceCodes (example)
Additional Bindings | Purpose
eHDSI Substance | Preferred
Obligations | Actor
SHOULD:able-to-populate | Producer
isActive |  | 0..1 | boolean | Active ingredient indicator. By default, only active ingredients are expected - therefore, the default value is true.
strength[x] | O | 0..1 |  | Amount of substance in product (presentation or concentration strength) Binding: MedicationIngredientStrengthCodes (preferred): A coded concpet defining the strength of an ingredient.
Obligations | Actor
SHOULD:able-to-populate | Producer
strength[x]All Types |  |  |  | Content/Rules for all Types
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:basisOfStrengthSubstance |  | 0..1 | CodeableConcept | Basis of strength substance - substance for which the strength is provided (this could be different from the precise active ingredient). URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-strengthsubstance Binding: SNOMEDCTSubstanceCodes (example)
strengthRatio |  |  | Ratio |
strengthCodeableConcept |  |  | CodeableConcept |
strengthQuantity |  |  | Quantity |
batch |  | 0..1 | BackboneElement | Details about packaged medications
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
lotNumber |  | 0..1 | string | Lot Number
expirationDate |  | 0..1 | dateTime | Expiration Date
definition |  | 0..1 | Reference(MedicationKnowledge) | Knowledge about this medication
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Medication.extension:device.​extension:device.value[x] | Base | example | eHDSI Package | ⏿0.2.0 | tx.hl7europe.eu
Medication.code | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
Medication.status | Base | required | Medication Status Codes | 📍5.0.0 | FHIR Std.
Medication.doseForm | Base | example | SNOMED CT Form Codes | 📦5.0.0 | FHIR Std.
Medication.ingredient.​item | Base | example | SNOMED CT Substance Codes | 📦5.0.0 | FHIR Std.
Medication.ingredient.​strength[x] | Base | preferred | Medication Ingredient Strength Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
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 MedicationEuCore

Summary

Key Elements View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | MedicationEuCore | Definition of a Medication
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  |  |  | Content/Rules for all slices
extension:productName | O | 0..1 | string | Medication - Product Name URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-productname
Obligations | Actor
SHOULD:able-to-populate | Producer
extension:classification |  | 0..* | CodeableConcept | Classifications of the product, e.g ATC, narcotic/psychotropic, orphan drug, etc URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-classification Binding: ProductClassification (example)
extension:sizeOfItem |  | 0..1 | Quantity | Size of one item (for example, in a pack of 5 vials, this would represent the size of 1 vial) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-sizeofitem
extension:characteristic |  | 0..* | (Complex) | Specifies other descriptive properties of the medication. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-characteristic
extension:unitOfPresentation |  | 0..1 | CodeableConcept | Unit of presentation of the product (e.g. tablet, vial, ampoule, etc) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-unitofpresentation Binding: UnitOfPresentation (example)
extension:packageType |  | 0..1 | CodeableConcept | Type of container. This information is more relevant in cases when the packaging has an impact on administration of the product (e.g. pre-filled syringe) URL: http://hl7.eu/fhir/StructureDefinition/medication-package-type Binding: eHDSI Package (example)
extension:device |  | 0..* | (Complex) | Device, typically an administration device, included in the product. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device
Slices for extension |  | 2..* | Extension | Extension Slice: Unordered, Open by value:url
extension:device |  | 1..1 | Extension | Extension
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "device"
extension:quantity |  | 1..1 | Extension | Number of defined devices in te package
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "quantity"
url |  | 1..1 | uri | "https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device"
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | O Σ | 0..* | Identifier | Identifier for the medicinal product, its generic representation, or packaged product (e.g. EMA PMS ID on product or package level)
Obligations | Actor
SHALL:able-to-populate | Producer
code | O Σ | 0..1 | CodeableConcept | A terminology-based code for the product (e.g. SNOMED CT code) Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Obligations | Actor
SHALL:able-to-populate | Producer
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: MedicationStatusCodes (required): A coded concept defining if the medication is in active use.
doseForm | O | 0..1 | CodeableConcept | Dose form. For a branded product, this would most likely be authorised dose form, but it could also be administrable dose form. For package items, it could be item's individual dose form. Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Additional Bindings | Purpose
eHDSI Dose Form | Preferred
Obligations | Actor
SHOULD:able-to-populate | Producer
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.code | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
Medication.status | Base | required | Medication Status Codes | 📍5.0.0 | FHIR Std.
Medication.doseForm | Base | example | SNOMED CT Form Codes | 📦5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
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 MedicationEuCore

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | MedicationEuCore | Definition of a Medication
Slices for extension |  |  |  | Content/Rules for all slices
extension:productName | O | 0..1 | MedicationProductName | Medication - Product Name
Obligations | Actor
SHOULD:able-to-populate | Producer
identifier | O | 0..* | Identifier | Identifier for the medicinal product, its generic representation, or packaged product (e.g. EMA PMS ID on product or package level)
Obligations | Actor
SHALL:able-to-populate | Producer
code | O | 0..1 | CodeableConcept | A terminology-based code for the product (e.g. SNOMED CT code)
Obligations | Actor
SHALL:able-to-populate | Producer
doseForm | O | 0..1 | CodeableConcept | Dose form. For a branded product, this would most likely be authorised dose form, but it could also be administrable dose form. For package items, it could be item's individual dose form.
Obligations | Actor
SHOULD:able-to-populate | Producer
ingredient |  |  |  |
item | O | 1..1 | CodeableReference(Substance | Medication (EU core)) | Substance (Substance resource or concept from terminology) or a medicinal product (Medication resource or concept from terminology). Medicinal product can be an ingredient in case of extemporal medications or combination packs (e.g Creme + 6 tablets)
Obligations | Actor
SHOULD:able-to-populate | Producer
strength[x] | O | 0..1 | Ratio, CodeableConcept, Quantity | Amount of substance in product (presentation or concentration strength)
Obligations | Actor
SHOULD:able-to-populate | Producer
Documentation for this format

Snapshot View

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
Medication |  | 0..* | MedicationEuCore | Definition of a Medication
id | Σ | 0..1 | id | Logical id of this artifact
meta | Σ | 0..1 | Meta | Metadata about the resource
implicitRules | ?!Σ | 0..1 | uri | A set of rules under which this content was created
language |  | 0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
Additional Bindings | Purpose
CommonLanguages | Starter
text |  | 0..1 | Narrative | Text summary of the resource, for human interpretation This profile does not constrain the narrative in regard to content, language, or traceability to data elements
contained |  | 0..* | Resource | Contained, inline Resources
Slices for extension |  | 0..* | Extension | Extension Slice: Unordered, Open by value:url
extension:productName | O | 0..1 | string | Medication - Product Name URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-productname
Obligations | Actor
SHOULD:able-to-populate | Producer
extension:classification |  | 0..* | CodeableConcept | Classifications of the product, e.g ATC, narcotic/psychotropic, orphan drug, etc URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-classification Binding: ProductClassification (example)
extension:sizeOfItem |  | 0..1 | Quantity | Size of one item (for example, in a pack of 5 vials, this would represent the size of 1 vial) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-sizeofitem
extension:characteristic |  | 0..* | (Complex) | Specifies other descriptive properties of the medication. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-characteristic
extension:unitOfPresentation |  | 0..1 | CodeableConcept | Unit of presentation of the product (e.g. tablet, vial, ampoule, etc) URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-unitofpresentation Binding: UnitOfPresentation (example)
extension:packageType |  | 0..1 | CodeableConcept | Type of container. This information is more relevant in cases when the packaging has an impact on administration of the product (e.g. pre-filled syringe) URL: http://hl7.eu/fhir/StructureDefinition/medication-package-type Binding: eHDSI Package (example)
extension:device |  | 0..* | (Complex) | Device, typically an administration device, included in the product. URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device
id |  | 0..1 | id | Unique id for inter-element referencing
Slices for extension |  | 2..* | Extension | Extension Slice: Unordered, Open by value:url
extension:device |  | 1..1 | Extension | Extension
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "device"
value[x] |  | 0..1 | CodeableConcept | Value of extension Binding: eHDSI Package (example)
extension:quantity |  | 1..1 | Extension | Number of defined devices in te package
id |  | 0..1 | id | Unique id for inter-element referencing
extension |  | 0..0 |  | Extension Slice: Unordered, Open by value:url
url |  | 1..1 | uri | "quantity"
value[x] |  | 0..1 | Quantity | Value of extension
url |  | 1..1 | uri | "https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-device"
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored
identifier | O Σ | 0..* | Identifier | Identifier for the medicinal product, its generic representation, or packaged product (e.g. EMA PMS ID on product or package level)
Obligations | Actor
SHALL:able-to-populate | Producer
code | O Σ | 0..1 | CodeableConcept | A terminology-based code for the product (e.g. SNOMED CT code) Binding: SNOMEDCTMedicationCodes (example): A coded concept that defines the type of a medication.
Obligations | Actor
SHALL:able-to-populate | Producer
status | ?!Σ | 0..1 | code | active | inactive | entered-in-error Binding: MedicationStatusCodes (required): A coded concept defining if the medication is in active use.
marketingAuthorizationHolder | Σ | 0..1 | Reference(Organization) | Marketing authorisation holder of the medicinal product. If the product does not have a marketing authorisation, the manufactured information may be used. It is sufficient to populate only name and optionally an identifier of the organisation.
doseForm | O | 0..1 | CodeableConcept | Dose form. For a branded product, this would most likely be authorised dose form, but it could also be administrable dose form. For package items, it could be item's individual dose form. Binding: SNOMEDCTFormCodes (example): A coded concept defining the form of a medication.
Additional Bindings | Purpose
eHDSI Dose Form | Preferred
Obligations | Actor
SHOULD:able-to-populate | Producer
totalVolume | Σ | 0..1 | Quantity | Total volume or number of package items inside a package. This element should not contain overall prescribed amount, but describe the product itself. In case of complex packages, this element could be left empty, and number of different items could be indicated in the nested Medications.
ingredient |  | 0..* | BackboneElement | Ingredient or a part product. For combination packs, each ingredient can be a separate manufactured item with its own ingredients, dose form, and strength
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
item | O | 1..1 | CodeableReference(Substance | Medication (EU core)) | Substance (Substance resource or concept from terminology) or a medicinal product (Medication resource or concept from terminology). Medicinal product can be an ingredient in case of extemporal medications or combination packs (e.g Creme + 6 tablets) Binding: SNOMEDCTSubstanceCodes (example)
Additional Bindings | Purpose
eHDSI Substance | Preferred
Obligations | Actor
SHOULD:able-to-populate | Producer
isActive |  | 0..1 | boolean | Active ingredient indicator. By default, only active ingredients are expected - therefore, the default value is true.
strength[x] | O | 0..1 |  | Amount of substance in product (presentation or concentration strength) Binding: MedicationIngredientStrengthCodes (preferred): A coded concpet defining the strength of an ingredient.
Obligations | Actor
SHOULD:able-to-populate | Producer
strength[x]All Types |  |  |  | Content/Rules for all Types
id |  | 0..1 | string | Unique id for inter-element referencing
Slices for extension |  | 0..* | Extension | Additional content defined by implementations Slice: Unordered, Open by value:url
extension:basisOfStrengthSubstance |  | 0..1 | CodeableConcept | Basis of strength substance - substance for which the strength is provided (this could be different from the precise active ingredient). URL: https://profiles.ihe.net/PHARM/MPD/StructureDefinition/ihe-ext-medication-strengthsubstance Binding: SNOMEDCTSubstanceCodes (example)
strengthRatio |  |  | Ratio |
strengthCodeableConcept |  |  | CodeableConcept |
strengthQuantity |  |  | Quantity |
batch |  | 0..1 | BackboneElement | Details about packaged medications
id |  | 0..1 | string | Unique id for inter-element referencing
extension |  | 0..* | Extension | Additional content defined by implementations
modifierExtension | ?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized
lotNumber |  | 0..1 | string | Lot Number
expirationDate |  | 0..1 | dateTime | Expiration Date
definition |  | 0..1 | Reference(MedicationKnowledge) | Knowledge about this medication
Documentation for this format

#### Terminology Bindings

Path | Status | Usage | ValueSet | Version | Source
Medication.language | Base | required | All Languages | 📍5.0.0 | FHIR Std.
Medication.extension:device.​extension:device.value[x] | Base | example | eHDSI Package | ⏿0.2.0 | tx.hl7europe.eu
Medication.code | Base | example | SNOMED CT Medication Codes | 📍5.0.0 | FHIR Std.
Medication.status | Base | required | Medication Status Codes | 📍5.0.0 | FHIR Std.
Medication.doseForm | Base | example | SNOMED CT Form Codes | 📦5.0.0 | FHIR Std.
Medication.ingredient.​item | Base | example | SNOMED CT Substance Codes | 📦5.0.0 | FHIR Std.
Medication.ingredient.​strength[x] | Base | preferred | Medication Ingredient Strength Codes | 📍5.0.0 | FHIR Std.

#### Constraints

Id | Grade | Path(s) | Description | Expression
dom-2 | error | Medication | If the resource is contained in another resource, it SHALL NOT contain nested Resources | `contained.contained.empty()`
dom-3 | error | Medication | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource | `contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().ofType(canonical) | %resource.descendants().ofType(uri) | %resource.descendants().ofType(url))) or descendants().where(reference = '#').exists() or descendants().where(ofType(canonical) = '#').exists() or descendants().where(ofType(canonical) = '#').exists()).not()).trace('unmatched', id).empty()`
dom-4 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated | `contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()`
dom-5 | error | Medication | If a resource is contained in another resource, it SHALL NOT have a security label | `contained.meta.security.empty()`
dom-6 | best practice | Medication | A resource should have narrative for robust management | `text.`div`.exists()`
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 MedicationEuCore

Summary

Other representations of profile: CSV, Excel, Schematron