Pharmaceutical Quality - Chemistry, Manufacturing and Controls (PQ-CMC) Submissions to FDA
2.0.0-ballot - 2025Jan United States of America flag

Pharmaceutical Quality - Chemistry, Manufacturing and Controls (PQ-CMC) Submissions to FDA, published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 2.0.0-ballot built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/FHIR-us-pq-cmc-fda/ and changes regularly. See the Directory of published versions

Resource Profile: Drug Product Component

Official URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/pqcmc-component Version: 2.0.0-ballot
Active as of 2024-12-04 Computable Name: DrugProductComponent
Other Identifiers: OID:2.16.840.1.113883.4.642.40.36.42.23

The amount details about the drug product components to define the product composition in a product unit. Use composition.

Usage:

Formal Views of Profile Content

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

This structure is derived from Ingredient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Ingredient Ingredient
... for 0..* Reference(MedicinalProductDefinition | AdministrableProductDefinition | ManufacturedItemDefinition) Reference to MedicinalProductDefinition
... role 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: Drug Product Component Function Category Terminology (required)
... comment S 0..1 markdown Drug Product Component Additional Information
.... code S 1..1 LiteralCodeableReference(Component Substance) {b} Ingredient Substance
.... Slices for strength S 2..2 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
Slice: Unordered, Closed by exists:textConcentration
..... strength:amount S 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... strengthFactors S 1..1 CodeableConcept Strength Extension
URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension
Binding: Strength Type Terminology (required)
...... Slices for concentration[x] S 1..1 The strength per unitary volume (or mass)
Slice: Unordered, Open by type:$this
....... concentrationRatio Ratio
....... concentrationQuantity Quantity
....... concentration[x]:concentrationQuantity S 0..1 Quantity The strength per unitary volume (or mass)
Binding: Non-Percentage Units (required)
........ value S 1..1 decimal Ingredient Total Amount Numeric
........ comparator S 0..1 code Ingredient Total Amount Operator
........ unit 1..1 string Unit representation
....... concentration[x]:concentrationRatio S 0..1 Ratio The strength per unitary volume (or mass)
........ numerator S 1..1 Quantity Numerator value
Binding: Non-Percentage Units (required)
......... value S 1..1 decimal Ingredient Total Amount Numeric Numerator
......... unit 0..1 string Ingredient Total Amount Numeric Numerator UOM
......... code S 1..1 code Coded form of the unit
........ denominator S 1..1 SimpleQuantity Denominator value
Binding: Non-Percentage Units (required)
......... value S 1..1 decimal Ingredient Total Amount Numeric Denominator
......... unit S 1..1 string Ingredient Total Amount Numeric Denominator UOM
......... code S 1..1 code Coded form of the unit
...... textConcentration S 1..1 string Strength Textual
..... strength:percent S 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
...... concentration[x] S 1..1 Quantity The strength per unitary volume (or mass)
Binding: Percentage Units (required)
....... value S 1..1 decimal Ingredient Total Amount Content Percent
....... code S 1..1 code Ingredient Total Amount Content Percent UOM
...... textConcentration S 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Ingredient.rolerequiredPqcmcDrugProductComponentFunctionCategoryTerminology
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantityrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numeratorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.denominatorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x]requiredPqcmcPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units
from this IG

Constraints

IdGradePath(s)DetailsRequirements
cmc-strength-type-cases2errorIngredient.substanceIF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
: defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select( strength .extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension') .extension.where( value.coding.where( code = 'C45420' and system = %system ).exists() ).exists() implies ( strength.presentation.ofType(Ratio).exists() and strength.presentation.numerator.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ) or ( strength.presentation.ofType(Quantity).exists() and strength.presentation.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ))
NameFlagsCard.TypeDescription & Constraintsdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
ing-1: 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... for Σ 0..* Reference(MedicinalProductDefinition | AdministrableProductDefinition | ManufacturedItemDefinition) Reference to MedicinalProductDefinition
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: Drug Product Component Function Category Terminology (required)
... comment S 0..1 markdown Drug Product Component Additional Information
... substance ΣC 1..1 BackboneElement The substance that comprises this ingredient
cmc-strength-type-cases2: IF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code S 1..1 LiteralCodeableReference(Component Substance) {b} Ingredient Substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.

.... Slices for strength SΣ 2..2 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
Slice: Unordered, Closed by exists:textConcentration
..... strength:All Slices Content/Rules for all slices
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... strength:amount SΣ 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... strengthFactors S 1..1 CodeableConcept Strength Extension
URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension
Binding: Strength Type Terminology (required)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... Slices for concentration[x] SΣ 1..1 The strength per unitary volume (or mass)
Slice: Unordered, Closed by type:$this
....... concentrationRatio Ratio
....... concentrationQuantity Quantity
....... concentration[x]:concentrationQuantity SΣ 0..1 Quantity The strength per unitary volume (or mass)
Binding: Non-Percentage Units (required)
........ value SΣ 1..1 decimal Ingredient Total Amount Numeric
........ comparator ?!SΣ 0..1 code Ingredient Total Amount Operator
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

........ unit Σ 1..1 string Unit representation
....... concentration[x]:concentrationRatio SΣ 0..1 Ratio The strength per unitary volume (or mass)
........ numerator SΣC 1..1 Quantity Numerator value
Binding: Non-Percentage Units (required)
......... value SΣ 1..1 decimal Ingredient Total Amount Numeric Numerator
......... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

......... unit Σ 0..1 string Ingredient Total Amount Numeric Numerator UOM
......... code SΣC 1..1 code Coded form of the unit
........ denominator SΣC 1..1 SimpleQuantity Denominator value
Binding: Non-Percentage Units (required)
......... value SΣ 1..1 decimal Ingredient Total Amount Numeric Denominator
......... unit SΣ 1..1 string Ingredient Total Amount Numeric Denominator UOM
......... code SΣC 1..1 code Coded form of the unit
...... textConcentration SΣ 1..1 string Strength Textual
..... strength:percent SΣ 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
...... concentration[x] SΣ 1..1 Quantity The strength per unitary volume (or mass)
Binding: Percentage Units (required)
....... value SΣ 1..1 decimal Ingredient Total Amount Content Percent
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

....... code SΣC 1..1 code Ingredient Total Amount Content Percent UOM

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Ingredient.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Ingredient.rolerequiredPqcmcDrugProductComponentFunctionCategoryTerminology
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology
from this IG
Ingredient.substance.codeexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantityrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numeratorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.denominatorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x]requiredPqcmcPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmc-strength-type-cases2errorIngredient.substanceIF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
: defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select( strength .extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension') .extension.where( value.coding.where( code = 'C45420' and system = %system ).exists() ).exists() implies ( strength.presentation.ofType(Ratio).exists() and strength.presentation.numerator.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ) or ( strength.presentation.ofType(Quantity).exists() and strength.presentation.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ))
dom-2errorIngredientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorIngredientIf 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-4errorIngredientIf 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-5errorIngredientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceIngredientA resource should have narrative for robust management
: text.`div`.exists()
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()
ing-1errorIngredientIf 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
NameFlagsCard.TypeDescription & Constraintsdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
ing-1: 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
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... for Σ 0..* Reference(MedicinalProductDefinition | AdministrableProductDefinition | ManufacturedItemDefinition) Reference to MedicinalProductDefinition
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: Drug Product Component Function Category Terminology (required)
... 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 If the ingredient is a known or suspected allergen
... comment S 0..1 markdown Drug Product Component Additional Information
... manufacturer Σ 0..* BackboneElement An organization that manufactures 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
.... 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
cmc-strength-type-cases2: IF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
.... 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 S 1..1 LiteralCodeableReference(Component Substance) {b} Ingredient Substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.

.... Slices for strength SΣ 2..2 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
Slice: Unordered, Closed by exists:textConcentration
..... strength:All Slices Content/Rules for all slices
...... 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
....... presentationRatioRange RatioRange
....... presentationCodeableConcept CodeableConcept
....... presentationQuantity Quantity
...... 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 Text of either the whole concentration strength or a part of it (rest being in Strength.concentration as a ratio)
...... 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


..... strength:amount SΣ 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
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... strengthFactors S 1..1 CodeableConcept Strength Extension
URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension
Binding: Strength Type Terminology (required)
...... 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
....... presentationRatioRange RatioRange
....... presentationCodeableConcept CodeableConcept
....... presentationQuantity Quantity
...... textPresentation Σ 0..1 string Text of either the whole presentation strength or a part of it (rest being in Strength.presentation as a ratio)
...... Slices for concentration[x] SΣ 1..1 The strength per unitary volume (or mass)
Slice: Unordered, Closed by type:$this
....... concentrationRatio Ratio
....... concentrationQuantity Quantity
....... concentration[x]:concentrationQuantity SΣ 0..1 Quantity The strength per unitary volume (or mass)
Binding: Non-Percentage Units (required)
........ 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 SΣ 1..1 decimal Ingredient Total Amount Numeric
........ comparator ?!SΣ 0..1 code Ingredient Total Amount Operator
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

........ unit Σ 1..1 string Unit representation
........ system ΣC 0..1 uri System that defines coded unit form
........ code ΣC 0..1 code Coded form of the unit
....... concentration[x]:concentrationRatio SΣ 0..1 Ratio The strength per unitary volume (or mass)
........ 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 SΣC 1..1 Quantity Numerator value
Binding: Non-Percentage Units (required)
......... 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 SΣ 1..1 decimal Ingredient Total Amount Numeric Numerator
......... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

......... unit Σ 0..1 string Ingredient Total Amount Numeric Numerator UOM
......... system ΣC 0..1 uri System that defines coded unit form
......... code SΣC 1..1 code Coded form of the unit
........ denominator SΣC 1..1 SimpleQuantity Denominator value
Binding: Non-Percentage Units (required)
......... 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 SΣ 1..1 decimal Ingredient Total Amount Numeric Denominator
......... unit SΣ 1..1 string Ingredient Total Amount Numeric Denominator UOM
......... system ΣC 0..1 uri System that defines coded unit form
......... code SΣC 1..1 code Coded form of the unit
...... textConcentration SΣ 1..1 string Strength Textual
...... 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


..... strength:percent SΣ 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
....... presentationRatioRange RatioRange
....... presentationCodeableConcept CodeableConcept
....... presentationQuantity Quantity
...... 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] SΣ 1..1 Quantity The strength per unitary volume (or mass)
Binding: Percentage Units (required)
....... 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 SΣ 1..1 decimal Ingredient Total Amount Content Percent
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

....... unit Σ 0..1 string Unit representation
....... system ΣC 0..1 uri System that defines coded unit form
....... code SΣC 1..1 code Ingredient Total Amount Content Percent UOM
...... 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

PathConformanceValueSetURI
Ingredient.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Ingredient.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Ingredient.rolerequiredPqcmcDrugProductComponentFunctionCategoryTerminology
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology
from this IG
Ingredient.functionexampleIngredientFunction
http://hl7.org/fhir/ValueSet/ingredient-function
from the FHIR Standard
Ingredient.manufacturer.rolerequiredIngredientManufacturerRole
http://hl7.org/fhir/ValueSet/ingredient-manufacturer-role|5.0.0
from the FHIR Standard
Ingredient.substance.codeexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength.referenceStrength.substanceexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength.referenceStrength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantityrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numeratorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.denominatorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:amount.referenceStrength.substanceexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength:amount.referenceStrength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:percent.concentration[x]requiredPqcmcPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:percent.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:percent.referenceStrength.substanceexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength:percent.referenceStrength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmc-strength-type-cases2errorIngredient.substanceIF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
: defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select( strength .extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension') .extension.where( value.coding.where( code = 'C45420' and system = %system ).exists() ).exists() implies ( strength.presentation.ofType(Ratio).exists() and strength.presentation.numerator.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ) or ( strength.presentation.ofType(Quantity).exists() and strength.presentation.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ))
dom-2errorIngredientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorIngredientIf 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-4errorIngredientIf 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-5errorIngredientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceIngredientA resource should have narrative for robust management
: text.`div`.exists()
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()
ing-1errorIngredientIf 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: 9 elements(9 nested mandatory elements)
Must-Support: 23 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Ingredient.substance.strength (Closed)
  • The element 1 is sliced based on the value of Ingredient.substance.strength.concentration[x]

Differential View

This structure is derived from Ingredient

NameFlagsCard.TypeDescription & Constraintsdoco
.. Ingredient Ingredient
... for 0..* Reference(MedicinalProductDefinition | AdministrableProductDefinition | ManufacturedItemDefinition) Reference to MedicinalProductDefinition
... role 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: Drug Product Component Function Category Terminology (required)
... comment S 0..1 markdown Drug Product Component Additional Information
.... code S 1..1 LiteralCodeableReference(Component Substance) {b} Ingredient Substance
.... Slices for strength S 2..2 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
Slice: Unordered, Closed by exists:textConcentration
..... strength:amount S 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... strengthFactors S 1..1 CodeableConcept Strength Extension
URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension
Binding: Strength Type Terminology (required)
...... Slices for concentration[x] S 1..1 The strength per unitary volume (or mass)
Slice: Unordered, Open by type:$this
....... concentrationRatio Ratio
....... concentrationQuantity Quantity
....... concentration[x]:concentrationQuantity S 0..1 Quantity The strength per unitary volume (or mass)
Binding: Non-Percentage Units (required)
........ value S 1..1 decimal Ingredient Total Amount Numeric
........ comparator S 0..1 code Ingredient Total Amount Operator
........ unit 1..1 string Unit representation
....... concentration[x]:concentrationRatio S 0..1 Ratio The strength per unitary volume (or mass)
........ numerator S 1..1 Quantity Numerator value
Binding: Non-Percentage Units (required)
......... value S 1..1 decimal Ingredient Total Amount Numeric Numerator
......... unit 0..1 string Ingredient Total Amount Numeric Numerator UOM
......... code S 1..1 code Coded form of the unit
........ denominator S 1..1 SimpleQuantity Denominator value
Binding: Non-Percentage Units (required)
......... value S 1..1 decimal Ingredient Total Amount Numeric Denominator
......... unit S 1..1 string Ingredient Total Amount Numeric Denominator UOM
......... code S 1..1 code Coded form of the unit
...... textConcentration S 1..1 string Strength Textual
..... strength:percent S 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
...... concentration[x] S 1..1 Quantity The strength per unitary volume (or mass)
Binding: Percentage Units (required)
....... value S 1..1 decimal Ingredient Total Amount Content Percent
....... code S 1..1 code Ingredient Total Amount Content Percent UOM
...... textConcentration S 0..0

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Ingredient.rolerequiredPqcmcDrugProductComponentFunctionCategoryTerminology
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantityrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numeratorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.denominatorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x]requiredPqcmcPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units
from this IG

Constraints

IdGradePath(s)DetailsRequirements
cmc-strength-type-cases2errorIngredient.substanceIF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
: defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select( strength .extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension') .extension.where( value.coding.where( code = 'C45420' and system = %system ).exists() ).exists() implies ( strength.presentation.ofType(Ratio).exists() and strength.presentation.numerator.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ) or ( strength.presentation.ofType(Quantity).exists() and strength.presentation.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ))

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
ing-1: 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
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... contained 0..* Resource Contained, inline Resources
... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored
... for Σ 0..* Reference(MedicinalProductDefinition | AdministrableProductDefinition | ManufacturedItemDefinition) Reference to MedicinalProductDefinition
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: Drug Product Component Function Category Terminology (required)
... comment S 0..1 markdown Drug Product Component Additional Information
... substance ΣC 1..1 BackboneElement The substance that comprises this ingredient
cmc-strength-type-cases2: IF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... code S 1..1 LiteralCodeableReference(Component Substance) {b} Ingredient Substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.

.... Slices for strength SΣ 2..2 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
Slice: Unordered, Closed by exists:textConcentration
..... strength:All Slices Content/Rules for all slices
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... strength:amount SΣ 1..1 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... strengthFactors S 1..1 CodeableConcept Strength Extension
URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension
Binding: Strength Type Terminology (required)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... Slices for concentration[x] SΣ 1..1 The strength per unitary volume (or mass)
Slice: Unordered, Closed by type:$this
....... concentrationRatio Ratio
....... concentrationQuantity Quantity
....... concentration[x]:concentrationQuantity SΣ 0..1 Quantity The strength per unitary volume (or mass)
Binding: Non-Percentage Units (required)
........ value SΣ 1..1 decimal Ingredient Total Amount Numeric
........ comparator ?!SΣ 0..1 code Ingredient Total Amount Operator
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

........ unit Σ 1..1 string Unit representation
....... concentration[x]:concentrationRatio SΣ 0..1 Ratio The strength per unitary volume (or mass)
........ numerator SΣC 1..1 Quantity Numerator value
Binding: Non-Percentage Units (required)
......... value SΣ 1..1 decimal Ingredient Total Amount Numeric Numerator
......... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

......... unit Σ 0..1 string Ingredient Total Amount Numeric Numerator UOM
......... code SΣC 1..1 code Coded form of the unit
........ denominator SΣC 1..1 SimpleQuantity Denominator value
Binding: Non-Percentage Units (required)
......... value SΣ 1..1 decimal Ingredient Total Amount Numeric Denominator
......... unit SΣ 1..1 string Ingredient Total Amount Numeric Denominator UOM
......... code SΣC 1..1 code Coded form of the unit
...... textConcentration SΣ 1..1 string Strength Textual
..... strength:percent SΣ 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
...... concentration[x] SΣ 1..1 Quantity The strength per unitary volume (or mass)
Binding: Percentage Units (required)
....... value SΣ 1..1 decimal Ingredient Total Amount Content Percent
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

....... code SΣC 1..1 code Ingredient Total Amount Content Percent UOM

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Ingredient.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Ingredient.rolerequiredPqcmcDrugProductComponentFunctionCategoryTerminology
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology
from this IG
Ingredient.substance.codeexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantityrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numeratorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.denominatorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x]requiredPqcmcPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmc-strength-type-cases2errorIngredient.substanceIF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
: defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select( strength .extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension') .extension.where( value.coding.where( code = 'C45420' and system = %system ).exists() ).exists() implies ( strength.presentation.ofType(Ratio).exists() and strength.presentation.numerator.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ) or ( strength.presentation.ofType(Quantity).exists() and strength.presentation.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ))
dom-2errorIngredientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorIngredientIf 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-4errorIngredientIf 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-5errorIngredientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceIngredientA resource should have narrative for robust management
: text.`div`.exists()
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()
ing-1errorIngredientIf 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

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Ingredient C 0..* Ingredient An ingredient of a manufactured item or pharmaceutical product
ing-1: 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
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... text 0..1 Narrative Text summary of the resource, for human interpretation
... 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 draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.

... for Σ 0..* Reference(MedicinalProductDefinition | AdministrableProductDefinition | ManufacturedItemDefinition) Reference to MedicinalProductDefinition
... role Σ 1..1 CodeableConcept Purpose of the ingredient within the product, e.g. active, inactive
Binding: Drug Product Component Function Category Terminology (required)
... 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 If the ingredient is a known or suspected allergen
... comment S 0..1 markdown Drug Product Component Additional Information
... manufacturer Σ 0..* BackboneElement An organization that manufactures 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
.... 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
cmc-strength-type-cases2: IF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
.... 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 S 1..1 LiteralCodeableReference(Component Substance) {b} Ingredient Substance
Binding: SNOMEDCTSubstanceCodes (example): This value set includes all substance codes from SNOMED CT - provided as an exemplar value set.

.... Slices for strength SΣ 2..2 BackboneElement The quantity of substance, per presentation, or per volume or mass, and type of quantity
Slice: Unordered, Closed by exists:textConcentration
..... strength:All Slices Content/Rules for all slices
...... 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
....... presentationRatioRange RatioRange
....... presentationCodeableConcept CodeableConcept
....... presentationQuantity Quantity
...... 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 Text of either the whole concentration strength or a part of it (rest being in Strength.concentration as a ratio)
...... 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


..... strength:amount SΣ 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
...... Slices for extension 1..* Extension Extension
Slice: Unordered, Open by value:url
....... strengthFactors S 1..1 CodeableConcept Strength Extension
URL: http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension
Binding: Strength Type Terminology (required)
...... 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
....... presentationRatioRange RatioRange
....... presentationCodeableConcept CodeableConcept
....... presentationQuantity Quantity
...... textPresentation Σ 0..1 string Text of either the whole presentation strength or a part of it (rest being in Strength.presentation as a ratio)
...... Slices for concentration[x] SΣ 1..1 The strength per unitary volume (or mass)
Slice: Unordered, Closed by type:$this
....... concentrationRatio Ratio
....... concentrationQuantity Quantity
....... concentration[x]:concentrationQuantity SΣ 0..1 Quantity The strength per unitary volume (or mass)
Binding: Non-Percentage Units (required)
........ 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 SΣ 1..1 decimal Ingredient Total Amount Numeric
........ comparator ?!SΣ 0..1 code Ingredient Total Amount Operator
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

........ unit Σ 1..1 string Unit representation
........ system ΣC 0..1 uri System that defines coded unit form
........ code ΣC 0..1 code Coded form of the unit
....... concentration[x]:concentrationRatio SΣ 0..1 Ratio The strength per unitary volume (or mass)
........ 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 SΣC 1..1 Quantity Numerator value
Binding: Non-Percentage Units (required)
......... 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 SΣ 1..1 decimal Ingredient Total Amount Numeric Numerator
......... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

......... unit Σ 0..1 string Ingredient Total Amount Numeric Numerator UOM
......... system ΣC 0..1 uri System that defines coded unit form
......... code SΣC 1..1 code Coded form of the unit
........ denominator SΣC 1..1 SimpleQuantity Denominator value
Binding: Non-Percentage Units (required)
......... 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 SΣ 1..1 decimal Ingredient Total Amount Numeric Denominator
......... unit SΣ 1..1 string Ingredient Total Amount Numeric Denominator UOM
......... system ΣC 0..1 uri System that defines coded unit form
......... code SΣC 1..1 code Coded form of the unit
...... textConcentration SΣ 1..1 string Strength Textual
...... 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


..... strength:percent SΣ 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
....... presentationRatioRange RatioRange
....... presentationCodeableConcept CodeableConcept
....... presentationQuantity Quantity
...... 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] SΣ 1..1 Quantity The strength per unitary volume (or mass)
Binding: Percentage Units (required)
....... 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 SΣ 1..1 decimal Ingredient Total Amount Content Percent
....... comparator ?!Σ 0..1 code < | <= | >= | > | ad - how to understand the value
Binding: QuantityComparator (required): How the Quantity should be understood and represented.

....... unit Σ 0..1 string Unit representation
....... system ΣC 0..1 uri System that defines coded unit form
....... code SΣC 1..1 code Ingredient Total Amount Content Percent UOM
...... 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

PathConformanceValueSetURI
Ingredient.languagerequiredAllLanguages
http://hl7.org/fhir/ValueSet/all-languages|5.0.0
from the FHIR Standard
Ingredient.statusrequiredPublicationStatus
http://hl7.org/fhir/ValueSet/publication-status|5.0.0
from the FHIR Standard
Ingredient.rolerequiredPqcmcDrugProductComponentFunctionCategoryTerminology
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-drug-product-component-function-category-terminology
from this IG
Ingredient.functionexampleIngredientFunction
http://hl7.org/fhir/ValueSet/ingredient-function
from the FHIR Standard
Ingredient.manufacturer.rolerequiredIngredientManufacturerRole
http://hl7.org/fhir/ValueSet/ingredient-manufacturer-role|5.0.0
from the FHIR Standard
Ingredient.substance.codeexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength.referenceStrength.substanceexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength.referenceStrength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantityrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationQuantity.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numeratorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.numerator.comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:amount.concentration[x]:concentrationRatio.denominatorrequiredPqcmcNonPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-non-percentage-units
from this IG
Ingredient.substance.strength:amount.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:amount.referenceStrength.substanceexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength:amount.referenceStrength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:percent.concentration[x]requiredPqcmcPercentageUnits
http://hl7.org/fhir/us/pq-cmc-fda/ValueSet/pqcmc-percentage-units
from this IG
Ingredient.substance.strength:percent.concentration[x].comparatorrequiredQuantityComparator
http://hl7.org/fhir/ValueSet/quantity-comparator|5.0.0
from the FHIR Standard
Ingredient.substance.strength:percent.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard
Ingredient.substance.strength:percent.referenceStrength.substanceexampleSNOMEDCTSubstanceCodes
http://hl7.org/fhir/ValueSet/substance-codes
from the FHIR Standard
Ingredient.substance.strength:percent.referenceStrength.countryexampleCountryValueSet
http://hl7.org/fhir/ValueSet/country
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
cmc-strength-type-cases2errorIngredient.substanceIF Strength Type = Activity THEN Strength Textual, Strength UOM ([arb'U]) and Strength Operator are applicable data elements. Strength Textual and Strength UOM will be Mandatory and Operator will be Optional. Codes 75765 [arb'U]; C45420 Activity.
: defineVariable('system','http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl').select( strength .extension('http://hl7.org/fhir/us/pq-cmc-fda/StructureDefinition/strength-extension') .extension.where( value.coding.where( code = 'C45420' and system = %system ).exists() ).exists() implies ( strength.presentation.ofType(Ratio).exists() and strength.presentation.numerator.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ) or ( strength.presentation.ofType(Quantity).exists() and strength.presentation.where( code = '[arb\'U]' and system = 'http://unitsofmeasure.org' ) ))
dom-2errorIngredientIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-3errorIngredientIf 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-4errorIngredientIf 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-5errorIngredientIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
dom-6best practiceIngredientA resource should have narrative for robust management
: text.`div`.exists()
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()
ing-1errorIngredientIf 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: 9 elements(9 nested mandatory elements)
Must-Support: 23 elements
Prohibited: 1 element

Structures

This structure refers to these other structures:

Extensions

This structure refers to these extensions:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Ingredient.substance.strength (Closed)
  • The element 1 is sliced based on the value of Ingredient.substance.strength.concentration[x]

 

Other representations of profile: CSV, Excel, Schematron