IHE Pharmacy Medication Overview
0.1.0 - ci-build International flag

IHE Pharmacy Medication Overview, published by Integrating the Healthcare Enterprise (IHE). This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/IHE/pharm-meow/tree/main and changes regularly. See the Directory of published versions

Logical Model: Medicinal product (model)

Official URL: http://profiles.ihe.net/PHARM/MEOW/StructureDefinition/MedicinalProductLM Version: 0.1.0
Active as of 2025-06-17 Computable Name: MedicinalProductLM

Copyright/Legal: IHE http://www.ihe.net/Governance/#Intellectual_Property

Logical model for prescribed/dispensed medication. The model is shared by statements, requests, dispensations, and treatment lines. Each of those may have different restrictions in FHIR profile.

Usages:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicinalProductLM 0..* Base Medicinal product (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* BackboneElement The identifier(s) of the product, independently of the level of product. If several identifiers are specified, they shall not have conflicting meanings.
.... @id 0..1 id 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
.... medicinalProductIdentifier 0..* Identifier Identifier at the product level - can be MPID or national Identifier
.... packagedProductIdentifier 0..* Identifier Identifier at the package level - can be PCID or national
.... pharmaceuticalProductIdentifier 0..* Identifier Identifier at the virtual or administrable product level - can be PhPID or national virtual/administrable product code
... productCode 0..1 CodeableConcept Code for the product that is actually being specified, in established terminologies
... classification 0..* CodeableConcept Classification (e.g. ATC; narcotic/psychotropic; orphan drug; etc.)
... productName 0..* BackboneElement Name of the product (full name, invented name, other)
.... @id 0..1 id 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
.... name 1..1 string Name of type and language that is relevant for the users
.... language 0..1 CodeableConcept Language of the name
.... type 0..1 CodeableConcept Type of the name (full name, common name, etc)
... 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 id 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
.... doseForm 0..1 CodeableConcept Dose form
.... ingredient 1..* BackboneElement Ingredients
..... @id 0..1 id 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
..... role 0..1 CodeableConcept Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
..... substance 1..1 CodeableConcept Substance
..... strengthInfo 0..* BackboneElement Concentration or presentation strength
...... @id 0..1 id 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
...... strength 1..1 Ratio Concentration or presentation strength of the precise active ingredient
...... strengthType 0..1 CodeableConcept Type of strength that is expressed
...... strengthSubstance 0..1 CodeableConcept Substance that the strength refers to, if different from the main substance
.... unitOfPresentation 0..1 CodeableConcept Unit of presentation for the manufactured item (tablet, vial, tube). Typically, the smallest countable object in the package.
.... containedQuantity 0..1 Quantity Manufactured item quantity for liquids (3ml/vial)
.... amount 0..1 Quantity Number of such manufactured items in this product (5 vials)
... device 0..* BackboneElement Administration device included in the product
.... @id 0..1 id 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
.... deviceQuantity 1..1 Quantity Number of such devices
.... device 1..1 CodeableConcept Device coded

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicinalProductLM 0..* Base Medicinal product (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* BackboneElement The identifier(s) of the product, independently of the level of product. If several identifiers are specified, they shall not have conflicting meanings.
.... medicinalProductIdentifier 0..* Identifier Identifier at the product level - can be MPID or national Identifier
.... packagedProductIdentifier 0..* Identifier Identifier at the package level - can be PCID or national
.... pharmaceuticalProductIdentifier 0..* Identifier Identifier at the virtual or administrable product level - can be PhPID or national virtual/administrable product code
... productCode 0..1 CodeableConcept Code for the product that is actually being specified, in established terminologies
... classification 0..* CodeableConcept Classification (e.g. ATC; narcotic/psychotropic; orphan drug; etc.)
... productName 0..* BackboneElement Name of the product (full name, invented name, other)
.... name 1..1 string Name of type and language that is relevant for the users
.... language 0..1 CodeableConcept Language of the name
.... type 0..1 CodeableConcept Type of the name (full name, common name, etc)
... 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
.... doseForm 0..1 CodeableConcept Dose form
.... ingredient 1..* BackboneElement Ingredients
..... role 0..1 CodeableConcept Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
..... substance 1..1 CodeableConcept Substance
..... strengthInfo 0..* BackboneElement Concentration or presentation strength
...... strength 1..1 Ratio Concentration or presentation strength of the precise active ingredient
...... strengthType 0..1 CodeableConcept Type of strength that is expressed
...... strengthSubstance 0..1 CodeableConcept Substance that the strength refers to, if different from the main substance
.... unitOfPresentation 0..1 CodeableConcept Unit of presentation for the manufactured item (tablet, vial, tube). Typically, the smallest countable object in the package.
.... containedQuantity 0..1 Quantity Manufactured item quantity for liquids (3ml/vial)
.... amount 0..1 Quantity Number of such manufactured items in this product (5 vials)
... device 0..* BackboneElement Administration device included in the product
.... deviceQuantity 1..1 Quantity Number of such devices
.... device 1..1 CodeableConcept Device coded

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicinalProductLM 0..* Base Medicinal product (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* BackboneElement The identifier(s) of the product, independently of the level of product. If several identifiers are specified, they shall not have conflicting meanings.
.... @id 0..1 id 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
.... medicinalProductIdentifier 0..* Identifier Identifier at the product level - can be MPID or national Identifier
.... packagedProductIdentifier 0..* Identifier Identifier at the package level - can be PCID or national
.... pharmaceuticalProductIdentifier 0..* Identifier Identifier at the virtual or administrable product level - can be PhPID or national virtual/administrable product code
... productCode 0..1 CodeableConcept Code for the product that is actually being specified, in established terminologies
... classification 0..* CodeableConcept Classification (e.g. ATC; narcotic/psychotropic; orphan drug; etc.)
... productName 0..* BackboneElement Name of the product (full name, invented name, other)
.... @id 0..1 id 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
.... name 1..1 string Name of type and language that is relevant for the users
.... language 0..1 CodeableConcept Language of the name
.... type 0..1 CodeableConcept Type of the name (full name, common name, etc)
... 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 id 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
.... doseForm 0..1 CodeableConcept Dose form
.... ingredient 1..* BackboneElement Ingredients
..... @id 0..1 id 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
..... role 0..1 CodeableConcept Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
..... substance 1..1 CodeableConcept Substance
..... strengthInfo 0..* BackboneElement Concentration or presentation strength
...... @id 0..1 id 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
...... strength 1..1 Ratio Concentration or presentation strength of the precise active ingredient
...... strengthType 0..1 CodeableConcept Type of strength that is expressed
...... strengthSubstance 0..1 CodeableConcept Substance that the strength refers to, if different from the main substance
.... unitOfPresentation 0..1 CodeableConcept Unit of presentation for the manufactured item (tablet, vial, tube). Typically, the smallest countable object in the package.
.... containedQuantity 0..1 Quantity Manufactured item quantity for liquids (3ml/vial)
.... amount 0..1 Quantity Number of such manufactured items in this product (5 vials)
... device 0..* BackboneElement Administration device included in the product
.... @id 0..1 id 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
.... deviceQuantity 1..1 Quantity Number of such devices
.... device 1..1 CodeableConcept Device coded

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Base

Summary

Mandatory: 0 element(6 nested mandatory elements)

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicinalProductLM 0..* Base Medicinal product (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* BackboneElement The identifier(s) of the product, independently of the level of product. If several identifiers are specified, they shall not have conflicting meanings.
.... @id 0..1 id 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
.... medicinalProductIdentifier 0..* Identifier Identifier at the product level - can be MPID or national Identifier
.... packagedProductIdentifier 0..* Identifier Identifier at the package level - can be PCID or national
.... pharmaceuticalProductIdentifier 0..* Identifier Identifier at the virtual or administrable product level - can be PhPID or national virtual/administrable product code
... productCode 0..1 CodeableConcept Code for the product that is actually being specified, in established terminologies
... classification 0..* CodeableConcept Classification (e.g. ATC; narcotic/psychotropic; orphan drug; etc.)
... productName 0..* BackboneElement Name of the product (full name, invented name, other)
.... @id 0..1 id 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
.... name 1..1 string Name of type and language that is relevant for the users
.... language 0..1 CodeableConcept Language of the name
.... type 0..1 CodeableConcept Type of the name (full name, common name, etc)
... 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 id 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
.... doseForm 0..1 CodeableConcept Dose form
.... ingredient 1..* BackboneElement Ingredients
..... @id 0..1 id 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
..... role 0..1 CodeableConcept Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
..... substance 1..1 CodeableConcept Substance
..... strengthInfo 0..* BackboneElement Concentration or presentation strength
...... @id 0..1 id 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
...... strength 1..1 Ratio Concentration or presentation strength of the precise active ingredient
...... strengthType 0..1 CodeableConcept Type of strength that is expressed
...... strengthSubstance 0..1 CodeableConcept Substance that the strength refers to, if different from the main substance
.... unitOfPresentation 0..1 CodeableConcept Unit of presentation for the manufactured item (tablet, vial, tube). Typically, the smallest countable object in the package.
.... containedQuantity 0..1 Quantity Manufactured item quantity for liquids (3ml/vial)
.... amount 0..1 Quantity Number of such manufactured items in this product (5 vials)
... device 0..* BackboneElement Administration device included in the product
.... @id 0..1 id 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
.... deviceQuantity 1..1 Quantity Number of such devices
.... device 1..1 CodeableConcept Device coded

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Differential View

This structure is derived from Base

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicinalProductLM 0..* Base Medicinal product (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* BackboneElement The identifier(s) of the product, independently of the level of product. If several identifiers are specified, they shall not have conflicting meanings.
.... medicinalProductIdentifier 0..* Identifier Identifier at the product level - can be MPID or national Identifier
.... packagedProductIdentifier 0..* Identifier Identifier at the package level - can be PCID or national
.... pharmaceuticalProductIdentifier 0..* Identifier Identifier at the virtual or administrable product level - can be PhPID or national virtual/administrable product code
... productCode 0..1 CodeableConcept Code for the product that is actually being specified, in established terminologies
... classification 0..* CodeableConcept Classification (e.g. ATC; narcotic/psychotropic; orphan drug; etc.)
... productName 0..* BackboneElement Name of the product (full name, invented name, other)
.... name 1..1 string Name of type and language that is relevant for the users
.... language 0..1 CodeableConcept Language of the name
.... type 0..1 CodeableConcept Type of the name (full name, common name, etc)
... 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
.... doseForm 0..1 CodeableConcept Dose form
.... ingredient 1..* BackboneElement Ingredients
..... role 0..1 CodeableConcept Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
..... substance 1..1 CodeableConcept Substance
..... strengthInfo 0..* BackboneElement Concentration or presentation strength
...... strength 1..1 Ratio Concentration or presentation strength of the precise active ingredient
...... strengthType 0..1 CodeableConcept Type of strength that is expressed
...... strengthSubstance 0..1 CodeableConcept Substance that the strength refers to, if different from the main substance
.... unitOfPresentation 0..1 CodeableConcept Unit of presentation for the manufactured item (tablet, vial, tube). Typically, the smallest countable object in the package.
.... containedQuantity 0..1 Quantity Manufactured item quantity for liquids (3ml/vial)
.... amount 0..1 Quantity Number of such manufactured items in this product (5 vials)
... device 0..* BackboneElement Administration device included in the product
.... deviceQuantity 1..1 Quantity Number of such devices
.... device 1..1 CodeableConcept Device coded

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. MedicinalProductLM 0..* Base Medicinal product (model)
Instances of this logical model can be the target of a Reference
... identifier 0..* BackboneElement The identifier(s) of the product, independently of the level of product. If several identifiers are specified, they shall not have conflicting meanings.
.... @id 0..1 id 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
.... medicinalProductIdentifier 0..* Identifier Identifier at the product level - can be MPID or national Identifier
.... packagedProductIdentifier 0..* Identifier Identifier at the package level - can be PCID or national
.... pharmaceuticalProductIdentifier 0..* Identifier Identifier at the virtual or administrable product level - can be PhPID or national virtual/administrable product code
... productCode 0..1 CodeableConcept Code for the product that is actually being specified, in established terminologies
... classification 0..* CodeableConcept Classification (e.g. ATC; narcotic/psychotropic; orphan drug; etc.)
... productName 0..* BackboneElement Name of the product (full name, invented name, other)
.... @id 0..1 id 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
.... name 1..1 string Name of type and language that is relevant for the users
.... language 0..1 CodeableConcept Language of the name
.... type 0..1 CodeableConcept Type of the name (full name, common name, etc)
... 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 id 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
.... doseForm 0..1 CodeableConcept Dose form
.... ingredient 1..* BackboneElement Ingredients
..... @id 0..1 id 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
..... role 0..1 CodeableConcept Role (active ingredient, excipient). Typically excipients are not needed, so by default active ingredients are expected.
..... substance 1..1 CodeableConcept Substance
..... strengthInfo 0..* BackboneElement Concentration or presentation strength
...... @id 0..1 id 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
...... strength 1..1 Ratio Concentration or presentation strength of the precise active ingredient
...... strengthType 0..1 CodeableConcept Type of strength that is expressed
...... strengthSubstance 0..1 CodeableConcept Substance that the strength refers to, if different from the main substance
.... unitOfPresentation 0..1 CodeableConcept Unit of presentation for the manufactured item (tablet, vial, tube). Typically, the smallest countable object in the package.
.... containedQuantity 0..1 Quantity Manufactured item quantity for liquids (3ml/vial)
.... amount 0..1 Quantity Number of such manufactured items in this product (5 vials)
... device 0..* BackboneElement Administration device included in the product
.... @id 0..1 id 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
.... deviceQuantity 1..1 Quantity Number of such devices
.... device 1..1 CodeableConcept Device coded

doco Documentation for this format

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Base

Summary

Mandatory: 0 element(6 nested mandatory elements)

 

Other representations of profile: CSV, Excel