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 12
InterSystems Developer Community is a community of 24,767 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!
3 2
0 44

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 35

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 11

Hi, Community!

🌤 Wondering about the potential benefits of moving to the cloud? Hear from our experts about:

Considerations for Adopting Health Connect Cloud

https://www.youtube.com/embed/d1u2ouDxKjs?utm_source=youtube&utm_medium=social&utm_campaign=d1u2ouDxKjs
[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]

0 0
0 12

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 23

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 132

Dear Developers,

InterSystems has two GitHub organizations, and each serves a different purpose. Here’s a quick guide to help you navigate them:


🔹 InterSystems GitHub (github.com/intersystems)

This is the official InterSystems organization on GitHub. Here you will find:

  • SDKs, libraries, and tools officially supported by InterSystems
  • Official connectors and APIs
  • Code samples and examples that demonstrate InterSystems technologies

👉 All repositories here are official and supported.

4 0
0 31

You’ve probably already seen that the October Article Bounty is live on Global Masters! 🍁🚀

Submit a brand-new article on one of the announced topics and earn a bounty of 🏆 5,000 Global Masters points once it’s approved! 🎉

Here’s the list of October topics:

1. Comparison of when direct access via global is faster than access via class/SQL
2. A comparison matrix of connectivity methods to InterSystems IRIS to help developers choose the best option for their use case
3. Monitoring and Observability in InterSystems IRIS (with Dashboards & Tools) Guides
4. Beginner’s Guide: Using SQL in InterSystems IRIS
5. Unit Tests Tutorials
6. Practical code examples for ObjectScript Beginners
7. Securing Your InterSystems IRIS Deployment with SSL/TLS: Configuration Tips & Gotchas
8. Large Data handling
9. JSON transformations in DTL (Data Transformation Language)
10. Working with Stream Objects in InterSystems IRIS
11. Best Practices for Data Migration in InterSystems IRIS (Guide / Tips)

Rules to follow:

0 0
0 17

For historic reasons we've got a mix of ADT feeds coming out of our PAS (TrakCare) to a wide range of downstream systems. In particular, there are some that are direct from TrakCare to the downstream systems, and many more that pass through Ensemble as our integration engine.

This is complicating management of the integrations, and so we'd like everything to go through the integration engine. In other words move from the flow in the top of the diagram to the flow in the bottom of the diagram:

1 6
0 100

Hey Community!

We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:

Before the Lightbulb: Understanding the First Phase of the AI Revolution in Medicine

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

0 0
0 16

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 129

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 34

A step by step implementation path to a cross regional stretched IrisCluster with Mirroring using the Intersystems Kubernetes Operator (IKO), Google Cloud Platform, and Tailscale.

I am giving this distraction the code name "Compliment Sandwich" for a reason yet to be realized, but I'd rather the community go right for the jugular shooting holes in a solution that implements wireguard based connectivity for our workloads in general, as I would like to refine it as a fall project leading up to KubeCon in Atlanta and if I miss the mark, Ill get it done before Amsterdam.

6 1
1 76
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 88

It’s time to bring some spotlight to the authors and participants of our September Article Bounty! A big thank-you to everyone who took part💙

Special shout-out to those who took the time to write brand-new articles and share their expertise (each received 5,000 points 🎉):

@Robert Cemper >> "IRIS in Docker for beginners"
@sween >> "IKO Plus: Stretched Cross Regional IrisCluster with Tailscale on Google Cloud Platform"
@Ariel Glikman >> "High Availability IAM"
@Pietro Di Leo >> "Running InterSystems IRIS with Docker: A Step-by-Step Guide - Part 1: From the Basics to Custom Dockerfile"
@Guilherme Tonelotti >> "Create a JDBC connection with Mysql Cache"
@Vachan C Rannore >> "From "Oops" to "Aha!" - Avoiding Beginner Mistakes in ObjectScript"

And also to those who joined the challenge and helped us in the search for interesting articles (each received 30 points 🙌):

4 0
1 22
Article
· Sep 4 4m read
IRIS in Docker for beginners

The article was motivated by the 2025 September Article Bounty
***************************************************************


The principle of Docker is just convincing to me.

  • Get a sandbox where you play and try whatever you want/need to do
  • Once done. You drop it without leaving traces in your working environment

This was the technical base for me to run about 700 reviews in OEX
with almost no side effects (except those caused by myself).

12 3
5 127

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 43

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 31

Every thriving community has members whose energy, creativity, and commitment help shape it into something extraordinary. In the InterSystems Developer Community, one such member is @Henry Pereira — a developer, open-source contributor, contest winner, and true believer in the power of collaboration.

👏 Let’s take a closer look at Henry’s remarkable journey and his continuing legacy in the InterSystems ecosystem.

24 41
0 309
Article
· Sep 14, 2020 3m read
IRIS Native API for ObjectScript

It seems to me that for some reason this didn't make its way to the official documentation
and seems to be rather unknown though implemented already in IRIS 2020.1

Thanks to @Dan Pasco I got a hint on the classes involved.
I used the recommended sequence of how to use it.
it is all directly taken from Class Reference and I just collected it to create a first overview.

12 4
2 833

Is there any way of saving a representation of the results of a query created in the Message Viewer to a file - most obviously CSV.

We are reasonably adept at creating queries. We'd like to be able to send the output to a file, rather than resorting to cut'n'pasting from the message viewer window...

Is this possible? (on any version of Ensemble/Iris?)

Desired output to file something like:

0 12
0 92