In addition to the out-of-the box data adapters available to all interopiO™ users, we provide the ability for clients to integrate their own solutions for surfacing data through an interopiO™ FHIR® gateway.
A custom data adapter is a Java class or set of classes that provides:
- an API that supports the FHIR® API
- authentication to the client's datasource
- data operations from the FHIR® API to the client's datasource
- responses as FHIR® resources
An example of a custom data adapter for the FHIR® Patient read operation:
@Read()
public Patient read(@IdParam IdType theId, HttpServletRequest request) {
// authenticate to the proprietary datasource
...
// business logic to fetch patient
Object clientPatient = ...
// map the result to FHIR
Patient fhirPatient = ...
// return the patient as a FHIR resource
return fhirPatient;}
Using this model, interopiO™ will ensure that apps only see standards-based authentication and data access, while the data adapter takes care of non-standard authentication and data mapping.
Building a Custom Data Adapter
We provide a starter project and test FHIR® server for building custom data adapters. Once implementation of the data adapter is compete, and as new releases become available, we will integrate the data adapter with the interopiO™ platform and make them available to your account. They will then be available for configuration to interopiO™ gateways.
Testing a Custom Data Adapter
The starter project extends the HAPI FHIR® resource provider framework and includes a FHIR® server to test your custom data adapters. When you start the test HAPI FHIR® server, your test FHIR® API will be available at the path:
<domain>/eda/{standard}/{standard_version}/{data_adapter_id}
Where:
- {standard} - The standard this data adapter server supports. Possible values are:
- fhir
- {standard_version} - The release version of the standard being implemented in the data adapter server. Possible values are:
- dstu2
- stu3
- r4
- {data_adapter_id} - This is an identifier unique to this data implementation used to identify it among all data adapters on the interopiO™ platform. This id will be assigned by the interopiO™ team.
Custom Data Adapters at Runtime
After we have deployed your custom data adapter into the interopiO platform, you will be able to map it to an interopiO™ gateway and/or resources on a gateway. interopiO™ will then send messages through the gateway to your custom data adapter.
Configuration:
Every data adapter, whether custom or inbuilt with interopiO™ will need to be configured against an interopiO™ gateway in order for FHIR® calls to be made through this data adapter as needed by a SMART application. At this time, once a data adapter is deployed and available to be configured, please reach out to have Interopion engineers complete these steps.
Data Adapter Java SDK
We maintain a Java SDK for clients interested in building a custom data adapter using the Java programming language. The SDK is responsible for passing data access, configuration, and security context details back and forth between the custom data adapter and the interopiO™ gateway.
It handles:
- Making context and configuration available as a Plain Old Java Object (POJO).
- Making this context POJO available to the all resource providers where business/mapping logic is implemented.
- Serializing, encoding and returning a response from the data adapter back to the test server or finally the interopiO™ platform.
Adding the interopiO™ SDK to a servlet-based data adapter FHIR® server requires registering the InteropioDataAdapterFilter responsible for handling context information.
Comments
Article is closed for comments.