This page is part of the FHIR Specification (v1.2.0: STU 3 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Orders and Observations Work Group | Maturity Level: 1 | Compartments: Not linked to any defined compartments |
A homogeneous material with a definite composition.
This resource allows for a material to be represented. The resource can be used to represent either a kind of a substance - e.g. a formulation commonly used for treating patients, or it can be used to describe a particular package of a known substance (e.g. bottle, jar, packet).
The composition of the material can be specified in terms of a mix of other materials, including with precise amounts if required.
A medication is a substance that is packaged and used as an administered medication. The medication resource uses the substance resource to represent the actual ingredients of a medication.
This resource is referenced by CarePlan, Contract, Group, Medication, Order, Procedure, Specimen, SupplyDelivery and SupplyRequest
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Substance | DomainResource | A homogeneous material with a definite composition | ||
identifier | Σ | 0..* | Identifier | Unique identifier |
category | Σ | 0..* | CodeableConcept | What class/type of substance this is Substance Category Codes (Extensible) |
code | Σ | 1..1 | CodeableConcept | What substance this is Substance Code (Example) |
description | Σ | 0..1 | string | Textual description of the substance, comments |
instance | Σ | 0..* | BackboneElement | If this describes a specific package/container of the substance |
identifier | Σ | 0..1 | Identifier | Identifier of the package/container |
expiry | Σ | 0..1 | dateTime | When no longer valid to use |
quantity | Σ | 0..1 | SimpleQuantity | Amount of substance in the package |
ingredient | Σ | 0..* | BackboneElement | Composition information about the substance |
quantity | Σ | 0..1 | Ratio | Optional amount (concentration) |
substance | Σ | 1..1 | Reference(Substance) | A component of the substance |
Documentation for this format |
UML Diagram
XML Template
<Substance xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique identifier --></identifier> <category><!-- 0..* CodeableConcept What class/type of substance this is --></category> <code><!-- 1..1 CodeableConcept What substance this is --></code> <description value="[string]"/><!-- 0..1 Textual description of the substance, comments --> <instance> <!-- 0..* If this describes a specific package/container of the substance --> <identifier><!-- 0..1 Identifier Identifier of the package/container --></identifier> <expiry value="[dateTime]"/><!-- 0..1 When no longer valid to use --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of substance in the package --></quantity> </instance> <ingredient> <!-- 0..* Composition information about the substance --> <quantity><!-- 0..1 Ratio Optional amount (concentration) --></quantity> <substance><!-- 1..1 Reference(Substance) A component of the substance --></substance> </ingredient> </Substance>
JSON Template
{ "resourceType" : "Substance", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "category" : [{ CodeableConcept }], // What class/type of substance this is "code" : { CodeableConcept }, // R! What substance this is "description" : "<string>", // Textual description of the substance, comments "instance" : [{ // If this describes a specific package/container of the substance "identifier" : { Identifier }, // Identifier of the package/container "expiry" : "<dateTime>", // When no longer valid to use "quantity" : { Quantity(SimpleQuantity) } // Amount of substance in the package }], "ingredient" : [{ // Composition information about the substance "quantity" : { Ratio }, // Optional amount (concentration) "substance" : { Reference(Substance) } // R! A component of the substance }] }
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Substance | DomainResource | A homogeneous material with a definite composition | ||
identifier | Σ | 0..* | Identifier | Unique identifier |
category | Σ | 0..* | CodeableConcept | What class/type of substance this is Substance Category Codes (Extensible) |
code | Σ | 1..1 | CodeableConcept | What substance this is Substance Code (Example) |
description | Σ | 0..1 | string | Textual description of the substance, comments |
instance | Σ | 0..* | BackboneElement | If this describes a specific package/container of the substance |
identifier | Σ | 0..1 | Identifier | Identifier of the package/container |
expiry | Σ | 0..1 | dateTime | When no longer valid to use |
quantity | Σ | 0..1 | SimpleQuantity | Amount of substance in the package |
ingredient | Σ | 0..* | BackboneElement | Composition information about the substance |
quantity | Σ | 0..1 | Ratio | Optional amount (concentration) |
substance | Σ | 1..1 | Reference(Substance) | A component of the substance |
Documentation for this format |
XML Template
<Substance xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Unique identifier --></identifier> <category><!-- 0..* CodeableConcept What class/type of substance this is --></category> <code><!-- 1..1 CodeableConcept What substance this is --></code> <description value="[string]"/><!-- 0..1 Textual description of the substance, comments --> <instance> <!-- 0..* If this describes a specific package/container of the substance --> <identifier><!-- 0..1 Identifier Identifier of the package/container --></identifier> <expiry value="[dateTime]"/><!-- 0..1 When no longer valid to use --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of substance in the package --></quantity> </instance> <ingredient> <!-- 0..* Composition information about the substance --> <quantity><!-- 0..1 Ratio Optional amount (concentration) --></quantity> <substance><!-- 1..1 Reference(Substance) A component of the substance --></substance> </ingredient> </Substance>
JSON Template
{ "resourceType" : "Substance", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "category" : [{ CodeableConcept }], // What class/type of substance this is "code" : { CodeableConcept }, // R! What substance this is "description" : "<string>", // Textual description of the substance, comments "instance" : [{ // If this describes a specific package/container of the substance "identifier" : { Identifier }, // Identifier of the package/container "expiry" : "<dateTime>", // When no longer valid to use "quantity" : { Quantity(SimpleQuantity) } // Amount of substance in the package }], "ingredient" : [{ // Composition information about the substance "quantity" : { Ratio }, // Optional amount (concentration) "substance" : { Reference(Substance) } // R! A component of the substance }] }
Alternate definitions: Schema/Schematron, Resource Profile (XML, JSON), Questionnaire
Path | Definition | Type | Reference |
---|---|---|---|
Substance.category | Category or classification of substance | Extensible | Substance Category Codes |
Substance.code | Substance codes | Example | Substance Code |
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Paths |
category | token | The category of the substance | Substance.category |
code | token | The code of the substance | Substance.code |
container-identifier | token | Identifier of the package/container | Substance.instance.identifier |
expiry | date | Expiry date of package or container of substance | Substance.instance.expiry |
identifier | token | Unique identifier for the substance | Substance.identifier |
quantity | quantity | Amount of substance in the package | Substance.instance.quantity |
substance | reference | A component of the substance | Substance.ingredient.substance (Substance) |