Written by

Senior Startups and Community Programs Manager at InterSystems Corporation
Article Evgeny Shvarov · Mar 27, 2023 1m read

The Fastest and the Simplest Way to Install a Local FHIR Server

Hi folks!

Recently I was in need to setup a local FHIR server using IRIS For Health and I think I found the easiest and simplest way ever.

Just run in terminal these two lines below :

docker run --rm --name my-iris -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/irishealth-community

and

docker exec -it my-iris iris session iris -U "USER" '##class(%ZPM.PackageManager).Shell("install fhir-server")'

And you'll have FHIR server running locally at http://localhost:9092/fhir/r4.

That's it!

The FHIR server will use the latest build of InterSystems IRIS for Health Community Edition and will deploy FHIR server from this app via IPM package in  FHIRSERVER namespace.

This is for Mac, so please add in comments how it works in Windows.

This is a very short article as it is really easy to setup a local FHIR server with InterSystems IRIS for Health and IPM Package Manager.

Comments

Iain MacDonald · Mar 30, 2023

On Windows, run the lines in a cmd window. The first can be run without modification, but to run the second line use this escaping:

docker exec -it my-iris iris session iris -U "USER" "##class(%ZPM.PackageManager).Shell("""install fhir-server""")"
0
Jose-Tomas Salvador  Apr 3, 2023 to Iain MacDonald

This command fails for me in Windows (calling it from Powershell)... I got an invalid argument error... 

also using the \ to escape the quotes...

I think the blank space it's the culprit here... how should we escape it?

0
Dmitry Maslennikov  Apr 3, 2023 to Jose-Tomas Salvador

The issue is in quotes, try some other combination. Your whole call in single quotes, then you don't need to escape double quotes inside

0
Jose-Tomas Salvador  Apr 4, 2023 to Dmitry Maslennikov

Did you try it in Windows? 

I've tried all the combinations I can imagine... it only works if I take out the blank space. I've created a method JTS.test:write() that just accepts an string an write it to the console... see the results... it works without space in the firts 2 executions escaping as @Iain MacDonald 
 suggested with triple quotes """ and also with \" ... but it fails when we introduce a blank space in the string:

I'm pretry sure it'll be something stupid... but I don't know what.

0
Evgeny Shvarov · Dec 19, 2023

The update on simplicity:

$ docker run --rm --name iris-demo -d  intersystemsdc/irishealth-community

$ docker exec -it iris-demo iris session iris

USER>zpm "install fhir-server"

That's it!

0