Open Health Hub FHIR Implementation Guide
0.1.0 - v0.1.0
Open Health Hub FHIR Implementation Guide - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
We support 2 different types of clients to access our FHIR APIs:
In the following sections we’ll show the following icons for the different types of client that could use that API:
Data centered clients are mainly used to invite participants for a program created in the Form Designer and to retrieve the (encrypted) responses to the questionnaires.
After setting up accounts and clients the standard flow for a data centered client is:
The data centered client starts with inviting a participant by creating a CarePlan. Once the participant is registered for this program, he can fill out the questionnaires in a form filler.
The next step is retrieving the QuestionnaireResponse for a participant. This can be done by polling for new responses, but the preferred way is using Subscriptions to get notified about new responses.
Once the responses are retrieved, they need to be decrypted to read the actual answers given by the participant.
Person centered clients are used to present the programs and questionnaires to the participant and capture the responses of the participant.
After setting-up accounts and clients the standard flow for a person centered client is:
The person centered client might start with retrieving all CarePlans for a participant. The CarePlan contains all tasks the participant should complete for this specific program. For every task there is a Questionnaire that the participant should fill out.
After the participant has filled out the Questionnaire, the person centered client should have a complete QuestionnaireResponse with all the given answers. To provide this response to the Open Health Hub FHIR API, the response should be encrypted. For encrypting, the client will need the public keys of the participants in the program. These can be retrieved as part of the CarePlan, as part of a CareTeam, or as a list of Practitioners.
Once the QuestionnaireResponse is encrypted, the client needs to send a Bundle of QuestionnaireResponses (one response per public key/participant), to the Open Health Hub FHIR API. This will fulfill the task of the CarePlan, optionally triggering new tasks.
You can use the Open Health Hub FHIR APIs to access the Open Health Hub Platform to interact with questionnaires, forms, and information.
Get familiar with our FHIR REST APIs and FHIR Client Example Repository. You can play with our sandbox with the listed credentials.
Learn more about FHIR via the following links:
Our Postman Collection offers a great start at discovering our FHIR REST APIs in a sandbox environment. It is pre-configured with the sandbox credentials (api-key, openid credentials), so you can start right away:
Now you can start making requests and view the results in the console.
To generate FHIR API credentials for the live environment:
For more information about authentication, see the section below.
You can design your own questionnaires and participant instructions which you can use for your app project using the Open Health Hub Form Designer.
Start building your own App project using this documentation and our example FHIR Client Example Repository.
Open Health Hub uses API keys and OpenID Connect to allow access to the FHIR API. After getting an account, you or one of your colleagues can get the API Key from the Open Health Hub Manager.
The Open Health Hub FHIR API expects the API key and OpenID Connect access token to be included in all API requests to the server in a header, or as a request parameter on the url.
For the sandbox environment this looks as follows:
X-API-KEY: ad880601-b7e6-4d86-901d-b6fca96fc725https://api.openhealthhub.com/OpenHealthhub/fhir/4/CarePlan/1?apikey=ad880601-b7e6-4d86-901d-b6fca96fc725Authorization: Bearer <access_token_retrieved_from_oidc_server>ad880601-b7e6-4d86-901d-b6fca96fc725 with your personal API key.
You can retrieve the access token header from the token endpoint using the fields below. In some cases the language’s FHIR library will take care of this. You’ll need to set these values in your code then.
https://auth.openhealthhub.com/auth/realms/OpenHealthHub/protocol/openid-connect/tokenapi-sandbox95810e52-4307-41f5-99a4-d873ab63b536client_credentials