InterSystems IRIS for Health™ helps you build your FHIR applications quickly and seamlessly. With FHIR® and InterSystems IRIS for Health, you can easily:
Watch the video above or try the exercise below.
In this exercise, you will load a sample integration solution that consumes healthcare data — both FHIR resources and HL7 v2 messages — and stores it to a FHIR repository within InterSystems IRIS for Health. You will then retrieve small, discrete FHIR resources such as a patient or a medication, allowing you to optimize your application to work with just the data you need.
FHIRSERVERnamespace and navigate to Health > FHIR Configuration > Server Configuration to create a FHIR R4 server endpoint that stores FHIR data as JSON in a FHIR resource repository. Click the plus sign (+) and enter the following settings:
/csp/healthshare/fhirserver/fhir/r4endpoint you just created and set the Service Config Name to
HS.FHIRServer.Interop.Service. Select Allow Unauthenticated Access and click Update.
FHIRServernamespace and view the preloaded production by going to Interoperability > Configure > Production. Click Start to run the production.
set $namespace = "FHIRSERVER" set sc = ##class(HS.FHIRServer.Tools.DataLoader).SubmitResourceFiles("/home/project/shared/samples-integration-FHIR/R4/data/fhir_json_data","FHIRServer", "/csp/healthshare/fhirserver/fhir/r4")
FHIR resources are especially useful for low-bandwidth situations, such as on mobile devices. Other healthcare standards often send more data than is needed. However, using FHIR with InterSystems IRIS for Health you can send a single resource, such as a patient, medication, or observation. InterSystems IRIS for Health includes a flexible base implementation of a FHIR server that conforms to the official FHIR specification. See an example in the next several steps.
$everything. Add this to the end of your URL:
In the previous section, you queried data that was already stored to the InterSystems IRIS for Health FHIR repository. Let’s see how easy it is to consume FHIR data, store it to the FHIR repository, and retrieve it again.
Body: Copy the example from the FHIR website.
If successful, you should get a 201 Created message.
Need to expose your data as FHIR? Using InterSystems IRIS for Health, HL7 v2 data can be consumed, converted to FHIR, and stored in a FHIR repository or sent to other FHIR applications. In this step, you will consume an ADT_A01 HL7 v2 message, store it to the FHIR repository, and then use REST to query for the FHIR resource.
ADT_A01.txtfile, located in
shared/samples-integration-FHIR/R4/Infolder. InterSystems IRIS for Health will consume this file, convert the contents to FHIR resources, and store the data to the FHIR repository.
SampleFilesfolder, you will notice the message contains information about the patient Jane Carter. Using the REST client again, you can search for the resource for Jane:
EnsLib.HL7.Service.FileServiceservice consumed the file and is the starting point for this trace. It then sends the HL7 input message to the
Demo.FHIRHL7ToFHIRRequestBPLprocess, which uses a BPL to extract Patient MRN from the incoming message and to subsequently transform the HL7 message into a bundle of FHIR resources (via
HS.FHIR.DTL.Util.HC.SDA3.FHIR.Process), using the Patient MRN as the patient resource ID. Then, the transformed output is sent to
HS.FHIR.Interop.Operations, which internally stores the FHIR resources in the FHIR repository.
HS.Util.Trace.Operationscomponent allows you to display the actual contents of the FHIR message in the Contents pane on the right. Can you find the given name of the patient?
HS.FHIRServer.Interop.Service. This is because during initial setup, the FHIR server endpoint’s Service Config Name setting was set to
HS.FHIRServer.Interop.Service, and this optional setting allows all FHIR REST messages — such as FHIR search requests — to flow through an interoperability production before reaching the internal FHIR server core.
Watch a demonstration of the exercise above.