UMC IDMP Request and Publish API
0.1.0 - CI Build International flag

UMC IDMP Request and Publish API, published by Uppsala Monitoring Centre. 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/Uppsala-Monitoring-Centre/WHO-UMC-IDMP-Service/ and changes regularly. See the Directory of published versions

Resource Profile: Ingredient (WHO PhP publish)

Official URL: http://who-umc.org/idmp/StructureDefinition/Ingredient-who-php-publish Version: 0.1.0
Active as of 2025-11-19 Computable Name: IngredientWhoPhPPublish

This profile specified how the Ingredient is used in PhPID publishing (as contained resource in a MedicinalProductDefinition) by the WHO-UMC PhP HL7 FHIR Service

Usages:

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.

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1
... id Σ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... status ?!Σ 1..1 code Not used in this profile
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... for Σ 0..* Reference(AdministrableProductDefinition (WHO PhP)) The product which this ingredient is a constituent part of
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: IngredientRole (example)
... allergenicIndicator ΣC 0..1 boolean Not used in this profile
... manufacturer Σ 0..* BackboneElement Not used in this profile
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... manufacturer Σ 1..1 Reference(Organization) An organization that manufactures this ingredient
... substance ΣC 1..1 BackboneElement The substance that comprises this ingredient
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code ΣC 1..1 CodeableReference(SubstanceDefinition) A code or full resource that represents the ingredient substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
.... strength Σ 0..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
Slice: Unordered, Open by type:$this
...... presentationRatio Ratio
...... presentationRatioRange RatioRange
...... presentationCodeableConcept CodeableConcept
...... presentationQuantity Quantity
...... presentation[x]:presentationRatio Σ 0..1 Ratio The quantity of substance in the unit of presentation
....... numerator ΣC 1..1 Quantity Numerator value
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
....... denominator ΣC 1..1 SimpleQuantity(5.0.0) Denominator value
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
...... presentation[x]:presentationQuantity Σ 0..1 Quantity The quantity of substance in the unit of presentation
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
..... textConcentration Σ 0..1 string Not used in this profile
..... referenceStrength Σ 0..1 BackboneElement Strength expressed in terms of a reference substance
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... substance Σ 1..1 CodeableReference(SubstanceDefinition) Relevant reference substance.
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
...... strength[x] Σ 1..1 Strength of the reference substance.
....... strengthRatio Ratio
....... strengthRatioRange RatioRange
....... strengthQuantity Quantity

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Ingredient.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Ingredient.role Base example Ingredient Role 📦5.0.0 FHIR Std.
Ingredient.substance.​code Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationRatio.​denominator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.referenceStrength.​substance Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Ingredient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Ingredient 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 Ingredient 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 Ingredient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Ingredient 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()
ing-1 error Ingredient If an ingredient is noted as an allergen (allergenicIndicator) then its substance should be a code. If the substance is a SubstanceDefinition, then the allegen information should be documented in that resource Ingredient.where(allergenicIndicator=true).count() + Ingredient.substance.code.reference.count() < 2

This structure is derived from Ingredient

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient Ingredient
... id 1..1 id Logical id of this artifact
... status 1..1 code Not used in this profile
... for 0..* Reference(AdministrableProductDefinition (WHO PhP)) The product which this ingredient is a constituent part of
... allergenicIndicator 0..1 boolean Not used in this profile
... manufacturer 0..* BackboneElement Not used in this profile
... substance
.... code
..... concept
...... coding 1..1 Coding Code defined by a terminology system
....... system 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
....... code 1..1 code Symbol in syntax defined by the system
...... text 1..1 string Plain text representation of the concept
.... strength 0..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... Slices for presentation[x] 0..1 Ratio, RatioRange, CodeableConcept, Quantity The quantity of substance in the unit of presentation
Slice: Unordered, Open by type:$this
...... presentation[x]:presentationRatio 0..1 Ratio The quantity of substance in the unit of presentation
....... numerator 1..1 Quantity Numerator value
........ value 1..1 decimal Numerical value (with implicit precision)
........ unit 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
....... denominator 1..1 SimpleQuantity(5.0.0) Denominator value
........ value 1..1 decimal Numerical value (with implicit precision)
........ unit 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
...... presentation[x]:presentationQuantity 0..1 Quantity The quantity of substance in the unit of presentation
....... value 1..1 decimal Numerical value (with implicit precision)
....... unit 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
..... textConcentration 0..1 string Not used in this profile
..... referenceStrength 0..1 BackboneElement Strength expressed in terms of a reference substance
...... substance 1..1 CodeableReference(SubstanceDefinition) Relevant reference substance.
....... concept
........ coding 0..1 Coding Code defined by a terminology system
......... system 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
......... code 1..1 code Symbol in syntax defined by the system
...... strength[x] 1..1 Ratio, RatioRange, Quantity Strength of the reference substance.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Ingredient.role Base example Ingredient Role 📦5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationRatio.​denominator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​unit Base required Strength Unit Value Set 📦0.1.0 This IG
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1
... id Σ 1..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
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier An identifier or code by which the ingredient can be referenced
... status ?!Σ 1..1 code Not used in this profile
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... for Σ 0..* Reference(AdministrableProductDefinition (WHO PhP)) The product which this ingredient is a constituent part of
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: IngredientRole (example)
... function Σ 0..* CodeableConcept Precise action within the drug product, e.g. antioxidant, alkalizing agent
Binding: IngredientFunction (example): A classification of the ingredient identifying its precise purpose(s) in the drug product (beyond e.g. active/inactive).
... group Σ 0..1 CodeableConcept A classification of the ingredient according to where in the physical item it tends to be used, such the outer shell of a tablet, inner body or ink
... allergenicIndicator ΣC 0..1 boolean Not used in this profile
... comment 0..1 markdown A place for providing any notes that are relevant to the component, e.g. removed during process, adjusted for loss on drying
... manufacturer Σ 0..* BackboneElement Not used in this profile
.... 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
.... role Σ 0..1 code allowed | possible | actual
Binding: IngredientManufacturerRole (required): The way in which this manufacturer is associated with the ingredient.
.... manufacturer Σ 1..1 Reference(Organization) An organization that manufactures this ingredient
... substance ΣC 1..1 BackboneElement The substance that comprises this ingredient
.... 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
.... code ΣC 1..1 CodeableReference(SubstanceDefinition) A code or full resource that represents the ingredient substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... concept Σ 0..1 CodeableConcept Reference to a concept (by class)
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 1..1 Coding Code defined by a terminology system
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
....... version Σ 0..1 string Version of the system - if relevant
....... code ΣC 1..1 code Symbol in syntax defined by the system
....... display ΣC 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... text Σ 1..1 string Plain text representation of the concept
..... reference Σ 0..1 Reference() Reference to a resource (by instance)
.... strength Σ 0..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... 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
..... Slices for presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
Slice: Unordered, Open by type:$this
...... presentationRatio Ratio
...... presentationRatioRange RatioRange
...... presentationCodeableConcept CodeableConcept
...... presentationQuantity Quantity
...... presentation[x]:presentationRatio Σ 0..1 Ratio The quantity of substance in the unit of presentation
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... numerator ΣC 1..1 Quantity Numerator value
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
........ system ΣC 0..1 uri System that defines coded unit form
........ code ΣC 0..1 code Coded form of the unit
....... denominator ΣC 1..1 SimpleQuantity(5.0.0) Denominator value
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
........ system ΣC 0..1 uri System that defines coded unit form
........ code ΣC 0..1 code Coded form of the unit
...... presentation[x]:presentationQuantity Σ 0..1 Quantity The quantity of substance in the unit of presentation
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
....... system ΣC 0..1 uri System that defines coded unit form
....... code ΣC 0..1 code Coded form of the unit
..... textPresentation Σ 0..1 string Text of either the whole presentation strength or a part of it (rest being in Strength.presentation as a ratio)
..... concentration[x] Σ 0..1 The strength per unitary volume (or mass)
...... concentrationRatio Ratio
...... concentrationRatioRange RatioRange
...... concentrationCodeableConcept CodeableConcept
...... concentrationQuantity Quantity
..... textConcentration Σ 0..1 string Not used in this profile
..... basis Σ 0..1 CodeableConcept A code that indicates if the strength is, for example, based on the ingredient substance as stated or on the substance base (when the ingredient is a salt)
..... measurementPoint Σ 0..1 string When strength is measured at a particular point or distance
..... country Σ 0..* CodeableConcept Where the strength range applies
Binding: CountryValueSet (example): Jurisdiction codes
..... referenceStrength Σ 0..1 BackboneElement Strength expressed in terms of a reference substance
...... 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
...... substance Σ 1..1 CodeableReference(SubstanceDefinition) Relevant reference substance.
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... concept Σ 0..1 CodeableConcept Reference to a concept (by class)
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ coding Σ 0..1 Coding Code defined by a terminology system
......... id 0..1 id Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
......... version Σ 0..1 string Version of the system - if relevant
......... code ΣC 1..1 code Symbol in syntax defined by the system
......... display ΣC 0..1 string Representation defined by the system
......... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
........ text Σ 0..1 string Plain text representation of the concept
....... reference Σ 0..1 Reference() Reference to a resource (by instance)
...... strength[x] Σ 1..1 Strength of the reference substance.
....... strengthRatio Ratio
....... strengthRatioRange RatioRange
....... strengthQuantity Quantity
...... measurementPoint Σ 0..1 string When strength is measured at a particular point or distance
...... country Σ 0..* CodeableConcept Where the strength range applies
Binding: CountryValueSet (example): Jurisdiction codes

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Ingredient.language Base required All Languages 📍5.0.0 FHIR Std.
Ingredient.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Ingredient.role Base example Ingredient Role 📦5.0.0 FHIR Std.
Ingredient.function Base example Ingredient Function 📍5.0.0 FHIR Std.
Ingredient.manufacturer.​role Base required Ingredient Manufacturer Role 📍5.0.0 FHIR Std.
Ingredient.substance.​code Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationRatio.​denominator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.country Base example Country ValueSet 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.referenceStrength.​substance Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.referenceStrength.​country Base example Country ValueSet 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Ingredient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Ingredient 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 Ingredient 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 Ingredient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Ingredient 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()
ing-1 error Ingredient If an ingredient is noted as an allergen (allergenicIndicator) then its substance should be a code. If the substance is a SubstanceDefinition, then the allegen information should be documented in that resource Ingredient.where(allergenicIndicator=true).count() + Ingredient.substance.code.reference.count() < 2

This structure is derived from Ingredient

Summary

Mandatory: 1 element(14 nested mandatory elements)

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Ingredient.substance.strength.presentation[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1
... id Σ 1..1 id Logical id of this artifact
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... status ?!Σ 1..1 code Not used in this profile
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... for Σ 0..* Reference(AdministrableProductDefinition (WHO PhP)) The product which this ingredient is a constituent part of
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: IngredientRole (example)
... allergenicIndicator ΣC 0..1 boolean Not used in this profile
... manufacturer Σ 0..* BackboneElement Not used in this profile
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... manufacturer Σ 1..1 Reference(Organization) An organization that manufactures this ingredient
... substance ΣC 1..1 BackboneElement The substance that comprises this ingredient
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code ΣC 1..1 CodeableReference(SubstanceDefinition) A code or full resource that represents the ingredient substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
.... strength Σ 0..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... Slices for presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
Slice: Unordered, Open by type:$this
...... presentationRatio Ratio
...... presentationRatioRange RatioRange
...... presentationCodeableConcept CodeableConcept
...... presentationQuantity Quantity
...... presentation[x]:presentationRatio Σ 0..1 Ratio The quantity of substance in the unit of presentation
....... numerator ΣC 1..1 Quantity Numerator value
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
....... denominator ΣC 1..1 SimpleQuantity(5.0.0) Denominator value
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
...... presentation[x]:presentationQuantity Σ 0..1 Quantity The quantity of substance in the unit of presentation
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
..... textConcentration Σ 0..1 string Not used in this profile
..... referenceStrength Σ 0..1 BackboneElement Strength expressed in terms of a reference substance
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... substance Σ 1..1 CodeableReference(SubstanceDefinition) Relevant reference substance.
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
...... strength[x] Σ 1..1 Strength of the reference substance.
....... strengthRatio Ratio
....... strengthRatioRange RatioRange
....... strengthQuantity Quantity

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Ingredient.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Ingredient.role Base example Ingredient Role 📦5.0.0 FHIR Std.
Ingredient.substance.​code Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationRatio.​denominator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.referenceStrength.​substance Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Ingredient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Ingredient 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 Ingredient 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 Ingredient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Ingredient 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()
ing-1 error Ingredient If an ingredient is noted as an allergen (allergenicIndicator) then its substance should be a code. If the substance is a SubstanceDefinition, then the allegen information should be documented in that resource Ingredient.where(allergenicIndicator=true).count() + Ingredient.substance.code.reference.count() < 2

Differential View

This structure is derived from Ingredient

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient Ingredient
... id 1..1 id Logical id of this artifact
... status 1..1 code Not used in this profile
... for 0..* Reference(AdministrableProductDefinition (WHO PhP)) The product which this ingredient is a constituent part of
... allergenicIndicator 0..1 boolean Not used in this profile
... manufacturer 0..* BackboneElement Not used in this profile
... substance
.... code
..... concept
...... coding 1..1 Coding Code defined by a terminology system
....... system 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
....... code 1..1 code Symbol in syntax defined by the system
...... text 1..1 string Plain text representation of the concept
.... strength 0..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... Slices for presentation[x] 0..1 Ratio, RatioRange, CodeableConcept, Quantity The quantity of substance in the unit of presentation
Slice: Unordered, Open by type:$this
...... presentation[x]:presentationRatio 0..1 Ratio The quantity of substance in the unit of presentation
....... numerator 1..1 Quantity Numerator value
........ value 1..1 decimal Numerical value (with implicit precision)
........ unit 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
....... denominator 1..1 SimpleQuantity(5.0.0) Denominator value
........ value 1..1 decimal Numerical value (with implicit precision)
........ unit 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
...... presentation[x]:presentationQuantity 0..1 Quantity The quantity of substance in the unit of presentation
....... value 1..1 decimal Numerical value (with implicit precision)
....... unit 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
..... textConcentration 0..1 string Not used in this profile
..... referenceStrength 0..1 BackboneElement Strength expressed in terms of a reference substance
...... substance 1..1 CodeableReference(SubstanceDefinition) Relevant reference substance.
....... concept
........ coding 0..1 Coding Code defined by a terminology system
......... system 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
......... code 1..1 code Symbol in syntax defined by the system
...... strength[x] 1..1 Ratio, RatioRange, Quantity Strength of the reference substance.

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
Ingredient.role Base example Ingredient Role 📦5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationRatio.​denominator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​unit Base required Strength Unit Value Set 📦0.1.0 This IG

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1
... id Σ 1..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
... 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
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... identifier Σ 0..1 Identifier An identifier or code by which the ingredient can be referenced
... status ?!Σ 1..1 code Not used in this profile
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... for Σ 0..* Reference(AdministrableProductDefinition (WHO PhP)) The product which this ingredient is a constituent part of
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: IngredientRole (example)
... function Σ 0..* CodeableConcept Precise action within the drug product, e.g. antioxidant, alkalizing agent
Binding: IngredientFunction (example): A classification of the ingredient identifying its precise purpose(s) in the drug product (beyond e.g. active/inactive).
... group Σ 0..1 CodeableConcept A classification of the ingredient according to where in the physical item it tends to be used, such the outer shell of a tablet, inner body or ink
... allergenicIndicator ΣC 0..1 boolean Not used in this profile
... comment 0..1 markdown A place for providing any notes that are relevant to the component, e.g. removed during process, adjusted for loss on drying
... manufacturer Σ 0..* BackboneElement Not used in this profile
.... 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
.... role Σ 0..1 code allowed | possible | actual
Binding: IngredientManufacturerRole (required): The way in which this manufacturer is associated with the ingredient.
.... manufacturer Σ 1..1 Reference(Organization) An organization that manufactures this ingredient
... substance ΣC 1..1 BackboneElement The substance that comprises this ingredient
.... 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
.... code ΣC 1..1 CodeableReference(SubstanceDefinition) A code or full resource that represents the ingredient substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
..... id 0..1 id Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... concept Σ 0..1 CodeableConcept Reference to a concept (by class)
...... id 0..1 id Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
...... coding Σ 1..1 Coding Code defined by a terminology system
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
....... version Σ 0..1 string Version of the system - if relevant
....... code ΣC 1..1 code Symbol in syntax defined by the system
....... display ΣC 0..1 string Representation defined by the system
....... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
...... text Σ 1..1 string Plain text representation of the concept
..... reference Σ 0..1 Reference() Reference to a resource (by instance)
.... strength Σ 0..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... 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
..... Slices for presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
Slice: Unordered, Open by type:$this
...... presentationRatio Ratio
...... presentationRatioRange RatioRange
...... presentationCodeableConcept CodeableConcept
...... presentationQuantity Quantity
...... presentation[x]:presentationRatio Σ 0..1 Ratio The quantity of substance in the unit of presentation
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... numerator ΣC 1..1 Quantity Numerator value
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
........ system ΣC 0..1 uri System that defines coded unit form
........ code ΣC 0..1 code Coded form of the unit
....... denominator ΣC 1..1 SimpleQuantity(5.0.0) Denominator value
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ value Σ 1..1 decimal Numerical value (with implicit precision)
........ unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
........ system ΣC 0..1 uri System that defines coded unit form
........ code ΣC 0..1 code Coded form of the unit
...... presentation[x]:presentationQuantity Σ 0..1 Quantity The quantity of substance in the unit of presentation
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... value Σ 1..1 decimal Numerical value (with implicit precision)
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.
....... unit Σ 1..1 string Unit representation
Binding: Strength Unit Value Set (required)
....... system ΣC 0..1 uri System that defines coded unit form
....... code ΣC 0..1 code Coded form of the unit
..... textPresentation Σ 0..1 string Text of either the whole presentation strength or a part of it (rest being in Strength.presentation as a ratio)
..... concentration[x] Σ 0..1 The strength per unitary volume (or mass)
...... concentrationRatio Ratio
...... concentrationRatioRange RatioRange
...... concentrationCodeableConcept CodeableConcept
...... concentrationQuantity Quantity
..... textConcentration Σ 0..1 string Not used in this profile
..... basis Σ 0..1 CodeableConcept A code that indicates if the strength is, for example, based on the ingredient substance as stated or on the substance base (when the ingredient is a salt)
..... measurementPoint Σ 0..1 string When strength is measured at a particular point or distance
..... country Σ 0..* CodeableConcept Where the strength range applies
Binding: CountryValueSet (example): Jurisdiction codes
..... referenceStrength Σ 0..1 BackboneElement Strength expressed in terms of a reference substance
...... 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
...... substance Σ 1..1 CodeableReference(SubstanceDefinition) Relevant reference substance.
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.
....... id 0..1 id Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
....... concept Σ 0..1 CodeableConcept Reference to a concept (by class)
........ id 0..1 id Unique id for inter-element referencing
........ extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
........ coding Σ 0..1 Coding Code defined by a terminology system
......... id 0..1 id Unique id for inter-element referencing
......... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
......... system Σ 1..1 uri Identity of the terminology system
Required Pattern: http://who-umc.org/idmp/gsid
......... version Σ 0..1 string Version of the system - if relevant
......... code ΣC 1..1 code Symbol in syntax defined by the system
......... display ΣC 0..1 string Representation defined by the system
......... userSelected Σ 0..1 boolean If this coding was chosen directly by the user
........ text Σ 0..1 string Plain text representation of the concept
....... reference Σ 0..1 Reference() Reference to a resource (by instance)
...... strength[x] Σ 1..1 Strength of the reference substance.
....... strengthRatio Ratio
....... strengthRatioRange RatioRange
....... strengthQuantity Quantity
...... measurementPoint Σ 0..1 string When strength is measured at a particular point or distance
...... country Σ 0..* CodeableConcept Where the strength range applies
Binding: CountryValueSet (example): Jurisdiction codes

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Ingredient.language Base required All Languages 📍5.0.0 FHIR Std.
Ingredient.status Base required PublicationStatus 📍5.0.0 FHIR Std.
Ingredient.role Base example Ingredient Role 📦5.0.0 FHIR Std.
Ingredient.function Base example Ingredient Function 📍5.0.0 FHIR Std.
Ingredient.manufacturer.​role Base required Ingredient Manufacturer Role 📍5.0.0 FHIR Std.
Ingredient.substance.​code Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationRatio.​numerator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationRatio.​denominator.unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​comparator Base required QuantityComparator 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.presentation[x]:presentationQuantity.​unit Base required Strength Unit Value Set 📦0.1.0 This IG
Ingredient.substance.​strength.country Base example Country ValueSet 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.referenceStrength.​substance Base example SNOMED CT Substance Codes 📍5.0.0 FHIR Std.
Ingredient.substance.​strength.referenceStrength.​country Base example Country ValueSet 📍5.0.0 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error Ingredient If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error Ingredient 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 Ingredient 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 Ingredient If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice Ingredient 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()
ing-1 error Ingredient If an ingredient is noted as an allergen (allergenicIndicator) then its substance should be a code. If the substance is a SubstanceDefinition, then the allegen information should be documented in that resource Ingredient.where(allergenicIndicator=true).count() + Ingredient.substance.code.reference.count() < 2

This structure is derived from Ingredient

Summary

Mandatory: 1 element(14 nested mandatory elements)

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Ingredient.substance.strength.presentation[x]

 

Other representations of profile: CSV, Excel, Schematron