Release 4

8.17 Resource Substance - Content

Orders and Observations Work GroupMaturity Level: 2 Trial UseSecurity 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.

На этот ресурс ссылаются ActivityDefinition, AdverseEvent, BiologicallyDerivedProduct, CarePlan, ChargeItem, ChargeItemDefinition, Contract, Group, Medication, MedicationKnowledge, MedicinalProductContraindication, MedicinalProductIndication, MedicinalProductInteraction, Procedure, Specimen, SpecimenDefinition, itself, SubstanceSpecification, SupplyDelivery и SupplyRequest

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Substance TUDomainResourceA homogeneous material with a definite composition
Элементы, определённые в родительском элементе: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique identifier
... status ?!Σ0..1codeactive | inactive | entered-in-error
FHIRSubstanceStatus (Required)
... category Σ0..*CodeableConceptWhat class/type of substance this is
Substance Category Codes (Extensible)
... code Σ1..1CodeableConceptWhat substance this is
Substance Code (Example)
... description Σ0..1stringTextual description of the substance, comments
... instance Σ0..*BackboneElementIf this describes a specific package/container of the substance
.... identifier Σ0..1IdentifierIdentifier of the package/container
.... expiry Σ0..1dateTimeWhen no longer valid to use
.... quantity Σ0..1SimpleQuantityAmount of substance in the package
... ingredient Σ0..*BackboneElementComposition information about the substance
.... quantity Σ0..1RatioOptional amount (concentration)
.... substance[x] Σ1..1A component of the substance
Substance Code (Example)
..... substanceCodeableConceptCodeableConcept
..... substanceReferenceReference(Substance)

doco Documentation for this format

UML Diagram (Legend)

Substance (DomainResource)Unique identifier for the substanceidentifier : Identifier [0..*]A code to indicate if the substance is actively used (this element modifies the meaning of other elements)status : code [0..1] « A code to indicate if the substance is actively used. (Strength=Required)FHIRSubstanceStatus! »A code that classifies the general type of substance. This is used for searching, sorting and display purposescategory : CodeableConcept [0..*] « Category or classification of substance. (Strength=Extensible)SubstanceCategoryCodes+ »A code (or set of codes) that identify this substancecode : CodeableConcept [1..1] « Substance codes. (Strength=Example)SubstanceCode?? »A description of the substance - its appearance, handling requirements, and other usage notesdescription : string [0..1]InstanceIdentifier associated with the package/container (usually a label affixed directly)identifier : Identifier [0..1]When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiryexpiry : dateTime [0..1]The amount of the substancequantity : Quantity(SimpleQuantity) [0..1]IngredientThe amount of the ingredient in the substance - a concentration ratioquantity : Ratio [0..1]Another substance that is a component of this substancesubstance[x] : Type [1..1] « CodeableConcept|Reference(Substance); Substance Ingredient codes. (Strength=Example) SubstanceCode?? »Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instanceinstance[0..*]A substance can be composed of other substancesingredient[0..*]

XML Template

<Substance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <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>
 <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>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 R3

Substance
Substance.status
  • Change value set from http://hl7.org/fhir/ValueSet/substance-status to http://hl7.org/fhir/ValueSet/substance-status|4.0.1
  • Now marked as Modifier
Substance.category
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/substance-category" to "http://terminology.hl7.org/CodeSystem/substance-category"

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

NameFlagsCard.TypeDescription & Constraintsdoco
.. Substance TUDomainResourceA homogeneous material with a definite composition
Элементы, определённые в родительском элементе: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ0..*IdentifierUnique identifier
... status ?!Σ0..1codeactive | inactive | entered-in-error
FHIRSubstanceStatus (Required)
... category Σ0..*CodeableConceptWhat class/type of substance this is
Substance Category Codes (Extensible)
... code Σ1..1CodeableConceptWhat substance this is
Substance Code (Example)
... description Σ0..1stringTextual description of the substance, comments
... instance Σ0..*BackboneElementIf this describes a specific package/container of the substance
.... identifier Σ0..1IdentifierIdentifier of the package/container
.... expiry Σ0..1dateTimeWhen no longer valid to use
.... quantity Σ0..1SimpleQuantityAmount of substance in the package
... ingredient Σ0..*BackboneElementComposition information about the substance
.... quantity Σ0..1RatioOptional amount (concentration)
.... substance[x] Σ1..1A component of the substance
Substance Code (Example)
..... substanceCodeableConceptCodeableConcept
..... substanceReferenceReference(Substance)

doco Documentation for this format

UML Diagram (Legend)

Substance (DomainResource)Unique identifier for the substanceidentifier : Identifier [0..*]A code to indicate if the substance is actively used (this element modifies the meaning of other elements)status : code [0..1] « A code to indicate if the substance is actively used. (Strength=Required)FHIRSubstanceStatus! »A code that classifies the general type of substance. This is used for searching, sorting and display purposescategory : CodeableConcept [0..*] « Category or classification of substance. (Strength=Extensible)SubstanceCategoryCodes+ »A code (or set of codes) that identify this substancecode : CodeableConcept [1..1] « Substance codes. (Strength=Example)SubstanceCode?? »A description of the substance - its appearance, handling requirements, and other usage notesdescription : string [0..1]InstanceIdentifier associated with the package/container (usually a label affixed directly)identifier : Identifier [0..1]When the substance is no longer valid to use. For some substances, a single arbitrary date is used for expiryexpiry : dateTime [0..1]The amount of the substancequantity : Quantity(SimpleQuantity) [0..1]IngredientThe amount of the ingredient in the substance - a concentration ratioquantity : Ratio [0..1]Another substance that is a component of this substancesubstance[x] : Type [1..1] « CodeableConcept|Reference(Substance); Substance Ingredient codes. (Strength=Example) SubstanceCode?? »Substance may be used to describe a kind of substance, or a specific package/container of the substance: an instanceinstance[0..*]A substance can be composed of other substancesingredient[0..*]

XML Template

<Substance xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <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>
 <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>

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ 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 Release 3

Substance
Substance.status
  • Change value set from http://hl7.org/fhir/ValueSet/substance-status to http://hl7.org/fhir/ValueSet/substance-status|4.0.1
  • Now marked as Modifier
Substance.category
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/substance-category" to "http://terminology.hl7.org/CodeSystem/substance-category"

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 dependency analysis

PathОписаниеТипСсылка
Substance.status A code to indicate if the substance is actively used.RequiredFHIRSubstanceStatus
Substance.category Category or classification of substance.ExtensibleSubstanceCategoryCodes
Substance.code Substance codes.ExampleSubstanceCode
Substance.ingredient.substance[x] Substance Ingredient codes.ExampleSubstanceCode

Параметры поиска для этого ресурса. Также к нему применяются общие параметры. Более подробную информацию о поиске в REST, обмене сообщениями и сервисах см. в разделе Поиск.

ИмяТипОпределениеВыражениеОбщее
categorytokenThe category of the substanceSubstance.category
codetokenThe code of the substance or ingredientSubstance.code | (Substance.ingredient.substance as CodeableConcept)
container-identifiertokenIdentifier of the package/containerSubstance.instance.identifier
expirydateExpiry date of package or container of substanceSubstance.instance.expiry
identifiertokenUnique identifier for the substanceSubstance.identifier
quantityquantityAmount of substance in the packageSubstance.instance.quantity
statustokenactive | inactive | entered-in-errorSubstance.status
substance-referencereferenceA component of the substance(Substance.ingredient.substance as Reference)
(Substance)