SHIFT SLS Reference Implementation Guide
0.1.0 - ci-build International flag

SHIFT SLS Reference Implementation Guide, published by SHIFT-Task-Force. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/SHIFT-Task-Force/sls-ri-ig/ and changes regularly. See the Directory of published versions

Resource Profile: SLS ValueSet Profile

Official URL: http://SHIFT-Task-Force.github.io/sls-ri/StructureDefinition/SlsValueSet Version: 0.1.0
Active as of 2026-02-06 Computable Name: SlsValueSet

Profile for ValueSets used in the SLS RI

  • Shared ValueSets require experimental, url, title, description, and status.
  • title and description are encouraged to keep track of the purpose and use of the ValueSet as it is not always clear from the content of the ValueSet itself.
  • compose.inactive tends to need to be true as the ValueSet is covering historic data that may have been coded long ago when the now inactive codes were allowed.
  • useContext of focus is the tag value applied to data that matches a code in this ValueSet
    • display values are discouraged as they simply add size to the tagged output.
    • in R5/R6 the topic value can be used.
  • date is the date the ValueSet was created or last updated. This value will be used by the SLS RI to determine if the data being inspected was last inspected before the last update of the ValueSet.
  • expansion.timestamp is the date the ValueSet was expanded. This value will be used by the SLS RI to determine if the data being inspected was last inspected before the last expansion of the ValueSet.
  • expansion SHOULD provide expanded ValueSet as that give the definitive list of codes and a timestamp for when the expansion was performed. This allows the SLS RI to determine if the data being inspected matches any of the codes in the ValueSet without having to perform an expansion itself.
    • The RI can expand the ValueSet itself if the expansion is not provided, but this expansion limits the timestamp to now, thus forcing inspection of all data even when the actual valueSet has not changed.
    • The expansion is done by an external service which is then a dependency. The SLS RI uses tx.fhir.org terminology service.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ValueSet C 0..* ValueSet A set of codes drawn from one or more code systems
Constraints: vsd-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... date SΣ 0..1 dateTime Date last changed
... Slices for useContext SΣ 1..* UsageContext The context that the content is intended to support
Slice: Unordered, Open by value:code
.... useContext:SLS-tag SΣ 1..* UsageContext The context that the content is intended to support
..... code Σ 1..1 Coding Type of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.
Fixed Value: As shown (Clinical Focus)
...... id 0..0 string Unique id for inter-element referencing
...... extension 0..0 Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
...... version 0..0 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: focus
...... display 0..0 string Representation defined by the system
...... userSelected 0..0 boolean If this coding was chosen directly by the user
..... Slices for value[x] Σ 1..1 CodeableConcept Value that defines the context
Slice: Unordered, Closed by type:$this
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.
...... value[x]:valueCodeableConcept SΣ 1..1 CodeableConcept Value that defines the context
Binding: All Security Labels (extensible)
... compose 0..1 BackboneElement Content logical definition of the value set (CLD)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... inactive SΣ 0..1 boolean Whether inactive codes are in the value set
.... include ΣC 1..* BackboneElement Include one or more codes from a code system or other value set(s)
Constraints: vsd-1, vsd-2, vsd-3
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... system ΣC 0..1 uri The system the codes come from
... expansion S 0..1 BackboneElement Used when the value set is "expanded"
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... timestamp S 1..1 dateTime Time ValueSet expansion happened
.... contains SC 0..* BackboneElement Codes in the value set
Constraints: vsd-6, vsd-9, vsd-10
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ValueSet.status Base required PublicationStatus 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​code Base extensible UsageContextType 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x] Base example ConformanceUseContext 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x]:valueCodeableConcept Base extensible SecurityLabels 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error ValueSet If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ValueSet If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error ValueSet If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error ValueSet If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ValueSet A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vsd-0 warning ValueSet Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
vsd-1 error ValueSet.compose.include A value set include/exclude SHALL have a value set or a system valueSet.exists() or system.exists()
vsd-2 error ValueSet.compose.include A value set with concepts or filters SHALL include a system (concept.exists() or filter.exists()) implies system.exists()
vsd-3 error ValueSet.compose.include Cannot have both concept and filter concept.empty() or filter.empty()
vsd-6 error ValueSet.expansion.contains SHALL have a code or a display code.exists() or display.exists()
vsd-9 error ValueSet.expansion.contains Must have a code if not abstract code.exists() or abstract = true
vsd-10 error ValueSet.expansion.contains Must have a system if a code is present code.empty() or system.exists()

This structure is derived from ValueSet

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ValueSet 0..* ValueSet A set of codes drawn from one or more code systems
... date S 0..1 dateTime Date last changed
... Slices for useContext S 1..* UsageContext The context that the content is intended to support
Slice: Unordered, Open by value:code
.... useContext:SLS-tag S 1..* UsageContext The context that the content is intended to support
..... code 1..1 Coding Type of context being specified
Fixed Value: As shown (Clinical Focus)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: focus
..... Slices for value[x] 1..1 CodeableConcept Value that defines the context
Slice: Unordered, Open by type:$this
...... value[x]:valueCodeableConcept S 1..1 CodeableConcept Value that defines the context
Binding: All Security Labels (extensible)
... compose
.... inactive S 0..1 boolean Whether inactive codes are in the value set
... expansion S 0..1 BackboneElement Used when the value set is "expanded"
.... timestamp S 1..1 dateTime Time ValueSet expansion happened
.... contains S 0..* BackboneElement Codes in the value set

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ValueSet.useContext:SLS-tag.​value[x]:valueCodeableConcept Base extensible SecurityLabels 📦4.0.1 FHIR Std.
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ValueSet C 0..* ValueSet A set of codes drawn from one or more code systems
Constraints: vsd-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this value set, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the value set (business identifier)
... version Σ 0..1 string Business version of the value set
... name ΣC 0..1 string Name for this value set (computer friendly)
... title Σ 0..1 string Name for this value set (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date SΣ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the value set
... Slices for useContext SΣ 1..* UsageContext The context that the content is intended to support
Slice: Unordered, Open by value:code
.... useContext:SLS-tag SΣ 1..* UsageContext The context that the content is intended to support
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... code Σ 1..1 Coding Type of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.
Fixed Value: As shown (Clinical Focus)
...... id 0..0 string Unique id for inter-element referencing
...... extension 0..0 Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
...... version 0..0 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: focus
...... display 0..0 string Representation defined by the system
...... userSelected 0..0 boolean If this coding was chosen directly by the user
..... Slices for value[x] Σ 1..1 CodeableConcept Value that defines the context
Slice: Unordered, Closed by type:$this
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.
...... value[x]:valueCodeableConcept SΣ 1..1 CodeableConcept Value that defines the context
Binding: All Security Labels (extensible)
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for value set (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... immutable Σ 0..1 boolean Indicates whether or not any change to the content logical definition may occur
... purpose 0..1 markdown Why this value set is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... compose 0..1 BackboneElement Content logical definition of the value set (CLD)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... lockedDate Σ 0..1 date Fixed date for references with no specified version (transitive)
.... inactive SΣ 0..1 boolean Whether inactive codes are in the value set
.... include ΣC 1..* BackboneElement Include one or more codes from a code system or other value set(s)
Constraints: vsd-1, vsd-2, vsd-3
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... system ΣC 0..1 uri The system the codes come from
..... version Σ 0..1 string Specific version of the code system referred to
..... concept C 0..* BackboneElement A concept defined in the system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... code 1..1 code Code or expression from system
...... display 0..1 string Text to display for this code for this value set in this valueset
...... designation 0..* BackboneElement Additional representations for this concept
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... language 0..1 code Human language of the designation
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
....... use 0..1 Coding Types of uses of designations
Binding: DesignationUse (extensible): Details of how a designation would be used.
....... value 1..1 string The text value for this designation
..... filter ΣC 0..* BackboneElement Select codes/concepts by their properties (including relationships)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... property Σ 1..1 code A property/filter defined by the code system
...... op Σ 1..1 code = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists
Binding: FilterOperator (required): The kind of operation to perform as a part of a property based filter.
...... value Σ 1..1 string Code from the system, or regex criteria, or boolean value for exists
..... valueSet ΣC 0..* canonical(ValueSet) Select the contents included in this value set
.... exclude C 0..* See include (ValueSet) Explicitly exclude codes from a code system or other value sets
... expansion S 0..1 BackboneElement Used when the value set is "expanded"
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..1 uri Identifies the value set expansion (business identifier)
.... timestamp S 1..1 dateTime Time ValueSet expansion happened
.... total 0..1 integer Total number of codes in the expansion
.... offset 0..1 integer Offset at which this resource starts
.... parameter 0..* BackboneElement Parameter that controlled the expansion process
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name 1..1 string Name as assigned by the client or server
..... value[x] 0..1 Value of the named parameter
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueDecimal decimal
...... valueUri uri
...... valueCode code
...... valueDateTime dateTime
.... contains SC 0..* BackboneElement Codes in the value set
Constraints: vsd-6, vsd-9, vsd-10
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... system 0..1 uri System value for the code
..... abstract 0..1 boolean If user cannot select this entry
..... inactive 0..1 boolean If concept is inactive in the code system
..... version 0..1 string Version in which this code/display is defined
..... code C 0..1 code Code - if blank, this is not a selectable code
..... display C 0..1 string User display for the concept
..... designation 0..* See designation (ValueSet) Additional representations for this item
..... contains 0..* See contains (ValueSet) Codes contained under this entry

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ValueSet.language Base preferred Common Languages 📍4.0.1 FHIR Std.
ValueSet.status Base required PublicationStatus 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​code Base extensible UsageContextType 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x] Base example ConformanceUseContext 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x]:valueCodeableConcept Base extensible SecurityLabels 📦4.0.1 FHIR Std.
ValueSet.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
ValueSet.compose.include.​concept.designation.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
ValueSet.compose.include.​concept.designation.​use Base extensible Designation Use 📍4.0.1 FHIR Std.
ValueSet.compose.include.​filter.op Base required FilterOperator 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error ValueSet If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ValueSet If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error ValueSet If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error ValueSet If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ValueSet A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vsd-0 warning ValueSet Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
vsd-1 error ValueSet.compose.include A value set include/exclude SHALL have a value set or a system valueSet.exists() or system.exists()
vsd-2 error ValueSet.compose.include A value set with concepts or filters SHALL include a system (concept.exists() or filter.exists()) implies system.exists()
vsd-3 error ValueSet.compose.include Cannot have both concept and filter concept.empty() or filter.empty()
vsd-6 error ValueSet.expansion.contains SHALL have a code or a display code.exists() or display.exists()
vsd-9 error ValueSet.expansion.contains Must have a code if not abstract code.exists() or abstract = true
vsd-10 error ValueSet.expansion.contains Must have a system if a code is present code.empty() or system.exists()

This structure is derived from ValueSet

Summary

Mandatory: 3 elements
Must-Support: 8 elements
Fixed: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of ValueSet.useContext
  • The element 1 is sliced based on the value of ValueSet.useContext.value[x]

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ValueSet C 0..* ValueSet A set of codes drawn from one or more code systems
Constraints: vsd-0
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... date SΣ 0..1 dateTime Date last changed
... Slices for useContext SΣ 1..* UsageContext The context that the content is intended to support
Slice: Unordered, Open by value:code
.... useContext:SLS-tag SΣ 1..* UsageContext The context that the content is intended to support
..... code Σ 1..1 Coding Type of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.
Fixed Value: As shown (Clinical Focus)
...... id 0..0 string Unique id for inter-element referencing
...... extension 0..0 Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
...... version 0..0 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: focus
...... display 0..0 string Representation defined by the system
...... userSelected 0..0 boolean If this coding was chosen directly by the user
..... Slices for value[x] Σ 1..1 CodeableConcept Value that defines the context
Slice: Unordered, Closed by type:$this
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.
...... value[x]:valueCodeableConcept SΣ 1..1 CodeableConcept Value that defines the context
Binding: All Security Labels (extensible)
... compose 0..1 BackboneElement Content logical definition of the value set (CLD)
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... inactive SΣ 0..1 boolean Whether inactive codes are in the value set
.... include ΣC 1..* BackboneElement Include one or more codes from a code system or other value set(s)
Constraints: vsd-1, vsd-2, vsd-3
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... system ΣC 0..1 uri The system the codes come from
... expansion S 0..1 BackboneElement Used when the value set is "expanded"
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... timestamp S 1..1 dateTime Time ValueSet expansion happened
.... contains SC 0..* BackboneElement Codes in the value set
Constraints: vsd-6, vsd-9, vsd-10
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ValueSet.status Base required PublicationStatus 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​code Base extensible UsageContextType 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x] Base example ConformanceUseContext 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x]:valueCodeableConcept Base extensible SecurityLabels 📦4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error ValueSet If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ValueSet If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error ValueSet If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error ValueSet If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ValueSet A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vsd-0 warning ValueSet Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
vsd-1 error ValueSet.compose.include A value set include/exclude SHALL have a value set or a system valueSet.exists() or system.exists()
vsd-2 error ValueSet.compose.include A value set with concepts or filters SHALL include a system (concept.exists() or filter.exists()) implies system.exists()
vsd-3 error ValueSet.compose.include Cannot have both concept and filter concept.empty() or filter.empty()
vsd-6 error ValueSet.expansion.contains SHALL have a code or a display code.exists() or display.exists()
vsd-9 error ValueSet.expansion.contains Must have a code if not abstract code.exists() or abstract = true
vsd-10 error ValueSet.expansion.contains Must have a system if a code is present code.empty() or system.exists()

Differential View

This structure is derived from ValueSet

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ValueSet 0..* ValueSet A set of codes drawn from one or more code systems
... date S 0..1 dateTime Date last changed
... Slices for useContext S 1..* UsageContext The context that the content is intended to support
Slice: Unordered, Open by value:code
.... useContext:SLS-tag S 1..* UsageContext The context that the content is intended to support
..... code 1..1 Coding Type of context being specified
Fixed Value: As shown (Clinical Focus)
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: focus
..... Slices for value[x] 1..1 CodeableConcept Value that defines the context
Slice: Unordered, Open by type:$this
...... value[x]:valueCodeableConcept S 1..1 CodeableConcept Value that defines the context
Binding: All Security Labels (extensible)
... compose
.... inactive S 0..1 boolean Whether inactive codes are in the value set
... expansion S 0..1 BackboneElement Used when the value set is "expanded"
.... timestamp S 1..1 dateTime Time ValueSet expansion happened
.... contains S 0..* BackboneElement Codes in the value set

doco Documentation for this format

Terminology Bindings (Differential)

Path Status Usage ValueSet Version Source
ValueSet.useContext:SLS-tag.​value[x]:valueCodeableConcept Base extensible SecurityLabels 📦4.0.1 FHIR Std.

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. ValueSet C 0..* ValueSet A set of codes drawn from one or more code systems
Constraints: vsd-0
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... text 0..1 Narrative Text summary of the resource, for human interpretation
This profile does not constrain the narrative in regard to content, language, or traceability to data elements
... contained 0..* Resource Contained, inline Resources
... extension 0..* Extension Additional content defined by implementations
... modifierExtension ?! 0..* Extension Extensions that cannot be ignored
... url Σ 0..1 uri Canonical identifier for this value set, represented as a URI (globally unique)
... identifier Σ 0..* Identifier Additional identifier for the value set (business identifier)
... version Σ 0..1 string Business version of the value set
... name ΣC 0..1 string Name for this value set (computer friendly)
... title Σ 0..1 string Name for this value set (human friendly)
... status ?!Σ 1..1 code draft | active | retired | unknown
Binding: PublicationStatus (required): The lifecycle status of an artifact.
... experimental Σ 0..1 boolean For testing purposes, not real usage
... date SΣ 0..1 dateTime Date last changed
... publisher Σ 0..1 string Name of the publisher (organization or individual)
... contact Σ 0..* ContactDetail Contact details for the publisher
... description 0..1 markdown Natural language description of the value set
... Slices for useContext SΣ 1..* UsageContext The context that the content is intended to support
Slice: Unordered, Open by value:code
.... useContext:SLS-tag SΣ 1..* UsageContext The context that the content is intended to support
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
..... code Σ 1..1 Coding Type of context being specified
Binding: UsageContextType (extensible): A code that specifies a type of context being specified by a usage context.
Fixed Value: As shown (Clinical Focus)
...... id 0..0 string Unique id for inter-element referencing
...... extension 0..0 Extension Additional content defined by implementations
...... system 1..1 uri Identity of the terminology system
Fixed Value: http://terminology.hl7.org/CodeSystem/usage-context-type
...... version 0..0 string Version of the system - if relevant
...... code 1..1 code Symbol in syntax defined by the system
Fixed Value: focus
...... display 0..0 string Representation defined by the system
...... userSelected 0..0 boolean If this coding was chosen directly by the user
..... Slices for value[x] Σ 1..1 CodeableConcept Value that defines the context
Slice: Unordered, Closed by type:$this
Binding: Context of Use ValueSet (example): A code that defines the specific value for the context being specified.
...... value[x]:valueCodeableConcept SΣ 1..1 CodeableConcept Value that defines the context
Binding: All Security Labels (extensible)
... jurisdiction Σ 0..* CodeableConcept Intended jurisdiction for value set (if applicable)
Binding: Jurisdiction ValueSet (extensible): Countries and regions within which this artifact is targeted for use.
... immutable Σ 0..1 boolean Indicates whether or not any change to the content logical definition may occur
... purpose 0..1 markdown Why this value set is defined
... copyright 0..1 markdown Use and/or publishing restrictions
... compose 0..1 BackboneElement Content logical definition of the value set (CLD)
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... lockedDate Σ 0..1 date Fixed date for references with no specified version (transitive)
.... inactive SΣ 0..1 boolean Whether inactive codes are in the value set
.... include ΣC 1..* BackboneElement Include one or more codes from a code system or other value set(s)
Constraints: vsd-1, vsd-2, vsd-3
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... system ΣC 0..1 uri The system the codes come from
..... version Σ 0..1 string Specific version of the code system referred to
..... concept C 0..* BackboneElement A concept defined in the system
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... code 1..1 code Code or expression from system
...... display 0..1 string Text to display for this code for this value set in this valueset
...... designation 0..* BackboneElement Additional representations for this concept
....... id 0..1 string Unique id for inter-element referencing
....... extension 0..* Extension Additional content defined by implementations
....... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
....... language 0..1 code Human language of the designation
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
....... use 0..1 Coding Types of uses of designations
Binding: DesignationUse (extensible): Details of how a designation would be used.
....... value 1..1 string The text value for this designation
..... filter ΣC 0..* BackboneElement Select codes/concepts by their properties (including relationships)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... property Σ 1..1 code A property/filter defined by the code system
...... op Σ 1..1 code = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists
Binding: FilterOperator (required): The kind of operation to perform as a part of a property based filter.
...... value Σ 1..1 string Code from the system, or regex criteria, or boolean value for exists
..... valueSet ΣC 0..* canonical(ValueSet) Select the contents included in this value set
.... exclude C 0..* See include (ValueSet) Explicitly exclude codes from a code system or other value sets
... expansion S 0..1 BackboneElement Used when the value set is "expanded"
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... identifier 0..1 uri Identifies the value set expansion (business identifier)
.... timestamp S 1..1 dateTime Time ValueSet expansion happened
.... total 0..1 integer Total number of codes in the expansion
.... offset 0..1 integer Offset at which this resource starts
.... parameter 0..* BackboneElement Parameter that controlled the expansion process
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... name 1..1 string Name as assigned by the client or server
..... value[x] 0..1 Value of the named parameter
...... valueString string
...... valueBoolean boolean
...... valueInteger integer
...... valueDecimal decimal
...... valueUri uri
...... valueCode code
...... valueDateTime dateTime
.... contains SC 0..* BackboneElement Codes in the value set
Constraints: vsd-6, vsd-9, vsd-10
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... system 0..1 uri System value for the code
..... abstract 0..1 boolean If user cannot select this entry
..... inactive 0..1 boolean If concept is inactive in the code system
..... version 0..1 string Version in which this code/display is defined
..... code C 0..1 code Code - if blank, this is not a selectable code
..... display C 0..1 string User display for the concept
..... designation 0..* See designation (ValueSet) Additional representations for this item
..... contains 0..* See contains (ValueSet) Codes contained under this entry

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
ValueSet.language Base preferred Common Languages 📍4.0.1 FHIR Std.
ValueSet.status Base required PublicationStatus 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​code Base extensible UsageContextType 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x] Base example ConformanceUseContext 📍4.0.1 FHIR Std.
ValueSet.useContext:SLS-tag.​value[x]:valueCodeableConcept Base extensible SecurityLabels 📦4.0.1 FHIR Std.
ValueSet.jurisdiction Base extensible Jurisdiction 📍4.0.1 FHIR Std.
ValueSet.compose.include.​concept.designation.​language Base preferred Common Languages 📍4.0.1 FHIR Std.
ValueSet.compose.include.​concept.designation.​use Base extensible Designation Use 📍4.0.1 FHIR Std.
ValueSet.compose.include.​filter.op Base required FilterOperator 📍4.0.1 FHIR Std.

Constraints

Id Grade Path(s) Description Expression
dom-2 error ValueSet If the resource is contained in another resource, it SHALL NOT contain nested Resources contained.contained.empty()
dom-3 error ValueSet If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty()
dom-4 error ValueSet If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()
dom-5 error ValueSet If a resource is contained in another resource, it SHALL NOT have a security label contained.meta.security.empty()
dom-6 best practice ValueSet A resource should have narrative for robust management text.`div`.exists()
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()
vsd-0 warning ValueSet Name should be usable as an identifier for the module by machine processing applications such as code generation name.matches('[A-Z]([A-Za-z0-9_]){0,254}')
vsd-1 error ValueSet.compose.include A value set include/exclude SHALL have a value set or a system valueSet.exists() or system.exists()
vsd-2 error ValueSet.compose.include A value set with concepts or filters SHALL include a system (concept.exists() or filter.exists()) implies system.exists()
vsd-3 error ValueSet.compose.include Cannot have both concept and filter concept.empty() or filter.empty()
vsd-6 error ValueSet.expansion.contains SHALL have a code or a display code.exists() or display.exists()
vsd-9 error ValueSet.expansion.contains Must have a code if not abstract code.exists() or abstract = true
vsd-10 error ValueSet.expansion.contains Must have a system if a code is present code.empty() or system.exists()

This structure is derived from ValueSet

Summary

Mandatory: 3 elements
Must-Support: 8 elements
Fixed: 1 element

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of ValueSet.useContext
  • The element 1 is sliced based on the value of ValueSet.useContext.value[x]

 

Other representations of profile: CSV, Excel, Schematron