This
page
is
part
of
the
FHIR
Specification
(v1.0.2:
DSTU
(v3.0.2:
STU
2).
3).
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
R3
R2
Orders
and
Observations
Work
Group
|
Maturity
Level
:
|
Trial Use | 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
ActivityDefinition
,
AdverseEvent
,
CarePlan
,
Contract
,
Group
,
Medication
,
Order
,
Procedure
,
Specimen
,
SupplyDelivery
and
SupplyRequest
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource |
A
homogeneous
material
with
a
definite
composition
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
||
|
Σ | 0..* | Identifier |
Unique
identifier
|
| Σ | 0..1 | code |
active
|
inactive
|
entered-in-error
FHIRSubstanceStatus ( Required ) |
![]() ![]() |
Σ | 0..* | CodeableConcept |
What
class/type
of
substance
this
is
Substance Category Codes ( Extensible ) |
|
Σ | 1..1 | CodeableConcept |
What
substance
this
is
Substance Code ( Example ) |
|
Σ | 0..1 | string | Textual description of the substance, comments |
|
Σ | 0..* | BackboneElement |
If
this
describes
a
specific
package/container
of
the
substance
|
|
Σ | 0..1 | Identifier | Identifier of the package/container |
|
Σ | 0..1 | dateTime | When no longer valid to use |
|
Σ | 0..1 | SimpleQuantity | Amount of substance in the package |
|
Σ | 0..* | BackboneElement |
Composition
information
about
the
substance
|
|
Σ | 0..1 | Ratio | Optional amount (concentration) |
|
Σ | 1..1 |
A
component
of
the
substance
Substance Code ( Example ) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference ( Substance ) | |||
Documentation
for
this
format
|
||||
UML Diagram ( Legend )
XML Template
<<Substance xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<</identifier> <</category> <</code> < < <</identifier> < <</quantity><identifier><!-- 0..* Identifier Unique identifier --></identifier> <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error --> <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>< <</quantity> <</substance><ingredient> <!-- 0..* Composition information about the substance --> <quantity><!-- 0..1 Ratio Optional amount (concentration) --></quantity> <substance[x]><!-- 1..1 CodeableConcept|Reference(Substance) A component of the substance --></substance[x]> </ingredient> </Substance>
JSON Template
{ "resourceType" : "",{"resourceType" : "Substance", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension
" " " " " " " ""identifier" : [{ Identifier }], // Unique identifier "status" : "<code>", // active | inactive | entered-in-error "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[x]: A component of the substance. One of these 2: "substanceCodeableConcept" : { CodeableConcept } "substanceReference" : { Reference(Substance) } }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Substance; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Substance.identifier [ Identifier ], ... ; # 0..* Unique identifier fhir:Substance.status [ code ]; # 0..1 active | inactive | entered-in-error fhir:Substance.category [ CodeableConcept ], ... ; # 0..* What class/type of substance this is fhir:Substance.code [ CodeableConcept ]; # 1..1 What substance this is fhir:Substance.description [ string ]; # 0..1 Textual description of the substance, comments fhir:Substance.instance [ # 0..* If this describes a specific package/container of the substance fhir:Substance.instance.identifier [ Identifier ]; # 0..1 Identifier of the package/container fhir:Substance.instance.expiry [ dateTime ]; # 0..1 When no longer valid to use fhir:Substance.instance.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount of substance in the package ], ...; fhir:Substance.ingredient [ # 0..* Composition information about the substance fhir:Substance.ingredient.quantity [ Ratio ]; # 0..1 Optional amount (concentration) # Substance.ingredient.substance[x] : 1..1 A component of the substance. One of these 2 fhir:Substance.ingredient.substanceCodeableConcept [ CodeableConcept ] fhir:Substance.ingredient.substanceReference [ Reference(Substance) ] ], ...; ]
Changes since DSTU2
| Substance | |
| Substance.status |
|
| Substance.ingredient.substance[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R2 <--> R3 Conversion Maps (status = 6 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).
Structure
| Name | Flags | Card. | Type |
Description
&
Constraints
|
|---|---|---|---|---|
|
DomainResource |
A
homogeneous
material
with
a
definite
composition
Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension |
||
|
Σ | 0..* | Identifier |
Unique
identifier
|
| Σ | 0..1 | code |
active
|
inactive
|
entered-in-error
FHIRSubstanceStatus ( Required ) |
![]() ![]() |
Σ | 0..* | CodeableConcept |
What
class/type
of
substance
this
is
Substance Category Codes ( Extensible ) |
|
Σ | 1..1 | CodeableConcept |
What
substance
this
is
Substance Code ( Example ) |
|
Σ | 0..1 | string | Textual description of the substance, comments |
|
Σ | 0..* | BackboneElement |
If
this
describes
a
specific
package/container
of
the
substance
|
|
Σ | 0..1 | Identifier | Identifier of the package/container |
|
Σ | 0..1 | dateTime | When no longer valid to use |
|
Σ | 0..1 | SimpleQuantity | Amount of substance in the package |
|
Σ | 0..* | BackboneElement |
Composition
information
about
the
substance
|
|
Σ | 0..1 | Ratio | Optional amount (concentration) |
|
Σ | 1..1 |
A
component
of
the
substance
Substance Code ( Example ) | |
![]() ![]() ![]() ![]() | CodeableConcept | |||
![]() ![]() ![]() ![]() | Reference ( 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> <</category> <</code> < < <</identifier> < <</quantity><identifier><!-- 0..* Identifier Unique identifier --></identifier> <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error --> <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>< <</quantity> <</substance><ingredient> <!-- 0..* Composition information about the substance --> <quantity><!-- 0..1 Ratio Optional amount (concentration) --></quantity> <substance[x]><!-- 1..1 CodeableConcept|Reference(Substance) A component of the substance --></substance[x]> </ingredient> </Substance>
JSON Template
{ "resourceType" : "",{"resourceType" : "Substance", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension
" " " " " " " ""identifier" : [{ Identifier }], // Unique identifier "status" : "<code>", // active | inactive | entered-in-error "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[x]: A component of the substance. One of these 2: "substanceCodeableConcept" : { CodeableConcept } "substanceReference" : { Reference(Substance) } }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:Substance; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:Substance.identifier [ Identifier ], ... ; # 0..* Unique identifier fhir:Substance.status [ code ]; # 0..1 active | inactive | entered-in-error fhir:Substance.category [ CodeableConcept ], ... ; # 0..* What class/type of substance this is fhir:Substance.code [ CodeableConcept ]; # 1..1 What substance this is fhir:Substance.description [ string ]; # 0..1 Textual description of the substance, comments fhir:Substance.instance [ # 0..* If this describes a specific package/container of the substance fhir:Substance.instance.identifier [ Identifier ]; # 0..1 Identifier of the package/container fhir:Substance.instance.expiry [ dateTime ]; # 0..1 When no longer valid to use fhir:Substance.instance.quantity [ Quantity(SimpleQuantity) ]; # 0..1 Amount of substance in the package ], ...; fhir:Substance.ingredient [ # 0..* Composition information about the substance fhir:Substance.ingredient.quantity [ Ratio ]; # 0..1 Optional amount (concentration) # Substance.ingredient.substance[x] : 1..1 A component of the substance. One of these 2 fhir:Substance.ingredient.substanceCodeableConcept [ CodeableConcept ] fhir:Substance.ingredient.substanceReference [ Reference(Substance) ] ], ...; ]
Changes
since
DSTU2
| Substance | |
| Substance.status |
|
| Substance.ingredient.substance[x] |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
See R2 <--> R3 Conversion Maps (status = 6 tests that all execute ok. All tests pass round-trip testing and all r3 resources are valid.).
Alternate
definitions:
Schema
/
Schematron
,
Resource
Profile
Master
Definition
(
XML
,
JSON
),
Questionnaire
XML
Schema
/
Schematron
(for
)
+
JSON
Schema
,
ShEx
(for
Turtle
)
| Path | Definition | Type | Reference |
|---|---|---|---|
| Substance.status | A code to indicate if the substance is actively used | Required | FHIRSubstanceStatus |
| Substance.category | Category or classification of substance | Extensible | Substance Category Codes |
| Substance.code | Substance codes | Example | Substance Code |
| Substance.ingredient.substance[x] | Substance Ingredient 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 |
| In Common |
| category | token | The category of the substance | Substance.category | |
| code | token | The code of the substance or ingredient | Substance.code | Substance.ingredient.substance.as(CodeableConcept) | |
| 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 | |
|
| token | active | inactive | entered-in-error | Substance.status | |
| substance-reference | reference | A component of the substance |
( Substance ) |