Home Products iris-fhir-template

iris-fhir-template

5
2 reviews
1.2k
Views
3
5
Details
Releases
Reviews
Issues
Pull requests
Articles
Dependants
FHIR Server template for InterSystems IRIS for Health

What's new in this version

  1. modified fhirtemplate.SQLvar.cls to import the SQLProc in User package (SQLUser schema) in order to properly run GetJSON, GetProp functions
  2. modified misc/sql/example.sql by renaming HSFHIR_I0001_S/R with correct HSFHIR_X0001_S/R

Thanks to Sylvain's PR

Gitter
Quality Gate Status
Reliability Rating

iris-fhirserver-template

This is the base template for using InterSystems IRIS for Health Community Edition as a FHIR Server

It setups a FHIR SERVER, imports the test data, demoes REST API usage with a simple web page.

Prerequisites

Make sure you have git and Docker desktop installed.

Installation

IPM

Open IRIS for Health installation with IPM client installed. Call in any namespace:

USER>zpm "install fhir-server"

This will install FHIR server in FHIRSERVER namespace.

Or call the following for installing programmatically:

set sc=$zpm("install fhir-server")

Docker (e.g. for dev purposes)

Clone/git pull the repo into any local directory

$ git clone https://github.com/intersystems-community/iris-fhir-template.git

Open the terminal in this directory and run:

$ docker-compose up -d

Patient data

The template goes with 5 preloaded patents in /data/fhir folder which are being loaded during docker build
You can generate more patients doing the following. Open shel terminal in repository folder and call:

#./synthea-loader.sh 10

this will create 10 more patients in data/fhir folder.
Then open IRIS terminal in FHIRSERVER namespace with the following command:

docker-compose exec iris iris session iris -U FHIRServer

and call the loader method:

FHIRSERVER>d ##class(fhirtemplate.Setup).LoadPatientData("/irisdev/app/output/fhir","FHIRSERVER","/fhir/r4")

with using the following project

Testing FHIR R4 API

Open URL http://localhost:32783/fhir/r4/metadata
you should see the output of fhir resources on this server

Testing Postman calls

Get fhir resources metadata
GET call for http://localhost:32783/fhir/r4/metadata
Screenshot 2020-08-07 at 17 42 04

Open Postman and make a GET call for the preloaded Patient:
http://localhost:32783/fhir/r4/Patient/1
Screenshot 2020-08-07 at 17 42 26

Testing FHIR API calls in simple frontend APP

the very basic frontend app with search and get calls to Patient and Observation FHIR resources could be found here:
http://localhost:32783/fhirUI/FHIRAppDemo.html
or from VSCode ObjectScript menu:
Screenshot 2020-08-07 at 17 34 49

While open the page you will see search result for female anemic patients and graphs a selected patient’s hemoglobin values:
Screenshot 2020-08-06 at 18 51 22

Development Resources

InterSystems IRIS FHIR Documentation
FHIR API
Developer Community FHIR section

What’s inside the repository

Dockerfile

The simplest dockerfile which starts IRIS and imports Installer.cls and then runs the Installer.setup method, which creates IRISAPP Namespace and imports ObjectScript code from /src folder into it.
Use the related docker-compose.yml to easily setup additional parametes like port number and where you map keys and host folders.
Use .env/ file to adjust the dockerfile being used in docker-compose.

.vscode/settings.json

Settings file to let you immedietly code in VSCode with VSCode ObjectScript plugin)

.vscode/launch.json

Config file if you want to debug with VSCode ObjectScript

Troubleshooting

ERROR #5001: Error -28 Creating Directory /usr/irissys/mgr/FHIRSERVER/
If you see this error it probably means that you ran out of space in docker.
you can clean up it with the following command:

docker system prune -f

And then start rebuilding image without using cache:

docker-compose build --no-cache

and start the container with:

docker-compose up -d

This and other helpful commands you can find in dev.md

Read more
Made with
Install
zpm install fhir-server download archive
Version
1.3.201 Feb, 2024
Category
Template
Works with
InterSystems IRIS for Health
First published
07 Aug, 2020