FHIR – GET Data From Server
In this Post you learn how to communicate to the Remote FHIR server and get the data into Mirth Interface Engine.
Mirth version : 3.4.2. (Note: In the latest version 3.5, there is a very sufficient capability to consume FHIR resources separately. There is also FHIR reader/listener available as source connector.)
Create a channel with a name “FHIR -fetcher”:
- The purpose of this channel is to send the GET request to the remotely hosted FHIR server and get the information from it.
- Navigate to the Destination tabs of that channel and select HTTP sender as the option.
- In the URL tabs, insert this link https://fhirtest.uhn.ca/baseDstu3/Observation/66b0787a-b0c6-4f58-bf6b-ff5f7129658e/_history/2?_pretty=true
- Select No for using Proxy server
- Click GET method. Leave the rest to the default variable as it is.
Now navigate to the channels tab, right click on this channel and select deploy. Once the channel is deployed, right clicked on the deployed channel and send some dummy data. Now the channel will fetch the data you will have Received 1 and sent 1. This shows that your channel communicates to the remote server and gets the FHIR data successfully.
- Double click on the deployed channel, select the SENT message and click Response radio button now you will find the data received from the FHIR remote server.
The response from the FHIR remote server for the request we have given will look like below.
Now a little bit about the server itself. What is this remote server?:
- This remote server can be accessed through this link http://fhirtest.uhn.ca/ This is a FHIR test server sponsored and developed by United Health Network from California.
- On the left hand side of the page you can find lot of resources been available such as Observation, Condition, Immunization, Procedure, Care Plan etc.
- Select any one of them (I’ve used Observation in this example), you can select any them of your choice.
- Once resource is selected, On the right hand side you can see a blue button with the “Search” on it. Click on that as shown below
In the right hand side you can see a panel showing REQUEST with a specific URL and their characteristics being listed below. This URL is not the same URL we have used above. In-fact this URL is completely different. This is called BUNDLE resource URL. If you do a GET request on this URL you will get a complete JSON bundle of all the resources we have made it up so far.
You can scroll down to see the RAW message on the same page, and that is the JSON message we will be getting, this will be rough combination of all the Observation been made.
If we want to get a specific Observation of a resource, then we have to use any of the links provided in the Result Body panel. by default it will list only 20 URLS to be used. You can extend that content as well. The URL that I have used in the above to GET the data is one such thing. You can find my URL using the Unique ID that URL contains. In the above example my URL contains 66b0787a-b0c6-4f58-bf6b-ff5f7129658e as unique ID. Do the browser find to find this URL.
If you click on the READ blue button near to the URL that will take you to another page where you will have RAW message in the Result Body Area. That is where you can find the message that we will be getting inside the Mirth as well.