FHIR Tooling Extensions IG, published by HL7 International / FHIR Infrastructure. This guide is not an authorized publication; it is the continuous build for version 0.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/FHIR/fhir-tools-ig/ and changes regularly. See the Directory of published versions
Active as of 2024-10-23 | Maturity Level: 2 |
Definitions for the type-specifier extension.
Guidance on how to interpret the contents of this table can be found here
0. Extension | |
Definition | type-specifiers applied to bindable elements. |
Short | Indicates 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 |
Control | 0..* |
2. Extension.extension | |
Control | 2..2 |
Slicing | This element introduces a set of slices on Extension.extension . The slices areUnordered and Closed, and can be differentiated using the following discriminators: |
4. Extension.extension:condition | |
Slice Name | condition |
Definition | The FHIRPath expression for this type to be true. |
Short | Condition for this type (FHIRPath) |
Control | 1..1 |
Type | Extension |
6. Extension.extension:condition.extension | |
Control | 0..0 |
8. Extension.extension:condition.url | |
Type | uri |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Fixed Value | condition |
10. Extension.extension:condition.value[x] | |
Control | 1..? |
Type | string |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
12. Extension.extension:type | |
Slice Name | type |
Short | The type (uri - usually full URI of logical model type_ |
Control | 1..1 |
Type | Extension |
14. Extension.extension:type.extension | |
Control | 0..0 |
16. Extension.extension:type.url | |
Type | uri |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Fixed Value | type |
18. Extension.extension:type.value[x] | |
Control | 1..? |
Type | code |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
20. Extension.url | |
Fixed Value | http://hl7.org/fhir/tools/StructureDefinition/type-specifier |
22. Extension.value[x] | |
Control | 0..0 |
Guidance on how to interpret the contents of this table can be found here
0. Extension | |
Definition | type-specifiers applied to bindable elements. Optional Extension Element - found in all resources. |
Short | Indicates 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 oneOptional Extensions Element |
Control | 0..* |
Is Modifier | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
2. Extension.extension | |
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | ExtensionAdditional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 20..2* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
Slicing | This element introduces a set of slices on Extension.extension . The slices areUnordered and ClosedOpen, and can be differentiated using the following discriminators: |
4. Extension.extension:condition | |
Slice Name | condition |
Definition | The FHIRPath expression for this type to be true. |
Short | Condition for this type (FHIRPath)Additional content defined by implementations |
Control | 10..1* |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
6. Extension.extension:condition.extension | |
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | ExtensionAdditional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..0* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
Slicing | This element introduces a set of slices on Extension.extension.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
8. Extension.extension:condition.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Short | identifies the meaning of the extension |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Control | 1..1 |
Type | uri |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
Fixed Value | condition |
10. Extension.extension:condition.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
Short | Value of extension |
Control | 10..1 This element is affected by the following invariants: ext-1 |
Type | string, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, RatioRange, Coding, SampledData, id, positiveInt, Distance, Availability, integer64, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ExtendedContactDetail, CodeableConcept, ParameterDefinition, dateTime, code, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, CodeableReference, Signature, unsignedInt, time |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
12. Extension.extension:type | |
Slice Name | type |
Definition | An Extension |
Short | The type (uri - usually full URI of logical model type_Additional content defined by implementations |
Control | 10..1* |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
14. Extension.extension:type.extension | |
Definition | An Extension May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and managable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. |
Short | ExtensionAdditional content defined by implementations |
Comments | There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone. |
Control | 0..0* |
Type | Extension |
Is Modifier | false |
Summary | false |
Alternate Names | extensions, user content |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) ext-1: Must have either extensions or value[x], not both (extension.exists() != value.exists()) |
Slicing | This element introduces a set of slices on Extension.extension.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
16. Extension.extension:type.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Short | identifies the meaning of the extension |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Control | 1..1 |
Type | uri |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
Fixed Value | type |
18. Extension.extension:type.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
Short | Value of extension |
Control | 10..1 This element is affected by the following invariants: ext-1 |
Type | code, date, Meta, Address, Attachment, integer, Count, DataRequirement, Dosage, uuid, Identifier, RatioRange, Coding, SampledData, id, positiveInt, Distance, Availability, integer64, Period, Duration, canonical, Range, RelatedArtifact, base64Binary, UsageContext, Timing, decimal, ExtendedContactDetail, CodeableConcept, ParameterDefinition, dateTime, string, oid, instant, ContactPoint, HumanName, Money, markdown, Ratio, Age, Reference, TriggerDefinition, Quantity, uri, url, Annotation, ContactDetail, boolean, Expression, CodeableReference, Signature, unsignedInt, time |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
20. Extension.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Short | identifies the meaning of the extension |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Control | 1..1 |
Type | uri |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
Fixed Value | http://hl7.org/fhir/tools/StructureDefinition/type-specifier |
22. Extension.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
Short | Value of extension |
Control | 0..01 This element is affected by the following invariants: ext-1 |
Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, CodeableReference, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, RatioRange, Reference, SampledData, Signature, Timing, ContactDetail, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Availability, ExtendedContactDetail, Dosage, Meta |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count())) |
Guidance on how to interpret the contents of this table can be found here
0. Extension | |
Definition | type-specifiers applied to bindable elements. |
Short | Indicates 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 |
Control | 0..* |
Is Modifier | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
2. Extension.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
4. Extension.extension | |
Definition | An Extension |
Short | Extension |
Control | 2..2 |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on Extension.extension . The slices areUnordered and Closed, and can be differentiated using the following discriminators: |
6. Extension.extension:condition | |
Slice Name | condition |
Definition | The FHIRPath expression for this type to be true. |
Short | Condition for this type (FHIRPath) |
Control | 1..1 |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
8. Extension.extension:condition.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
10. Extension.extension:condition.extension | |
Definition | An Extension |
Short | Extension |
Control | 0..0 |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on Extension.extension.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
12. Extension.extension:condition.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Short | identifies the meaning of the extension |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Control | 1..1 |
Type | uri |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
Fixed Value | condition |
14. Extension.extension:condition.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
Short | Value of extension |
Control | 1..1 This element is affected by the following invariants: ext-1 |
Type | string |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
16. Extension.extension:type | |
Slice Name | type |
Definition | An Extension |
Short | The type (uri - usually full URI of logical model type_ |
Control | 1..1 |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
18. Extension.extension:type.id | |
Definition | Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces. |
Short | Unique id for inter-element referencing |
Control | 0..1 This element is affected by the following invariants: ele-1 |
Type | id |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
20. Extension.extension:type.extension | |
Definition | An Extension |
Short | Extension |
Control | 0..0 |
Type | Extension |
Is Modifier | false |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) )ext-1: Must have either extensions or value[x], not both ( extension.exists() != value.exists() ) |
Slicing | This element introduces a set of slices on Extension.extension.extension . The slices areUnordered and Open, and can be differentiated using the following discriminators: |
22. Extension.extension:type.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Short | identifies the meaning of the extension |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Control | 1..1 |
Type | uri |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
Fixed Value | type |
24. Extension.extension:type.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
Short | Value of extension |
Control | 1..1 This element is affected by the following invariants: ext-1 |
Type | code |
[x] Note | SeeChoice of Data Typesfor further information about how to use [x] |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |
26. Extension.url | |
Definition | Source of the definition for the extension code - a logical name or a URL. |
Short | identifies the meaning of the extension |
Comments | The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension. |
Control | 1..1 |
Type | uri |
Is Modifier | false |
XML Format | In the XML format, this property is represented as an attribute. |
Summary | false |
Fixed Value | http://hl7.org/fhir/tools/StructureDefinition/type-specifier |
28. Extension.value[x] | |
Definition | Value of extension - must be one of a constrained set of the data types (see Extensibility for a list). |
Short | Value of extension |
Control | 0..0 This element is affected by the following invariants: ext-1 |
Type | Choice of: base64Binary, boolean, canonical, code, date, dateTime, decimal, id, instant, integer, integer64, markdown, oid, positiveInt, string, time, unsignedInt, uri, url, uuid, Address, Age, Annotation, Attachment, CodeableConcept, CodeableReference, Coding, ContactPoint, Count, Distance, Duration, HumanName, Identifier, Money, Period, Quantity, Range, Ratio, RatioRange, Reference, SampledData, Signature, Timing, ContactDetail, DataRequirement, Expression, ParameterDefinition, RelatedArtifact, TriggerDefinition, UsageContext, Availability, ExtendedContactDetail, Dosage, Meta |
Is Modifier | false |
Primitive Value | This primitive element may be present, or absent, or replaced by an extension |
Summary | false |
Invariants | ele-1: All FHIR elements must have a @value or children (hasValue() or (children().count() > id.count()) ) |