This
page
is
part
of
the
FHIR
Specification
(v4.0.1:
R4
-
Mixed
Normative
and
STU
v6.0.0-ballot4:
Release
6
Ballot
(1st
Full
Ballot)
(see
Ballot
Notes
)
in
it's
permanent
home
(it
will
always
be
available
at
this
URL).
).
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
for
published
versions
|
Responsible
Owner:
|
Standards Status : Informative |
Compartments
:
|
This is the narrative for the resource. See also the XML , 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
url,
context
or
valueSet
must
be
provided.
One
(and
only
one)
of
formal
definition
for
the
in
parameters
code,
coding,
or
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 conformance registry that the server is using, but can be used to delegate the mapping from an application context to a binding at run-time |
||
| 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
|
|
| 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 | systemVersion | 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 using the display parameter in the outcome. Whether displays are case sensitive is code system dependent |
||
| 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 |
If
this
parameter
has
a
value
of
Note
that.
'abstract'
is
a
property
defined
by
many
HL7
code
systems
that
indicates
that
the
concept
is
a
logical
grouping
concept
that
is
not
intended
to
be
used
|
||
| 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 definition using the http://hl7.org/fhir/StructureDefinition/valueset-supplement | ||
| IN | lenient-display-validation | 0..1 | boolean |
When the 'lenient-display-validation' parameter is true, an invalid display string will not cause the 'result' output parameter to be 'false'. If the 'lenient-display-validation' parameter is false or absent, then an invalid display will cause the 'result' output parameter to be 'false', i.e. the validation will fail. | ||
| 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 system from evaluation of the value set definition. The inferSystem parameter is only to be used with the code parameter, and not with the coding nor codeableConcept parameters. | ||
| IN | system-version | 0..* | canonical |
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. Note that this is a different parameter to systemVersion |
||
| 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
| ||
| IN | default-valueset-version | 0..* | canonical |
Specifies
a
version
to
| ||
| IN | 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 expansion. 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 | ||
| 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
|
||
| 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
behaviour
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.