This
page
is
part
of
the
FHIR
Specification
(v0.0.82:
(v1.0.2:
DSTU
1).
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
Formal
definitions
Detailed
Descriptions
for
the
elements
in
the
Conformance
resource.
Conformance | |
Definition |
A
conformance
statement
is
a
set
of
|
Control | 1..1 |
Invariants |
Defined
on
this
element
cnf-15 : Conformance statements of kind 'software' do not have implementation elements (xpath: not(exists(f:implementation)) or (f:kind/@value != 'capability')) cnf-2 : A Conformance statement SHALL have at least one of description, software, or implementation (xpath: count(f:software | f:implementation | f:description) > 0) |
| |
Definition |
An
absolute
URL
that
is
used
to
identify
this
conformance
statement
when
it
is
referenced
in
a
specification,
model,
design
or
an
|
Control | 0..1 |
Type |
|
Summary | true |
Conformance.version | |
Definition |
The identifier that is used to identify this version of the conformance statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the profile author manually and the value should be a timestamp. |
Note | This is a business versionId, not a resource identifier (see discussion ) |
Control | 0..1 |
Type | string |
Summary | true |
Comments |
There may be multiple different instances of a conformance statement that have the same identifier but different versions. |
Conformance.name | |
Definition |
A free text natural language name identifying the conformance statement. |
Control | 0..1 |
Type | string |
Summary | true |
Comments |
The name is not expected to be globally unique. |
| |
Definition |
The
status
of
|
Control |
|
Binding | ConformanceResourceStatus: The lifecycle status of a Value Set or Concept Map. ( Required ) |
Type |
|
Is Modifier | true |
Summary | true |
Comments | This is not intended for use with actual conformance statements, but where conformance statements are used to describe possible or desired systems. |
| |
Definition |
A
flag
to
indicate
that
this
conformance
|
Control | 0..1 |
Type | boolean |
Summary | true |
Comments | Allows filtering of conformance statements that are appropriate for use vs. not. |
Conformance.publisher | |
Definition |
The
|
Control | 0..1 |
Type | string |
Requirements | Helps establish the "authority/credibility" of the conformance. May also allow for contact. |
Summary | true |
Comments | Usually an organization, but may be an individual. This item SHOULD be populated unless the information is available from context. |
Conformance.contact | |
Definition |
Contacts
to
assist
a
|
Control | 0..* |
Summary | true |
Comments | May be a web site, an email address, a telephone number (tel:), etc. |
Conformance.contact.name | |
Definition | The name of an individual to contact regarding the conformance. |
Control | 0..1 |
Type | string |
Summary | true |
Comments | If there is no named individual, the telecom is for the organization as a whole. |
Conformance.contact.telecom | |
Definition | Contact details for individual (if a name was provided) or the publisher. |
Control | 0..* |
Type | ContactPoint |
Summary | true |
| |
Definition | The date (and optionally time) when the conformance statement was published. The date must change when the business version changes, if it does, and it must change if the status code changes. In addition, it should change when the substantive content of the conformance statement changes. |
Control | 1..1 |
Type | dateTime |
Summary | true |
Comments | Additional specific dates may be added as extensions. |
Conformance.description | |
Definition |
A
free
text
natural
language
description
of
the
conformance
statement
and
its
use.
Typically,
this
is
used
when
the
|
Control | 0..1 |
Type | string |
Summary | true |
Comments |
This
field
|
Invariants |
Affect
this
element
|
| |
Definition |
Explains
why
this
conformance
|
Control | 0..1 |
|
|
Comments |
This
|
| |
Definition |
A
|
Control | 0..1 |
Type |
|
Alternate Names |
|
| |
Definition |
The
|
Control | 1..1 |
Binding | ConformanceStatementKind: How a conformance statement is intended to be used. ( Required ) |
Type |
|
Requirements | Allow searching the 3 modes. |
Summary | true |
Conformance.software | |
Definition |
Software
that
is
covered
by
this
conformance
statement.
It
is
used
when
the
|
Control | 0..1 |
Summary | true |
Invariants |
Affect
this
element
|
Conformance.software.name | |
Definition |
Name software is known by. |
Control | 1..1 |
Type | string |
Summary | true |
Conformance.software.version | |
Definition |
The version identifier for the software covered by this statement. |
Note | This is a business versionId, not a resource identifier (see discussion ) |
Control | 0..1 |
Type | string |
Summary | true |
Comments |
If possible, version should be specified, as statements are likely to be different for different versions of software. |
Conformance.software.releaseDate | |
Definition |
Date this version of the software released. |
Control | 0..1 |
Type | dateTime |
Summary | true |
Conformance.implementation | |
Definition |
Identifies a specific implementation instance that is described by the conformance statement - i.e. a particular installation, rather than the capabilities of a software program. |
Control | 0..1 |
Summary | true |
Invariants |
Affect
this
element
|
Conformance.implementation.description | |
Definition |
Information about the specific installation that this conformance statement relates to. |
Control | 1..1 |
Type | string |
Summary | true |
Conformance.implementation.url | |
Definition |
An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. |
Control | 0..1 |
Type | uri |
Summary | true |
Conformance.fhirVersion | |
Definition |
The version of the FHIR specification on which this conformance statement is based. |
Control | 1..1 |
Type | id |
Summary | true |
Conformance.acceptUnknown | |
Definition |
A
|
Control | 1..1 |
Binding | UnknownContentCode: A code that indicates whether an application accepts unknown elements or extensions when reading resources. ( Required ) |
Type |
|
Summary | true |
Comments |
Unknown
elements
in
a
resource
Applications are recommended to accept unknown extensions and elements ('both'), but this is not always possible. |
Conformance.format | |
Definition |
A
list
of
the
formats
supported
by
this
|
Control | 1..* |
Binding |
|
Type | code |
Summary | true |
Comments |
"xml" or "json" are allowed, which describe the simple encodings described in the specification (and imply appropriate bundle support). Otherwise, mime types are legal here. |
Conformance.profile | |
Definition |
A
list
of
profiles
that
represent
different
use
cases
supported
by
the
system.
For
a
server,
"supported
by
the
system"
means
the
system
hosts/produces
a
set
of
|
Control | 0..* |
Type |
|
Comments |
Supported
profiles
are
different
to
the
profiles
that
apply
to
a
particular
resource
in
rest.resource.profile.
The
resource
profile
is
a
general
statement
of
what
features
of
the
resource
are
supported
overall
by
the
system
-
the
sum
total
of
the
facilities
it
supports.
A
supported
profile
is
a
deeper
statement
about
the
functionality
of
the
data
and
services
provided
by
the
server
(or
used
by
the
client).
A
typical
case
is
a
laboratory
system
that
produces
a
set
of
different
|
Conformance.rest | |
Definition |
A definition of the restful capabilities of the solution, if any. |
Control | 0..* |
Summary | true |
Comments |
Multiple repetitions allow definition of both client and / or server behaviors or possibly behaviors under different configuration settings (for software or requirements statements). |
Invariants |
Defined
on
this
element
|
Conformance.rest.mode | |
Definition |
Identifies whether this portion of the statement is describing ability to initiate or receive restful operations. |
Control | 1..1 |
Binding |
RestfulConformanceMode:
The
mode
of
a
RESTful
conformance
|
Type | code |
Summary | true |
Conformance.rest.documentation | |
Definition |
Information about the system's restful capabilities that apply across all applications, such as security. |
Control | 0..1 |
Type | string |
Conformance.rest.security | |
Definition |
Information
about
security
|
Control | 0..1 |
Conformance.rest.security.cors | |
Definition |
Server
adds
CORS
headers
when
responding
to
requests
-
this
enables
javascript
applications
to
|
Control | 0..1 |
Type | boolean |
Comments |
The easiest CORS headers to add are Access-Control-Allow-Origin: * & Access-Control-Request-Method: GET, POST, PUT, DELETE. All servers SHOULD support CORS. |
Conformance.rest.security.service | |
Definition |
Types of security services are supported/required by the system. |
Control | 0..* |
Binding |
RestfulSecurityService:
Types
of
security
services
used
with
|
Type | CodeableConcept |
Conformance.rest.security.description | |
Definition |
General description of how security works. |
Control | 0..1 |
Type | string |
Conformance.rest.security.certificate | |
Definition |
Certificates associated with security profiles. |
Control | 0..* |
Conformance.rest.security.certificate.type | |
Definition |
Mime type for certificate. |
Control | 0..1 |
Binding |
|
Type | code |
Conformance.rest.security.certificate.blob | |
Definition |
Actual certificate. |
Control | 0..1 |
Type | base64Binary |
Conformance.rest.resource | |
Definition |
A specification of the restful capabilities of the solution for a specific resource type. |
Control | 1..* |
Summary | true |
Comments |
Max of one repetition per resource type. |
Invariants |
Defined
on
this
element
|
Conformance.rest.resource.type | |
Definition |
A type of resource exposed via the restful interface. |
Control | 1..1 |
Binding | ResourceType: Any defined Resource Type name |
Type | code |
Summary | true |
Conformance.rest.resource.profile | |
Definition |
A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles]{profiling.html#profile-uses}. |
Control | 0..1 |
Type |
|
Comments |
The profile applies to all resources of this type - i.e. it is the superset of what is supported by the system. |
| |
Definition |
Identifies a restful operation supported by the solution. |
Control | 1..* |
| |
Definition |
Coded identifier of the operation, supported by the system resource. |
Control | 1..1 |
Binding |
|
Type | code |
| |
Definition |
Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. |
Control | 0..1 |
Type | string |
Requirements |
REST allows a degree of variability in the implementation of RESTful solutions that is useful for exchange partners to be aware of. |
| |
Definition | This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API. |
Control | 0..1 |
Binding | ResourceVersionPolicy: How the system supports versioning for a resource. ( Required ) |
Type | code |
Comments | If a server supports versionIds correctly, it SHOULD support vread too, but is not required to do so. |
Conformance.rest.resource.readHistory | |
Definition |
A flag for whether the server is able to return past versions as part of the vRead operation. |
Control | 0..1 |
Type | boolean |
Comments |
It is useful to support the vRead operation for current operations, even if past versions aren't available. |
Conformance.rest.resource.updateCreate | |
Definition |
A
flag
to
indicate
that
the
server
allows
or
needs
to
allow
the
client
to
create
new
identities
on
the
|
Control | 0..1 |
Type | boolean |
Comments |
Allowing
the
clients
to
create
new
identities
on
the
server
means
that
the
system
administrator
needs
to
have
confidence
that
the
clients
do
not
create
clashing
identities
between
them.
Obviously,
if
there
is
only
one
client,
this
won't
happen.
While
creating
identities
on
the
client
means
that
the
clients
need
to
be
managed,
it's
much
more
convenient
for
many
|
| |
Definition | A flag that indicates that the server supports conditional create. |
Control | 0..1 |
Type | boolean |
Comments | Conditional Create is mainly appropriate for interface engine scripts converting from other formats, such as v2. |
Conformance.rest.resource.conditionalUpdate | |
Definition | A flag that indicates that the server supports conditional update. |
Control | 0..1 |
Type | boolean |
Comments | Conditional Update is mainly appropriate for interface engine scripts converting from other formats, such as v2. |
Conformance.rest.resource.conditionalDelete | |
Definition | A code that indicates how the server supports conditional delete. |
Control | 0..1 |
Binding | ConditionalDeleteStatus: A code that indicates how the server supports conditional delete. ( Required ) |
Type | code |
Comments | Conditional Delete is mainly appropriate for interface engine scripts converting from other formats, such as v2. |
Conformance.rest.resource.searchInclude | |
Definition |
A list of _include values supported by the server. |
Control | 0..* |
Type | string |
Comments |
If this list is empty, the server does not support includes. |
| |
Definition | A list of _revinclude (reverse include) values supported by the server. |
Control | 0..* |
Type | string |
Comments | If this list is empty, the server does not support includes. |
Conformance.rest.resource.searchParam | |
Definition |
Search
parameters
for
implementations
to
support
and/or
make
use
|
Control | 0..* |
Invariants |
cnf-13 : Search parameters can only have chain names when the search parameter type is 'reference' (xpath: not(exists(f:chain)) or (f:type/@value = 'reference')) |
Conformance.rest.resource.searchParam.name | |
Definition |
The name of the search parameter used in the interface. |
Control | 1..1 |
Type | string |
Comments |
Parameter names cannot overlap with standard parameter names, and standard parameters cannot be redefined. |
Conformance.rest.resource.searchParam.definition | |
Definition |
An
absolute
URI
that
is
a
formal
reference
to
where
this
parameter
was
first
defined,
so
that
a
client
can
be
confident
of
the
meaning
of
the
search
|
Control | 0..1 |
Type | uri |
Comments |
This
|
Conformance.rest.resource.searchParam.type | |
Definition |
The type of value a search parameter refers to, and how the content is interpreted. |
Control | 1..1 |
Binding |
SearchParamType:
Data
types
allowed
to
be
used
for
search
|
Type | code |
Comments |
While
this
can
be
looked
up
from
the
definition,
it
is
included
here
as
a
convenience
for
systems
that
|
Conformance.rest.resource.searchParam.documentation | |
Definition |
This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. |
Control | 0..1 |
Type | string |
Conformance.rest.resource.searchParam.target | |
Definition |
Types of resource (if a resource is referenced). |
Control | 0..* |
Binding | ResourceType: Any defined Resource Type name |
Type | code |
Comments |
This SHALL be the same as or a proper subset of the resources listed in the search parameter definition. |
| |
Definition | A modifier supported for the search parameter. |
Control | 0..* |
Binding | SearchModifierCode: A supported modifier for a search parameter. ( Required ) |
Type | code |
Conformance.rest.resource.searchParam.chain | |
Definition |
Contains
the
names
|
Control | 0..* |
Type | string |
Comments | Systems are not required to list all the chain names they support, but if they don't list them, clients may not know to use them. |
| |
Definition |
A specification of restful operations supported by the system. |
Control | 0..* |
| |
Definition |
A coded identifier of the operation, supported by the system. |
Control | 1..1 |
Binding |
|
Type | code |
| |
Definition |
Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. |
Control | 0..1 |
Type | string |
| |
Definition |
A code that indicates how transactions are supported. |
Control |
|
| TransactionMode: A code that indicates how transactions are supported. ( Required ) |
Type |
code
|
Default Value | not-supported |
| |
Definition |
Search
parameters
that
are
supported
for
searching
all
resources
for
implementations
to
support
and/or
make
use
of
|
Control |
|
Type |
|
Comments | Typically, the only search parameters supported for all parameters are search parameters that apply to all resources - tags, profiles, text search etc. |
| |
Definition |
Definition
of
an
operation
or
|
Control |
|
| |
Definition |
The
name
of
a
query,
which
is
used
in
the
_query
parameter
when
the
query
|
Control |
|
Type | string |
Comments | The name here SHOULD be the same as the name in the definition, unless there is a name clash and the name cannot be used. |
| |
Definition |
Where
the
|
Control |
|
Type |
|
Comments |
This
|
| |
Definition |
An
absolute
URI
which
is
|
Control | 0..* |
Type | uri |
Comments |
At
present,
the
|
Conformance.messaging | |
Definition |
A description of the messaging capabilities of the solution. |
Control | 0..* |
Comments |
Multiple repetitions allow the documentation of multiple endpoints per solution. |
Invariants |
|
Conformance.messaging.endpoint | |
Definition |
An
|
Control |
|
Alternate Names | 3 |
Conformance.messaging.endpoint.protocol | |
Definition | A list of the messaging transport protocol(s) identifiers, supported by this endpoint. |
Control | 1..1 |
Binding | MessageTransport: The protocol used for message transport. ( Extensible ) |
Type |
|
Conformance.messaging.endpoint.address | |
|
The network address of the end-point. For solutions that do not use network addresses for routing, it can be just an identifier. |
| 1..1 |
Type |
uri
|
Conformance.messaging.reliableCache | |
Definition |
Length if the receiver's reliable messaging cache in minutes (if a receiver) or how long the cache length on the receiver should be (if a sender). |
Control | 0..1 |
Type |
|
Comments |
If this value is missing then the application does not implement (receiver) or depend on (sender) reliable messaging. |
Conformance.messaging.documentation | |
Definition |
Documentation about the system's messaging capabilities for this endpoint not otherwise documented by the conformance statement. For example, process for becoming an authorized messaging exchange partner. |
Control | 0..1 |
Type | string |
Conformance.messaging.event | |
Definition |
A
description
of
the
solution's
support
for
an
event
at
this
|
Control | 1..* |
Comments |
The same event may be listed up to two times - once as sender and once as receiver. |
To Do | Need to add follow-ups and need to do more to flesh out messaging dynamic model. |
Conformance.messaging.event.code | |
Definition |
A coded identifier of a supported messaging event. |
Control | 1..1 |
Binding | MessageEvent: the Event List in the messaging framework |
Type | Coding |
To Do | May need a profile id as well if profiles can define message events. |
Conformance.messaging.event.category | |
Definition |
The impact of the content of the message. |
Control | 0..1 |
Binding |
MessageSignificanceCategory:
The
impact
of
the
content
of
a
|
Type | code |
Conformance.messaging.event.mode | |
Definition |
The mode of this event declaration - whether application is sender or receiver. |
Control | 1..1 |
Binding |
ConformanceEventMode:
The
mode
of
a
message
conformance
|
Type | code |
| |
Definition |
A resource associated with the event. This is the resource that defines the event. |
Control | 1..1 |
Binding | ResourceType: Any defined Resource Type name |
Type | code |
Comments |
This SHALL be provided if the event type supports multiple different resource types. |
Conformance.messaging.event.request | |
Definition |
Information about the request for this event. |
Control | 1..1 |
Type |
|
Conformance.messaging.event.response | |
Definition |
Information about the response for this event. |
Control | 1..1 |
Type |
|
Conformance.messaging.event.documentation | |
Definition |
Guidance on how this event is handled, such as internal system trigger points, business rules, etc. |
Control | 0..1 |
Type | string |
Conformance.document | |
Definition |
A document definition. |
Control | 0..* |
Invariants |
Affect
this
element
|
Conformance.document.mode | |
Definition |
Mode of this document declaration - whether application is producer or consumer. |
Control | 1..1 |
Binding |
DocumentMode:
Whether
the
application
produces
or
consumes
|
Type | code |
Conformance.document.documentation | |
Definition |
A description of how the application supports or uses the specified document profile. For example, when are documents created, what action is taken with consumed documents, etc. |
Control | 0..1 |
Type | string |
Conformance.document.profile | |
Definition |
A constraint on a resource used in the document. |
Control | 1..1 |
Type |
|
Comments |
The first resource is the document resource. |