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)

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

This profile specified how the Ingredient is used in a PhPID request (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, presentation-required
... 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(MedicinalProductDefinition for PhPID request) 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 Σ 1..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
..... presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
...... presentationRatio Ratio
...... presentationQuantity Quantity
..... textPresentation Σ 0..1 string Should only be used if the strength cannot be coded.
..... textConcentration Σ 0..1 string Not used in this profile

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.

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
presentation-required error Ingredient Either presentationRatio or presentationQuantity or textPresentation MUST be populated substance.strength.presentation.ofType(Ratio).exists() or substance.strength.presentation.ofType(Quantity).exists() or substance.strength.textPresentation.exists()

This structure is derived from Ingredient

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: presentation-required
... id 1..1 id Logical id of this artifact
... status 1..1 code Not used in this profile
... for 0..* Reference(MedicinalProductDefinition for PhPID request) 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 0..1 Coding Code defined by a terminology system
....... system 1..1 uri Identity of the terminology system
....... code 1..1 code Symbol in syntax defined by the system
...... text 1..1 string Plain text representation of the concept
.... strength 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... presentation[x] 0..1 The quantity of substance in the unit of presentation
...... presentationRatio Ratio
...... presentationQuantity Quantity
..... textPresentation 0..1 string Should only be used if the strength cannot be coded.
..... textConcentration 0..1 string Not used in this profile

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.

Constraints

Id Grade Path(s) Description Expression
presentation-required error Ingredient Either presentationRatio or presentationQuantity or textPresentation MUST be populated substance.strength.presentation.ofType(Ratio).exists() or substance.strength.presentation.ofType(Quantity).exists() or substance.strength.textPresentation.exists()
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1, presentation-required
... 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(MedicinalProductDefinition for PhPID request) 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 Σ 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
....... 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 Σ 1..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
..... presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
...... presentationRatio Ratio
...... presentationQuantity Quantity
..... textPresentation Σ 0..1 string Should only be used if the strength cannot be coded.
..... 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..* 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.
...... strength[x] Σ 1..1 Strength expressed in terms of a 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.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
presentation-required error Ingredient Either presentationRatio or presentationQuantity or textPresentation MUST be populated substance.strength.presentation.ofType(Ratio).exists() or substance.strength.presentation.ofType(Quantity).exists() or substance.strength.textPresentation.exists()

This structure is derived from Ingredient

Summary

Mandatory: 2 elements(3 nested mandatory elements)

Structures

This structure refers to these other structures:

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1, presentation-required
... 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(MedicinalProductDefinition for PhPID request) 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 Σ 1..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
..... presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
...... presentationRatio Ratio
...... presentationQuantity Quantity
..... textPresentation Σ 0..1 string Should only be used if the strength cannot be coded.
..... textConcentration Σ 0..1 string Not used in this profile

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.

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
presentation-required error Ingredient Either presentationRatio or presentationQuantity or textPresentation MUST be populated substance.strength.presentation.ofType(Ratio).exists() or substance.strength.presentation.ofType(Quantity).exists() or substance.strength.textPresentation.exists()

Differential View

This structure is derived from Ingredient

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: presentation-required
... id 1..1 id Logical id of this artifact
... status 1..1 code Not used in this profile
... for 0..* Reference(MedicinalProductDefinition for PhPID request) 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 0..1 Coding Code defined by a terminology system
....... system 1..1 uri Identity of the terminology system
....... code 1..1 code Symbol in syntax defined by the system
...... text 1..1 string Plain text representation of the concept
.... strength 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity.
..... presentation[x] 0..1 The quantity of substance in the unit of presentation
...... presentationRatio Ratio
...... presentationQuantity Quantity
..... textPresentation 0..1 string Should only be used if the strength cannot be coded.
..... textConcentration 0..1 string Not used in this profile

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.

Constraints

Id Grade Path(s) Description Expression
presentation-required error Ingredient Either presentationRatio or presentationQuantity or textPresentation MUST be populated substance.strength.presentation.ofType(Ratio).exists() or substance.strength.presentation.ofType(Quantity).exists() or substance.strength.textPresentation.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
Constraints: ing-1, presentation-required
... 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(MedicinalProductDefinition for PhPID request) 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 Σ 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
....... 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 Σ 1..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
..... presentation[x] Σ 0..1 The quantity of substance in the unit of presentation
...... presentationRatio Ratio
...... presentationQuantity Quantity
..... textPresentation Σ 0..1 string Should only be used if the strength cannot be coded.
..... 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..* 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.
...... strength[x] Σ 1..1 Strength expressed in terms of a 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.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
presentation-required error Ingredient Either presentationRatio or presentationQuantity or textPresentation MUST be populated substance.strength.presentation.ofType(Ratio).exists() or substance.strength.presentation.ofType(Quantity).exists() or substance.strength.textPresentation.exists()

This structure is derived from Ingredient

Summary

Mandatory: 2 elements(3 nested mandatory elements)

Structures

This structure refers to these other structures:

 

Other representations of profile: CSV, Excel, Schematron