Pharmaceutical Quality (Industry), published by HL7 International / Biomedical Research and Regulation. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/uv-dx-pq/ and changes regularly. See the Directory of published versions
| Official URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Substance-drug-pq | Version: 1.0.0 | ||||
| Active as of 2026-05-10 | Computable Name: SubstanceDrugPq | ||||
| Other Identifiers: OID:2.16.840.1.113883.4.642.40.41.42.77 | |||||
This Substance profile represents identifying information about an actual batch of substance (an instance).
Usages:
You can also check for usages in the FHIR IG Statistics
Description Differentials, Snapshots, and other representations.
| Path | Status | Usage | ValueSet | Version | Source |
| Substance.status | Base | required | FHIRSubstanceStatus | 📍5.0.0 | FHIR Std. |
| Substance.code | Base | example | Substance Code | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Substance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Substance | 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 | Substance | 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 | Substance | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Substance | 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()
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Substance | A homogeneous material with a definite composition | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 0..* | (Complex) | medication-manufacturingBatch URL: http://hl7.org/fhir/StructureDefinition/medication-manufacturingBatch | ||||
![]() ![]() ![]() |
S | 0..* | dateTime | batch-release-date URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-batch-release-date-pq | ||||
![]() ![]() ![]() |
S | 0..* | dateTime | batch-retest-date URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-batch-retest-date-pq | ||||
![]() ![]() ![]() |
S | 0..* | Reference(PlanDefinition - Drug PQ) | manufacturing-process URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-manufacturing-process-pq | ||||
![]() ![]() ![]() |
S | 0..* | Quantity | actual-yield URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-actual-yield-pq | ||||
![]() ![]() ![]() |
S | 0..* | Reference() | batch-derived-from URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-batch-derived-from-pq | ||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Unique identifier | ||||
![]() ![]() |
?!Σ | 1..1 | boolean | Is this an instance of a substance or a kind of one | ||||
![]() ![]() |
?!SΣ | 0..1 | code | active | inactive | entered-in-error Binding: FHIRSubstanceStatus (required): A code to indicate if the substance is actively used. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | What class/type of substance this is Binding: SubstanceCategoryCodes (extensible): Category or classification of substance. | ||||
![]() ![]() |
Σ | 1..1 | CodeableReference(SubstanceDefinition) | What substance this is Binding: SubstanceCode (example): Substance codes. | ||||
![]() ![]() |
Σ | 0..1 | markdown | Textual description of the substance, comments | ||||
![]() ![]() |
Σ | 0..1 | dateTime | When no longer valid to use | ||||
![]() ![]() |
Σ | 0..1 | SimpleQuantity(5.0.0) | Amount of substance in the package | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Composition information about the substance | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | Ratio | Optional amount (concentration) | ||||
![]() ![]() ![]() |
Σ | 1..1 | A component of the substance Binding: SubstanceCode (example): Substance Ingredient codes. | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Reference(Substance) | |||||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Substance.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Substance.status | Base | required | FHIRSubstanceStatus | 📍5.0.0 | FHIR Std. |
| Substance.category | Base | extensible | Substance Category Codes | 📍5.0.0 | FHIR Std. |
| Substance.code | Base | example | Substance Code | 📍5.0.0 | FHIR Std. |
| Substance.ingredient.substance[x] | Base | example | Substance Code | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Substance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Substance | 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 | Substance | 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 | Substance | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Substance | 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()
|
Summary
Must-Support: 8 elements
Extensions
This structure refers to these extensions:
Key Elements View
| Path | Status | Usage | ValueSet | Version | Source |
| Substance.status | Base | required | FHIRSubstanceStatus | 📍5.0.0 | FHIR Std. |
| Substance.code | Base | example | Substance Code | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Substance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Substance | 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 | Substance | 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 | Substance | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Substance | A resource should have narrative for robust management |
text.`div`.exists()
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
Differential View
Snapshot ViewView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
0..* | Substance | A homogeneous material with a definite composition | |||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: AllLanguages (required): IETF language tag for a human language
| |||||
![]() ![]() |
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 | |||||
![]() ![]() |
0..* | Resource | Contained, inline Resources | |||||
![]() ![]() |
0..* | Extension | Extension Slice: Unordered, Open by value:url | |||||
![]() ![]() ![]() |
S | 0..* | (Complex) | medication-manufacturingBatch URL: http://hl7.org/fhir/StructureDefinition/medication-manufacturingBatch | ||||
![]() ![]() ![]() |
S | 0..* | dateTime | batch-release-date URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-batch-release-date-pq | ||||
![]() ![]() ![]() |
S | 0..* | dateTime | batch-retest-date URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-batch-retest-date-pq | ||||
![]() ![]() ![]() |
S | 0..* | Reference(PlanDefinition - Drug PQ) | manufacturing-process URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-manufacturing-process-pq | ||||
![]() ![]() ![]() |
S | 0..* | Quantity | actual-yield URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-actual-yield-pq | ||||
![]() ![]() ![]() |
S | 0..* | Reference() | batch-derived-from URL: http://hl7.org/fhir/uv/pharm-quality/StructureDefinition/Extension-batch-derived-from-pq | ||||
![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored | ||||
![]() ![]() |
SΣ | 0..* | Identifier | Unique identifier | ||||
![]() ![]() |
?!Σ | 1..1 | boolean | Is this an instance of a substance or a kind of one | ||||
![]() ![]() |
?!SΣ | 0..1 | code | active | inactive | entered-in-error Binding: FHIRSubstanceStatus (required): A code to indicate if the substance is actively used. | ||||
![]() ![]() |
Σ | 0..* | CodeableConcept | What class/type of substance this is Binding: SubstanceCategoryCodes (extensible): Category or classification of substance. | ||||
![]() ![]() |
Σ | 1..1 | CodeableReference(SubstanceDefinition) | What substance this is Binding: SubstanceCode (example): Substance codes. | ||||
![]() ![]() |
Σ | 0..1 | markdown | Textual description of the substance, comments | ||||
![]() ![]() |
Σ | 0..1 | dateTime | When no longer valid to use | ||||
![]() ![]() |
Σ | 0..1 | SimpleQuantity(5.0.0) | Amount of substance in the package | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Composition information about the substance | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..1 | Ratio | Optional amount (concentration) | ||||
![]() ![]() ![]() |
Σ | 1..1 | A component of the substance Binding: SubstanceCode (example): Substance Ingredient codes. | |||||
![]() ![]() ![]() ![]() |
CodeableConcept | |||||||
![]() ![]() ![]() ![]() |
Reference(Substance) | |||||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Substance.language | Base | required | All Languages | 📍5.0.0 | FHIR Std. |
| Substance.status | Base | required | FHIRSubstanceStatus | 📍5.0.0 | FHIR Std. |
| Substance.category | Base | extensible | Substance Category Codes | 📍5.0.0 | FHIR Std. |
| Substance.code | Base | example | Substance Code | 📍5.0.0 | FHIR Std. |
| Substance.ingredient.substance[x] | Base | example | Substance Code | 📍5.0.0 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| dom-2 | error | Substance | If the resource is contained in another resource, it SHALL NOT contain nested Resources |
contained.contained.empty()
|
| dom-3 | error | Substance | 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 | Substance | 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 | Substance | If a resource is contained in another resource, it SHALL NOT have a security label |
contained.meta.security.empty()
|
| dom-6 | best practice | Substance | 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()
|
Summary
Must-Support: 8 elements
Extensions
This structure refers to these extensions:
Other representations of profile: CSV, Excel, Schematron