This
page
is
part
of
the
FHIR
Specification
(v3.0.2:
STU
3).
(v3.3.0:
R4
Ballot
2).
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
Test
if
a
server
implements
a
client's
required
operations
For
more
information
about
operations,
including
how
they
are
invoked,
see
Operations
.
5.2.12.1
Fetch
a
subset
of
the
CapabilityStatement
resource
This
operation
asks
the
server
to
return
a
subset
of
the
CapabilityStatement
resource
-
just
the
REST
parts
that
relate
to
a
set
of
nominated
resources
-
the
resources
that
the
client
is
interested
in
The
official
URL
for
this
operation
definition
is
http://hl7.org/fhir/OperationDefinition/CapabilityStatement-subset
Formal
Definition
(as
a
OperationDefinition
).
URL:
[base]/CapabilityStatement/$subset
URL:
[base]/CapabilityStatement/[id]/$subset
This
is
an
idempotent
operation
In
Parameters:
Name
Cardinality
Type
Binding
Profile
Documentation
server
0..1
uri
The
canonical
URL
-
use
this
if
the
subset
is
not
invoked
on
an
instance
(or
on
the
/metadata
end-point)
resource
1..*
code
A
resource
that
the
client
would
like
to
include
in
the
return
Out
Parameters:
Name
Cardinality
Type
Binding
Profile
Documentation
return
1..1
CapabilityStatement
The
subsetted
CapabilityStatement
resource
that
is
returned.
This
should
be
tagged
with
the
SUBSETTED
code
Note:
as
this
the
only
out
parameter,
it
is
a
resource,
and
it
has
the
name
'return',
the
result
of
this
operation
is
returned
directly
as
a
resource
5.2.12.1.1
Examples
Request
a
subset
of
Patient
capabilities
from
a
known
CapabilityStatement
(Request):
POST [base]/CapabilityStatement/example/$subset
[other headers]
<Parameters xmlns="http://hl7.org/fhir">
<parameter>
<name value="resource"/>
<valueCode value="Patient"/>
</parameter>
</Parameters>
Response:
HTTP/1.1 200 OK
[other headers]
<?xml version="1.0" encoding="UTF-8"?>
<CapabilityStatement xmlns="http://hl7.org/fhir">
<id value="example"/>
<meta>
<tag>
<system value="http://hl7.org/fhir/v3/ObservationValue"/>
<code value="SUBSETTED"/> <display value="subsetted"/>
</tag>
</meta>
<rest>
<resource>
<type value="Patient"/>
<interaction>
<code value="read"/>
</interaction>
<interaction>
<code value="vread"/>
<documentation value="Only supported for patient records since 12-Dec 2012"/>
</interaction>
<interaction>
<code value="update"/>
</interaction>
<interaction>
<code value="history-instance"/>
</interaction>
<interaction>
<code value="create"/>
</interaction>
<interaction>
<code value="history-type"/>
</interaction>
<versioning value="versioned-update"/>
<readHistory value="true"/>
<updateCreate value="false"/>
<conditionalCreate value="true"/>
<conditionalUpdate value="false"/>
<conditionalDelete value="not-supported"/>
<searchInclude value="Organization"/>
<searchRevInclude value="Person"/>
<searchParam>
<name value="identifier"/>
<definition value="http://hl7.org/fhir/SearchParameter/Patient-identifier"/>
<type value="token"/>
<documentation value="Only supports search by institution MRN"/>
</searchParam>
<searchParam>
<name value="careprovider"/>
<definition value="http://hl7.org/fhir/SearchParameter/Patient-careprovider"/>
<type value="reference"/>
</searchParam>
</resource>
</rest>
</CapabilityStatement>
5.2.12.2
Test
if
a
server
implements
a
client's
required
operations
This
operation
asks
the
server
to
check
that
it
implements
all
the
resources,
interactions,
search
parameters,
and
operations
that
the
client
provides
in
its
capability
statement.
The
client
provides
its
capability
statement
inline,
or
by
referring
the
server
to
the
canonical
URL
of
its
capability
statement
The
official
URL
for
this
operation
definition
is
http://hl7.org/fhir/OperationDefinition/CapabilityStatement-implements
Formal
Definition
(as
a
OperationDefinition
).
URL:
[base]/CapabilityStatement/$implements
URL:
[base]/CapabilityStatement/[id]/$implements
This
is
an
idempotent
operation
In
Parameters:
Name
Cardinality
Type
Binding
Profile
Documentation
server
0..1
uri
The
canonical
URL
for
the
server
capability
statement
-
use
this
if
the
implements
is
not
invoked
on
an
instance
(or
on
the
/metadata
end-point)
client
0..1
uri
The
canonical
URL
for
the
client
capability
statement
-
use
this
if
the
implements
is
not
invoked
on
an
instance
(or
on
the
/metadata
end-point)
resource
0..1
CapabilityStatement
The
client
capability
statement,
provided
inline
Out
Parameters:
Name
Cardinality
Type
Binding
Profile
Documentation
return
1..1
OperationOutcome
Outcome
of
the
CapabilityStatement
test
Note:
as
this
the
only
out
parameter,
it
is
a
resource,
and
it
has
the
name
'return',
the
result
of
this
operation
is
returned
directly
as
a
resource
The
operation
does
not
perform
a
full
conformance
check;
in
particular
it
does
not
check
that
the
profiles
align.
It
merely
checks
that
the
behaviors
the
client
wishes
to
use
are
provided
Technically,
this
operation
is
implemented
as
follows:
*
The
server's
capability
statement
must
have
an
entry
for
each
resource
in
the
client's
capability
statement
*
The
servers'
resource
support
must
have
matching
flags
for
updateCreate,
conditionalCreate,
conditionalRead,
conditionalUpdate,
conditionalDelete,
searchInclude,
searchRevInclude
*
The
server
capability
statement
must
have
a
matching
interaction
for
each
interaction
in
the
client
capability
statement
(whether
or
not
it
is
on
a
resource)
*
The
server
must
have
a
search
parameter
with
matching
name
and
definition
for
any
search
parameters
in
the
client
capability
statement
*
The
server
must
have
an
operation
definitions
with
a
matching
reference
for
any
operations
in
the
client
capability
statement
If
the
capability
statements
match
by
these
rules,
then
the
return
value
is
a
200
OK
with
an
operation
outcome
that
contains
no
issues
with
severity
>=
error.
If
the
capability
statement
doesn't
match,
the
return
value
is
a
4xx
error,
with
an
OperationOutcome
with
at
least
one
issue
with
severity
>=
error
5.2.12.2.1
Examples
Request
a
CapabilityStatement
implements
comparison
between
a
client
and
server
systems
(Request):
POST [base]/CapabilityStatement/$implements
[other headers]
<Parameters xmlns="http://hl7.org/fhir">
<parameter>
<name value="server"/>
<valueUri value="http://server.example.org/fhir/metadata"/>
</parameter>
<parameter>
<name value="client"/>
<valueUri value="http://client.example.org/fhir/metadata"/>
</parameter>
</Parameters>
Response:
HTTP/1.1 200 OK
[other headers]
<?xml version="1.0" encoding="UTF-8"?>
<OperationOutcome xmlns="http://hl7.org/fhir">
<id value="implementsok"/>
<text>
<status value="additional"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Server http://server.example.org/fhir/metadata implements client http://client.example.org/fhir/metadata capabilities.</p>
</div>
</text>
<issue>
<severity value="information"/>
<code value="informational"/>
<details>
<text value="Server http://server.example.org/fhir/metadata implements client http://client.example.org/fhir/metadata capabilities."/>
</details>
</issue>
</OperationOutcome>
5.2.12.3
Test
if
a
server
implements
a
client's
required
operations
This
operation
asks
the
server
to
check
that
it
implements
all
the
resources,
interactions,
search
parameters,
and
operations
that
the
client
provides
in
its
capability
statement.
The
client
provides
both
capability
statements
by
reference,
and
must
ensure
that
all
the
referenced
resources
are
available
to
the
conformance
server
The
official
URL
for
this
operation
definition
is
http://hl7.org/fhir/OperationDefinition/CapabilityStatement-conforms
Formal
Definition
(as
a
OperationDefinition
).
URL:
[base]/CapabilityStatement/$conforms
This
is
an
idempotent
operation
In
Parameters:
Name
Cardinality
Type
Binding
Profile
Documentation
left
0..1
uri
The
canonical
URL
for
the
left-hand
system's
capability
statement
right
0..1
uri
The
canonical
URL
for
the
right-hand
system's
capability
statement
mode
0..1
code
What
kind
of
comparison
to
perform
-
server
to
server,
or
client
to
server
(use
the
codes
'server/server'
or
'client/server')
Out
Parameters:
Name
Cardinality
Type
Binding
Profile
Documentation
issues
1..1
OperationOutcome
Outcome
of
the
CapabilityStatement
test
union
0..1
CapabilityStatement
The
intersection
of
the
functionality
described
by
the
CapabilityStatement
resources
intersection
0..1
CapabilityStatement
The
union
of
the
functionality
described
by
the
CapabilityStatement
resources
The
operation
performs
a
full
comparison
of
the
functionality
described
by
the
two
capability
statements,
including
the
profiles
and
value
sets
they
reference,
and
also
including
concept
maps
and
structure
maps.
The
full
execution
of
this
operation
is
still
a
matter
of
research,
but
it
is
intended
to
support
comparison
of
systems
to
see
if
they
will
interoperate
If
the
capability
statements
can
be
successfully
compared,
then
the
return
value
is
a
200
OK
with
an
OperationOutcome
along
with
intersection
and
union
capability
statements.
The
operation
outcome
can
contain
errors
relating
to
differences
between
the
capability
statements.
If
the
capability
statements
cannot
be
compared,
because
dependencies
cannot
be
located,
the
return
value
is
a
4xx
error,
with
an
OperationOutcome
with
at
least
one
issue
with
severity
>=
error
5.2.12.3.1
Examples
Request
a
CapabilityStatement
conforms
comparison
between
two
server
systems
(Request):
POST [base]/CapabilityStatement/$conforms
[other headers]
<Parameters xmlns="http://hl7.org/fhir">
<parameter>
<name value="left"/>
<valueUri value="http://server1.example.org/fhir/metadata"/>
</parameter>
<parameter>
<name value="right"/>
<valueUri value="http://server2.example.org/fhir/metadata"/>
</parameter>
<parameter>
<name value="mode"/>
<valueCode value="server/server"/>
</parameter>
</Parameters>
Response:
HTTP/1.1 200 OK
[other headers]
<?xml version="1.0" encoding="UTF-8"?>
<OperationOutcome xmlns="http://hl7.org/fhir">
<id value="conformsnotok"/>
<text>
<status value="additional"/>
<div xmlns="http://www.w3.org/1999/xhtml">
<p>Request timeout waiting for server http://server1.example.org/fhir/metadata CapabilitieStatement.</p>
</div>
</text>
<issue>
<severity value="error"/>
<code value="timeout"/>
<diagnostics value="Request timeout waiting for server http://server1.example.org/fhir/metadata CapabilitieStatement."/>
</issue>
</OperationOutcome>