FHIR Clincal Guidelines (v0.1.0) (STU1 Ballot)

This page is part of the Clinical Guidelines (v0.1.0: STU 1 Ballot 1) based on FHIR R4. The current version which supercedes this version is 1.0.0. For a full list of available versions, see the Directory of published versions

D.4.1 StructureDefinition: cpg-expressionbasedvalueset

Examples:

Example id Format
Example of an expression-based value set opioids-with-ambulatory-abuse-potential XML JSON

D.4.1.1 Formal Views of Profile Content

The official URL for this profile is:

http://hl7.org/fhir/uv/cpg/StructureDefinition/cpg-expressionbasedvalueset

Defines an expression-based value set (i.e. a value set defined intensionally using expressions of the code systems involved)

This profile builds on CPGValueSet.

This profile was published on Thu Jun 06 00:00:00 EDT 2019 as a draft by Health Level Seven, Inc. - CDS WG.

Description of Profiles, Differentials, and Snapshots.

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 4 elements
Fixed Value: 1 element

Extensions

This structure refers to these extensions:

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..11: Either rulesText or expression must be provided, but not both
... valueset-rules-text SI0..1markdownHuman instructions for constructing the valueset
URL: http://hl7.org/fhir/StructureDefinition/valueset-rules-text
... valueset-expression SI0..1ExpressionMachine instructions for constructing the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-expression
... valueset-warning S1..1markdownExtra warning about the correct use of the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-warning
.... value[x] 1..1stringFixed Value: This value set is defined using an intensional definition that can only be processed by either a human (if rulesText is present) or a system that understands the expression-based definition (if valuesetExpression is present). The compose element contains the enumerated set of individual concepts obtained as the result of the computed expansion of the expression or rulesText as of the time of publication. As new versions of the value set are created, and/or as new versions of the code systems used by the value set are created, the value set compose content will need to be updated to incorporate newly defined codes that meet the value set intent. Before, and periodically during production use, the value set contents SHOULD be updated.
... compose S1..*BackboneElement

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1A set of codes drawn from one or more code systems
1: Either rulesText or expression must be provided, but not both
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... resource-approvalDate SI0..1dateWhen resource approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/resource-approvalDate
... valueset-effectiveDate SI0..1dateTimeWhen the value set version becomes Active and is available for use
URL: http://hl7.org/fhir/StructureDefinition/valueset-effectiveDate
... valueset-expirationDate SI0..1dateWhen the value set version should no longer be used
URL: http://hl7.org/fhir/StructureDefinition/valueset-expirationDate
... resource-lastReviewDate SI0..1dateLast review date for the resource
URL: http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate
... valueset-author SI0..*ContactDetailEntity/entities that create and may modify the Value Set
URL: http://hl7.org/fhir/StructureDefinition/valueset-author
... valueset-keyWord SI0..*stringDescriptors and key terms for search
URL: http://hl7.org/fhir/StructureDefinition/valueset-keyWord
... valueset-sourceReference I0..*uriWhere did this content come from
URL: http://hl7.org/fhir/StructureDefinition/valueset-sourceReference
... valueset-rules-text S0..1markdownHuman instructions for constructing the valueset
URL: http://hl7.org/fhir/StructureDefinition/valueset-rules-text
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-rules-text"
.... valueMarkdown 0..1markdownValue of extension
... valueset-expression S0..1ExpressionMachine instructions for constructing the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-expression
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-expression"
.... valueExpression 0..1ExpressionValue of extension
... valueset-warning S1..1markdownExtra warning about the correct use of the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-warning
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-warning"
.... valueMarkdown 0..1markdownValue of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this value set, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the value set (business identifier)
... version SΣ1..1stringBusiness version of the value set
... name SΣI1..1stringName for this value set (computer friendly)
... title SΣ1..1stringName for this value set (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental SΣ1..1booleanFor testing purposes, not real usage
... date SΣ1..1dateTimeDate last changed
... publisher SΣ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description S1..1markdownNatural language description of the value set
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for value set (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... immutable Σ0..1booleanIndicates whether or not any change to the content logical definition may occur
... purpose S0..1markdownWhy this value set is defined
... copyright S0..1markdownUse and/or publishing restrictions
... compose SI1..*BackboneElementContent logical definition of the value set (CLD)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... lockedDate Σ0..1dateFixed date for references with no specified version (transitive)
.... inactive Σ0..1booleanWhether inactive codes are in the value set
.... include ΣI1..*BackboneElementInclude one or more codes from a code system or other value set(s)
vsd-2: A value set with concepts or filters SHALL include a system
vsd-3: Cannot have both concept and filter
vsd-1: A value set include/exclude SHALL have a value set or a system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... system ΣI0..1uriThe system the codes come from
..... version Σ0..1stringSpecific version of the code system referred to
..... concept I0..*BackboneElementA concept defined in the system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... code 1..1codeCode or expression from system
...... display 0..1stringText to display for this code for this value set in this valueset
...... designation I0..*BackboneElementAdditional representations for this concept
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... language 0..1codeHuman language of the designation
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
....... use 0..1CodingTypes of uses of designations
Binding: DesignationUse (extensible)
....... value 1..1stringThe text value for this designation
..... filter ΣI0..*BackboneElementSelect codes/concepts by their properties (including relationships)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... property Σ1..1codeA property/filter defined by the code system
...... op Σ1..1code= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists
Binding: FilterOperator (required)
...... value Σ1..1stringCode from the system, or regex criteria, or boolean value for exists
..... valueSet ΣI0..*canonical(ValueSet)Select the contents included in this value set
.... exclude I0..*Unknown reference to #ValueSet.compose.include
Explicitly exclude codes from a code system or other value sets
... expansion I0..1BackboneElementUsed when the value set is "expanded"
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier 0..1uriIdentifies the value set expansion (business identifier)
.... timestamp 1..1dateTimeTime ValueSet expansion happened
.... total 0..1integerTotal number of codes in the expansion
.... offset 0..1integerOffset at which this resource starts
.... parameter I0..*BackboneElementParameter that controlled the expansion process
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1stringName as assigned by the client or server
..... value[x] 0..1Value of the named parameter
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueDecimaldecimal
...... valueUriuri
...... valueCodecode
...... valueDateTimedateTime
.... contains I0..*BackboneElementCodes in the value set
vsd-6: SHALL have a code or a display
vsd-9: Must have a code if not abstract
vsd-10: Must have a system if a code is present
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... system 0..1uriSystem value for the code
..... abstract 0..1booleanIf user cannot select this entry
..... inactive 0..1booleanIf concept is inactive in the code system
..... version 0..1stringVersion in which this code/display is defined
..... code I0..1codeCode - if blank, this is not a selectable code
..... display I0..1stringUser display for the concept
..... designation 0..*Unknown reference to #ValueSet.compose.include.concept.designation
Additional representations for this item
..... contains 0..*Unknown reference to #ValueSet.expansion.contains
Codes contained under this entry

doco Documentation for this format

Summary

Mandatory: 2 elements (1 nested mandatory element)
Must-Support: 4 elements
Fixed Value: 1 element

Extensions

This structure refers to these extensions:

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..11: Either rulesText or expression must be provided, but not both
... valueset-rules-text SI0..1markdownHuman instructions for constructing the valueset
URL: http://hl7.org/fhir/StructureDefinition/valueset-rules-text
... valueset-expression SI0..1ExpressionMachine instructions for constructing the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-expression
... valueset-warning S1..1markdownExtra warning about the correct use of the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-warning
.... value[x] 1..1stringFixed Value: This value set is defined using an intensional definition that can only be processed by either a human (if rulesText is present) or a system that understands the expression-based definition (if valuesetExpression is present). The compose element contains the enumerated set of individual concepts obtained as the result of the computed expansion of the expression or rulesText as of the time of publication. As new versions of the value set are created, and/or as new versions of the code systems used by the value set are created, the value set compose content will need to be updated to incorporate newly defined codes that meet the value set intent. Before, and periodically during production use, the value set contents SHOULD be updated.
... compose S1..*BackboneElement

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1A set of codes drawn from one or more code systems
1: Either rulesText or expression must be provided, but not both
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... text 0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionExtension
Slice: Unordered, Open by value:url
... resource-approvalDate SI0..1dateWhen resource approved by publisher
URL: http://hl7.org/fhir/StructureDefinition/resource-approvalDate
... valueset-effectiveDate SI0..1dateTimeWhen the value set version becomes Active and is available for use
URL: http://hl7.org/fhir/StructureDefinition/valueset-effectiveDate
... valueset-expirationDate SI0..1dateWhen the value set version should no longer be used
URL: http://hl7.org/fhir/StructureDefinition/valueset-expirationDate
... resource-lastReviewDate SI0..1dateLast review date for the resource
URL: http://hl7.org/fhir/StructureDefinition/resource-lastReviewDate
... valueset-author SI0..*ContactDetailEntity/entities that create and may modify the Value Set
URL: http://hl7.org/fhir/StructureDefinition/valueset-author
... valueset-keyWord SI0..*stringDescriptors and key terms for search
URL: http://hl7.org/fhir/StructureDefinition/valueset-keyWord
... valueset-sourceReference I0..*uriWhere did this content come from
URL: http://hl7.org/fhir/StructureDefinition/valueset-sourceReference
... valueset-rules-text S0..1markdownHuman instructions for constructing the valueset
URL: http://hl7.org/fhir/StructureDefinition/valueset-rules-text
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-rules-text"
.... valueMarkdown 0..1markdownValue of extension
... valueset-expression S0..1ExpressionMachine instructions for constructing the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-expression
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-expression"
.... valueExpression 0..1ExpressionValue of extension
... valueset-warning S1..1markdownExtra warning about the correct use of the value set
URL: http://hl7.org/fhir/StructureDefinition/valueset-warning
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..0
.... url 1..1uri"http://hl7.org/fhir/StructureDefinition/valueset-warning"
.... valueMarkdown 0..1markdownValue of extension
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url SΣ1..1uriCanonical identifier for this value set, represented as a URI (globally unique)
... identifier SΣ0..*IdentifierAdditional identifier for the value set (business identifier)
... version SΣ1..1stringBusiness version of the value set
... name SΣI1..1stringName for this value set (computer friendly)
... title SΣ1..1stringName for this value set (human friendly)
... status ?!SΣ1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental SΣ1..1booleanFor testing purposes, not real usage
... date SΣ1..1dateTimeDate last changed
... publisher SΣ1..1stringName of the publisher (organization or individual)
... contact SΣ0..*ContactDetailContact details for the publisher
... description S1..1markdownNatural language description of the value set
... useContext SΣ0..*UsageContextThe context that the content is intended to support
... jurisdiction SΣ0..*CodeableConceptIntended jurisdiction for value set (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... immutable Σ0..1booleanIndicates whether or not any change to the content logical definition may occur
... purpose S0..1markdownWhy this value set is defined
... copyright S0..1markdownUse and/or publishing restrictions
... compose SI1..*BackboneElementContent logical definition of the value set (CLD)
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... lockedDate Σ0..1dateFixed date for references with no specified version (transitive)
.... inactive Σ0..1booleanWhether inactive codes are in the value set
.... include ΣI1..*BackboneElementInclude one or more codes from a code system or other value set(s)
vsd-2: A value set with concepts or filters SHALL include a system
vsd-3: Cannot have both concept and filter
vsd-1: A value set include/exclude SHALL have a value set or a system
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... system ΣI0..1uriThe system the codes come from
..... version Σ0..1stringSpecific version of the code system referred to
..... concept I0..*BackboneElementA concept defined in the system
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... code 1..1codeCode or expression from system
...... display 0..1stringText to display for this code for this value set in this valueset
...... designation I0..*BackboneElementAdditional representations for this concept
....... id 0..1stringUnique id for inter-element referencing
....... extension 0..*ExtensionAdditional content defined by implementations
....... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
....... language 0..1codeHuman language of the designation
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
....... use 0..1CodingTypes of uses of designations
Binding: DesignationUse (extensible)
....... value 1..1stringThe text value for this designation
..... filter ΣI0..*BackboneElementSelect codes/concepts by their properties (including relationships)
...... id 0..1stringUnique id for inter-element referencing
...... extension 0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... property Σ1..1codeA property/filter defined by the code system
...... op Σ1..1code= | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | exists
Binding: FilterOperator (required)
...... value Σ1..1stringCode from the system, or regex criteria, or boolean value for exists
..... valueSet ΣI0..*canonical(ValueSet)Select the contents included in this value set
.... exclude I0..*Unknown reference to #ValueSet.compose.include
Explicitly exclude codes from a code system or other value sets
... expansion I0..1BackboneElementUsed when the value set is "expanded"
.... id 0..1stringUnique id for inter-element referencing
.... extension 0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... identifier 0..1uriIdentifies the value set expansion (business identifier)
.... timestamp 1..1dateTimeTime ValueSet expansion happened
.... total 0..1integerTotal number of codes in the expansion
.... offset 0..1integerOffset at which this resource starts
.... parameter I0..*BackboneElementParameter that controlled the expansion process
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... name 1..1stringName as assigned by the client or server
..... value[x] 0..1Value of the named parameter
...... valueStringstring
...... valueBooleanboolean
...... valueIntegerinteger
...... valueDecimaldecimal
...... valueUriuri
...... valueCodecode
...... valueDateTimedateTime
.... contains I0..*BackboneElementCodes in the value set
vsd-6: SHALL have a code or a display
vsd-9: Must have a code if not abstract
vsd-10: Must have a system if a code is present
..... id 0..1stringUnique id for inter-element referencing
..... extension 0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... system 0..1uriSystem value for the code
..... abstract 0..1booleanIf user cannot select this entry
..... inactive 0..1booleanIf concept is inactive in the code system
..... version 0..1stringVersion in which this code/display is defined
..... code I0..1codeCode - if blank, this is not a selectable code
..... display I0..1stringUser display for the concept
..... designation 0..*Unknown reference to #ValueSet.compose.include.concept.designation
Additional representations for this item
..... contains 0..*Unknown reference to #ValueSet.expansion.contains
Codes contained under this entry

doco Documentation for this format

 

D.4.1.2 Terminology Bindings

Terminology Bindings

PathConformanceValueSet
ValueSet.languagepreferredCommonLanguages
Max Binding: AllLanguages
ValueSet.statusrequiredPublicationStatus
ValueSet.jurisdictionextensibleJurisdiction ValueSet
ValueSet.compose.include.concept.designation.languagepreferredCommonLanguages
Max Binding: AllLanguages
ValueSet.compose.include.concept.designation.useextensibleDesignationUse
ValueSet.compose.include.filter.oprequiredFilterOperator

D.4.1.3 Constraints

Constraints

IdPathDetailsRequirements
dom-2ValueSetIf the resource is contained in another resource, it SHALL NOT contain nested Resources
: contained.contained.empty()
dom-4ValueSetIf 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-3ValueSetIf 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-6ValueSetA resource should have narrative for robust management
: text.div.exists()
dom-5ValueSetIf a resource is contained in another resource, it SHALL NOT have a security label
: contained.meta.security.empty()
vsd-0ValueSetName 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}')
1ValueSetEither rulesText or expression must be provided, but not both
: (extension('http://hl7.org/fhir/StructureDefinition/valueset-rules-text') | extension('http://hl7.org/fhir/StructureDefinition/valueset-expression')).exists()
ele-1ValueSet.composeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ValueSet.compose.includeAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
vsd-2ValueSet.compose.includeA value set with concepts or filters SHALL include a system
: (concept.exists() or filter.exists()) implies system.exists()
vsd-3ValueSet.compose.includeCannot have both concept and filter
: concept.empty() or filter.empty()
vsd-1ValueSet.compose.includeA value set include/exclude SHALL have a value set or a system
: valueSet.exists() or system.exists()
ele-1ValueSet.compose.include.conceptAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ValueSet.compose.include.concept.designationAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ValueSet.compose.include.filterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ValueSet.expansionAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ValueSet.expansion.parameterAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ele-1ValueSet.expansion.containsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
vsd-6ValueSet.expansion.containsSHALL have a code or a display
: code.exists() or display.exists()
vsd-9ValueSet.expansion.containsMust have a code if not abstract
: code.exists() or abstract = true
vsd-10ValueSet.expansion.containsMust have a system if a code is present
: code.empty() or system.exists()