FHIR Endpoint Customization
FHIR Endpoint modules (including the standard FHIR Endpoint module, as well as including Hybrid Providers and FHIR Gateway modules) can be customized in order to provide the functionality and experience you need.
The Allowed Interactions setting can be used to customize the specific FHIR interactions which are available through a FHIR Endpoint module. This is typically used in cases where an endpoint is being made available for a specific purpose (e.g. a read-only API for specific resource types) and all unrelated interactions should not appear in the generated CapabilityStatement and OpenApi documentation.
Values for this setting are a whitespace- or newline-separated list of interaction specifications, using the following possible formats:
Patient:create
allows the Patient create operation (i.e. POST /Patient
).$diff
permits the Diff Operation to be applied at both the server and instance-level.Note that the spec does not differentiate between the read
and vread
interactions. If one is permitted the other will also be permitted.
For example, the following allowed interactions spec allows read-only access to two resource types as well as access to the diff and validation operations:
Patient:read
Patient:search
Patient:history
Observation:read
Observation:search
Observation:history
$diff
$validate
FHIR Servers produce a CapabilityStatement resource document which describes electronically the capabilities that the server offers.
In order to customize your server's appearance:
Smile CDR has an option to remove specified resource types from the patient compartment for specific operations.
This can be useful in cases where the returned resources allowed by the specification are more extensive than what is desired.
This can be done by setting either of the following properties in the persistence module.
module.persistence.operation_resource_filtering.file={file location}
module.persistence.operation_resource_filtering.text={JSON text}
The required mapping is provided via JSON.
The following example shows how to exclude the Group
and List
resources from results of the $everything
operation.
{
"mapping": {
"$everything": [ "Group", "List" ]
}
}
This filtering is available on the following operations:
$everything
$export
You are about to leave the Smile Digital Health documentation and navigate to the Open Source HAPI-FHIR Documentation.