This
page
is
part
of
the
FHIR
Specification
(v4.3.0:
R4B
(v5.0.0-ballot:
R5
Ballot
-
STU
see
ballot
notes
).
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
| FHIR Infrastructure Work Group | Maturity Level : N/A | Standards Status : Informative | Compartments : Not linked to any defined compartments |
This is the narrative for the resource. See also the XML , JSON or Turtle format.
Note
that
this
operation
is
the
formal
definition
is:
http://hl7.org/fhir/OperationDefinition/Resource-validate
The
for
the
validate
operation
checks
whether
the
attached
content
would
be
acceptable
either
generally,
as
a
create,
an
update
or
as
a
delete
to
an
existing
resource.
The
action
the
server
takes
depends
OperationDefinition
on
Resource.
See
the
mode
parameter:
[mode
not
provided]:
The
server
checks
the
content
of
the
resource
against
any
schema,
constraint
rules,
and
other
general
terminology
rules
create:
The
server
checks
the
content,
and
then
checks
that
the
content
would
be
acceptable
as
a
create
(e.g.
that
the
content
would
not
violate
any
uniqueness
constraints)
update:
The
server
checks
the
content,
and
then
checks
that
it
would
accept
it
as
an
update
against
the
nominated
specific
resource
(e.g.
that
there
are
no
changes
to
immutable
fields
the
server
does
not
allow
to
change,
and
checking
version
integrity
if
appropriate)
delete:
The
server
ignores
the
content,
and
checks
that
the
nominated
resource
is
allowed
to
be
deleted
(e.g.
checking
referential
integrity
rules)
Modes
update
and
delete
can
only
be
used
when
the
operation
is
invoked
at
the
resource
instance
level.
The
return
from
this
operation
is
an
OperationOutcome
Operation
documentation
URL: [base]/Resource/$validate
URL: [base]/Resource/[id]/$validate
Parameters
| Use | Name | Cardinality | Type | Binding | Documentation |
| IN | resource | 0..1 | Resource |
Must be present unless the mode is "delete" |
|
| IN | mode | 0..1 | code |
|
Default is 'no action'; (e.g. general validation) |
| IN | profile | 0..1 |
|
If this is nominated, then the resource is validated against this specific profile. If a profile is nominated, and the server cannot validate against the nominated profile, it SHALL return an error |
|
| OUT | return | 1..1 | OperationOutcome |
If the operation outcome does not list any errors, and a mode was specified, then this is an indication that the operation would be expected to succeed (excepting for transactional integrity issues, see below) |
This operation may be used during design and development to validate application design. It can also be used at run-time. One possible use might be that a client asks the server whether a proposed update is valid as the user is editing a dialog and displays an updated error to the user. The operation can be used as part of a light-weight two phase commit protocol but there is no expectation that the server will hold the content of the resource after this operation is used, or that the server guarantees to successfully perform an actual create, update or delete after the validation operation completes.
This
operation
returns
a
200
OK
whether
or
not
the
resource
is
valid.
A
4xx
or
5xx
error
means
Ok
provided
that
the
it
was
possible
to
perform
validation,
irrespective
of
whether
validation
itself
could
not
be
performed,
and
issues
were
found.
However,
it
is
unknown
whether
possible
that
certain
errors
in
the
resource
is
valid
validated
content
(e.g.
invalid
character
set,
broken
JSON,
etc.)
may
cause
the
overall
validation
operation
to
fail
with
a
4xx
or
not.
5xx
series
response.
Note: the correct behaviour of validation with regard to language (especially for Coding.display) is currently undefined, and further development and testing may lead to specific requirements or recommendations in subsequent releases
Future versions of this specifcation may add additional validation parameters. A candidate list is maintained with the FHIR Validator Documentation
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.