FHIR Endpoint Module
The FHIR Endpoint module is an HTTP Server (i.e. a web server) that allows external clients to interact with the FHIR Storage module.
When creating a FHIR Endpoint module, you must first choose which version of FHIR it will support. There are multiple types of FHIR Endpoint modules, and each one supports a specific version of FHIR. The version of FHIR must match the version of FHIR supported by the FHIR Storage module.
There are only a few settings that absolutely must be set when creating this module:
8000
).http://acme.org:8000
).When processing incoming resources (i.e. for create, update, etc.) some basic details about the resource provenance are captured in Resource.meta.source
. Smile CDR stores both the Source System URI (typically the identity of the system that was used to create the data) as well as the Transaction ID (typically a unique identifier for the specific HTTP request involved).
When Smile CDR is storing FHIR data (using a FHIR Storage module) these two fields are automatically combined using a hash symbol. For example, given a Source System URI of http://example.com/some-app
and a Transaction ID of 000001
the system might capture the following value:
{
"resourceType": "Patient",
"meta": {
"source": "http://example.com/some-app#000001"
}
}
It is possible to supply both of these properties using HTTP Request Headers in environments where it is easier to capture/inject this data using network infrastructure. The following two headers may be used:
X-Request-ID
– Supplies the Transaction ID.X-Request-System
– Supplies the Source System ID. The process_request_header.request_source_enabled
property must be enabled on the module in order to use this header.See Storing Source Information for information on how this information is stored and how it can be used for searching.
You can configure a FHIR endpoint to validate resources as they enter or leave the system (i.e. request and response payloads). See Endpoint Validation for information.
A complete reference of configuration items follows: