This page is part of the FHIR Specification (v1.6.0: STU 3 Ballot 4). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions
This resource has 3 operations associated with it:
$subset | Fetch a subset of the conformance resource |
$implements | Test if a server implements a client's required operations |
$conforms | Test if a server implements a client's required operations |
For more information about operations, including how they are invoked, see Operations.
This operation asks the server to return a subset of the conformance resource - just the REST parts that relate to a set of nominated resources - the resources that the client is interested in
Formal Definition (as a OperationDefinition).
URL: [base]/Conformance/$subset
URL: [base]/Conformance/[id]/$subset
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 | Conformance | The subsetted conformance 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 |
This operation asks the server to check that it implements all the resources, interactions, search parameters, and operations that the client provides in it's conformance statement. The client provides it's conformance statement inline, or by referring the server to the canonical URL of it's conformance statement
Formal Definition (as a OperationDefinition).
URL: [base]/Conformance/$implements
URL: [base]/Conformance/[id]/$implements
In Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
server | 0..1 | uri | The canonical URL for the server conformance statement - use this if the subset is not invoked on an instance (or on the /metadata end-point) | ||
client | 0..1 | uri | The canonical URL for the client conformance statement - use this if the subset is not invoked on an instance (or on the /metadata end-point) | ||
resource | 0..1 | Conformance | The client conformance statement, provided inline | ||
Out Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
return | 1..1 | OperationOutcome | Outcome of the conformance test | ||
issues | 1..1 | OperationOutcome | Outcome of the conformance test | ||
union | 0..1 | Bundle | The intersection of the functionality described by the conformance resources | ||
intersection | 0..1 | Bundle | The union of the functionality described by the conformance resources |
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 conformance statement must have an entry for each resource in the client's conformance statement * The servers' resource support must have matching flags for updateCreate, conditionalCreate, conditionalRead, conditionalUpdate, conditionalDelete, searchInclude, searchRevInclude * The server conformance statement must have a matching interaction for each interaction in the client conformance 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 conformance statement * The server must have an operation definitions with a matching reference for any operations in the client conformance statement
If the conformance 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 conformance statement doesn't match, the return value is a 4xx error, with an OperationOutcome with at least one issue with severity >= error
This operation asks the server to check that it implements all the resources, interactions, search parameters, and operations that the client provides in it's conformance statement. The client provides both conformance statements by reference, and must ensure that all the referenced resources are available to the conformance server
Formal Definition (as a OperationDefinition).
URL: [base]/Conformance/$conforms
In Parameters: | |||||
Name | Cardinality | Type | Binding | Profile | Documentation |
left | 0..1 | uri | The canonical URL for the server conformance statement - use this if the subset is not invoked on an instance (or on the /metadata end-point) | ||
right | 0..1 | uri | The canonical URL for the client conformance statement - use this if the subset is not invoked on an instance (or on the /metadata end-point) | ||
mode | 0..1 | code | What kind of comparison to preform - server cf server, or client to server (use the codes 'server/server' or 'client/server') |
The operation performs a full comparison of the functionality described by the two conformance 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 conformance statements can be successfully compared, then the return value is a 200 OK with an OperationOutcome along with intersection and union conformance statements. The operation outcome can contain errors relating to differences between the conformance statements. If the conformance 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