This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
-
STU
(v5.0.0-snapshot3:
R5
Snapshot
#3,
to
support
Connectathon
32
).
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
Vocabulary
Work
Group
|
Maturity Level : N | Normative (from v4.0.0) | Security Category : Anonymous | Compartments : Not linked to any defined compartments |
A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between CodeSystem definitions and their use in coded elements .
The
FHIR
terminology
specification
is
based
on
two
key
concepts,
originally
defined
in
HL7
v3
Core
Principles
:
CodeSystem
-
declares
the
existence
of
and
describes
a
code
system
or
code
system
supplement
and
its
key
properties,
and
optionally
defines
a
part
or
all
of
its
content.
Also
known
as
Ontology,
Terminology,
or
Enumeration
ValueSet
-
specifies
a
set
of
codes
drawn
from
one
or
more
code
systems,
intended
for
use
in
a
particular
context.
Value
sets
link
between
CodeSystem
definitions
and
their
use
in
coded
elements
Value sets have 2 aspects:
.compose
:
A
definition
of
which
codes
are
intended
to
be
in
the
value
set
("intension")
.expansion
:
The
list
of
codes
that
are
actually
in
the
value
set
under
a
given
set
of
conditions
("extension")
-
see
Value
Set
Expansion
The
ValueSet
resource
can
carry
either
the
.compose
or
the
.expansion
,
both
of
them,
or
neither
of
them
(if
only
the
metadata
is
being
represented).
There
is
an
"$expand"
operation
which
can
be
used
to
ask
a
server
to
generate
an
expansion
given
the
composition
rules,
in
a
particular
context,
and
a
"$validate-code"
operation
which
can
be
used
to
ask
a
server
to
check
whether
a
given
code
or
concept
is
in
the
value
set
in
a
particular
context.
Value Sets are used by many resources:
For a full list of uses, see below.
The
Characteristics
of
the
ValueSet
resource
are
derived
from
Formal
Value
Set
Definitions:
specification,
along
with
metadata
in
the
HL7
Value
Set
Definition
specification.
Value
set
resources
can
be
converted
to
CTS2
value
set
or
code
system
instances.
(VSD)
project.
Not
all
of
the
elements
defined
by
the
VSD
are
part
of
the
base
resource
-
some
are
defined
as
part
of
the
ValueSet
Extensions
.
In
the
ValueSet
resource,
the
compose
element
is
the
VSD
"Content
Logical
definition".
When using value sets, proper differentiation between a code system and a value set is important. This is one very common area where significant clinical safety risks occur in practice. Implementers should be familiar with the content in Using Codes in Resources .
A value set has 3 identifiers:
ValueSet.id
:
the
logical
id
on
the
system
that
holds
the
value
set
-
this
changes
as
it
moves
from
server
to
server
(this
id,
with
the
server
address
prepended,
is
called
the
'literal
identity'
of
the
resource)
ValueSet.url
:
the
canonical
URL
that
never
changes
for
this
value
set
-
it
is
the
same
in
every
copy.
The
element
is
named
url
rather
than
uri
for
legacy
reasons
and
to
strongly
encourage
providing
a
resolvable
URL
as
the
identifier
whenever
possible.
Ideally,
it
should
be
a
literal
URL
that
is
the
location
of
the
master
version
of
the
value
set,
though
this
is
not
always
possible
ValueSet.identifier
:
A
system/value
pair
that
is
used
to
identify
the
value
set
in
other
contexts
(such
as
an
OID
in
an
HL7
v3
specification)
In
addition,
any
expansion
for
the
value
set
also
has
ValueSet.expansion.identifier
which
uniquely
identifies
each
expansion.
For
further
information
regarding
resource
identification,
see
Resource
Identity
.
This
means
that
each
value
set
has
2
different
URLs
that
can
be
used
to
reference
it
-
its
canonical
URL
(the
url
element),
and
its
local
location
from
which
it
may
be
retrieved
(which
includes
the
id
element).
Because
it
is
common
practice
to
copy
(cache)
value
sets
locally,
most
references
to
value
sets
use
the
canonical
URL.
For example, the value sets published as part of FHIR all have a location ("literal") URI which is the URL where they may be accessed in the FHIR specification itself. Note, though, that while a new version of the FHIR Specification is being prepared, value sets that are published in the drafts will not be found in the current published FHIR specification at their canonical URL.
Alternatively,
the
identifier
and
version
elements
may
be
used
to
reference
this
value
set
in
a
design,
a
profile,
a
CDA
template
or
HL7
v3
message
(in
the
CD
data
type
valueSet
and
valueSetVersion
properties).
These
different
contexts
may
make
additional
restrictions
on
the
possible
values
of
these
elements.
The
identifier
is
generally
not
needed
when
using
value
sets
in
a
FHIR
context,
where
the
canonical
URL
is
always
the
focus.
A value set may be described as intensional or extensional. The terms intensional and extensional come from the fields of mathematical logic and set theory.
An
intensional
value
set
is
typically
algorithmically
defined.
That
is,
the
code
group
is
defined
as
a
rule
e.g.
all
codes
with
the
word
diabetes
in
their
description).
description.
The
key
benefit
of
intensional
code
groups
is
that
they
can
be
dynamically
updated.
Dynamic
updating
helps
healthcare
organizations
keep
current
when
new
drugs
(and
their
associated
codes)
become
available
or
codes
for
diseases
and
other
clinical
concepts
change.
An
intensional
value
set
designed
to
contain
all
of
the
drugs
in
the
beta
blocker
category
can
automatically
receive
a
new
beta
blocker’s
code
as
soon
as
it
hits
the
market.
Extensional value sets, meanwhile, are enumerated lists of codes where each code is listed individually. This gives the author and user of the value set more control over the which codes are in the value set, but there is a greater maintenance burden to ensure that the value set is kept up to date.
Structure
Name
|
Flags
|
Card.
|
Type
|
Description
&
Constraints
|
|---|---|---|---|---|
|
N | DomainResource |
A
set
of
codes
drawn
from
one
or
more
code
systems
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: MetadataResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
value
set,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
value
set
(business
identifier)
|
|
Σ | 0..1 | string |
Business
version
of
the
value
set
|
|
Σ C | 0..1 | string |
Name
for
this
value
set
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
value
set
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
value
set
|
|
Σ TU | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
value
set
(if
applicable)
Jurisdiction ValueSet ( Extensible ) |
|
Σ | 0..1 | boolean |
Indicates
whether
or
not
any
change
to
the
content
logical
definition
may
occur
|
|
T | 0..1 | markdown |
Why
this
value
set
is
defined
|
|
T | 0..1 | markdown |
Use
and/or
publishing
restrictions
|
|
TU | 0..1 |
|
When
the
ValueSet
was
approved
by
publisher
|
![]() ![]() | TU | 0..1 | date |
When
the
ValueSet
was
last
reviewed
|
![]() ![]() | Σ TU | 0..1 | Period |
When
the
ValueSet
is
expected
to
be
used
|
![]() ![]() | TU | 0..* | CodeableConcept |
E.g.
Education,
Treatment,
Assessment,
etc.
DefinitionTopic ( Example ) |
![]() ![]() | TU | 0..* | ContactDetail |
Who
authored
the
ValueSet
|
![]() ![]() | TU | 0..* | ContactDetail |
Who
edited
the
ValueSet
|
![]() ![]() | TU | 0..* | ContactDetail |
Who
reviewed
the
ValueSet
|
![]() ![]() | TU | 0..* | ContactDetail |
Who
endorsed
the
ValueSet
|
![]() ![]() | TU | 0..* | RelatedArtifact |
Additional
documentation,
citations,
etc.
|
![]() ![]() | 0..1 | BackboneElement |
Content
logical
definition
of
the
value
set
(CLD)
|
|
|
Σ | 0..1 | date |
Fixed
date
for
references
with
no
specified
version
(transitive)
|
|
Σ | 0..1 | boolean |
Whether
inactive
codes
are
in
the
value
set
|
|
Σ
|
1..* | BackboneElement |
Include
one
or
more
codes
from
a
code
system
or
other
value
set(s)
+ Rule: A value set include/exclude SHALL have a value set or a system + Rule: A value set with concepts or filters SHALL include a system + Rule: Cannot have both concept and filter |
|
Σ
|
0..1 | uri |
The
system
the
codes
come
from
|
|
Σ | 0..1 | string |
Specific
version
of
the
code
system
referred
to
|
|
|
0..* | BackboneElement |
A
concept
defined
in
the
system
|
|
1..1 | code |
Code
or
expression
from
system
|
|
|
0..1 | string |
Text
to
display
for
this
code
for
this
value
set
in
this
valueset
|
|
|
C | 0..* | BackboneElement |
Additional
representations
for
this
concept
+ Rule: Must have a value for concept.designation.use if concept.designation.additionalUse is present |
|
0..1 | code |
Human
language
of
the
designation
Common Languages ( Preferred but limited to AllLanguages ) |
|
|
0..1 | Coding |
Types
of
uses
of
designations
Designation Use ( Extensible ) |
|
| 0..* | Coding |
Additional
ways
how
this
designation
would
be
used
Designation Use ( Extensible ) | |
|
1..1 | string |
The
text
value
for
this
designation
|
|
|
Σ
|
0..* | BackboneElement |
Select
codes/concepts
by
their
properties
(including
relationships)
|
|
Σ | 1..1 | code |
A
property/filter
defined
by
the
code
system
|
|
Σ | 1..1 | code |
=
|
is-a
|
descendent-of
|
is-not-a
|
regex
|
in
|
not-in
|
generalizes
|
child-of
|
descendent-leaf
|
exists
FilterOperator ( Required ) |
|
Σ | 1..1 | string |
Code
from
the
system,
or
regex
criteria,
or
boolean
value
for
exists
|
|
Σ
|
0..* | canonical ( ValueSet ) |
Select
the
contents
included
in
this
value
set
|
| 0..1 | string |
A
copyright
statement
for
the
specific
code
system
included
in
the
value
set
| |
![]() ![]() ![]() |
|
0..* | see include |
Explicitly
exclude
codes
from
a
code
system
or
other
value
sets
|
| 0..* | string |
Property
to
return
if
client
doesn't
override
| |
![]()
|
0..1 | BackboneElement |
Used
when
the
value
set
is
"expanded"
|
|
|
0..1 | uri |
Identifies
the
value
set
expansion
(business
identifier)
|
|
|
0..1 | uri |
Opaque
urls
for
paging
through
expansion
results
| |
![]() ![]() ![]() | 1..1 | dateTime |
Time
ValueSet
expansion
happened
|
|
|
0..1 | integer |
Total
number
of
codes
in
the
expansion
|
|
|
0..1 | integer |
Offset
at
which
this
resource
starts
|
|
|
0..* | BackboneElement |
Parameter
that
controlled
the
expansion
process
|
|
|
1..1 | string |
Name
as
assigned
by
the
client
or
server
|
|
|
0..1 |
Value
of
the
named
parameter
|
||
|
string | |||
|
boolean | |||
|
integer | |||
|
decimal | |||
|
uri | |||
| code | |||
|
dateTime | |||
![]() ![]() ![]() | 0..* | BackboneElement |
Additional
information
supplied
about
each
concept
| |
![]() ![]() ![]() ![]() | 1..1 | code |
Identifies
the
property
on
the
concepts,
and
when
referred
to
in
operations
|
|
|
0..1 |
|
Formal
identifier
for
the
property
|
|
|
|
0..* | BackboneElement |
Codes
in
the
value
set
+ Rule: SHALL have a code or a display + Rule: + Rule: |
|
0..1 | uri |
System
value
for
the
code
|
|
|
0..1 | boolean |
If
user
cannot
select
this
entry
|
|
|
0..1 | boolean |
If
concept
is
inactive
in
the
code
system
|
|
|
0..1 | string |
Version
in
which
this
code/display
is
defined
|
|
|
|
0..1 | code |
Code
-
if
blank,
this
is
not
a
selectable
code
|
|
|
0..1 | string |
User
display
for
the
concept
|
|
0..* | see designation |
Additional
representations
for
this
item
|
|
| 0..* | BackboneElement |
Property
value
for
the
concept
| |
![]() ![]() ![]() ![]() ![]() | 1..1 | code |
Reference
to
ValueSet.expansion.property.code
| |
![]() ![]() ![]() ![]() ![]() | 1..1 |
Value
of
the
property
for
this
concept
| ||
![]() ![]() ![]() ![]() ![]() ![]() | code | |||
![]() ![]() ![]() ![]() ![]() ![]() | Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() ![]() | 0..* | BackboneElement |
SubProperty
value
for
the
concept
| |
![]() ![]() ![]() ![]() ![]() ![]() | 1..1 | code |
Reference
to
ValueSet.expansion.property.code
| |
![]() ![]() ![]() ![]() ![]() ![]() | 1..1 |
Value
of
the
subproperty
for
this
concept
| ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | dateTime | |||
| decimal | |||
![]()
|
0..* | see contains |
Codes
contained
under
this
entry
|
|
| 0..1 | BackboneElement |
Description
of
the
semantic
space
the
Value
Set
Expansion
is
intended
to
cover
and
should
further
clarify
the
text
in
ValueSet.description
| |
![]() ![]() ![]() | 0..1 | string |
Criteria
describing
which
concepts
or
codes
should
be
included
and
why
| |
![]() ![]() ![]() | 0..1 | string |
Criteria
describing
which
concepts
or
codes
should
be
excluded
and
why
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
UML Diagram ( Legend )
XML Template
<ValueSet xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<<url value="[uri]"/><!-- 0..1 Canonical identifier for this value set, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the value set (business identifier) --></identifier> <version value="[string]"/><!-- 0..1 Business version of the value set --><<name value="[string]"/><!-- I 0..1 Name for this value set (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this value set (human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->< <<date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the value set --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for value set (if applicable) --></jurisdiction> <immutable value="[boolean]"/><!-- 0..1 Indicates whether or not any change to the content logical definition may occur --> <purpose value="[markdown]"/><!-- 0..1 Why this value set is defined --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <approvalDate value="[date]"/><!-- 0..1 When the ValueSet was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the ValueSet was last reviewed --> <effectivePeriod><!-- 0..1 Period When the ValueSet is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc. --></topic> <author><!-- 0..* ContactDetail Who authored the ValueSet --></author> <editor><!-- 0..* ContactDetail Who edited the ValueSet --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the ValueSet --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the ValueSet --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc. --></relatedArtifact> <compose> <!-- 0..1 Content logical definition of the value set (CLD) --> <lockedDate value="[date]"/><!-- 0..1 Fixed date for references with no specified version (transitive) --> <inactive value="[boolean]"/><!-- 0..1 Whether inactive codes are in the value set --> <include> <!-- 1..* Include one or more codes from a code system or other value set(s) --><<system value="[uri]"/><!-- I 0..1 The system the codes come from --> <version value="[string]"/><!-- 0..1 Specific version of the code system referred to --><<concept> <!-- I 0..* A concept defined in the system --> <code value="[code]"/><!-- 1..1 Code or expression from system --> <display value="[string]"/><!-- 0..1 Text to display for this code for this value set in this valueset --> <designation> <!-- 0..* Additional representations for this concept --> <language value="[code]"/><!-- 0..1 Human language of the designation --> <use><!-- 0..1 Coding Types of uses of designations --></use> <additionalUse><!-- 0..* Coding Additional ways how this designation would be used --></additionalUse> <value value="[string]"/><!-- 1..1 The text value for this designation --> </designation> </concept><<filter> <!-- I 0..* Select codes/concepts by their properties (including relationships) --> <property value="[code]"/><!-- 1..1 A property/filter defined by the code system --><<op value="[code]"/><!-- 1..1 = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists --> <value value="[string]"/><!-- 1..1 Code from the system, or regex criteria, or boolean value for exists --> </filter><</valueSet><valueSet><!-- I 0..* canonical(ValueSet) Select the contents included in this value set --></valueSet> <copyright value="[string]"/><!-- 0..1 A copyright statement for the specific code system included in the value set --> </include><</exclude><exclude><!-- I 0..* Content as for ValueSet.compose.include Explicitly exclude codes from a code system or other value sets --></exclude> <property value="[string]"/><!-- 0..* Property to return if client doesn't override --> </compose> <expansion> <!-- 0..1 Used when the value set is "expanded" --> <identifier value="[uri]"/><!-- 0..1 Identifies the value set expansion (business identifier) --> <next value="[uri]"/><!-- 0..1 Opaque urls for paging through expansion results --> <timestamp value="[dateTime]"/><!-- 1..1 Time ValueSet expansion happened --> <total value="[integer]"/><!-- 0..1 Total number of codes in the expansion --> <offset value="[integer]"/><!-- 0..1 Offset at which this resource starts --> <parameter> <!-- 0..* Parameter that controlled the expansion process --> <name value="[string]"/><!-- 1..1 Name as assigned by the client or server --> <value[x]><!-- 0..1 string|boolean|integer|decimal|uri|code|dateTime Value of the named parameter --></value[x]> </parameter> <property> <!-- 0..* Additional information supplied about each concept --> <code value="[code]"/><!-- 1..1 Identifies the property on the concepts, and when referred to in operations --> <uri value="[uri]"/><!-- 0..1 Formal identifier for the property --> </property> <contains> <!-- 0..* Codes in the value set --> <system value="[uri]"/><!-- 0..1 System value for the code --> <abstract value="[boolean]"/><!-- 0..1 If user cannot select this entry --> <inactive value="[boolean]"/><!-- 0..1 If concept is inactive in the code system --> <version value="[string]"/><!-- 0..1 Version in which this code/display is defined -->< <<code value="[code]"/><!-- I 0..1 Code - if blank, this is not a selectable code --> <display value="[string]"/><!-- I 0..1 User display for the concept --> <designation><!-- 0..* Content as for ValueSet.compose.include.concept.designation Additional representations for this item --></designation> <property> <!-- 0..* Property value for the concept --> <code value="[code]"/><!-- 1..1 Reference to ValueSet.expansion.property.code --> <value[x]><!-- 1..1 code|Coding|string|integer|boolean|dateTime|decimal Value of the property for this concept --></value[x]> <subProperty> <!-- 0..* SubProperty value for the concept --> <code value="[code]"/><!-- 1..1 Reference to ValueSet.expansion.property.code --> <value[x]><!-- 1..1 code|Coding|string|integer|boolean|dateTime|decimal Value of the subproperty for this concept --></value[x]> </subProperty> </property> <contains><!-- 0..* Content as for ValueSet.expansion.contains Codes contained under this entry --></contains> </contains> </expansion> <scope> <!-- 0..1 Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description --> <inclusionCriteria value="[string]"/><!-- 0..1 Criteria describing which concepts or codes should be included and why --> <exclusionCriteria value="[string]"/><!-- 0..1 Criteria describing which concepts or codes should be excluded and why --> </scope> </ValueSet>
JSON Template
{
"resourceType" : "ValueSet",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"url" : "<uri>", // Canonical identifier for this value set, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the value set (business identifier)
"version" : "<string>", // Business version of the value set
"
"name" : "<string>", // I Name for this value set (computer friendly)
"title" : "<string>", // Name for this value set (human friendly)
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing purposes, not real usage
"
"
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the value set
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for value set (if applicable)
"immutable" : <boolean>, // Indicates whether or not any change to the content logical definition may occur
"purpose" : "<markdown>", // Why this value set is defined
"copyright" : "<markdown>", // Use and/or publishing restrictions
"approvalDate" : "<date>", // When the ValueSet was approved by publisher
"lastReviewDate" : "<date>", // When the ValueSet was last reviewed
"effectivePeriod" : { Period }, // When the ValueSet is expected to be used
"topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc.
"author" : [{ ContactDetail }], // Who authored the ValueSet
"editor" : [{ ContactDetail }], // Who edited the ValueSet
"reviewer" : [{ ContactDetail }], // Who reviewed the ValueSet
"endorser" : [{ ContactDetail }], // Who endorsed the ValueSet
"relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc.
"compose" : { // Content logical definition of the value set (CLD)
"lockedDate" : "<date>", // Fixed date for references with no specified version (transitive)
"inactive" : <boolean>, // Whether inactive codes are in the value set
"include" : [{ // R! Include one or more codes from a code system or other value set(s)
"
"system" : "<uri>", // I The system the codes come from
"version" : "<string>", // Specific version of the code system referred to
"
"concept" : [{ // I A concept defined in the system
"code" : "<code>", // R! Code or expression from system
"display" : "<string>", // Text to display for this code for this value set in this valueset
"designation" : [{ // Additional representations for this concept
"language" : "<code>", // Human language of the designation
"use" : { Coding }, // Types of uses of designations
"additionalUse" : [{ Coding }], // Additional ways how this designation would be used
"value" : "<string>" // R! The text value for this designation
}]
}],
"
"filter" : [{ // I Select codes/concepts by their properties (including relationships)
"property" : "<code>", // R! A property/filter defined by the code system
"
"op" : "<code>", // R! = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists
"value" : "<string>" // R! Code from the system, or regex criteria, or boolean value for exists
}],
"
"valueSet" : ["<canonical(ValueSet)>"], // I Select the contents included in this value set
"copyright" : "<string>" // A copyright statement for the specific code system included in the value set
}],
"
"exclude" : [{ Content as for ValueSet.compose.include }], // I Explicitly exclude codes from a code system or other value sets
"property" : ["<string>"] // Property to return if client doesn't override
},
"expansion" : { // Used when the value set is "expanded"
"identifier" : "<uri>", // Identifies the value set expansion (business identifier)
"next" : "<uri>", // Opaque urls for paging through expansion results
"timestamp" : "<dateTime>", // R! Time ValueSet expansion happened
"total" : <integer>, // Total number of codes in the expansion
"offset" : <integer>, // Offset at which this resource starts
"parameter" : [{ // Parameter that controlled the expansion process
"name" : "<string>", // R! Name as assigned by the client or server
// value[x]: Value of the named parameter. One of these 7:
">"
">
">
">
">"
">"
"valueString" : "<string>",
"valueBoolean" : <boolean>,
"valueInteger" : <integer>,
"valueDecimal" : <decimal>,
"valueUri" : "<uri>",
"valueCode" : "<code>",
"valueDateTime" : "<dateTime>"
}],
"property" : [{ // Additional information supplied about each concept
"code" : "<code>", // R! Identifies the property on the concepts, and when referred to in operations
"uri" : "<uri>" // Formal identifier for the property
}],
"contains" : [{ // Codes in the value set
"system" : "<uri>", // System value for the code
"abstract" : <boolean>, // If user cannot select this entry
"inactive" : <boolean>, // If concept is inactive in the code system
"version" : "<string>", // Version in which this code/display is defined
"
"
"code" : "<code>", // I Code - if blank, this is not a selectable code
"display" : "<string>", // I User display for the concept
"designation" : [{ Content as for ValueSet.compose.include.concept.designation }], // Additional representations for this item
"property" : [{ // Property value for the concept
"code" : "<code>", // R! Reference to ValueSet.expansion.property.code
// value[x]: Value of the property for this concept. One of these 7:
"valueCode" : "<code>",
"valueCoding" : { Coding },
"valueString" : "<string>",
"valueInteger" : <integer>,
"valueBoolean" : <boolean>,
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"subProperty" : [{ // SubProperty value for the concept
"code" : "<code>", // R! Reference to ValueSet.expansion.property.code
// value[x]: Value of the subproperty for this concept. One of these 7:
"valueCode" : "<code>",
"valueCoding" : { Coding },
"valueString" : "<string>",
"valueInteger" : <integer>,
"valueBoolean" : <boolean>,
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>
}]
}],
"contains" : [{ Content as for ValueSet.expansion.contains }] // Codes contained under this entry
}]
},
"scope" : { // Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description
"inclusionCriteria" : "<string>", // Criteria describing which concepts or codes should be included and why
"exclusionCriteria" : "<string>" // Criteria describing which concepts or codes should be excluded and why
}
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ValueSet; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir:fhir:ValueSet.url [ uri ]; # 0..1 Canonical identifier for this value set, represented as a URI (globally unique) fhir:ValueSet.identifier [ Identifier ], ... ; # 0..* Additional identifier for the value set (business identifier) fhir:ValueSet.version [ string ]; # 0..1 Business version of the value setfhir:fhir:ValueSet.name [ string ]; # 0..1 I Name for this value set (computer friendly) fhir:ValueSet.title [ string ]; # 0..1 Name for this value set (human friendly) fhir:ValueSet.status [ code ]; # 1..1 draft | active | retired | unknown fhir:ValueSet.experimental [ boolean ]; # 0..1 For testing purposes, not real usagefhir: fhir:fhir:ValueSet.date [ dateTime ]; # 0..1 Date last changed fhir:ValueSet.publisher [ string ]; # 0..1 Name of the publisher/steward (organization or individual) fhir:ValueSet.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:ValueSet.description [ markdown ]; # 0..1 Natural language description of the value set fhir:ValueSet.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:ValueSet.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for value set (if applicable) fhir:ValueSet.immutable [ boolean ]; # 0..1 Indicates whether or not any change to the content logical definition may occur fhir:ValueSet.purpose [ markdown ]; # 0..1 Why this value set is defined fhir:ValueSet.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:ValueSet.approvalDate [ date ]; # 0..1 When the ValueSet was approved by publisher fhir:ValueSet.lastReviewDate [ date ]; # 0..1 When the ValueSet was last reviewed fhir:ValueSet.effectivePeriod [ Period ]; # 0..1 When the ValueSet is expected to be used fhir:ValueSet.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc. fhir:ValueSet.author [ ContactDetail ], ... ; # 0..* Who authored the ValueSet fhir:ValueSet.editor [ ContactDetail ], ... ; # 0..* Who edited the ValueSet fhir:ValueSet.reviewer [ ContactDetail ], ... ; # 0..* Who reviewed the ValueSet fhir:ValueSet.endorser [ ContactDetail ], ... ; # 0..* Who endorsed the ValueSet fhir:ValueSet.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc. fhir:ValueSet.compose [ # 0..1 Content logical definition of the value set (CLD) fhir:ValueSet.compose.lockedDate [ date ]; # 0..1 Fixed date for references with no specified version (transitive) fhir:ValueSet.compose.inactive [ boolean ]; # 0..1 Whether inactive codes are in the value set fhir:ValueSet.compose.include [ # 1..* Include one or more codes from a code system or other value set(s)fhir:fhir:ValueSet.compose.include.system [ uri ]; # 0..1 I The system the codes come from fhir:ValueSet.compose.include.version [ string ]; # 0..1 Specific version of the code system referred tofhir:fhir:ValueSet.compose.include.concept [ # 0..* I A concept defined in the system fhir:ValueSet.compose.include.concept.code [ code ]; # 1..1 Code or expression from system fhir:ValueSet.compose.include.concept.display [ string ]; # 0..1 Text to display for this code for this value set in this valueset fhir:ValueSet.compose.include.concept.designation [ # 0..* Additional representations for this concept fhir:ValueSet.compose.include.concept.designation.language [ code ]; # 0..1 Human language of the designation fhir:ValueSet.compose.include.concept.designation.use [ Coding ]; # 0..1 Types of uses of designations fhir:ValueSet.compose.include.concept.designation.additionalUse [ Coding ], ... ; # 0..* Additional ways how this designation would be used fhir:ValueSet.compose.include.concept.designation.value [ string ]; # 1..1 The text value for this designation ], ...; ], ...;fhir:fhir:ValueSet.compose.include.filter [ # 0..* I Select codes/concepts by their properties (including relationships) fhir:ValueSet.compose.include.filter.property [ code ]; # 1..1 A property/filter defined by the code systemfhir:fhir:ValueSet.compose.include.filter.op [ code ]; # 1..1 = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists fhir:ValueSet.compose.include.filter.value [ string ]; # 1..1 Code from the system, or regex criteria, or boolean value for exists ], ...;fhir:fhir:ValueSet.compose.include.valueSet [ canonical(ValueSet) ], ... ; # 0..* I Select the contents included in this value set fhir:ValueSet.compose.include.copyright [ string ]; # 0..1 A copyright statement for the specific code system included in the value set ], ...;fhir:fhir:ValueSet.compose.exclude [ See ValueSet.compose.include ], ... ; # 0..* I Explicitly exclude codes from a code system or other value sets fhir:ValueSet.compose.property [ string ], ... ; # 0..* Property to return if client doesn't override ]; fhir:ValueSet.expansion [ # 0..1 Used when the value set is "expanded" fhir:ValueSet.expansion.identifier [ uri ]; # 0..1 Identifies the value set expansion (business identifier) fhir:ValueSet.expansion.next [ uri ]; # 0..1 Opaque urls for paging through expansion results fhir:ValueSet.expansion.timestamp [ dateTime ]; # 1..1 Time ValueSet expansion happened fhir:ValueSet.expansion.total [ integer ]; # 0..1 Total number of codes in the expansion fhir:ValueSet.expansion.offset [ integer ]; # 0..1 Offset at which this resource starts fhir:ValueSet.expansion.parameter [ # 0..* Parameter that controlled the expansion process fhir:ValueSet.expansion.parameter.name [ string ]; # 1..1 Name as assigned by the client or server # ValueSet.expansion.parameter.value[x] : 0..1 Value of the named parameter. One of these 7 fhir:ValueSet.expansion.parameter.valueString [ string ] fhir:ValueSet.expansion.parameter.valueBoolean [ boolean ] fhir:ValueSet.expansion.parameter.valueInteger [ integer ] fhir:ValueSet.expansion.parameter.valueDecimal [ decimal ] fhir:ValueSet.expansion.parameter.valueUri [ uri ] fhir:ValueSet.expansion.parameter.valueCode [ code ] fhir:ValueSet.expansion.parameter.valueDateTime [ dateTime ] ], ...; fhir:ValueSet.expansion.property [ # 0..* Additional information supplied about each concept fhir:ValueSet.expansion.property.code [ code ]; # 1..1 Identifies the property on the concepts, and when referred to in operations fhir:ValueSet.expansion.property.uri [ uri ]; # 0..1 Formal identifier for the property ], ...; fhir:ValueSet.expansion.contains [ # 0..* Codes in the value set fhir:ValueSet.expansion.contains.system [ uri ]; # 0..1 System value for the code fhir:ValueSet.expansion.contains.abstract [ boolean ]; # 0..1 If user cannot select this entry fhir:ValueSet.expansion.contains.inactive [ boolean ]; # 0..1 If concept is inactive in the code system fhir:ValueSet.expansion.contains.version [ string ]; # 0..1 Version in which this code/display is definedfhir: fhir:fhir:ValueSet.expansion.contains.code [ code ]; # 0..1 I Code - if blank, this is not a selectable code fhir:ValueSet.expansion.contains.display [ string ]; # 0..1 I User display for the concept fhir:ValueSet.expansion.contains.designation [ See ValueSet.compose.include.concept.designation ], ... ; # 0..* Additional representations for this item fhir:ValueSet.expansion.contains.property [ # 0..* Property value for the concept fhir:ValueSet.expansion.contains.property.code [ code ]; # 1..1 Reference to ValueSet.expansion.property.code # ValueSet.expansion.contains.property.value[x] : 1..1 Value of the property for this concept. One of these 7 fhir:ValueSet.expansion.contains.property.valueCode [ code ] fhir:ValueSet.expansion.contains.property.valueCoding [ Coding ] fhir:ValueSet.expansion.contains.property.valueString [ string ] fhir:ValueSet.expansion.contains.property.valueInteger [ integer ] fhir:ValueSet.expansion.contains.property.valueBoolean [ boolean ] fhir:ValueSet.expansion.contains.property.valueDateTime [ dateTime ] fhir:ValueSet.expansion.contains.property.valueDecimal [ decimal ] fhir:ValueSet.expansion.contains.property.subProperty [ # 0..* SubProperty value for the concept fhir:ValueSet.expansion.contains.property.subProperty.code [ code ]; # 1..1 Reference to ValueSet.expansion.property.code # ValueSet.expansion.contains.property.subProperty.value[x] : 1..1 Value of the subproperty for this concept. One of these 7 fhir:ValueSet.expansion.contains.property.subProperty.valueCode [ code ] fhir:ValueSet.expansion.contains.property.subProperty.valueCoding [ Coding ] fhir:ValueSet.expansion.contains.property.subProperty.valueString [ string ] fhir:ValueSet.expansion.contains.property.subProperty.valueInteger [ integer ] fhir:ValueSet.expansion.contains.property.subProperty.valueBoolean [ boolean ] fhir:ValueSet.expansion.contains.property.subProperty.valueDateTime [ dateTime ] fhir:ValueSet.expansion.contains.property.subProperty.valueDecimal [ decimal ] ], ...; ], ...; fhir:ValueSet.expansion.contains.contains [ See ValueSet.expansion.contains ], ... ; # 0..* Codes contained under this entry ], ...; ]; fhir:ValueSet.scope [ # 0..1 Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description fhir:ValueSet.scope.inclusionCriteria [ string ]; # 0..1 Criteria describing which concepts or codes should be included and why fhir:ValueSet.scope.exclusionCriteria [ string ]; # 0..1 Criteria describing which concepts or codes should be excluded and why ]; ]
Changes since R4
| ValueSet | |
| ValueSet.approvalDate |
|
| ValueSet.lastReviewDate |
|
| ValueSet.effectivePeriod |
|
| ValueSet.topic |
|
| ValueSet.author |
|
| ValueSet.editor |
|
| ValueSet.reviewer |
|
| ValueSet.endorser |
|
| ValueSet.relatedArtifact |
|
| ValueSet.compose.include.concept.designation.additionalUse |
|
| ValueSet.compose.include.copyright |
|
| ValueSet.compose.property |
|
| ValueSet.expansion.next |
|
| ValueSet.expansion.property |
|
| ValueSet.expansion.property.code |
|
| ValueSet.expansion.property.uri |
|
| ValueSet.expansion.contains.property |
|
| ValueSet.expansion.contains.property.code |
|
| ValueSet.expansion.contains.property.value[x] |
|
| ValueSet.expansion.contains.property.subProperty |
|
| ValueSet.expansion.contains.property.subProperty.code |
|
| ValueSet.expansion.contains.property.subProperty.value[x] |
|
| ValueSet.scope |
|
| ValueSet.scope.inclusionCriteria |
|
| ValueSet.scope.exclusionCriteria |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
8
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
8
r3
resources
are
invalid
(0
errors).
)
Structure
Name
|
Flags
|
Card.
|
Type
|
Description
&
Constraints
|
|---|---|---|---|---|
|
N | DomainResource |
A
set
of
codes
drawn
from
one
or
more
code
systems
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation Elements defined in Ancestors: id , meta , implicitRules , language , text , contained , extension , modifierExtension Interfaces Implemented: MetadataResource |
|
|
Σ C | 0..1 | uri |
Canonical
identifier
for
this
value
set,
represented
as
a
URI
(globally
unique)
+ Warning: URL should not contain | or # - these characters make processing canonical references problematic |
|
Σ | 0..* | Identifier |
Additional
identifier
for
the
value
set
(business
identifier)
|
|
Σ | 0..1 | string |
Business
version
of
the
value
set
|
|
Σ C | 0..1 | string |
Name
for
this
value
set
(computer
friendly)
|
|
Σ T | 0..1 | string |
Name
for
this
value
set
(human
friendly)
|
|
?! Σ | 1..1 | code |
draft
|
active
|
retired
|
unknown
PublicationStatus ( Required ) |
|
Σ | 0..1 | boolean |
For
testing
purposes,
not
real
usage
|
|
Σ | 0..1 | dateTime |
Date
last
changed
|
|
Σ T | 0..1 | string |
Name
of
the
|
|
Σ | 0..* | ContactDetail |
Contact
details
for
the
publisher
|
|
T | 0..1 | markdown |
Natural
language
description
of
the
value
set
|
|
Σ TU | 0..* | UsageContext |
The
context
that
the
content
is
intended
to
support
|
|
Σ | 0..* | CodeableConcept |
Intended
jurisdiction
for
value
set
(if
applicable)
Jurisdiction ValueSet ( Extensible ) |
|
Σ | 0..1 | boolean |
Indicates
whether
or
not
any
change
to
the
content
logical
definition
may
occur
|
|
T | 0..1 | markdown |
Why
this
value
set
is
defined
|
|
T | 0..1 | markdown |
Use
and/or
publishing
restrictions
|
|
TU | 0..1 |
|
When
the
ValueSet
was
approved
by
publisher
|
![]() ![]() | TU | 0..1 | date |
When
the
ValueSet
was
last
reviewed
|
![]() ![]() | Σ TU | 0..1 | Period |
When
the
ValueSet
is
expected
to
be
used
|
![]() ![]() | TU | 0..* | CodeableConcept |
E.g.
Education,
Treatment,
Assessment,
etc.
DefinitionTopic ( Example ) |
![]() ![]() | TU | 0..* | ContactDetail |
Who
authored
the
ValueSet
|
![]() ![]() | TU | 0..* | ContactDetail |
Who
edited
the
ValueSet
|
![]() ![]() | TU | 0..* | ContactDetail |
Who
reviewed
the
ValueSet
|
![]() ![]() | TU | 0..* | ContactDetail |
Who
endorsed
the
ValueSet
|
![]() ![]() | TU | 0..* | RelatedArtifact |
Additional
documentation,
citations,
etc.
|
![]() ![]() | 0..1 | BackboneElement |
Content
logical
definition
of
the
value
set
(CLD)
|
|
|
Σ | 0..1 | date |
Fixed
date
for
references
with
no
specified
version
(transitive)
|
|
Σ | 0..1 | boolean |
Whether
inactive
codes
are
in
the
value
set
|
|
Σ
|
1..* | BackboneElement |
Include
one
or
more
codes
from
a
code
system
or
other
value
set(s)
+ Rule: A value set include/exclude SHALL have a value set or a system + Rule: A value set with concepts or filters SHALL include a system + Rule: Cannot have both concept and filter |
|
Σ
|
0..1 | uri |
The
system
the
codes
come
from
|
|
Σ | 0..1 | string |
Specific
version
of
the
code
system
referred
to
|
|
|
0..* | BackboneElement |
A
concept
defined
in
the
system
|
|
1..1 | code |
Code
or
expression
from
system
|
|
|
0..1 | string |
Text
to
display
for
this
code
for
this
value
set
in
this
valueset
|
|
|
C | 0..* | BackboneElement |
Additional
representations
for
this
concept
+ Rule: Must have a value for concept.designation.use if concept.designation.additionalUse is present |
|
0..1 | code |
Human
language
of
the
designation
Common Languages ( Preferred but limited to AllLanguages ) |
|
|
0..1 | Coding |
Types
of
uses
of
designations
Designation Use ( Extensible ) |
|
| 0..* | Coding |
Additional
ways
how
this
designation
would
be
used
Designation Use ( Extensible ) | |
|
1..1 | string |
The
text
value
for
this
designation
|
|
|
Σ
|
0..* | BackboneElement |
Select
codes/concepts
by
their
properties
(including
relationships)
|
|
Σ | 1..1 | code |
A
property/filter
defined
by
the
code
system
|
|
Σ | 1..1 | code |
=
|
is-a
|
descendent-of
|
is-not-a
|
regex
|
in
|
not-in
|
generalizes
|
child-of
|
descendent-leaf
|
exists
FilterOperator ( Required ) |
|
Σ | 1..1 | string |
Code
from
the
system,
or
regex
criteria,
or
boolean
value
for
exists
|
|
Σ
|
0..* | canonical ( ValueSet ) |
Select
the
contents
included
in
this
value
set
|
| 0..1 | string |
A
copyright
statement
for
the
specific
code
system
included
in
the
value
set
| |
![]() ![]() ![]() |
|
0..* | see include |
Explicitly
exclude
codes
from
a
code
system
or
other
value
sets
|
| 0..* | string |
Property
to
return
if
client
doesn't
override
| |
![]()
|
0..1 | BackboneElement |
Used
when
the
value
set
is
"expanded"
|
|
|
0..1 | uri |
Identifies
the
value
set
expansion
(business
identifier)
|
|
|
0..1 | uri |
Opaque
urls
for
paging
through
expansion
results
| |
![]() ![]() ![]() | 1..1 | dateTime |
Time
ValueSet
expansion
happened
|
|
|
0..1 | integer |
Total
number
of
codes
in
the
expansion
|
|
|
0..1 | integer |
Offset
at
which
this
resource
starts
|
|
|
0..* | BackboneElement |
Parameter
that
controlled
the
expansion
process
|
|
|
1..1 | string |
Name
as
assigned
by
the
client
or
server
|
|
|
0..1 |
Value
of
the
named
parameter
|
||
|
string | |||
|
boolean | |||
|
integer | |||
|
decimal | |||
|
uri | |||
| code | |||
|
dateTime | |||
![]() ![]() ![]() | 0..* | BackboneElement |
Additional
information
supplied
about
each
concept
| |
![]() ![]() ![]() ![]() | 1..1 | code |
Identifies
the
property
on
the
concepts,
and
when
referred
to
in
operations
|
|
|
0..1 |
|
Formal
identifier
for
the
property
|
|
|
|
0..* | BackboneElement |
Codes
in
the
value
set
+ Rule: SHALL have a code or a display + Rule: + Rule: |
|
0..1 | uri |
System
value
for
the
code
|
|
|
0..1 | boolean |
If
user
cannot
select
this
entry
|
|
|
0..1 | boolean |
If
concept
is
inactive
in
the
code
system
|
|
|
0..1 | string |
Version
in
which
this
code/display
is
defined
|
|
|
|
0..1 | code |
Code
-
if
blank,
this
is
not
a
selectable
code
|
|
|
0..1 | string |
User
display
for
the
concept
|
|
0..* | see designation |
Additional
representations
for
this
item
|
|
| 0..* | BackboneElement |
Property
value
for
the
concept
| |
![]() ![]() ![]() ![]() ![]() | 1..1 | code |
Reference
to
ValueSet.expansion.property.code
| |
![]() ![]() ![]() ![]() ![]() | 1..1 |
Value
of
the
property
for
this
concept
| ||
![]() ![]() ![]() ![]() ![]() ![]() | code | |||
![]() ![]() ![]() ![]() ![]() ![]() | Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() | dateTime | |||
![]() ![]() ![]() ![]() ![]() ![]() | decimal | |||
![]() ![]() ![]() ![]() ![]() | 0..* | BackboneElement |
SubProperty
value
for
the
concept
| |
![]() ![]() ![]() ![]() ![]() ![]() | 1..1 | code |
Reference
to
ValueSet.expansion.property.code
| |
![]() ![]() ![]() ![]() ![]() ![]() | 1..1 |
Value
of
the
subproperty
for
this
concept
| ||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | code | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | Coding | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | string | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | integer | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | boolean | |||
![]() ![]() ![]() ![]() ![]() ![]() ![]() | dateTime | |||
| decimal | |||
![]()
|
0..* | see contains |
Codes
contained
under
this
entry
|
|
| 0..1 | BackboneElement |
Description
of
the
semantic
space
the
Value
Set
Expansion
is
intended
to
cover
and
should
further
clarify
the
text
in
ValueSet.description
| |
![]() ![]() ![]() | 0..1 | string |
Criteria
describing
which
concepts
or
codes
should
be
included
and
why
| |
![]() ![]() ![]() | 0..1 | string |
Criteria
describing
which
concepts
or
codes
should
be
excluded
and
why
|
|
Documentation
for
this
format
|
||||
See the Extensions for this resource
XML Template
<ValueSet xmlns="http://hl7.org/fhir"><!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension -->
<<url value="[uri]"/><!-- 0..1 Canonical identifier for this value set, represented as a URI (globally unique) --> <identifier><!-- 0..* Identifier Additional identifier for the value set (business identifier) --></identifier> <version value="[string]"/><!-- 0..1 Business version of the value set --><<name value="[string]"/><!-- I 0..1 Name for this value set (computer friendly) --> <title value="[string]"/><!-- 0..1 Name for this value set (human friendly) --> <status value="[code]"/><!-- 1..1 draft | active | retired | unknown --> <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->< <<date value="[dateTime]"/><!-- 0..1 Date last changed --> <publisher value="[string]"/><!-- 0..1 Name of the publisher/steward (organization or individual) --> <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact> <description value="[markdown]"/><!-- 0..1 Natural language description of the value set --> <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext> <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for value set (if applicable) --></jurisdiction> <immutable value="[boolean]"/><!-- 0..1 Indicates whether or not any change to the content logical definition may occur --> <purpose value="[markdown]"/><!-- 0..1 Why this value set is defined --> <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions --> <approvalDate value="[date]"/><!-- 0..1 When the ValueSet was approved by publisher --> <lastReviewDate value="[date]"/><!-- 0..1 When the ValueSet was last reviewed --> <effectivePeriod><!-- 0..1 Period When the ValueSet is expected to be used --></effectivePeriod> <topic><!-- 0..* CodeableConcept E.g. Education, Treatment, Assessment, etc. --></topic> <author><!-- 0..* ContactDetail Who authored the ValueSet --></author> <editor><!-- 0..* ContactDetail Who edited the ValueSet --></editor> <reviewer><!-- 0..* ContactDetail Who reviewed the ValueSet --></reviewer> <endorser><!-- 0..* ContactDetail Who endorsed the ValueSet --></endorser> <relatedArtifact><!-- 0..* RelatedArtifact Additional documentation, citations, etc. --></relatedArtifact> <compose> <!-- 0..1 Content logical definition of the value set (CLD) --> <lockedDate value="[date]"/><!-- 0..1 Fixed date for references with no specified version (transitive) --> <inactive value="[boolean]"/><!-- 0..1 Whether inactive codes are in the value set --> <include> <!-- 1..* Include one or more codes from a code system or other value set(s) --><<system value="[uri]"/><!-- I 0..1 The system the codes come from --> <version value="[string]"/><!-- 0..1 Specific version of the code system referred to --><<concept> <!-- I 0..* A concept defined in the system --> <code value="[code]"/><!-- 1..1 Code or expression from system --> <display value="[string]"/><!-- 0..1 Text to display for this code for this value set in this valueset --> <designation> <!-- 0..* Additional representations for this concept --> <language value="[code]"/><!-- 0..1 Human language of the designation --> <use><!-- 0..1 Coding Types of uses of designations --></use> <additionalUse><!-- 0..* Coding Additional ways how this designation would be used --></additionalUse> <value value="[string]"/><!-- 1..1 The text value for this designation --> </designation> </concept><<filter> <!-- I 0..* Select codes/concepts by their properties (including relationships) --> <property value="[code]"/><!-- 1..1 A property/filter defined by the code system --><<op value="[code]"/><!-- 1..1 = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists --> <value value="[string]"/><!-- 1..1 Code from the system, or regex criteria, or boolean value for exists --> </filter><</valueSet><valueSet><!-- I 0..* canonical(ValueSet) Select the contents included in this value set --></valueSet> <copyright value="[string]"/><!-- 0..1 A copyright statement for the specific code system included in the value set --> </include><</exclude><exclude><!-- I 0..* Content as for ValueSet.compose.include Explicitly exclude codes from a code system or other value sets --></exclude> <property value="[string]"/><!-- 0..* Property to return if client doesn't override --> </compose> <expansion> <!-- 0..1 Used when the value set is "expanded" --> <identifier value="[uri]"/><!-- 0..1 Identifies the value set expansion (business identifier) --> <next value="[uri]"/><!-- 0..1 Opaque urls for paging through expansion results --> <timestamp value="[dateTime]"/><!-- 1..1 Time ValueSet expansion happened --> <total value="[integer]"/><!-- 0..1 Total number of codes in the expansion --> <offset value="[integer]"/><!-- 0..1 Offset at which this resource starts --> <parameter> <!-- 0..* Parameter that controlled the expansion process --> <name value="[string]"/><!-- 1..1 Name as assigned by the client or server --> <value[x]><!-- 0..1 string|boolean|integer|decimal|uri|code|dateTime Value of the named parameter --></value[x]> </parameter> <property> <!-- 0..* Additional information supplied about each concept --> <code value="[code]"/><!-- 1..1 Identifies the property on the concepts, and when referred to in operations --> <uri value="[uri]"/><!-- 0..1 Formal identifier for the property --> </property> <contains> <!-- 0..* Codes in the value set --> <system value="[uri]"/><!-- 0..1 System value for the code --> <abstract value="[boolean]"/><!-- 0..1 If user cannot select this entry --> <inactive value="[boolean]"/><!-- 0..1 If concept is inactive in the code system --> <version value="[string]"/><!-- 0..1 Version in which this code/display is defined -->< <<code value="[code]"/><!-- I 0..1 Code - if blank, this is not a selectable code --> <display value="[string]"/><!-- I 0..1 User display for the concept --> <designation><!-- 0..* Content as for ValueSet.compose.include.concept.designation Additional representations for this item --></designation> <property> <!-- 0..* Property value for the concept --> <code value="[code]"/><!-- 1..1 Reference to ValueSet.expansion.property.code --> <value[x]><!-- 1..1 code|Coding|string|integer|boolean|dateTime|decimal Value of the property for this concept --></value[x]> <subProperty> <!-- 0..* SubProperty value for the concept --> <code value="[code]"/><!-- 1..1 Reference to ValueSet.expansion.property.code --> <value[x]><!-- 1..1 code|Coding|string|integer|boolean|dateTime|decimal Value of the subproperty for this concept --></value[x]> </subProperty> </property> <contains><!-- 0..* Content as for ValueSet.expansion.contains Codes contained under this entry --></contains> </contains> </expansion> <scope> <!-- 0..1 Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description --> <inclusionCriteria value="[string]"/><!-- 0..1 Criteria describing which concepts or codes should be included and why --> <exclusionCriteria value="[string]"/><!-- 0..1 Criteria describing which concepts or codes should be excluded and why --> </scope> </ValueSet>
JSON Template
{
"resourceType" : "ValueSet",
// from Resource: id, meta, implicitRules, and language
// from DomainResource: text, contained, extension, and modifierExtension
"
"url" : "<uri>", // Canonical identifier for this value set, represented as a URI (globally unique)
"identifier" : [{ Identifier }], // Additional identifier for the value set (business identifier)
"version" : "<string>", // Business version of the value set
"
"name" : "<string>", // I Name for this value set (computer friendly)
"title" : "<string>", // Name for this value set (human friendly)
"status" : "<code>", // R! draft | active | retired | unknown
"experimental" : <boolean>, // For testing purposes, not real usage
"
"
"date" : "<dateTime>", // Date last changed
"publisher" : "<string>", // Name of the publisher/steward (organization or individual)
"contact" : [{ ContactDetail }], // Contact details for the publisher
"description" : "<markdown>", // Natural language description of the value set
"useContext" : [{ UsageContext }], // The context that the content is intended to support
"jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for value set (if applicable)
"immutable" : <boolean>, // Indicates whether or not any change to the content logical definition may occur
"purpose" : "<markdown>", // Why this value set is defined
"copyright" : "<markdown>", // Use and/or publishing restrictions
"approvalDate" : "<date>", // When the ValueSet was approved by publisher
"lastReviewDate" : "<date>", // When the ValueSet was last reviewed
"effectivePeriod" : { Period }, // When the ValueSet is expected to be used
"topic" : [{ CodeableConcept }], // E.g. Education, Treatment, Assessment, etc.
"author" : [{ ContactDetail }], // Who authored the ValueSet
"editor" : [{ ContactDetail }], // Who edited the ValueSet
"reviewer" : [{ ContactDetail }], // Who reviewed the ValueSet
"endorser" : [{ ContactDetail }], // Who endorsed the ValueSet
"relatedArtifact" : [{ RelatedArtifact }], // Additional documentation, citations, etc.
"compose" : { // Content logical definition of the value set (CLD)
"lockedDate" : "<date>", // Fixed date for references with no specified version (transitive)
"inactive" : <boolean>, // Whether inactive codes are in the value set
"include" : [{ // R! Include one or more codes from a code system or other value set(s)
"
"system" : "<uri>", // I The system the codes come from
"version" : "<string>", // Specific version of the code system referred to
"
"concept" : [{ // I A concept defined in the system
"code" : "<code>", // R! Code or expression from system
"display" : "<string>", // Text to display for this code for this value set in this valueset
"designation" : [{ // Additional representations for this concept
"language" : "<code>", // Human language of the designation
"use" : { Coding }, // Types of uses of designations
"additionalUse" : [{ Coding }], // Additional ways how this designation would be used
"value" : "<string>" // R! The text value for this designation
}]
}],
"
"filter" : [{ // I Select codes/concepts by their properties (including relationships)
"property" : "<code>", // R! A property/filter defined by the code system
"
"op" : "<code>", // R! = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists
"value" : "<string>" // R! Code from the system, or regex criteria, or boolean value for exists
}],
"
"valueSet" : ["<canonical(ValueSet)>"], // I Select the contents included in this value set
"copyright" : "<string>" // A copyright statement for the specific code system included in the value set
}],
"
"exclude" : [{ Content as for ValueSet.compose.include }], // I Explicitly exclude codes from a code system or other value sets
"property" : ["<string>"] // Property to return if client doesn't override
},
"expansion" : { // Used when the value set is "expanded"
"identifier" : "<uri>", // Identifies the value set expansion (business identifier)
"next" : "<uri>", // Opaque urls for paging through expansion results
"timestamp" : "<dateTime>", // R! Time ValueSet expansion happened
"total" : <integer>, // Total number of codes in the expansion
"offset" : <integer>, // Offset at which this resource starts
"parameter" : [{ // Parameter that controlled the expansion process
"name" : "<string>", // R! Name as assigned by the client or server
// value[x]: Value of the named parameter. One of these 7:
">"
">
">
">
">"
">"
"valueString" : "<string>",
"valueBoolean" : <boolean>,
"valueInteger" : <integer>,
"valueDecimal" : <decimal>,
"valueUri" : "<uri>",
"valueCode" : "<code>",
"valueDateTime" : "<dateTime>"
}],
"property" : [{ // Additional information supplied about each concept
"code" : "<code>", // R! Identifies the property on the concepts, and when referred to in operations
"uri" : "<uri>" // Formal identifier for the property
}],
"contains" : [{ // Codes in the value set
"system" : "<uri>", // System value for the code
"abstract" : <boolean>, // If user cannot select this entry
"inactive" : <boolean>, // If concept is inactive in the code system
"version" : "<string>", // Version in which this code/display is defined
"
"
"code" : "<code>", // I Code - if blank, this is not a selectable code
"display" : "<string>", // I User display for the concept
"designation" : [{ Content as for ValueSet.compose.include.concept.designation }], // Additional representations for this item
"property" : [{ // Property value for the concept
"code" : "<code>", // R! Reference to ValueSet.expansion.property.code
// value[x]: Value of the property for this concept. One of these 7:
"valueCode" : "<code>",
"valueCoding" : { Coding },
"valueString" : "<string>",
"valueInteger" : <integer>,
"valueBoolean" : <boolean>,
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>,
"subProperty" : [{ // SubProperty value for the concept
"code" : "<code>", // R! Reference to ValueSet.expansion.property.code
// value[x]: Value of the subproperty for this concept. One of these 7:
"valueCode" : "<code>",
"valueCoding" : { Coding },
"valueString" : "<string>",
"valueInteger" : <integer>,
"valueBoolean" : <boolean>,
"valueDateTime" : "<dateTime>",
"valueDecimal" : <decimal>
}]
}],
"contains" : [{ Content as for ValueSet.expansion.contains }] // Codes contained under this entry
}]
},
"scope" : { // Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description
"inclusionCriteria" : "<string>", // Criteria describing which concepts or codes should be included and why
"exclusionCriteria" : "<string>" // Criteria describing which concepts or codes should be excluded and why
}
}
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> .[ a fhir:ValueSet; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension
fhir:fhir:ValueSet.url [ uri ]; # 0..1 Canonical identifier for this value set, represented as a URI (globally unique) fhir:ValueSet.identifier [ Identifier ], ... ; # 0..* Additional identifier for the value set (business identifier) fhir:ValueSet.version [ string ]; # 0..1 Business version of the value setfhir:fhir:ValueSet.name [ string ]; # 0..1 I Name for this value set (computer friendly) fhir:ValueSet.title [ string ]; # 0..1 Name for this value set (human friendly) fhir:ValueSet.status [ code ]; # 1..1 draft | active | retired | unknown fhir:ValueSet.experimental [ boolean ]; # 0..1 For testing purposes, not real usagefhir: fhir:fhir:ValueSet.date [ dateTime ]; # 0..1 Date last changed fhir:ValueSet.publisher [ string ]; # 0..1 Name of the publisher/steward (organization or individual) fhir:ValueSet.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher fhir:ValueSet.description [ markdown ]; # 0..1 Natural language description of the value set fhir:ValueSet.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support fhir:ValueSet.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for value set (if applicable) fhir:ValueSet.immutable [ boolean ]; # 0..1 Indicates whether or not any change to the content logical definition may occur fhir:ValueSet.purpose [ markdown ]; # 0..1 Why this value set is defined fhir:ValueSet.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions fhir:ValueSet.approvalDate [ date ]; # 0..1 When the ValueSet was approved by publisher fhir:ValueSet.lastReviewDate [ date ]; # 0..1 When the ValueSet was last reviewed fhir:ValueSet.effectivePeriod [ Period ]; # 0..1 When the ValueSet is expected to be used fhir:ValueSet.topic [ CodeableConcept ], ... ; # 0..* E.g. Education, Treatment, Assessment, etc. fhir:ValueSet.author [ ContactDetail ], ... ; # 0..* Who authored the ValueSet fhir:ValueSet.editor [ ContactDetail ], ... ; # 0..* Who edited the ValueSet fhir:ValueSet.reviewer [ ContactDetail ], ... ; # 0..* Who reviewed the ValueSet fhir:ValueSet.endorser [ ContactDetail ], ... ; # 0..* Who endorsed the ValueSet fhir:ValueSet.relatedArtifact [ RelatedArtifact ], ... ; # 0..* Additional documentation, citations, etc. fhir:ValueSet.compose [ # 0..1 Content logical definition of the value set (CLD) fhir:ValueSet.compose.lockedDate [ date ]; # 0..1 Fixed date for references with no specified version (transitive) fhir:ValueSet.compose.inactive [ boolean ]; # 0..1 Whether inactive codes are in the value set fhir:ValueSet.compose.include [ # 1..* Include one or more codes from a code system or other value set(s)fhir:fhir:ValueSet.compose.include.system [ uri ]; # 0..1 I The system the codes come from fhir:ValueSet.compose.include.version [ string ]; # 0..1 Specific version of the code system referred tofhir:fhir:ValueSet.compose.include.concept [ # 0..* I A concept defined in the system fhir:ValueSet.compose.include.concept.code [ code ]; # 1..1 Code or expression from system fhir:ValueSet.compose.include.concept.display [ string ]; # 0..1 Text to display for this code for this value set in this valueset fhir:ValueSet.compose.include.concept.designation [ # 0..* Additional representations for this concept fhir:ValueSet.compose.include.concept.designation.language [ code ]; # 0..1 Human language of the designation fhir:ValueSet.compose.include.concept.designation.use [ Coding ]; # 0..1 Types of uses of designations fhir:ValueSet.compose.include.concept.designation.additionalUse [ Coding ], ... ; # 0..* Additional ways how this designation would be used fhir:ValueSet.compose.include.concept.designation.value [ string ]; # 1..1 The text value for this designation ], ...; ], ...;fhir:fhir:ValueSet.compose.include.filter [ # 0..* I Select codes/concepts by their properties (including relationships) fhir:ValueSet.compose.include.filter.property [ code ]; # 1..1 A property/filter defined by the code systemfhir:fhir:ValueSet.compose.include.filter.op [ code ]; # 1..1 = | is-a | descendent-of | is-not-a | regex | in | not-in | generalizes | child-of | descendent-leaf | exists fhir:ValueSet.compose.include.filter.value [ string ]; # 1..1 Code from the system, or regex criteria, or boolean value for exists ], ...;fhir:fhir:ValueSet.compose.include.valueSet [ canonical(ValueSet) ], ... ; # 0..* I Select the contents included in this value set fhir:ValueSet.compose.include.copyright [ string ]; # 0..1 A copyright statement for the specific code system included in the value set ], ...;fhir:fhir:ValueSet.compose.exclude [ See ValueSet.compose.include ], ... ; # 0..* I Explicitly exclude codes from a code system or other value sets fhir:ValueSet.compose.property [ string ], ... ; # 0..* Property to return if client doesn't override ]; fhir:ValueSet.expansion [ # 0..1 Used when the value set is "expanded" fhir:ValueSet.expansion.identifier [ uri ]; # 0..1 Identifies the value set expansion (business identifier) fhir:ValueSet.expansion.next [ uri ]; # 0..1 Opaque urls for paging through expansion results fhir:ValueSet.expansion.timestamp [ dateTime ]; # 1..1 Time ValueSet expansion happened fhir:ValueSet.expansion.total [ integer ]; # 0..1 Total number of codes in the expansion fhir:ValueSet.expansion.offset [ integer ]; # 0..1 Offset at which this resource starts fhir:ValueSet.expansion.parameter [ # 0..* Parameter that controlled the expansion process fhir:ValueSet.expansion.parameter.name [ string ]; # 1..1 Name as assigned by the client or server # ValueSet.expansion.parameter.value[x] : 0..1 Value of the named parameter. One of these 7 fhir:ValueSet.expansion.parameter.valueString [ string ] fhir:ValueSet.expansion.parameter.valueBoolean [ boolean ] fhir:ValueSet.expansion.parameter.valueInteger [ integer ] fhir:ValueSet.expansion.parameter.valueDecimal [ decimal ] fhir:ValueSet.expansion.parameter.valueUri [ uri ] fhir:ValueSet.expansion.parameter.valueCode [ code ] fhir:ValueSet.expansion.parameter.valueDateTime [ dateTime ] ], ...; fhir:ValueSet.expansion.property [ # 0..* Additional information supplied about each concept fhir:ValueSet.expansion.property.code [ code ]; # 1..1 Identifies the property on the concepts, and when referred to in operations fhir:ValueSet.expansion.property.uri [ uri ]; # 0..1 Formal identifier for the property ], ...; fhir:ValueSet.expansion.contains [ # 0..* Codes in the value set fhir:ValueSet.expansion.contains.system [ uri ]; # 0..1 System value for the code fhir:ValueSet.expansion.contains.abstract [ boolean ]; # 0..1 If user cannot select this entry fhir:ValueSet.expansion.contains.inactive [ boolean ]; # 0..1 If concept is inactive in the code system fhir:ValueSet.expansion.contains.version [ string ]; # 0..1 Version in which this code/display is definedfhir: fhir:fhir:ValueSet.expansion.contains.code [ code ]; # 0..1 I Code - if blank, this is not a selectable code fhir:ValueSet.expansion.contains.display [ string ]; # 0..1 I User display for the concept fhir:ValueSet.expansion.contains.designation [ See ValueSet.compose.include.concept.designation ], ... ; # 0..* Additional representations for this item fhir:ValueSet.expansion.contains.property [ # 0..* Property value for the concept fhir:ValueSet.expansion.contains.property.code [ code ]; # 1..1 Reference to ValueSet.expansion.property.code # ValueSet.expansion.contains.property.value[x] : 1..1 Value of the property for this concept. One of these 7 fhir:ValueSet.expansion.contains.property.valueCode [ code ] fhir:ValueSet.expansion.contains.property.valueCoding [ Coding ] fhir:ValueSet.expansion.contains.property.valueString [ string ] fhir:ValueSet.expansion.contains.property.valueInteger [ integer ] fhir:ValueSet.expansion.contains.property.valueBoolean [ boolean ] fhir:ValueSet.expansion.contains.property.valueDateTime [ dateTime ] fhir:ValueSet.expansion.contains.property.valueDecimal [ decimal ] fhir:ValueSet.expansion.contains.property.subProperty [ # 0..* SubProperty value for the concept fhir:ValueSet.expansion.contains.property.subProperty.code [ code ]; # 1..1 Reference to ValueSet.expansion.property.code # ValueSet.expansion.contains.property.subProperty.value[x] : 1..1 Value of the subproperty for this concept. One of these 7 fhir:ValueSet.expansion.contains.property.subProperty.valueCode [ code ] fhir:ValueSet.expansion.contains.property.subProperty.valueCoding [ Coding ] fhir:ValueSet.expansion.contains.property.subProperty.valueString [ string ] fhir:ValueSet.expansion.contains.property.subProperty.valueInteger [ integer ] fhir:ValueSet.expansion.contains.property.subProperty.valueBoolean [ boolean ] fhir:ValueSet.expansion.contains.property.subProperty.valueDateTime [ dateTime ] fhir:ValueSet.expansion.contains.property.subProperty.valueDecimal [ decimal ] ], ...; ], ...; fhir:ValueSet.expansion.contains.contains [ See ValueSet.expansion.contains ], ... ; # 0..* Codes contained under this entry ], ...; ]; fhir:ValueSet.scope [ # 0..1 Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description fhir:ValueSet.scope.inclusionCriteria [ string ]; # 0..1 Criteria describing which concepts or codes should be included and why fhir:ValueSet.scope.exclusionCriteria [ string ]; # 0..1 Criteria describing which concepts or codes should be excluded and why ]; ]
Changes since Release 4
| ValueSet | |
| ValueSet.approvalDate |
|
| ValueSet.lastReviewDate |
|
| ValueSet.effectivePeriod |
|
| ValueSet.topic |
|
| ValueSet.author |
|
| ValueSet.editor |
|
| ValueSet.reviewer |
|
| ValueSet.endorser |
|
| ValueSet.relatedArtifact |
|
| ValueSet.compose.include.concept.designation.additionalUse |
|
| ValueSet.compose.include.copyright |
|
| ValueSet.compose.property |
|
| ValueSet.expansion.next |
|
| ValueSet.expansion.property |
|
| ValueSet.expansion.property.code |
|
| ValueSet.expansion.property.uri |
|
| ValueSet.expansion.contains.property |
|
| ValueSet.expansion.contains.property.code |
|
| ValueSet.expansion.contains.property.value[x] |
|
| ValueSet.expansion.contains.property.subProperty |
|
| ValueSet.expansion.contains.property.subProperty.code |
|
| ValueSet.expansion.contains.property.subProperty.value[x] |
|
| ValueSet.scope |
|
| ValueSet.scope.inclusionCriteria |
|
| ValueSet.scope.exclusionCriteria |
|
See the Full Difference for further information
This analysis is available as XML or JSON .
Conversions
between
R3
and
R4
See
R3
<-->
R4
Conversion
Maps
(status
=
8
tests
that
all
execute
ok.
All
tests
pass
round-trip
testing
and
8
r3
resources
are
invalid
(0
errors).
)
See
the
Profiles
&
Extensions
and
the
alternate
Additional
definitions:
Master
Definition
XML
+
JSON
,
XML
Schema
/
Schematron
+
JSON
Schema
,
ShEx
(for
Turtle
)
+
see
,
the
extensions
spreadsheet
version
&
the
dependency
analysis
| Path | Definition | Type | Reference |
|---|---|---|---|
| ValueSet.status |
The lifecycle status of an artifact. |
Required | PublicationStatus |
| ValueSet.jurisdiction |
This value set defines a base set of codes for country, country subdivision and region for indicating where a resource is intended to be used.
Note:
The
codes
for
countries
and
country
subdivisions
are
taken
from
ISO
3166
|
Extensible |
|
| ValueSet.topic | High-level categorization of the definition, used for searching, sorting, and filtering. | Example | DefinitionTopic |
| ValueSet.compose.include.concept.designation.language |
This value set includes common codes from BCP-47 (http://tools.ietf.org/html/bcp47) |
Preferred , but limited to AllLanguages | CommonLanguages |
| ValueSet.compose.include.concept.designation.use |
Details of how a designation would be used | Extensible | DesignationUse |
| ValueSet.compose.include.concept.designation.additionalUse | Details of how a designation would be used |
Extensible | DesignationUse |
| ValueSet.compose.include.filter.op |
The kind of operation to perform as a part of a property based filter. |
Required | FilterOperator |
|
|
Level | Location | Description | Expression |
cnl-0
|
Warning | (base) | Name should be usable as an identifier for the module by machine processing applications such as code generation |
name.exists()
implies
|
cnl-1
| Warning | ValueSet.url | URL should not contain | or # - these characters make processing canonical references problematic | url.matches('([^|#])*') |
vsd-1
|
Rule | ValueSet.compose.include | A value set include/exclude SHALL have a value set or a system | valueSet.exists() or system.exists() |
vsd-2
|
Rule | ValueSet.compose.include | A value set with concepts or filters SHALL include a system | (concept.exists() or filter.exists()) implies system.exists() |
vsd-3
|
Rule | ValueSet.compose.include | Cannot have both concept and filter | concept.empty() or filter.empty() |
vsd-6
|
Rule | ValueSet.expansion.contains | SHALL have a code or a display | code.exists() or display.exists() |
vsd-9
|
Rule | ValueSet.expansion.contains |
|
code.exists() or abstract = true |
vsd-10
|
Rule | ValueSet.expansion.contains |
|
code.empty() or system.exists() |
vsd-11
| Rule | ValueSet.compose.include.concept.designation | Must have a value for concept.designation.use if concept.designation.additionalUse is present | additionalUse.exists() implies use.exists() |
A value set can be a simple list of included codes, or it can be some kind of general selection criteria using the facilities provided by the code system . For these value sets:
include
statements
are
cumulative
-
e.g.
the
value
set
contains
the
union
of
all
the
includes
include
,
all
the
criterion
apply
-e.g.
the
value
set
contains
the
intersection
of
the
criterion
include
,
a
single
system
with
selection
criteria
may
be
listed,
and/or
one
or
more
value
sets
may
be
listed
valueSet
(s)
only
:
Codes
are
'selected'
for
inclusion
if
they
are
in
all
the
referenced
value
sets
System
only
is
specified,
the
following
rules
apply:
concept
or
filter
:
All
codes
concept
:
Only
the
enumerated
codes
are
selected
filter
:
Any
codes
meeting
the
filter
criteria
are
selected
valueSet
and
System
:
Codes
are
'selected'
for
inclusion
if
they
are
selected
by
the
code
system
selection
(after
checking
for
concept
and
filter
)
and
if
they
are
in
all
the
referenced
value
sets
*
',
which
indicates
that
the
value
set
includes
codes
from
all
versions
of
the
code
system.
how
to
handle
provision
of
the
required
versions
and
generation
of
expansions
is
at
server
discretion,
including
for
poorly
behaved
code
systems
where
a
code
changes
in
meaning).
Implementation Note: Use of this capability is subject to future clarification and conformance requirements based on implementation experience .
VSD
Content
Logical
Definition
(CLD)
is
analogous
to
FHIR
ValueSet.compose
.
The
ValueSet
author
creates
the
expression
(intensional
definition),
the
extensional
list,
or
a
text
description
of
ValueSet.scope
and
ValueSet.description
.
There
are
three
ways
to
accomplish
ValueSet
definitions
in
FHIR:
ValueSet.compose
ValueSet.compose
,
must
be
an
expression
that
aligns
with
the
ValueSet.compose
ValueSet.compose
,
must
be
a
computable
expression
(e.g.,
ECL)
ValueSet.compose
VSD
describes
filters
for
the
Content
Logical
Definition.
FHIR
uses
filters
in
the
ValueSet.compose
to
implement
the
VSD
features.
| Scenario | FHIR Implementation |
When
the
ValueSet.compose
is
an
expression
(
ValueSet.expression
),
declare
the
type
of
expression
here
|
|
When
the
ValueSet.compose
describes
Concepts
to
include
based
on
CodeSystem
properties
|
Either the Value or Expression must be provided Value:
Expression:
|
When
the
ValueSet.compose
defines
the
types
of
relationships
between
concepts
to
include
in
the
ValueSet
Expansion
|
(note: filter property is a string in VSD, code in FHIR)
Example: to find all concepts in SNOMED CT with the SNOMED CT laterality qualifier relationship to the SNOMED CT concept "left":
|
Each
Code
System
defines
which
filters
can
be
used
in
ValueSet.compose.include.filter
.
All
code
systems
have
base
filters
and
any
additional
filters
defined
in
(
CodeSystem.filter)
.
HL7 Terminology defines filters for various published code systems:
ValueSet.compose
may
reference
other
ValueSets.
Intersection:
ValueSet.compose.include
Union:
ValueSet.compose.include
elements
For expansion guidance, and how to manage exclude , see Value Set Expansion
When a ValueSet definition includes other ValueSets, use the ValueSet.valueset-compose-include-ValueSetTitle extension to provide the human readable name of the included Value Set.
The VSD Partition aligns with FHIR CodeSystem Fragments .
Code System fragments are a unique and identifiable distinct segment of an overall Code System namespace. While most Code Systems are in essence one fragment and, therefore, do not have identifiable fragments, some Code Systems can be made up of a collection of distinct segments. SNOMED CT is an example of such a Code System. The SNOMED CT International Edition is the base fragment and can be used alone, but there are many distinct additional fragments that can be added to the international core to create what is known as a SNOMED CT Edition.
The
CodeSystem
referenced
in
a
ValueSet.compose
may
reference
a
CodeSystem
fragment.
Author, Steward and Publisher are roles associated with a Value Set Definition.
ValueSet Author is the person or organization that creates and may modify the ValueSet. The Steward is the person or organization responsible for the content, maintenance and life cycle of the ValueSet. The Publisher is the person or organization that makes the ValueSet available. The publisher or a terminology server might provide the ValueSet expansions.
In
FHIR,
ValueSet.publisher
satisfies
the
requirements
for
both
publisher
and
steward.
Description
and
Purpose
are
standard
elements
that
appear
in
many
FHIR
resources.
Neither
fully
supports
the
intent
of
the
VSD
Scope
element,
however
ValueSet.description
does
support
Focus
as
defined
in
VSD.
In
combination
with
ValueSet.description
,
ValueSet.scope
is
used
by
a
ValueSet.author
to
communicate
the
semantic
space
the
ValueSet
expansion
is
intended
to
cover
to
other
authors
and
users
and
to
create
specific
descriptions
of
what
is
included
and
what
is
excluded.
Inclusion
criteria
should
not
be
used
to
repeat
the
Content
Logical
Definition
(
ValueSet.compose
)
(see
the
first
example
below).
When
a
ValueSet
definition
includes
other
ValueSets,
use
ValueSet.description
to
provide
information
about
the
included
value
sets
in
context
of
the
parent
value
set.
Purpose
may
be
used
for
the
ValueSet.author
to
describe
why
the
ValueSet
was
created.
ValueSet.description
may
be
used
to
provide
the
ValueSet
Focus
as
described
in
VSD.
Example:
| Value Set Name | Description | Scope Inclusion Criteria | Scope Exclusion Criteria |
| Body Site Value Set | All SNOMED CT anatomic structures, locations, abnormal structures that can be considered to describe an anatomical site. | Bad Example: SNOMED CT concepts descending from the Anatomical Structure (91723000) or Acquired body structure (body structure) (289115004) or Anatomical site notations for tumor staging (body structure) (258331007) or Body structure, altered from its original anatomical structure (morphologic abnormality) (118956008) or Physical anatomical entity (body structure) (91722005). | None |
| Familial Hypercholesterolemia | This value set contains terms defining familial hypercholesterolemia, regardless of genetic origin. | Good Example: Terms identifying familial hypercholesterolemia diagnoses. | Familial combined hyperlipidemia, polygenic hypercholesterolemia, pure hypercholesterolemia not specifically familial. There are no ICD-9-CM codes specific to familial hypercholesterolemia, hence no ICD-9-CM codes are included in this value set. |
The
VSD
element
Name
aligns
with
ValueSet.title
which
does
not
support
preference
or
language.
Use
the
ValueSet.valueset-otherTitle
extension
when
a
language
or
preference
is
necessary.
ValueSet.title
or
ValueSet.valueset-otherTitle
must
be
valued.
VSD and FHIR support the constraining the $expand operation to return only active concepts as defined by the CodeSystem.
The
VSD
element
ActiveOnly
equal
to
TRUE
is
equivalent
to
ValueSet.compose.inactive
equal
to
FALSE.
The ValueSet resource defines a Value Set Definition and a Value Set Expansion. VSD describes only the characteristics of the Value Set Definition.
The
VSD
element
ActivityStatus
aligns
with
ValueSet.status
,
which
is
the
status
of
the
entire
ValueSet
resource
with
the
exception
of
the
ValueSet.expansion
.
This
aligns
with
VSD
using
the
word
definition
to
mean
the
Content
Logical
Definition
plus
all
the
other
non-expansion
metadata.
A
Value
Set
Expansion
is
stateless.
Note:
ValueSet.status
is
bound
with
required
binding
strength
to
the
PublicationStatus
value
set.
The
following
table
shows
how
the
ActivityStatus
values
in
VSD
align
with
the
values
in
the
PublicationStatus
Value
Set
Expansion.
| VSD Activity Status Value | FHIR Publication Status Value |
| Preliminary | Draft |
| Active | Active |
| Inactive | Retired |
| * | Unknown |
| Deleted | * |
*There is no equivalent value in either VSD or the PublicationStatus Value Set.
Concepts
used
in
ValueSets
can
have
a
display
,
which
is
a
short
text
that
represents
the
meaning
of
the
concept
to
human
users
in
the
context
of
the
value
set
(which
often
has
narrower
meaning
and
therefore
is
amenable
to
shorter
displays.
If
a
display
is
not
provided,
the
value
set
uses
the
display
from
the
code
system
(which
is
the
preferred
approach,
because
overriding
the
display
can
lead
to
very
unsafe
outcomes).
When a value set enumerates codes, it is sometimes useful to define an alternative display for the code that is to be used wherever the value set is expanded and used in a UI. This facility is provided to cover the following circumstances:
Note that care must be taken in order to avoid "changing the meaning" of the concept by implying that it means something other than the explicit definition of the concept in the underlying code system (e.g., in the case above, using a display of "Glucose Concentration at 10pm"). For this reason, some contexts of use do not allow a display to be associated with a specific code in a value set.
Any display name for a concept provided in the value set is for display to a human user. The display in the Coding that results from a user selecting a concept from the expansion must be taken from the underlying code system definition, even if a value set is referenced explicitly in the Coding (e.g. by an extension ). The correct display for a code can be determined by a $lookup operation . Any alternative display specified in the value set would go in CodeableConcept .text, perhaps appended to the UI label for the matching data element.
As
an
example,
the
LOINC
code
code
55423-8
has
a
display
value
of
"Number
of
steps
in
unspecified
time
Pedometer".
A
value
set
for
a
pick
list
in
a
patient
generated
data
form
might
choose
a
simpler
name:
{
"resourceType" : "ValueSet",
"compose" : {
"include" : [{
"system" : "http://loinc.org",
"concept" : [{
"code" : "55423-8",
"display" : "Step Count"
}]
}]
}
}
The expansion generated by a terminology server will have this:
{
"resourceType" : "ValueSet",
"expansion" : {
"contains" : [{
"system" : "http://loinc.org",
"code" : "55423-8",
"display" : "Step Count"
}]
}
}
The expansion display is taken from the value set, and this is what is displayed in the pick list. Once the user picks the code, it will appear in the Observation.code like this:
{
"resourceType" : "Observation",
"code" : {
"coding" : [{
"system" : "http://loinc.org",
"code" : "55423-8",
"display" : "Number of steps in unspecified time Pedometer"
}],
"text" : "Step Count"
}
}
Note that the correct value for the display is not in the expansion above. The client can either omit the display, look it up using $lookup , or the server might pre-populate it in the expansion:
{
"resourceType" : "ValueSet",
"expansion" : {
"contains" : [{
"system" : "http://loinc.org",
"code" : "55423-8",
"display" : "Step Count",
"designation" : [{
"use" : {
"system" : "http://snomed.info/sct",
"code" : "900000000000003001"
},
"value" : "Number of steps in unspecified time Pedometer"
}]
}]
}
}
Irrespective of this, the display in the expansion always goes in CodeableConcept.text .
In
addition
to
the
display,
a
concept
can
have
one
or
more
designation
elements.
The
display
is
equivalent
to
a
special
designation
with
an
implied
designation.use
of
"primary
code"
and
a
language
equal
to
the
Resource
Language
.
The
designations
can
provide
additional
displays
for
other
languages,
as
well
as
designations
for
other
purposes.
When
using
concepts,
applications
use
the
display
unless
the
language
or
usage
in
context
provides
a
reason
to
use
one
of
the
designations.
Value sets may select codes from multiple code systems - either by including codes from different systems, or importing other value sets that include them. A typical use for crossing code systems is when including a set of codes, and adding a few additional codes to cover cases not catered to by the included codes (e.g. Data missing or workflow error codes).
Best Practice Note: Mixing definitional systems offers the potential for confusing, overlapping, and inconsistent definitions. Creating value sets that cross code systems should be done with care to avoid creating definitional confusion.
Value sets should only include well differentiated concepts, but many value sets and code systems do not have well differentiated concepts because of various real world constraints.
A value set can be "expanded", where the definition of the value set is used to create a simple collection of codes suitable for use for data entry or validation. There is a defined operation $expand to ask a server to perform this expansion. Expansions are most useful when a value set includes all the codes in a code system, or a set of codes by filter.
A
resource
that
represents
a
value
set
expansion
includes
the
same
identification
details
as
the
definition
of
the
value
set,
and
MAY
include
the
definition
of
the
value
set
(
.compose
).
In
addition,
it
has
an
.expansion
element
which
contains
the
list
of
codes
that
constitute
the
value
set
expansion.
Each
contained
code
can
include
nested
contained
codes
-
see
below
for
further
discussion
.
When a request for an expansion is received (e.g., for the $expand operation), the following process should be followed:
.compose
),
return
an
error
valueSet
,
find
the
referenced
value
set
by
ValueSet.url,
expand
that
(e.g.,
using
the
$expand
operation:
GET
[base]/ValueSet/$expand$url=[compose.include.valueSet]),
The final "result set" is then represented in expansion . Note that the expansion structure is inherently ordered; this specification does not fix the meaning of use of the order. The conceptual approach described should not be understood to prohibit any implementation approach in these regards. In addition, note that the method described above is a conceptual approach; individual servers may choose to follow alternative approaches that are more efficient, as long as the outcome is the same.
The impact of Code System supplements on value set expansion - and therefore value set validation - is subject to ongoing experimentation and implementation testing, and further clarification and additional rules might be proposed in future versions of this specification.
The
expansion
MAY
be
hierarchical
-
that
is,
it
may
have
contains
element
that
contain
their
own
sub-elements,
to
any
level
of
depth.
This
specification
does
not
fix
the
meaning
of
the
hierarchy:
there
is
no
implication
about
the
logical
relationship
between
the
nested
contain
elements,
and
the
structure
cannot
be
used
for
logical
inferencing.
The
structure
exists
to
provide
navigational
assistance
for
helping
human
users
to
locate
codes
in
the
expansion.
There
is
an
example
of
use
of
a
hierarchical
expansion
.
Note
that
the
CodeSystem
resource
and
ValueSet.compose
offer
no
direct
support
for
defining
hierarchies
and
groups;
applications
may
want
to
take
advantage
of
the
expand-rules
and
expand-group
extensions
as
an
implementation
feature.
groups.
An
expansion
may
include
entries
in
the
expansion
that
only
serve
an
arbitrary
grouping
purpose,
to
make
it
easier
for
a
human
to
use
the
list.
These
entries
have
no
system
or
code,
and
must
be
marked
as
abstract.
Value set definitions may lead to more than one instruction to include a given concept in the value set across the includes and imports. No matter how many times the definitions include a concept, it is only present in the value set once, and will only appear once in a flat expansion of the value set. Note, however, that a concept may appear more than once in a nested hierarchy when the expansion is prepared for UI use (irrespective of how many times it is included in the definitions). Note that uniqueness is based on system/version/code; it is possible to include the same concept from different versions of a code system in the same expansion, though this is generally confusing for users and should be avoided.
The codes in the expansion should be treated as case sensitive - implementers should use the correct case. Implementers can consult the definition of the underlying code systems to determine whether the code system that defines the code is case sensitive or not.
It is important that expansions be identified properly. Any value set definition may produce an infinite number of expansions, depending on the operation parameters. Any expansions produced must be clearly identified so that there is no confusion. The following rules apply:
ValueSet.expansion.identifier
The
expansion
contains
a
set
of
parameters
in
ValueSet.expansion.parameter
that
record
what
controlled
the
expansion
process.
These
parameters
may
be
used
by
users
of
expanded
value
sets
to
check
whether
the
expansion
is
suitable
for
a
particular
purpose,
or
to
pick
the
correct
expansion.
The
server
decides
which
parameters
to
include
here,
return
in
ValueSet.expansion.parameter
,
but
at
a
minimum,
the
list
SHOULD
include
all
of
the
parameters
(server
default
and
provided)
that
affect
the
$expand
operation.
If
the
expansion
will
be
persisted
all
of
these
parameters
SHALL
be
included.
If
the
codeSystem
on
the
server
has
a
specified
version
then
this
version
SHALL
be
provided
as
a
parameter
in
the
expansion
(note
that
not
all
code
systems
have
a
version).
The following parameters are predefined by the $expand operation, and are suitable for use in the expansion parameters:
filter
|
A text filter that is applied to restrict the codes that are returned (this is useful in a UI context). The interpretation of this is delegated to the server in order to allow to determine the most optimal search approach for the context. The server can document the way this parameter works in TerminologyCapabilities ..expansion.textFilter. Typical usage of this parameter includes functionality like:
Text Search engines such as Lucene or Solr, long with their considerable functionality, might also be used. The optional text search might also be code system specific, and servers might have different implementations for different code systems |
date
|
The date for which the expansion should be generated. if a date is provided, it means that the server should use the value set / code system definitions as they were on the given date, or return an error if this is not possible. Normally, the date is the current conditions (which is the default value) but under some circumstances, systems need to generate an expansion as it would have been in the past. A typical example of this would be where code selection is constrained to the set of codes that were available when the patient was treated, not when the record is being edited. Note that which date is appropriate is a matter for implementation policy. |
offset
|
Paging support - where to start if a subset is desired (default = 0). Offset is number of records (not number of pages) |
count
|
Paging support - how many codes should be provided in a partial page view. Paging only applies to flat expansions - servers ignore paging if the expansion is not flat. If count = 0, the client is asking how large the expansion is. Servers SHOULD honor this request for hierarchical expansions as well, and simply return the overall count |
includeDesignations
|
Controls whether concept designations are to be included or excluded in value set expansions |
designation
|
A token that specifies a system+code that is either a use or a language. Designations that match by language or use are included in the expansion. If no designation is specified, it is at the server discretion which designations to return |
includeDefinition
|
Controls whether the value set definition is included or excluded in value set expansions |
activeOnly
|
Controls whether inactive concepts are included or excluded in value set expansions. Note that if the value set explicitly specifies that inactive codes are included, this parameter can still remove them from a specific expansion, but this parameter cannot include them if the value set excludes them |
excludeNested
|
Controls
whether
or
not
the
value
set
expansion
|
excludeNotForUI
|
Controls
whether
or
not
the
value
set
expansion
One
purpose
of
such
concepts
is
helping
a
user
navigate
through
the
list
|
excludePostCoordinated
|
Controls whether or not the value set expansion includes post coordinated codes |
displayLanguage
|
Specifies the language to be used for description in the expansions i.e. the language to be used for ValueSet.expansion.contains.display |
exclude-system
|
Code system, or a particular version of a code system to be excluded from the value set expansion. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56 |
system-version
|
Specifies a version to use for a system, if the value set does not specify which one to use. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56 |
check-system-version
|
Edge Case: Specifies a version to use for a system. If a value set specifies a different version, an error is returned instead of the expansion. The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56 |
force-system-version
|
Edge Case: Specifies a version to use for a system. This parameter overrides any specified version in the value set (and any it depends on). The format is the same as a canonical URL: [system]|[version] - e.g. http://loinc.org|2.56. Note that this has obvious safety issues, in that it may result in a value set expansion giving a different list of codes that is both wrong and unsafe, and implementers should only use this capability reluctantly. It primarily exists to deal with situations where specifications have fallen into decay as time passes. If the value is override, the version used SHALL explicitly be represented in the expansion parameters |
The count and offset parameters are important. If the expansion is a page out of the whole expansion, the offset and count parameters SHALL be populated. Clients can reliably use the count/offset parameters to determine whether the whole expansion is returned.
Other parameters that servers may be required to use:
[canonical]#CodeSystem.content
|
[content]
:
The
content
value
for
the
code
system
for
the
canonical
URL.
Applications
generating
expansions
SHALL
use
this
parameter
if
the
CodeSystem.content
value
is
"fragment"
|
[canonical1]#supplement
|
[canonical2] : Indicates that the specified supplement (canonical2) contributed to the content of the expansion for the code system canonical1 (by influencing selection, or providing designations). Applications generating expansions SHALL use this parameter to record that a supplement was used during the expansion process |
Beyond this, servers MAY define their own parameters, though Terminology server authors are requested to bring additional parameters to HL7 (via 'Propose a change' link below) in the interests of interoperability.
Servers can also create and store Provenance statements about the expansion, or AuditEvent records of the expansion process if further transparency is required. These resources can contain considerable detail about the various inputs to the process, and any significant decisions by the expansion engine. Further details around this (and profiles on the relevant resources) may be provided in future versions of this specification or related implementation guides.
Request for Feedback: The existing set of parameters are intended to cover the vast majority of use cases, but there are some cases where the parameters do not provide enough control to a client, particularly with regard to combinations of parameters, and the interplay between code system versions and other parameters. Implementers may need to define their own value sets to meet these requirements.
Ongoing feedback is welcome at [link to be provided]
Whether to store expanded value sets, or simply to store their definitions and expand on the fly is a matter for system deployment. Some servers, including public value sets servers, only store expansions. However, any system that stores an expansion must be concerned with how to determine whether the expansion is still current, and this requires deep knowledge of how the expansion was created. A system with a dedicated terminology server that returns expansions on demand avoids this problem, but leaves open the question of how to audit the specific expansion that was used for a particular case. One solution to this is to use a dedicated terminology server, and have the clients ask for expansions on demand based on the value set definitions, and for the server to store (and reuse as appropriate) the returned expansion (when it reuses the expansion, ValueSet.expansion.identifier will be the same). If expansions are shared, users need to be aware of how expansion identifiers (which may be server specific) work.
The
search
parameters
defined
on
ValueSet
include
the
code
parameter.
This
is
intended
to
allow
a
consumer
to
find
all
the
value
sets
that
include
a
particular
code.
However,
fully
evaluating
this
search
parameter
is
extremely
onerous
for
a
server.
Further,
whether
a
code
is
in
a
value
set
depends
on
the
context
in
which
expansions
are
performed
(see
the
$expand
operation).
For
this
reason,
the
degree
to
which
the
search
parameter
is
supported
can
be
declared
in
the
Terminology
Capability
statement.
Use cases for the different combinations:
.compose
only:
Provides
the
value
set
definition
(CLD).
This
is
the
expected
format
from
the
value
set
publisher.
.expansion
only:
Provides
the
value
set
expansion,
which
might
or
might
not
be
persisted
(see
4.8.7
Value
Set
Expansion
above).
The
"expansion
only"
format
may
be
returned
in
the
$expand
operation
output
(at
the
terminology
server's
discretion).
.compose
and
.expansion
:
The
terminology
server
often
may
include
the
definition
as
well
as
the
expansion
in
the
$expand
operation
output.
The
resource
instance
including
the
expansion
might
or
might
not
be
persisted.
.compose
nor
.expansion
:
This
is
a
valid
format
for
ValueSet
resource
instances.
A
primary
use
case
is
the
return
from
a
summary
search
(i.e.
_summary=true).
This
may
be
especially
useful
to
reduce
the
performance
overhead
when
returning
a
summary
of
extensionally
defined
value
sets
(which
may
include
a
large
number
of
concepts
in
the
value
set
definition).
Implicit value sets are those whose specification can be predicted based on the grammar of the underlying code system, and the known structure of the URL that identifies them. The implicit value set capability allows a single URL to serve as a value set definition, and can serve as the basis for the $expand operation and for other value set references. If any value set resources exist with an identifier that conforms to the specified implicit value set URL patterns, the content of the resource must conform to the template provided. Profiles and other value set references can reference these value sets directly (by reference as a URI, rather than by a literal value set reference).
Some (but not all) code systems have implicit value set URL patterns that have been defined and documented for use with FHIR terminology services. Particular FHIR terminology servers might or might not support any or all of these URL patterns.
Note to Balloters: At present, the TerminologyCapabilities resource does not provide a means for a terminology server to declare that it provides support for an implicit value set URL pattern. Ballot feedback is sought regarding whether this capability should be added to the TerminologyCapabilities resource.
The following links describe the currently defined FHIR implicit value set URL patterns for these listed code systems:
(SNOMED
CT
currently
has
the
most
extensive
set
of
defined
implicit
value
set
URL
patterns)




Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
| Name | Type | Description | Expression | In Common |
|
code
|
token | This special parameter searches for codes in the value set. See additional notes on the ValueSet resource | ValueSet.expansion.contains.code | ValueSet.compose.include.concept.code | |
|
context
|
token | A use context assigned to the value set | (ValueSet.useContext.value as CodeableConcept) | 30 Resources |
|
context-quantity
|
quantity | A quantity- or range-valued use context assigned to the value set | (ValueSet.useContext.value as Quantity) | (ValueSet.useContext.value as Range) | 30 Resources |
| context-type TU | token | A type of use context assigned to the value set | ValueSet.useContext.code | 30 Resources |
| context-type-quantity TU | composite | A use context type and quantity- or range-based value assigned to the value set |
On
ValueSet.useContext:
context-type: code context-quantity: |
30 Resources |
| context-type-value TU | composite | A use context type and value assigned to the value set |
On
ValueSet.useContext:
context-type: code context: |
30 Resources |
|
date
|
date | The value set publication date | ValueSet.date | 30 Resources |
|
|
reference | A resource that the ValueSet is derived from |
ValueSet.relatedArtifact.where(type='derived-from').resource
(Any) | 10 Resources |
| description | string | The description of the value set | ValueSet.description | 28 Resources |
|
|
date | The time during which the ValueSet is intended to be in use | ValueSet.effectivePeriod | 12 Resources |
| expansion | uri | Identifies the value set expansion (business identifier) | ValueSet.expansion.identifier | |
|
identifier
|
token | External identifier for the value set | ValueSet.identifier | 28 Resources |
|
jurisdiction
|
token | Intended jurisdiction for the value set | ValueSet.jurisdiction | 26 Resources |
|
name
|
string | Computationally friendly name of the value set | ValueSet.name | 26 Resources |
|
|
reference | The predecessor of the ValueSet |
ValueSet.relatedArtifact.where(type='predecessor').resource
(Any) | 10 Resources |
| publisher | string | Name of the publisher of the value set | ValueSet.publisher | 30 Resources |
|
reference
|
uri | A code system included or excluded in the value set or an imported value set | ValueSet.compose.include.system | |
|
status
|
token | The current status of the value set | ValueSet.status | 34 Resources |
|
title
|
string | The human-friendly name of the value set | ValueSet.title | 27 Resources |
|
|
token | Topics associated with the ValueSet | ValueSet.topic | 10 Resources |
| url | uri | The uri that identifies the value set | ValueSet.url | 33 Resources |
|
version
|
token | The business version of the value set | ValueSet.version | 30 Resources |