Table of Contents

  1. Purpose of the article
  2. What containers are and why they make sense with IRIS
     2.1 Containers and images in a nutshell
     2.2 Why containers are useful for developers
     2.3 Why IRIS works well with Docker
  3. Prerequisites
  4. Installing the InterSystems IRIS image
     4.1 Using Docker Hub
     4.2 Pulling the image
  5. Running the InterSystems IRIS image
     5.1 Starting an IRIS container
     5.2 Checking container status
     5.3 Executing code in the container terminal
     5.4 Accessing the IRIS Management Portal
     5.5 Connecting the container to VS Code
     5.6 Stopping or removing the container
     5.7 Setting a specific password with a bind mount
     5.8 Using durable %SYS volumes
      5.8.1 What gets stored with durable %SYS
      5.8.2 How to enable durable %SYS
  6. Using Docker Compose
     6.1 Docker Compose example
     6.2 Running Docker Compose
  7. Using a Dockerfile to run custom source code
     7.1 Dockerfile example
     7.2 Docker Compose example
     7.3 Understanding layers, image tagging and build vs. run time
     7.4 Source code and init script
     7.5 Building the image with Dockerfile
     7.6 Running instructions in the containerized IRIS terminal
  8. Conclusion and what’s next

16 9
10 428
Article
· Apr 15, 2025 6m read
FHIR environment setup guide

I know that people who are completely new to VS Code, Git, Docker, FHIR, and other tools can sometimes struggle with setting up the environment. So I decided to write an article that walks through the entire setup process step by step to make it easier to get started.

I’d really appreciate it if you could leave a comment at the end - let me know if the instructions were clear, if anything was missing, or if there’s anything else you'd find helpful.

The setup includes:

✅ VS Code – Code editor
✅ Git – Version control system
✅ Docker – Runs an instance of IRIS for Health Community
✅ VS Code REST Client Extension – For running FHIR API queries
✅ Python – For writing FHIR-based scripts
✅ Jupyter Notebooks – For AI and FHIR assignments

Before you begin: Ensure you have administrator privileges on your system.

In addition to reading the guide, you can also follow the steps in the videos:

For Windows

https://www.youtube.com/embed/IyvuHbxCwCY
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

6 2
2 408

img

This will be an introduction to Python programming in the context of IRIS.

Before anything I will cover an important topic: How python works, this will help you understand some issues and limitations you may encounter when working with Python in IRIS.

All the articles and examples can be found in this git repository: iris-python-article

9 0
3 229

Over time, while I was working with Interoperability on the IRIS Data Platform, I developed rules for organizing a project code into packages and classes. That is what is called a Naming Convention, usually. In this topic, I want to organize and share these rules. I hope it can be helpful for somebody.

7 4
4 143

Table of Contents

  1. Introduction
  2. Version Control
  3. Exporting Classes
  4. Exporting BI Analytics classes
  5. Exporting globals

Introduction.

In this article, we'll cover a quick start to Git development with the InterSystems Developer Community and version control practices when working with IRIS InterSystems. We'll cover scenarios where we need to export Interoperability classes, globals, and analytics elements such as cubes and dashboards. These scenarios encompass key version control practices with IRIS.

To get started, you'll need:

  1. Register and log in to GitHub
  2. Be a member of the intersystems-community organization on Git

Getting started with IRIS InterSystems is very simple!

6 0
6 197

I know the next ones:

1. Place all different settings in environment variables. You have a different .env file for each environment, and you must add some code to Production for reading and setting these values. It's good for deploying into containers, but challenging for management when we have a large production. I mean, we have many settings that can vary depending on the environment: active flag, pool size, timeouts, and so on. Not only endpoints.

1 10
0 175

Hi,

Just thought I'd share quite a handy hook that has helped me out when developing on Health Connect Cloud with VS Code and GitBash. When developing on Health Connect Cloud, if changes are made directly on the server such as routing rules or component deployments, they aren't automatically included in source control, therefore you must export from the server into your local files and push to your remote repo. I'm sure there are easier methods to deal with that which I'm in the process of testing, but as a quick solution I thought it would be handy have a pre-commit hook which triggers a reminder in GitBash - see below.

6 1
1 153

We are a group of interface analysts in a healthcare setting, running IRIS for Health 2024, having upgraded over time from an old ENSEMBLE environment. We have been working on a wish list of development goals, but are having trouble finding the correct, best practice method/path for getting to what we envision.

1 10
0 141

Hello All,

I have used github (outside of IRIS) for many many years and have no problem with it. Also used SVN and other source control systems.

I have a conceptual problem understanding the ISC github links and how they work via VSCode.

https://github.com/intersystems/git-source-control

Our server is on Linux.

What I've done:

1. On Linux Server - d ##class(SourceControl.Git.API).Configure()

1 3
0 144

I'd like to ask you for recommendations on how to properly use repository dependencies when using VSCode and Client-side editing.
Suppose I have projects A, B and C, with A being independent, B depending on A, and C depending on A and B.
I am currently working with the main project C, and I want to be able to contribute to all the other projects in a single VSCode window (instead of opening three instances). How do you solve this problem? Git submodules? ZPM? Something else?

0 1
0 113

Hi everyone,

I’m working with an existing InterSystems IRIS server that hosts several web applications and namespace-specific code and data. I’d like to reverse-engineer the current environment into a %Installer.Manifest file so I can store it in Git and manage its changes.

My goal is to:

2 1
2 102