SHIFT SLS Reference Implementation Guide
0.1.0 - ci-build

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:

- Examples for this Profile: BehavioralHealthMultiTopic, MentalHealthConditions and SubstanceAbuse

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.

- Key Elements Table
- Differential Table
- Snapshot Table
- Statistics/References
- All

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 | S C | 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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
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.

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 Bindings | Purpose
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 Bindings | Purpose
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 | S C | 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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 | S C | 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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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
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

Name | Flags | Card. | Type | Description & Constraints Filter: Bindings Constraints Obligations
--- | --- | --- | --- | ---
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 Bindings | Purpose
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 Bindings | Purpose
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 | S C | 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
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