Orders and Observations ![]() | Maturity Level: 2 | Trial Use | Security Category: Business | 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, BiologicallyDerivedProduct, CarePlan, CatalogEntry, ChargeItem, ChargeItemDefinition, ClinicalUseIssue, Contract, DiagnosticReport, Group, Specimen, SpecimenDefinition, itself and SupplyDelivery.
This resource does not implement any patterns.
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | TU | DomainResource | A homogeneous material with a definite composition Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() ![]() | Σ | 0..* | Identifier | Unique identifier |
![]() ![]() ![]() | ?!Σ | 1..1 | boolean | Is this an instance of a substance or a kind of one |
![]() ![]() ![]() | ?!Σ | 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 | CodeableReference(SubstanceDefinition) | What substance this is Substance Code (Example) |
![]() ![]() ![]() | Σ | 0..1 | string | Textual description of the substance, comments |
![]() ![]() ![]() | Σ | 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) | |||
![]() |
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><!-- 0..* Identifier Unique identifier --></identifier> <instance value="[boolean]"/><!-- 1..1 Is this an instance of a substance or a kind of one --> <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error --> <category><!-- 0..* CodeableConcept What class/type of substance this is --></category> <code><!-- 1..1 CodeableReference(SubstanceDefinition) What substance this is --></code> <description value="[string]"/><!-- 0..1 Textual description of the substance, comments --> <expiry value="[dateTime]"/><!-- 0..1 When no longer valid to use --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of substance in the package --></quantity> <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" : "Substance", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "instance" : <boolean>, // R! Is this an instance of a substance or a kind of one "status" : "<code>", // active | inactive | entered-in-error "category" : [{ CodeableConcept }], // What class/type of substance this is "code" : { CodeableReference(SubstanceDefinition) }, // R! What substance this is "description" : "<string>", // Textual description of the substance, comments "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.instance [ boolean ]; # 1..1 Is this an instance of a substance or a kind of one 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 [ CodeableReference(SubstanceDefinition) ]; # 1..1 What substance this is fhir:Substance.description [ string ]; # 0..1 Textual description of the substance, comments fhir:Substance.expiry [ dateTime ]; # 0..1 When no longer valid to use fhir:Substance.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 R3
Substance | |
Substance.instance |
|
Substance.status |
|
Substance.code |
|
Substance.expiry |
|
Substance.quantity |
|
Substance.instance.identifier |
|
Substance.instance.expiry |
|
Substance.instance.quantity |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 6 tests that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | TU | DomainResource | A homogeneous material with a definite composition Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
![]() ![]() ![]() | Σ | 0..* | Identifier | Unique identifier |
![]() ![]() ![]() | ?!Σ | 1..1 | boolean | Is this an instance of a substance or a kind of one |
![]() ![]() ![]() | ?!Σ | 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 | CodeableReference(SubstanceDefinition) | What substance this is Substance Code (Example) |
![]() ![]() ![]() | Σ | 0..1 | string | Textual description of the substance, comments |
![]() ![]() ![]() | Σ | 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) | |||
![]() |
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> <instance value="[boolean]"/><!-- 1..1 Is this an instance of a substance or a kind of one --> <status value="[code]"/><!-- 0..1 active | inactive | entered-in-error --> <category><!-- 0..* CodeableConcept What class/type of substance this is --></category> <code><!-- 1..1 CodeableReference(SubstanceDefinition) What substance this is --></code> <description value="[string]"/><!-- 0..1 Textual description of the substance, comments --> <expiry value="[dateTime]"/><!-- 0..1 When no longer valid to use --> <quantity><!-- 0..1 Quantity(SimpleQuantity) Amount of substance in the package --></quantity> <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" : "Substance", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Unique identifier "instance" : <boolean>, // R! Is this an instance of a substance or a kind of one "status" : "<code>", // active | inactive | entered-in-error "category" : [{ CodeableConcept }], // What class/type of substance this is "code" : { CodeableReference(SubstanceDefinition) }, // R! What substance this is "description" : "<string>", // Textual description of the substance, comments "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.instance [ boolean ]; # 1..1 Is this an instance of a substance or a kind of one 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 [ CodeableReference(SubstanceDefinition) ]; # 1..1 What substance this is fhir:Substance.description [ string ]; # 0..1 Textual description of the substance, comments fhir:Substance.expiry [ dateTime ]; # 0..1 When no longer valid to use fhir:Substance.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 Release 3
Substance | |
Substance.instance |
|
Substance.status |
|
Substance.code |
|
Substance.expiry |
|
Substance.quantity |
|
Substance.instance.identifier |
|
Substance.instance.expiry |
|
Substance.instance.quantity |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 6 tests that all execute ok. All tests pass round-trip testing and 1 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a
Path | Definition | Type | Reference |
---|---|---|---|
Substance.status | Required | FHIRSubstanceStatus | |
Substance.category | Extensible | SubstanceCategoryCodes | |
Substance.code | Example | SubstanceCode | |
Substance.ingredient.substance[x] | Example | SubstanceCode |
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 | Expression | In Common |
category | token | The category of the substance | Substance.category | |
code D | token | The code of the substance or ingredient | Substance.code.concept | (Substance.ingredient.substance as CodeableConcept) | |
code-reference D | reference | A reference to the defining substance | Substance.code.reference | |
expiry N | date | Expiry date of package or container of substance | Substance.expiry | |
identifier | token | Unique identifier for the substance | Substance.identifier | |
quantity | quantity | Amount of substance in the package | Substance.quantity | |
status N | token | active | inactive | entered-in-error | Substance.status | |
substance-reference | reference | A component of the substance | (Substance.ingredient.substance as Reference) (Substance) |