Join our next in-person Developer Meetup in Boston to explore Security & AI for Developers and Startups.

This event is hosted at CIC Venture Cafe.

Talk 1: When Prompts Become Payloads
Speaker: Mark-David McLaughlin, Director, Corporate Security, InterSystems

Talk 2: Serial Offenses: Common Vulnerability Types
Speaker: Jonathan Sue-Ho, Senior Security Engineer, InterSystems

>> Register here

0 0
0 4

Introduction

In my previous article, I introduced the FHIR Data Explorer, a proof-of-concept application that connects InterSystems IRIS, Python, and Ollama to enable semantic search and visualization over healthcare data in FHIR format, a project currently participating in the InterSystems External Language Contest.

In this follow-up, we’ll see how I integrated Ollama for generating patient history summaries directly from structured FHIR data stored in IRIS, using lightweight local language models (LLMs) such as Llama 3.2:1B or Gemma 2:2B.

The goal was to build a completely local AI pipeline that can extract, format, and narrate patient histories while keeping data private and under full control.

All patient data used in this demo comes from FHIR bundles, which were parsed and loaded into IRIS via the IRIStool module. This approach makes it straightforward to query, transform, and vectorize healthcare data using familiar pandas operations in Python. If you’re curious about how I built this integration, check out my previous article Building a FHIR Vector Repository with InterSystems IRIS and Python through the IRIStool module.

Both IRIStool and FHIR Data Explorer are available on the InterSystems Open Exchange — and part of my contest submissions. If you find them useful, please consider voting for them!

1 0
1 7

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 9
0 79

Introduction

In a previous article, I presented the IRIStool module, which seamlessly integrates the pandas Python library with the IRIS database. Now, I'm explaining how we can use IRIStool to leverage InterSystems IRIS as a foundation for intelligent, semantic search over healthcare data in FHIR format.

This article covers what I did to create the database for another of my projects, the FHIR Data Explorer. Both projects are candidates in the current InterSystems contest, so please vote for them if you find them useful.

You can find them at the Open Exchange:

In this article we'll cover:

  • Connecting to InterSystems IRIS database through Python
  • Creating a FHIR-ready database schema
  • Importing FHIR data with vector embeddings for semantic search

1 0
0 5
3 2
0 27

gj :: configExplorer is a new VS Code extension integrating with Server Manager and leveraging Structurizr to produce configuration diagrams of your servers.

Here's a short introductory video.

https://www.youtube.com/embed/WHkoZsg6P-A
[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]

2 2
0 34

With the rapid adoption of telemedicine, remote consultations, and digital dictation, healthcare professionals are communicating more through voice than ever before. Patients engaging in virtual conversations generate vast amounts of unstructured audio data, so how can clinicians or administrators search and extract information from hours of voice recordings?

0 1
0 32

Hey Community,

The InterSystems team put on our monthly Developer Meetup with a triumphant return to CIC's Venture Café, the crowd including both new and familiar faces. Despite the shakeup in both location and topic, we had a full house of folks ready to listen, learn, and have discussions about health tech innovation!

https://www.youtube.com/embed/-ER8dW6ZtQw
[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]

1 0
0 8

I have a class that extends %CSP.REST which made I deployed using $system.OBJ.MakeClassDeployed. After upgrading IRIS, the web app which uses that class no longer works with an ObjectScript error.

In the past, I fixed that problem by adding a dummy new line or a comment then recompiled that class. For this deployed class, I can't add a new line and recompile the class (the code shows up as locked in Studio). Simply running $system.OBJ.compile() is not fixing the web app issue.

Is there a way to edit a deployed class then recompile it?

0 1
0 14

Background

For a variety of reasons, users may wish to mount a persistent volume on two or more pods spanning multiple availability zones. One such use case is to make data stored outside of IRIS available to both mirror members in case of failover.

Unfortunately the built-in storage classes in most Kubernetes implementations (whether cloud or on-prem) do not provide this capability:

7 2
3 127

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

12 4
5 120

Hi Team,

Can I please check if anyone has built a simple web interface for maintaining custom SQL lookup class.

We have a simple persistent class in HealthShare which is used for storing Pathology test codes. Test codes in this lookup class is used for message filtering and applying additional logic when processing pathology results/orders.

0 0
0 24
Article
· Sep 16 14m read
High Availability IAM

One of the recommendations when deploying InterSystems Technologies for production is to set up High Availability. The recommended API Manager for these InterSystems Technologies is the InterSystems API Manager (IAM). IAM (essentially Kong Gateway) has multiple deployment topologies.

7 2
3 83

Hi Community,

I’m trying to execute a directory query in InterSystems IRIS using %SQL.Statement, but encountering an unexpected error.

Details:
The following command confirms that the directory exists:

Set dirPath="\\MYNETWORK_DRIVE\DFS-Shared_Product\GXM"
Write ##class(%File).DirectoryExists(dirPath)

It returns 1, meaning the path is valid and accessible.

However, when I try to execute this SQL query:

1 3
0 38

Since we reached two important milestones for Go developers working with InterSystems IRIS:

Now it’s time to see everything working together.

To demonstrate how easily Go developers can adopt InterSystems IRIS, I took an existing production-grade open-source project — the RealWorld Example App — which showcases a full-stack Medium.com-style clone implemented with Go Fiber, GORM, and SQLite.

RealWorld Example App

With just a few configuration tweaks, I swapped out SQLite for gorm-iris, keeping everything else unchanged. The result?
A fully functional Go + Fiber application powered by InterSystems IRIS — no code rewrites, no ORM gymnastics, just a different database backend.

You can find the complete working demo here: github.com/caretdev/golang-fiber-iris-realworld-example-app

3 1
1 20
Question
· Oct 6
MQTT IRIS Broker

Hi Guys,

I'm looking to setup an MQTT adapter that also acts as broker to connect directly to an MQTT clients, is there an IRIS adapter or client that can be used as Broker as well?

Thanks

1 1
0 15

If you thought native Go support for IRIS was exciting, wait until you see what happens when GORM enters the mix.


Just recently, we welcomed native GoLang support for InterSystems IRIS with the release of go-irisnative. That was just the beginning. Now, we’re kicking things up a notch with the launch of gorm-iris — a GORM driver designed to bring the power of Object Relational Mapping (ORM) to your IRIS + Go stack.

Why GORM?

GORM is one of the most popular ORM libraries in the Go ecosystem. It makes it easy to interact with databases using Go structs instead of writing raw SQL. With features like auto migrations, associations, and query building, GORM simplifies backend development significantly.

So naturally, the next step after enabling Go to talk natively with IRIS was to make GORM work seamlessly with it. That’s exactly what gorm-iris does.

4 4
1 60

Introduction

The InterSystems IRIS Data Platform has long been known for its performance, interoperability, and flexibility across programming languages. For years, developers could use IRIS with Python, Java, JavaScript, and .NET — but Go (or Golang) developers were left waiting.

Golang Logo

That wait is finally over.

The new go-irisnative driver brings GoLang support to InterSystems IRIS, implementing the standard database/sql API. This means Go developers can now use familiar database tooling, connection pooling, and query interfaces to build applications powered by IRIS.


Why GoLang Support Matters

GoLang is a language designed for simplicity, concurrency, and performance — ideal for cloud-native and microservices-based architectures. It powers some of the world’s most scalable systems, including Kubernetes, Docker, and Terraform.

Bringing IRIS into the Go ecosystem enables:

  • Lightweight, high-performance services using IRIS as the backend.
  • Native concurrency for parallel query execution or background processing.
  • Seamless integration with containerized and distributed systems.
  • Idiomatic database access through Go’s database/sql interface.

This integration makes IRIS a perfect fit for modern, cloud-ready Go applications.

6 2
0 55

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

Python Interoperability Productions @ Ready 2025

https://www.youtube.com/embed/TJ5zf3FsqjA
[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]

1 0
0 29

Why This Matters

Managing IAM can be tedious when done manually — especially when your APIs are already well-documented using OpenAPI (Swagger) specs. Wouldn't it be great if you could automatically generate Kong services and routes directly from your OpenAPI spec?

That's exactly what this ObjectScript method does: it reads an OpenAPI 2.0 spec stored in the XData block of your spec class and generates a decK-compatible YAML file that can be used to sync your IAM configuration.

2 0
2 26