This repository provides a Docker-based environment for training with FHIR (Fast Healthcare Interoperability Resources) using InterSystems IRIS for Health Community Edition.
By the end of this lab, you will have a fully functional environment for FHIR-based application development, including:
- A Dockerized IRIS for Health instance with FHIR support.
- Pre-configured FHIR datasets.
- A VS Code development environment with essential extensions.
- Integrated REST client tools for testing FHIR APIs.
Before proceeding, ensure you have the following installed:
-
Docker Desktop
- Download and install from: https://www.docker.com/products/docker-desktop
- Verify installation with:
docker --version
-
Visual Studio Code (VS Code)
- Install from: https://code.visualstudio.com/
- Recommended Extensions:
- REST Client (for API testing)
- Docker (for container management)
- Python (if using Python for FHIR clients)
First, clone this repository to your local machine:
git clone https://github.com/pjamiesointersystems/Dockerfhir.git
cd Dockerfhir
Before building, ensure you have the latest InterSystems IRIS for Health Community Edition image:
docker pull containers.intersystems.com/intersystems/irishealth-community:latest-em
To build the container from the Dockerfile in this repository, run:
docker-compose build
🔹 What this does:
- Creates a FHIR-enabled IRIS for Health container.
- Copies FHIR resources and scripts for automated setup.
- Configures CORS for FHIR API accessibility.
Once built, start the container with:
docker-compose up -d
🔹 This starts the container in detached mode (-d
), meaning it runs in the background.
Check running containers:
docker ps
You should see a container named iris-fhir running.
If the container fails to start, check the logs:
docker logs iris-fhir
Open your browser and go to:
👉 http://localhost:8080/csp/sys/UtilHome.csp
Login Credentials:
- Username:
_SYSTEM
- Password:
ISCDEMO
Test the FHIR endpoint by opening: 👉 http://localhost:8080/csp/healthshare/demo/fhir/r4/metadata
After installing the REST Client extension in VS Code, create a file fhir_test.http
with:
GET http://localhost:8080/csp/healthshare/demo/fhir/r4/Patient
Accept: application/fhir+json
Then click "Send Request" to test the FHIR API.
This repository contains:
FROM intersystems/irishealth-community:latest-cd
🔹 Uses InterSystems IRIS for Health Community Edition as the base image.
services:
iris-fhir:
build: .
container_name: iris-fhir
restart: unless-stopped
ports:
- "8080:52773" # Map local port 8080 to IRIS web port 52773
volumes:
- ./data:/data # Map local 'data' directory to '/data' inside container
environment:
ISC_DATA_DIRECTORY: /data/ifconfig
ISC_CPF_MERGE_FILE: /merge/CMF.cpf
entrypoint: ["/iris-main"]
🔹 Key Components:
- Port Mapping: Exposes IRIS Web UI and FHIR API on
localhost:8080
. - Volume Mounting: Maps the local
data/
directory to/data
in the container. - Entrypoint: Runs the IRIS instance at startup.
To stop the container:
docker-compose down
To restart:
docker-compose up -d
Issue | Solution |
---|---|
Container fails to start | Run docker logs iris-fhir to check errors. |
Can't access FHIR API | Ensure the container is running: docker ps |
Changes to the Dockerfile aren't applying | Run docker-compose up --build -d to rebuild and restart. |
✅ Test the FHIR API with VS Code REST Client.
✅ Develop Python-based FHIR clients using Jupyter Notebooks.
✅ Explore healthcare data modeling and interoperability with IRIS for Health.
🚀 Happy Coding! 🚀