STU 3 Ballot

This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

4.7.15.2 StructureDefinition: ShareableValueSet

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/shareablevalueset

Enforces the minimum information set for the value set metadata required by HL7 and other organisations that share and publish value sets

This profile was published on [no date] as a draft by HL7.

4.7.15.2.1 Formal Views of Profile Content

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

This structure is derived from ValueSet.

Summary

Mandatory: 7 elements

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1A set of codes drawn from one or more code systems
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
vsd-2: A value set with only one import SHALL also have an include and/or an exclude
vsd-5: Value set SHALL contain at least one of a a compose, or an expansion element
... 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: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url 1..1uriGlobally unique logical identifier for value set
... identifier 0..*IdentifierAdditional identifier for the value set (e.g. HL7 v2 / CDA)
... version 1..1stringLogical identifier for this version of the value set
... name 1..1stringInformal name for this value set
... status ?!1..1codedraft | active | retired
Binding: ConformanceResourceStatus (required)
... experimental 1..1booleanIf for testing purposes, not real usage
... publisher 1..1stringName of the publisher (organization or individual)
... contact 0..*BackboneElementContact details of the publisher
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... name 0..1stringName of an individual to contact
.... telecom 0..*ContactPointContact details for individual or publisher
... date 0..1dateTimeDate for given status
... lockedDate 0..1dateFixed date for all referenced code systems and value sets
... description 1..1markdownHuman language description of the value set
... useContext 0..*CodeableConceptContent intends to support these contexts
Binding: Context of Use ValueSet (extensible)
... immutable 0..1booleanIndicates whether or not any change to the content logical definition may occur
... requirements 0..1markdownWhy needed
... copyright 0..1stringUse and/or publishing restrictions
... extensible 0..1booleanWhether this is intended to be used with an extensible binding
... compose I0..1BackboneElementWhen value set includes codes from elsewhere
vsd-1: A value set composition SHALL have an include or an import
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... import I0..*uriImport the contents of another value set
.... include I0..*BackboneElementInclude one or more codes from a code system
vsd-11: Cannot have both concept and filter
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... system 1..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..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
...... code 1..1codeCode or expression from system
...... display 0..1stringText to display for this code for this value set
...... designation 0..*BackboneElementAdditional representations for this valueset
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
....... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
....... language 0..1codeHuman language of the designation
Binding: Common Languages (extensible)
....... use 0..1CodingDetails how this designation would be used
Binding: Designation Use (extensible)
....... value 1..1stringThe text value for this designation
..... filter I0..*BackboneElementSelect codes/concepts by their properties (including relationships)
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
...... property 1..1codeA property defined by the code system
...... op 1..1code= | is-a | is-not-a | regex | in | not-in | generalizes
Binding: FilterOperator (required)
...... value 1..1codeCode from the system, or regex criteria
.... exclude I0..*Unknown reference to #ValueSet:shareablevalueset.compose.include
Explicitly exclude codes
... expansion I0..1BackboneElementUsed when the value set is "expanded"
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... identifier 1..1uriUniquely identifies this expansion
.... timestamp 1..1dateTimeTime ValueSet expansion happened
.... total 0..1integerTotal number of codes in the expansion
.... offset 0..1integerOffset at which this resource starts
.... parameter 0..*BackboneElementParameter that controlled the expansion process
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... name 1..1stringName as assigned by the server
..... value[x] 0..1string, boolean, integer, decimal, uri, codeValue of the named parameter
.... 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..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... system 0..1uriSystem value for the code
..... abstract 0..1booleanIf user cannot select this entry
..... 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
..... contains 0..*Unknown reference to #ValueSet:shareablevalueset.expansion.contains
Codes contained under this entry

doco Documentation for this format

todo

This structure is derived from ValueSet.

Summary

Mandatory: 7 elements

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1A set of codes drawn from one or more code systems
dom-2: If the resource is contained in another resource, it SHALL NOT contain nested Resources
dom-1: If the resource is contained in another resource, it SHALL NOT contain any narrative
dom-4: If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
dom-3: If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
vsd-2: A value set with only one import SHALL also have an include and/or an exclude
vsd-5: Value set SHALL contain at least one of a a compose, or an expansion element
... 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: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... url 1..1uriGlobally unique logical identifier for value set
... identifier 0..*IdentifierAdditional identifier for the value set (e.g. HL7 v2 / CDA)
... version 1..1stringLogical identifier for this version of the value set
... name 1..1stringInformal name for this value set
... status ?!1..1codedraft | active | retired
Binding: ConformanceResourceStatus (required)
... experimental 1..1booleanIf for testing purposes, not real usage
... publisher 1..1stringName of the publisher (organization or individual)
... contact 0..*BackboneElementContact details of the publisher
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... name 0..1stringName of an individual to contact
.... telecom 0..*ContactPointContact details for individual or publisher
... date 0..1dateTimeDate for given status
... lockedDate 0..1dateFixed date for all referenced code systems and value sets
... description 1..1markdownHuman language description of the value set
... useContext 0..*CodeableConceptContent intends to support these contexts
Binding: Context of Use ValueSet (extensible)
... immutable 0..1booleanIndicates whether or not any change to the content logical definition may occur
... requirements 0..1markdownWhy needed
... copyright 0..1stringUse and/or publishing restrictions
... extensible 0..1booleanWhether this is intended to be used with an extensible binding
... compose I0..1BackboneElementWhen value set includes codes from elsewhere
vsd-1: A value set composition SHALL have an include or an import
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... import I0..*uriImport the contents of another value set
.... include I0..*BackboneElementInclude one or more codes from a code system
vsd-11: Cannot have both concept and filter
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... system 1..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..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
...... code 1..1codeCode or expression from system
...... display 0..1stringText to display for this code for this value set
...... designation 0..*BackboneElementAdditional representations for this valueset
....... id 0..1stringxml:id (or equivalent in JSON)
....... extension 0..*ExtensionAdditional Content defined by implementations
....... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
....... language 0..1codeHuman language of the designation
Binding: Common Languages (extensible)
....... use 0..1CodingDetails how this designation would be used
Binding: Designation Use (extensible)
....... value 1..1stringThe text value for this designation
..... filter I0..*BackboneElementSelect codes/concepts by their properties (including relationships)
...... id 0..1stringxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
...... property 1..1codeA property defined by the code system
...... op 1..1code= | is-a | is-not-a | regex | in | not-in | generalizes
Binding: FilterOperator (required)
...... value 1..1codeCode from the system, or regex criteria
.... exclude I0..*Unknown reference to #ValueSet:shareablevalueset.compose.include
Explicitly exclude codes
... expansion I0..1BackboneElementUsed when the value set is "expanded"
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
.... identifier 1..1uriUniquely identifies this expansion
.... timestamp 1..1dateTimeTime ValueSet expansion happened
.... total 0..1integerTotal number of codes in the expansion
.... offset 0..1integerOffset at which this resource starts
.... parameter 0..*BackboneElementParameter that controlled the expansion process
..... id 0..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... name 1..1stringName as assigned by the server
..... value[x] 0..1string, boolean, integer, decimal, uri, codeValue of the named parameter
.... 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..1stringxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
..... system 0..1uriSystem value for the code
..... abstract 0..1booleanIf user cannot select this entry
..... 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
..... contains 0..*Unknown reference to #ValueSet:shareablevalueset.expansion.contains
Codes contained under this entry

doco Documentation for this format

XML Template

JSON Template

todo

 

Other representations of profile: Schematron

4.7.15.2.2 Terminology Bindings

PathNameConformanceValueSet
ValueSet.languageCommon LanguagesextensibleCommon Languages
ValueSet.statusConformanceResourceStatusrequiredConformanceResourceStatus
ValueSet.useContextContext of Use ValueSetextensibleContext of Use ValueSet
ValueSet.compose.include.concept.designation.languageCommon LanguagesextensibleCommon Languages
ValueSet.compose.include.concept.designation.useDesignation UseextensibleDesignation Use
ValueSet.compose.include.filter.opFilterOperatorrequiredFilterOperator

4.7.15.2.3 Constraints

IdPathDetailsRequirements
dom-2ValueSetIf the resource is contained in another resource, it SHALL NOT contain nested Resources
XPath: not(parent::f:contained and f:contained)
dom-1ValueSetIf the resource is contained in another resource, it SHALL NOT contain any narrative
XPath: not(parent::f:contained and f:text)
dom-4ValueSetIf a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated
XPath: not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))
dom-3ValueSetIf the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource
XPath: not(exists(for $id in f:contained/*/@id return $id[not(ancestor::f:contained/parent::*/descendant::f:reference/@value=concat('#', $id))]))
vsd-2ValueSetA value set with only one import SHALL also have an include and/or an exclude
XPath: not(exists(f:compose)) or (count(f:compose/f:import)!=1 or exists(f:compose/f:include) or exists(f:compose/f:exclude))
vsd-5ValueSetValue set SHALL contain at least one of a a compose, or an expansion element
XPath: exists(f:compose) or exists(f:expansion)
vsd-1ValueSet.composeA value set composition SHALL have an include or an import
XPath: exists(f:include) or exists(f:import)
vsd-11ValueSet.compose.includeCannot have both concept and filter
XPath: not(exists(f:concept)) or not(exists(f:filter))
vsd-6ValueSet.expansion.containsSHALL have a code or a display
XPath: exists(f:code) or exists(f:display)
vsd-9ValueSet.expansion.containsMust have a code if not abstract
XPath: exists(f:code) or (f:abstract/@value = true())
vsd-10ValueSet.expansion.containsMust have a system if a code is present
XPath: exists(f:system) or not(exists(f:code))
.