FHIR Tooling Extensions IG
0.1.0 - Release International flag

This page is part of the HL7 Tools Extension IG (v0.1.0: Releases - Informative) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Extension: Type Specifier Extension

Official URL: http://hl7.org/fhir/tools/StructureDefinition/type-specifier Version: 0.1.0
Active as of 2023-12-19 Maturity Level: 2 Computable Name: TypeSpecifier

In some logical models, the type of content at one location depends on the value of some other element, and the type is otherwise not explicit in the instance. In such cases, the type of the element is assigned an abstract ancestor type, and this extension specifies how to determine what type is actually used

Context of Use

This extension may be used on the following element(s):

  • Element ID ElementDefinition

Usage info

Usage:

Formal Views of Extension Content

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Extension

Summary

Complex Extension: In some logical models, the type of content at one location depends on the value of some other element, and the type is otherwise not explicit in the instance. In such cases, the type of the element is assigned an abstract ancestor type, and this extension specifies how to determine what type is actually used

  • condition: string: The FHIRPath expression for this type to be true.
  • type: code: An Extension

Maturity: 2

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one
... Slices for extension 2..2ExtensionExtension
Slice: Unordered, Closed by value:url
.... extension:condition 1..1ExtensionCondition for this type (FHIRPath)
..... extension 0..0
..... url 1..1uri"condition"
..... value[x] 1..1stringValue of extension
.... extension:type 1..1ExtensionThe type (uri - usually full URI of logical model type_
..... extension 0..0
..... url 1..1uri"type"
..... value[x] 1..1codeValue of extension
... url 1..1uri"http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
... value[x] 0..0

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one
... id 0..1idUnique id for inter-element referencing
... Slices for extension 2..2ExtensionExtension
Slice: Unordered, Closed by value:url
.... extension:condition 1..1ExtensionCondition for this type (FHIRPath)
..... id 0..1idUnique id for inter-element referencing
..... extension 0..0
..... url 1..1uri"condition"
..... value[x] 1..1stringValue of extension
.... extension:type 1..1ExtensionThe type (uri - usually full URI of logical model type_
..... id 0..1idUnique id for inter-element referencing
..... extension 0..0
..... url 1..1uri"type"
..... value[x] 1..1codeValue of extension
... url 1..1uri"http://hl7.org/fhir/tools/StructureDefinition/type-specifier"

doco Documentation for this format

This structure is derived from Extension

Summary

Complex Extension: In some logical models, the type of content at one location depends on the value of some other element, and the type is otherwise not explicit in the instance. In such cases, the type of the element is assigned an abstract ancestor type, and this extension specifies how to determine what type is actually used

  • condition: string: The FHIRPath expression for this type to be true.
  • type: code: An Extension

Maturity: 2

Differential View

This structure is derived from Extension

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one
... Slices for extension 2..2ExtensionExtension
Slice: Unordered, Closed by value:url
.... extension:condition 1..1ExtensionCondition for this type (FHIRPath)
..... extension 0..0
..... url 1..1uri"condition"
..... value[x] 1..1stringValue of extension
.... extension:type 1..1ExtensionThe type (uri - usually full URI of logical model type_
..... extension 0..0
..... url 1..1uri"type"
..... value[x] 1..1codeValue of extension
... url 1..1uri"http://hl7.org/fhir/tools/StructureDefinition/type-specifier"
... value[x] 0..0

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Extension 0..*ExtensionIndicates that this repeating element is represented as an object in json and the named one of the two sub-elements is the key for the other one
... id 0..1idUnique id for inter-element referencing
... Slices for extension 2..2ExtensionExtension
Slice: Unordered, Closed by value:url
.... extension:condition 1..1ExtensionCondition for this type (FHIRPath)
..... id 0..1idUnique id for inter-element referencing
..... extension 0..0
..... url 1..1uri"condition"
..... value[x] 1..1stringValue of extension
.... extension:type 1..1ExtensionThe type (uri - usually full URI of logical model type_
..... id 0..1idUnique id for inter-element referencing
..... extension 0..0
..... url 1..1uri"type"
..... value[x] 1..1codeValue of extension
... url 1..1uri"http://hl7.org/fhir/tools/StructureDefinition/type-specifier"

doco Documentation for this format

 

Other representations of profile: CSV, Excel, Schematron

Constraints

IdGradePath(s)DetailsRequirements
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()