This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
The
current
version
which
supercedes
this
version
is
5.0.0
.
For
a
full
list
Continuous
Integration
Build
of
available
versions,
see
FHIR
(will
be
incorrect/inconsistent
at
times).
See
the
Directory
of
published
versions
.
Page
versions:
R5
R4B
R4
R3
R2
|
Responsible
Owner:
|
|
Compartments
:
|
This
is
the
narrative
for
the
resource.
See
also
the
XML
or
,
JSON
or
Turtle
format.
Note
that
a
coded
value
is
in
the
set
of
codes
allowed
by
a
value
set.
If
the
operation
this
is
not
called
at
the
instance
level,
one
of
the
in
parameters
"identifier"
or
"valueset"
must
be
provided.
One
(and
only
one)
of
formal
definition
for
the
in
parameters
(code,
coding,
codeableConcept)
must
be
provided.
The
validate-code
operation
returns
a
result
(true
/
false),
as
an
error
message,
and
the
recommended
display
for
OperationDefinition
on
ValueSet.
See
the
code
Operation
documentation
Generated Narrative: OperationDefinition ValueSet-validate-code
URL: [base]/ValueSet/$validate-code
URL: [base]/ValueSet/[id]/$validate-code
| Use | Name | Scope | Cardinality | Type | Binding | Documentation |
| IN | url | type | 0..1 | uri |
Value set Canonical URL. The server must know the value set (e.g. it is defined explicitly in the server's value sets, or it is defined implicitly by some code system known to the server |
|
| IN | context | 0..1 | uri |
The
context
of
the
value
set,
so
that
the
server
can
resolve
this
to
a
value
set
to
validate
against.
The
recommended
format
for
this
URI
is
[Structure
Definition
URL]#[name
or
path
into
structure
definition]
e.g.
http://hl7.org/fhir/StructureDefinition/observation-hspc-height-hspcheight#Observation.interpretation.
Other
forms
may
be
used
but
are
not
defined.
This
form
is
only
usable
if
the
terminology
server
also
has
access
to
the
|
||
| IN | valueSet | type | 0..1 | ValueSet |
The value set is provided directly as part of the request. Servers may choose not to accept value sets in this fashion. This parameter is used when the client wants the server to expand a value set that is not stored on the server |
|
| IN | valueSetVersion | type | 0..1 | string | The identifier that is used to identify a specific version of the value set to be used when validating the code. This is an arbitrary value managed by the value set author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available | |
| IN | code | 0..1 | code |
The code that is to be validated. If a code is provided, a system or a context must be provided (if a context is provided, then the server SHALL ensure that the code is not ambiguous without a system) |
||
| IN | system | 0..1 | uri |
The system for the code that is to be validated |
||
| IN |
|
0..1 | string |
The
version
of
the
system,
if
one
was
provided
in
the
source
|
||
| IN | display | 0..1 | string |
The
display
associated
with
the
code,
if
provided.
If
a
display
is
provided
a
code
must
be
provided.
If
no
display
is
provided,
the
server
cannot
validate
the
display
value,
but
may
choose
to
return
a
recommended
display
name
|
||
| IN | coding | 0..1 | Coding |
A coding to validate |
||
| IN | codeableConcept | 0..1 | CodeableConcept |
A full codeableConcept to validate. The server returns true if one of the coding values is in the value set, and may also validate that the codings are not in conflict with each other if more than one is present |
||
| IN | date | 0..1 | dateTime |
The date for which the validation should be checked. Normally, this is the current conditions (which is the default values) but under some circumstances, systems need to validate that a correct code was used at some point 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. |
||
| IN | abstract | 0..1 | boolean |
Note
that.
'abstract'
is
a
property
defined
by
many
HL7
code
systems
that
indicates
that
the
concept
is
| ||
| IN | displayLanguage | 0..* | code | Specifies the language for display validation. Note: the display value only needs to match 1 displayLanguage in order for the validate operation to return true. | ||
| IN | useSupplement | 0..* | canonical |
The
supplement
must
be
used
when
validating
the
code.
Use
of
this
parameter
should
result
in
$validate-code
behaving
the
same
way
as
if
the
supplements
were
included
in
the
value
set
| ||
| IN | lenient-display-validation | 0..1 | boolean |
When
the
'lenient-display-validation'
parameter
is
| ||
| IN | valueset-membership-only | 0..1 | boolean | When 'true', the server will not perform the additional validation tasks beyond validating membership in the value set (e.g. the server won't check displays, etc.) | ||
| IN | inferSystem | 0..1 | boolean |
If
true,
the
terminology
server
is
required
to
infer
the
| ||
| IN | system-version | 0..* | canonical |
Specifies
a
version
to
use
for
a
system,
if
the
value
set
|
||
| IN | check-system-version | 0..* | canonical | 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 |
||
| IN | default-valueset-version |
|
canonical |
|
Specifies a version to use for a valueset, if the reference to the value set does not specify which version to use. The format is the same as a canonical URL: [system]|[version] - e.g. http://example.org/ValueSet/example|1.0.0. Note that this is similar to the force-system-version parameter but applied to valuesets | |
|
|
check-valueset-version | 0..* | canonical |
Edge
Case:
Specifies
a
version
to
use
for
a
valueset.
If
a
reference
to
a
value
set
specifies
a
different
version,
an
error
is
returned
instead
of
the
| ||
| IN | force-valueset-version | 0..* | canonical | Edge Case: Specifies a version to use for a valueset. This parameter overrides any specified version in the reference to the value set (and any it depends on). The format is the same as a canonical URL: [system]|[version] - e.g. http://example.org/ValueSet/example|1.0.0. 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 overridden, the version used SHALL explicitly be represented in the expansion parameters. Note that this is similar to the force-system-version parameter but applied to valuesets. | ||
| IN | manifest | 0..1 | canonical ( Library ) |
Specifies
an
library
that
provides
expansion
rules
for
the
operation.
The
library
has
an
extension
expansionParameters
that
references
a
contained
Parameters
resource
that
contains
additional
$expand
parameters.
See
the
[CRMI
specification
description
of
manifests]https://hl7.org/fhir/uv/crmi/STU1/StructureDefinition-crmi-manifestlibrary.html)
and
CRMI
expansion
rules
for
a
complete
description
|
||
| IN | tx-resource | 0..* | Resource | One or more additional resources that are referred to from the value set provided with the $expand or $validate-code invocation. These may be additional value sets or code systems that the client believes will or may be necessary to perform the operation. Resources provided in this fashion are used preferentially to those known to the system, though servers may return an error if these resources are already known to the server (by URL and version) but differ from that information on the server. | ||
| OUT | result | 1..1 | boolean |
True if the concept details supplied are valid |
||
| OUT | message | 0..1 | string |
Error details, if result = false. If this is provided when result = true, the message carries hints and warnings |
||
| OUT | display | 0..1 | string |
A valid display for the concept if the system wishes to display this to a user |
||
| OUT | code | 0..1 | code | The code that was validated | ||
| OUT | system | 0..1 | uri | The system for the code that was validated | ||
| OUT | version | 0..1 | string | The version of the system of the code that was validated | ||
| OUT | codeableConcept | 0..1 | CodeableConcept | A codeableConcept containing codings for all the validated codes | ||
| OUT | issues | 0..1 | OperationOutcome | List of itemised issues with paths constrained to simple FHIRPath. Examples are CodeableConcept, CodeableConcept.coding[0], CodeableConcept.coding[1].display, or Coding.display |
Note: the correct behavior of validation with regard to language for Coding.display items is currently undefined, and further development and testing may lead to specific requirements or recommendations in subsequent releases
Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.