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

StructureDefinition: Definition

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/valueset-shareable-definition

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.

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

Required/Prohibited Elements

  • The element ValueSet.url is required
  • The element ValueSet.version is required
  • The element ValueSet.name is required
  • The element ValueSet.publisher is required
  • The element ValueSet.description is required
  • The element ValueSet.status is required
  • The element ValueSet.experimental is required
  • The element ValueSet.define.system is required
  • The element ValueSet.define.concept.code is required
NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1ValueSetA 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
... 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: Language (required)
... 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 id for value set
... identifier Σ0..1IdentifierAdditional identifier for the value set (v2 / CDA)
... version Σ1..1stringLogical id for this version of the value set
... name Σ1..1stringInformal name for this value set
... useContext Σ0..*CodeableConceptContent intends to support these contexts
Binding: ConformanceUseContext (extensible)
... immutable Σ0..1booleanIndicates whether or not any change to the content logical definition may occur
... publisher Σ1..1stringName of the publisher (Organization or individual)
... contact Σ0..*Contact details of the publisher
.... 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 ?! Σ1..1codedraft | active | retired
Binding: ConformanceResourceStatus (required)
... experimental Σ1..1booleanIf for testing purposes, not real usage
... extensible Σ0..1booleanWhether this is intended to be used with an extensible binding
... date Σ0..1dateTimeDate for given status
... lockedDate Σ0..1dateFixed date for all referenced code systems and value sets
... define Σ 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
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... system Σ1..1uriURI to identify the code system
.... version Σ0..1stringVersion of this system
.... caseSensitive Σ0..1booleanIf code comparison is case sensitive
.... concept 0..*Concepts in the code system
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... code 1..1codeCode that identifies concept
..... abstract 0..1booleanIf this code is not for use as a real concept
..... display 0..1stringText to Display to the user
..... definition 0..1stringFormal Definition
..... designation 0..*Additional representations for the concept
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension 0..*ExtensionExtensions that cannot be ignored
...... language 0..1codeLanguage of the designation
Binding: Language (required)
...... use 0..1CodingDetails how this designation would be used
Binding: ConceptDesignationUse (extensible)
...... value 1..1stringThe text value for this designation
..... concept 0..*Child Concepts (is-a / contains)
... compose I0..1When value set includes codes from elsewhere
vsd-1: A value set composition SHALL have an include or an import
.... 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..*Include one or more codes from a code system
..... 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 0..*A concept defined in the system
...... 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 0..*Select codes/concepts by their properties (including relationships)
...... 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
Binding: FilterOperator (required)
...... value 1..1codeCode from the system, or regex criteria
.... exclude I0..*Explicitly exclude codes
... expansion I0..1Used when the value set is "expanded"
.... 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
.... parameter 0..*Parameter that controlled the expansion process
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... name 1..1stringName as assigned by server
..... value[x] I0..1string, boolean, integer, decimal, uri, codeValue of the parameter
.... contains 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
..... 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 choosable code
..... display I0..1stringUser display for the concept
..... contains 0..*Codes contained in this concept

todo

This structure is derived from ValueSet.

Summary

Required/Prohibited Elements

  • The element ValueSet.url is required
  • The element ValueSet.version is required
  • The element ValueSet.name is required
  • The element ValueSet.publisher is required
  • The element ValueSet.description is required
  • The element ValueSet.status is required
  • The element ValueSet.experimental is required
  • The element ValueSet.define.system is required
  • The element ValueSet.define.concept.code is required

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. ValueSet I1..1ValueSetA 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
... 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: Language (required)
... 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 id for value set
... identifier Σ0..1IdentifierAdditional identifier for the value set (v2 / CDA)
... version Σ1..1stringLogical id for this version of the value set
... name Σ1..1stringInformal name for this value set
... useContext Σ0..*CodeableConceptContent intends to support these contexts
Binding: ConformanceUseContext (extensible)
... immutable Σ0..1booleanIndicates whether or not any change to the content logical definition may occur
... publisher Σ1..1stringName of the publisher (Organization or individual)
... contact Σ0..*Contact details of the publisher
.... 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 ?! Σ1..1codedraft | active | retired
Binding: ConformanceResourceStatus (required)
... experimental Σ1..1booleanIf for testing purposes, not real usage
... extensible Σ0..1booleanWhether this is intended to be used with an extensible binding
... date Σ0..1dateTimeDate for given status
... lockedDate Σ0..1dateFixed date for all referenced code systems and value sets
... define Σ 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
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension 0..*ExtensionExtensions that cannot be ignored
.... system Σ1..1uriURI to identify the code system
.... version Σ0..1stringVersion of this system
.... caseSensitive Σ0..1booleanIf code comparison is case sensitive
.... concept 0..*Concepts in the code system
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... code 1..1codeCode that identifies concept
..... abstract 0..1booleanIf this code is not for use as a real concept
..... display 0..1stringText to Display to the user
..... definition 0..1stringFormal Definition
..... designation 0..*Additional representations for the concept
...... extension 0..*ExtensionAdditional Content defined by implementations
...... modifierExtension 0..*ExtensionExtensions that cannot be ignored
...... language 0..1codeLanguage of the designation
Binding: Language (required)
...... use 0..1CodingDetails how this designation would be used
Binding: ConceptDesignationUse (extensible)
...... value 1..1stringThe text value for this designation
..... concept 0..*Child Concepts (is-a / contains)
... compose I0..1When value set includes codes from elsewhere
vsd-1: A value set composition SHALL have an include or an import
.... 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..*Include one or more codes from a code system
..... 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 0..*A concept defined in the system
...... 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 0..*Select codes/concepts by their properties (including relationships)
...... 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
Binding: FilterOperator (required)
...... value 1..1codeCode from the system, or regex criteria
.... exclude I0..*Explicitly exclude codes
... expansion I0..1Used when the value set is "expanded"
.... 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
.... parameter 0..*Parameter that controlled the expansion process
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension 0..*ExtensionExtensions that cannot be ignored
..... name 1..1stringName as assigned by server
..... value[x] I0..1string, boolean, integer, decimal, uri, codeValue of the parameter
.... contains 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
..... 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 choosable code
..... display I0..1stringUser display for the concept
..... contains 0..*Codes contained in this concept

XML Template

JSON Template

todo

 

Other representations of profile: (todo)

Terminology Bindings

PathNameConformanceValueSet
ValueSet.languageLanguagerequiredhttp://tools.ietf.org/html/bcp47
ValueSet.useContextConformanceUseContextextensibleContext of Use ValueSet
ValueSet.statusConformanceResourceStatusrequiredConformanceResourceStatus
ValueSet.define.concept.designation.languageLanguagerequiredhttp://tools.ietf.org/html/bcp47
ValueSet.define.concept.designation.useConceptDesignationUseextensibleDesignation 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))
.