2nd DSTU Draft For Comment

This page is part of the FHIR Specification (v0.4.0: DSTU 2 Draft). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions

Profile: StructuredDataCaptureValueSet

The official URL for this profile is:

http://hl7.org/fhir/Profile/valueset-sdc-structureddatacapturevalueset

. Defines how ValueSet is used to reflect code lists found in data element defintions and form definitions to be used within the ONC's Structured Data Capture standard. : Structured Data Capture Value Set

This profile was published on Sun, Jul 6, 2014 00:00+1000 as a draft by U.S. Office of the National Coordinator (ONC)'s Standards and Infrastructure (S&I) Structured Data Capture project.

unable to summarise extension (wrong count)

Formal Views of Profile Content

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

Differential View

This structure is derived from ValueSet.

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet 1..1
... telecom 0..*ContactPoint
... url 0..1uri
... version 0..1string
... name S1..1string
... immutable S1..1boolean
... publisher 0..1string
... description 1..1string
... copyright 0..1string
... status S1..1code
... experimental 0..1boolean
... extensible S1..1boolean
... date S0..1dateTime
... stableDate 0..1date
... define S0..1
.... system S1..1uri
.... version S0..1string
.... caseSensitive S0..1boolean
.... concept S0..*
..... code S1..1code
..... abstract S0..1boolean
..... display S0..1string
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... definition S0..1string
..... concept S0..*
..... valueset-label S0..1stringE.g. "(a)", "1.", etc.
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... valueset-conceptOrder S0..1integerAppearance order for user selection
... compose S0..1
.... import S0..*uri
.... include S0..*
..... system S1..1uri
..... version S0..1string
..... concept S0..*code
...... valueset-label S0..1stringE.g. "(a)", "1.", etc.
....... style 0..1stringHtml style value
....... markup 0..1stringString equivalent with html markup
...... valueset-conceptOrder S0..1integerAppearance order for user selection
...... valueset-display S0..1stringDisplay value for the code
....... style 0..1stringHtml style value
....... markup 0..1stringString equivalent with html markup
..... filter S0..*
...... property S1..1code
...... op S1..1code
...... value S1..1code
.... exclude S0..*
... expansion S0..1
.... identifier S0..1Identifier
.... timestamp S1..1dateTime
.... contains S0..*
..... system S0..1uri
..... code S0..1code
..... display S0..1string
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... contains S0..*
..... valueset-label S0..1stringE.g. "(a)", "1.", etc.
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... valueset-conceptOrder S0..1integerAppearance order for user selection
... styleSensitive S0..1booleanAre styles important for processing?
... valueset-category S0..*CodeableConceptKind of value set

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1A set of codes drawn from one or more code systems
vsd-7: A defined code system (if present) SHALL have a different identifier to the value set itself
vsd-5: Value set SHALL contain either a define, a compose, or an expansion element
vsd-2: A value set with only one import SHALL also have an include and/or an exclude unless the value set defines its own codes
... id 0..1idLogical id of this artefact
... meta 0..1MetaMetadata about the resource
... implicitRules M0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Language (required, not extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... styleSensitive S0..1booleanAdditional Content defined by implementations
... valueset-category S0..*CodeableConceptAdditional Content defined by implementations
... modifierExtension 0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriGlobally unique logical id for value set
... identifier Σ0..1IdentifierAdditional identifier for the value set (v2 / CDA)
... version Σ0..1stringLogical id for this version of the value set
... name S Σ1..1stringInformal name for this value set
... immutable S1..1booleanIndicates whether or not any change to the content logical definition may occur
... publisher Σ0..1stringName of the publisher (Organization or individual)
... contact Σ0..*Contact details of the publisher
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... name Σ0..1stringName of a individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... description Σ1..1stringHuman language description of the value set
... requirements 0..1stringWhy is this needed?
... copyright 0..1stringUse and/or Publishing restrictions
... status M SΣ1..1codedraft | active | retired
Binding: ValueSetStatus (required, not extensible)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... extensible S1..1booleanWhether this is intended to be used with an extensible binding
... date S Σ0..1dateTimeDate for given status
... stableDate 0..1dateFixed date for the version of all referenced code systems and value sets
... define S ΣI0..1When value set defines its own codes
vsd-8: Codes must be unique
vsd-3: Within a code system definition, all the codes SHALL be unique
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... system S Σ1..1uriURI to identify the code system
.... version S Σ0..1stringVersion of this system
.... caseSensitive S Σ0..1booleanIf code comparison is case sensitive
.... concept S0..*Concepts in the code system
..... id 0..1idxml:id (or equivalent in JSON)
..... valueset-label S0..1stringAdditional Content defined by implementations
...... id 0..1idxml:id (or equivalent in JSON)
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1*Value of extension
..... valueset-conceptOrder S0..1integerAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... code S1..1codeCode that identifies concept
..... abstract S0..1booleanIf this code is not for use as a real concept
..... display S0..1stringText to Display to the user
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... value 0..1xsd:stringPrimitive value for string
..... definition S0..1stringFormal Definition
..... designation 0..*Additional representations for the concept
...... id 0..1idxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension 0..*ExtensionExtensions that cannot be ignored
...... language 0..1codeLanguage of the designation
Binding: Language (required, not extensible)
...... use 0..1CodingDetails how this designation would be used
Binding: ConceptDesignationUse (preferred, extensible)
...... value 1..1stringThe text value for this designation
..... concept S0..*Child Concepts (is-a / contains)
... compose S I0..1When value set includes codes from elsewhere
vsd-1: A value set composition SHALL have an include or an import
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... import S ΣI0..*uriImport the contents of another value set
.... include S ΣI0..*Include one or more codes from a code system
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... system S Σ1..1uriThe system the codes come from
..... version S Σ0..1stringSpecific version of the code system referred to
..... concept S0..*codeA concept defined in the system
...... valueset-label S0..1stringAdditional Content defined by implementations
....... id 0..1idxml:id (or equivalent in JSON)
....... style 0..1stringAdditional Content defined by implementations
....... markup 0..1stringAdditional Content defined by implementations
....... url 1..1uriidentifies the meaning of the extension
....... value[x] 0..1*Value of extension
...... valueset-conceptOrder S0..1integerAdditional Content defined by implementations
...... valueset-display S0..1stringAdditional Content defined by implementations
....... id 0..1idxml:id (or equivalent in JSON)
....... style 0..1stringAdditional Content defined by implementations
....... markup 0..1stringAdditional Content defined by implementations
....... url 1..1uriidentifies the meaning of the extension
....... value[x] 0..1*Value of extension
...... value 0..1xsd:stringPrimitive value for code
...... id 0..1idxml: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..1stringTest to display for this code for this value set
...... designation 0..*Additional representations for this valueset
..... filter S0..*Select codes/concepts by their properties (including relationships)
...... id 0..1idxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension 0..*ExtensionExtensions that cannot be ignored
...... property S1..1codeA property defined by the code system
...... op S1..1code= | is-a | is-not-a | regex | in | not-in
Binding: FilterOperator (required, not extensible)
...... value S1..1codeCode from the system, or regex criteria
.... exclude S I0..*Explicitly exclude codes
... expansion S I0..1Used when the value set is "expanded"
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... identifier S0..1IdentifierUniquely identifies this expansion
.... timestamp S1..1dateTimeTime valueset expansion happened
.... contains S I0..*Codes in the value set
vsd-9: Must have a code if not abstract
vsd-6: SHALL have a code or a display
vsd-10: Must have a system if a code is present
..... id 0..1idxml:id (or equivalent in JSON)
..... valueset-label S0..1stringAdditional Content defined by implementations
...... id 0..1idxml:id (or equivalent in JSON)
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1*Value of extension
..... valueset-conceptOrder S0..1integerAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... system S0..1uriSystem value for the code
..... abstract 0..1booleanIf user cannot select this entry
..... version 0..1stringVersion in which this code / display is defined
..... code S I0..1codeCode - if blank, this is not a choosable code
..... display S I0..1stringUser display for the concept
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... value 0..1xsd:stringPrimitive value for string
..... contains S0..*Codes contained in this concept

XML Template

JSON Template

todo

Differential View

This structure is derived from ValueSet.

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet 1..1
... telecom 0..*ContactPoint
... url 0..1uri
... version 0..1string
... name S1..1string
... immutable S1..1boolean
... publisher 0..1string
... description 1..1string
... copyright 0..1string
... status S1..1code
... experimental 0..1boolean
... extensible S1..1boolean
... date S0..1dateTime
... stableDate 0..1date
... define S0..1
.... system S1..1uri
.... version S0..1string
.... caseSensitive S0..1boolean
.... concept S0..*
..... code S1..1code
..... abstract S0..1boolean
..... display S0..1string
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... definition S0..1string
..... concept S0..*
..... valueset-label S0..1stringE.g. "(a)", "1.", etc.
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... valueset-conceptOrder S0..1integerAppearance order for user selection
... compose S0..1
.... import S0..*uri
.... include S0..*
..... system S1..1uri
..... version S0..1string
..... concept S0..*code
...... valueset-label S0..1stringE.g. "(a)", "1.", etc.
....... style 0..1stringHtml style value
....... markup 0..1stringString equivalent with html markup
...... valueset-conceptOrder S0..1integerAppearance order for user selection
...... valueset-display S0..1stringDisplay value for the code
....... style 0..1stringHtml style value
....... markup 0..1stringString equivalent with html markup
..... filter S0..*
...... property S1..1code
...... op S1..1code
...... value S1..1code
.... exclude S0..*
... expansion S0..1
.... identifier S0..1Identifier
.... timestamp S1..1dateTime
.... contains S0..*
..... system S0..1uri
..... code S0..1code
..... display S0..1string
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... contains S0..*
..... valueset-label S0..1stringE.g. "(a)", "1.", etc.
...... style 0..1stringHtml style value
...... markup 0..1stringString equivalent with html markup
..... valueset-conceptOrder S0..1integerAppearance order for user selection
... styleSensitive S0..1booleanAre styles important for processing?
... valueset-category S0..*CodeableConceptKind of value set

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1A set of codes drawn from one or more code systems
vsd-7: A defined code system (if present) SHALL have a different identifier to the value set itself
vsd-5: Value set SHALL contain either a define, a compose, or an expansion element
vsd-2: A value set with only one import SHALL also have an include and/or an exclude unless the value set defines its own codes
... id 0..1idLogical id of this artefact
... meta 0..1MetaMetadata about the resource
... implicitRules M0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Language (required, not extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... styleSensitive S0..1booleanAdditional Content defined by implementations
... valueset-category S0..*CodeableConceptAdditional Content defined by implementations
... modifierExtension 0..*ExtensionExtensions that cannot be ignored
... url Σ0..1uriGlobally unique logical id for value set
... identifier Σ0..1IdentifierAdditional identifier for the value set (v2 / CDA)
... version Σ0..1stringLogical id for this version of the value set
... name S Σ1..1stringInformal name for this value set
... immutable S1..1booleanIndicates whether or not any change to the content logical definition may occur
... publisher Σ0..1stringName of the publisher (Organization or individual)
... contact Σ0..*Contact details of the publisher
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... name Σ0..1stringName of a individual to contact
.... telecom Σ0..*ContactPointContact details for individual or publisher
... description Σ1..1stringHuman language description of the value set
... requirements 0..1stringWhy is this needed?
... copyright 0..1stringUse and/or Publishing restrictions
... status M SΣ1..1codedraft | active | retired
Binding: ValueSetStatus (required, not extensible)
... experimental Σ0..1booleanIf for testing purposes, not real usage
... extensible S1..1booleanWhether this is intended to be used with an extensible binding
... date S Σ0..1dateTimeDate for given status
... stableDate 0..1dateFixed date for the version of all referenced code systems and value sets
... define S ΣI0..1When value set defines its own codes
vsd-8: Codes must be unique
vsd-3: Within a code system definition, all the codes SHALL be unique
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... system S Σ1..1uriURI to identify the code system
.... version S Σ0..1stringVersion of this system
.... caseSensitive S Σ0..1booleanIf code comparison is case sensitive
.... concept S0..*Concepts in the code system
..... id 0..1idxml:id (or equivalent in JSON)
..... valueset-label S0..1stringAdditional Content defined by implementations
...... id 0..1idxml:id (or equivalent in JSON)
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1*Value of extension
..... valueset-conceptOrder S0..1integerAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... code S1..1codeCode that identifies concept
..... abstract S0..1booleanIf this code is not for use as a real concept
..... display S0..1stringText to Display to the user
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... value 0..1xsd:stringPrimitive value for string
..... definition S0..1stringFormal Definition
..... designation 0..*Additional representations for the concept
...... id 0..1idxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension 0..*ExtensionExtensions that cannot be ignored
...... language 0..1codeLanguage of the designation
Binding: Language (required, not extensible)
...... use 0..1CodingDetails how this designation would be used
Binding: ConceptDesignationUse (preferred, extensible)
...... value 1..1stringThe text value for this designation
..... concept S0..*Child Concepts (is-a / contains)
... compose S I0..1When value set includes codes from elsewhere
vsd-1: A value set composition SHALL have an include or an import
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... import S ΣI0..*uriImport the contents of another value set
.... include S ΣI0..*Include one or more codes from a code system
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... system S Σ1..1uriThe system the codes come from
..... version S Σ0..1stringSpecific version of the code system referred to
..... concept S0..*codeA concept defined in the system
...... valueset-label S0..1stringAdditional Content defined by implementations
....... id 0..1idxml:id (or equivalent in JSON)
....... style 0..1stringAdditional Content defined by implementations
....... markup 0..1stringAdditional Content defined by implementations
....... url 1..1uriidentifies the meaning of the extension
....... value[x] 0..1*Value of extension
...... valueset-conceptOrder S0..1integerAdditional Content defined by implementations
...... valueset-display S0..1stringAdditional Content defined by implementations
....... id 0..1idxml:id (or equivalent in JSON)
....... style 0..1stringAdditional Content defined by implementations
....... markup 0..1stringAdditional Content defined by implementations
....... url 1..1uriidentifies the meaning of the extension
....... value[x] 0..1*Value of extension
...... value 0..1xsd:stringPrimitive value for code
...... id 0..1idxml: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..1stringTest to display for this code for this value set
...... designation 0..*Additional representations for this valueset
..... filter S0..*Select codes/concepts by their properties (including relationships)
...... id 0..1idxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension 0..*ExtensionExtensions that cannot be ignored
...... property S1..1codeA property defined by the code system
...... op S1..1code= | is-a | is-not-a | regex | in | not-in
Binding: FilterOperator (required, not extensible)
...... value S1..1codeCode from the system, or regex criteria
.... exclude S I0..*Explicitly exclude codes
... expansion S I0..1Used when the value set is "expanded"
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... identifier S0..1IdentifierUniquely identifies this expansion
.... timestamp S1..1dateTimeTime valueset expansion happened
.... contains S I0..*Codes in the value set
vsd-9: Must have a code if not abstract
vsd-6: SHALL have a code or a display
vsd-10: Must have a system if a code is present
..... id 0..1idxml:id (or equivalent in JSON)
..... valueset-label S0..1stringAdditional Content defined by implementations
...... id 0..1idxml:id (or equivalent in JSON)
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... url 1..1uriidentifies the meaning of the extension
...... value[x] 0..1*Value of extension
..... valueset-conceptOrder S0..1integerAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... system S0..1uriSystem value for the code
..... abstract 0..1booleanIf user cannot select this entry
..... version 0..1stringVersion in which this code / display is defined
..... code S I0..1codeCode - if blank, this is not a choosable code
..... display S I0..1stringUser display for the concept
...... style 0..1stringAdditional Content defined by implementations
...... markup 0..1stringAdditional Content defined by implementations
...... value 0..1xsd:stringPrimitive value for string
..... contains S0..*Codes contained in this concept

XML Template

JSON Template

todo

 

Other definitions: (todo)

Terminology Bindings

PathNameConformanceValueSet
ValueSet.languageLanguagerequiredhttp://tools.ietf.org/html/bcp47
ValueSet.statusValueSetStatusrequiredValueSetStatus
ValueSet.define.concept.designation.languageLanguagerequiredhttp://tools.ietf.org/html/bcp47
ValueSet.define.concept.designation.useConceptDesignationUsepreferred (extensible)Designation Use
ValueSet.compose.include.filter.opFilterOperatorrequiredFilterOperator

Constraints

IdPathNameDetails
vsd-7ValueSetA defined code system (if present) SHALL have a different identifier to the value set itself
XPath: not(f:define/f:system/@value = f:identifier/@value)
vsd-5ValueSetValue set SHALL contain either a define, a compose, or an expansion element
XPath: exists(f:define) or exists(f:compose) or exists(f:expansion)
vsd-2ValueSetA value set with only one import SHALL also have an include and/or an exclude unless the value set defines its own codes
XPath: not(exists(f:compose)) or (count(f:compose/f:import)!=1 or exists(f:compose/f:include) or exists(f:compose/f:exclude) or exists(f:define))
vsd-8ValueSet.defineCodes must be unique
XPath: count(descendant::f:concept)=count(distinct-values(descendant::f:concept/f:code/@value))
vsd-3ValueSet.defineWithin a code system definition, all the codes SHALL be unique
XPath: count(distinct-values(descendant::f:concept/f:code/@value))=count(descendant::f:concept)
vsd-1ValueSet.composeA value set composition SHALL have an include or an import
XPath: exists(f:include) or exists(f:import)
vsd-9ValueSet.expansion.containsMust have a code if not abstract
XPath: exists(f:code) or (f:display/@value = 'true')
vsd-6ValueSet.expansion.containsSHALL have a code or a display
XPath: exists(f:code) or exists(f:display)
vsd-10ValueSet.expansion.containsMust have a system if a code is present
XPath: exists(f:system) or not(exists(f:code))
.