New
Article Alfaxad Eyembe · Jun 8 6m read

Sara is my entry for the InterSystems AI Agents for FHIR contest. Feel free to try out Sara and vote for Sara on the contest page.

https://youtu.be/UAjI9O848wU?si=BWTVk9gsV4xTOlUj

Physicians spend only 47% of their work time on direct patient care [1]. The rest goes to EHR administrative tasks: order entry, documentation, prior authorizations, with 43% of their time spent on a clinical computer [2]

0
0 36
Article Pietro Di Leo · Oct 9, 2025 6m read

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!

4
6 295
Article Mainza Kangombe · Jun 6 4m read

Healthcare billing isn’t a pipeline. It’s a conversation about trust. 

Every day, millions of clinical transactions flow from doctors’ keyboards to insurance ledgers. Standard health IT systems are built to count these transactions. They store them. They organize them. 

They route them. But standard systems don't notice them. 

We’ve built faster and faster databases to process claims, but we forgot to ask: Does this claim make sense? 

Because we don’t ask in real-time, we’ve accepted a compromise. We pay first, wait six months, and then hire forensic auditors to find the mistakes.

0
0 60
Article Robert Cemper · Apr 28, 2023 4m read

I decided to write this down before time wiped out my memory
It's a very personal story as a partner, as a competitor, as an employee,
as a customer and finally as an external observer of InterSystems.

9
3 1477
Article Robert Cemper · Aug 26, 2017 3m read

This is a  rather personal view of the history before Caché.
It is in no sense meant to compete with the excellent books from Mike Kadow discussed in an earlier article.
We have different histories and so this is meant to create a different perspective of the past.

The whole story started in 1966 at MGH (Mass.General Hospital) on a PDP-7 Ser.#103
with 8K of memory (18-bit words) [today = 18K byte ]  as a spare system.

"Serial Number 103 - was located in the basement of the now demolished Thayer Building,
currently [2014] the site of the Cox Cancer Center at MGH.

18
2 2363
Article Kate Lau · Oct 13, 2025 5m read

Hi all,

It's me again 😁. In the pervious article Writing a REST api service for exporting the generated FHIR bundle in JSON, we actually generated a resource DocumentReference, with the content data encoded in Base64

Question!! Is it possible to write a REST service for decoding it? Because I am very curious what is the message data talking about🤔🤔🤔

OK, Let's start!

1. Create a new utility class datagen.utli.decodefhirjson.cls for decoding the data inside the DocumentReference
 

ClassExtends%RegisteredObject

2. Write a Python function decodebase64docref to 
a. loop through the FHIR bundle
b.

4
4 380
Article Geet Kalra · Jun 2 3m read

In the previous article, we used pyprod to create production components while relying on the UI for production configuration. That same production can now be defined entirely in Python:

from intersystems_pyprod import Production, ServiceItem, ProcessItem, OperationItem

iris_package_name = "HelloWorld"

class MyProduction(Production):
    services = [
        ServiceItem(
            "MyServiceName",
            "HelloWorld.MyService",
            host_settings={"target": "MyProcessName"},
        )
    ]
    processes = [
        ProcessItem(
            "MyProcessName",
            "HelloWorld.MyProcess",
            host_settings={"target": "MyOperationName"},
        )
    ]
    operations = [
        OperationItem("MyOperationName", "HelloWorld.MyOperation")
    ]
6
1 216
Article Bruno Santos · Mar 19 8m read

The problem

How many times have we migrated an IRIS Instance to another machine, maybe even another version, and after a few days realized we forgot that one SSL Configuration critical for a Business Operations to work? Or maybe a credential, or a lonely class in a package by itself?

The solution

The simple solution is to make a checklist¹. A checklist of the entities we have to move. But simple checklists on Word documents are often forgotten, or just ignored.

4
3 214
Article Kate Lau · Oct 9, 2025 5m read

Hi,

It's me again😁, recently I am working on generating some fake patient data for testing purpose with the help of Chat-GPT by using Python. And, at the same time I would like to share my learning curve.😑

1st of all for building a custom REST api service is easy by extending the %CSP.REST

Creating a REST Service Manually

Let's Start !😂

1. Create a class datagen.restservice which extends  %CSP.REST

ClassExtends%CSP.REST

2. Add a function genpatientcsv() to generate the patient data, and package it into csv string

ExtendsAs

you may test the function in the terminal by typing

3. Add a function 

4
1 291
Article Laurel James (GJS) · Jun 2 5m read

Welcome to the monthly recap of updates and releases to VS Code and InterSystems-related extensions relevant to IRIS developers. 

Don’t forget, if you’re migrating from InterSystems Studio to VS Code, or want to deepen your knowledge, check out the VS Code training courses from George James Software: georgejames.com/vscode-training

This recap covers the four VS Code releases in May: v1.119, v1.120, v1.121, and v1.122.

Editor and navigation

0
0 88
Announcement Liubov Zelenskaia · Mar 26, 2025

Hi Community!
We’ve just added some 🎁 new rewards on Global Masters!
Take a moment to explore the Rewards section. Exciting Spring Rewards – Grab Yours now!

Please note that our prize selection varies by region and country. We kindly ask you to review the available options for your location. 


Not a Global Masters member yet? Join here using your InterSystems SSO credentials.

3
0 169
Question Hamras T · Jun 1

Hi all,

I'm working on a DICOM router in InterSystems IRIS, based on the workshop-iris-dicom-interop (https://github.com/intersystems-ib/workshop-iris-dicom-interop) example on GitHub. I'm using EnsLib.DICOM.Process to route incoming images to different PACS destinations, where the target system is decided at runtime via a database lookup.

I've run into two issues I'd love some guidance on:

1. Dynamically changing the destination without disrupting transactions

Right now, if I want to send to a new PACS target, I'd need to add a new Business Operation and call

1
0 46
Article Guillaume Rongier · Jun 2 9m read

 

In the previous IoP article, I showed how IoP can expose Python messages to DTL by generating JSON schemas. That is useful when the message is primarily a Python object and we want the IRIS tooling to understand its structure.

This time, the direction is a little different.

Starting with IoP 3.7.1, a PersistentMessage can now be a native IRIS message body class. The Python class is still the source code you write, but the generated IRIS class extends Ens.MessageBody

0
1 54
InterSystems Official Dominic Chui · Jun 1

IPM version 0.10.7 was released on May 29th, 2026. As usual, you can check it out on the GitHub page or through the Community Registry.


Highlighted Features

Utility Scripts iriscli and ipm

IPM is now bundled with two convenience scripts that are runnable from a standard terminal. iriscli launches an interactive IRIS terminal and runs IPM commands directly. These are automatically installed to both ~/.local/bin/ and , so they work inside and outside of containers (Unix/Linux only).

Examples:

0
0 53
Question Aziz Cotrim · May 29

I have several Business Operations that share similar behavior, like building HTTP headers or parsing a specific response format. In C# I would extract this into a service class or a base class. What is the recommended way to do this in IRIS? Should I use a utility class, a common superclass, or is there another pattern the community prefers?

2
0 63
Question Aziz Cotrim · May 29

I have a Business Process that needs to call an external API that may take several seconds to respond. I'm worried that keeping the BP blocked waiting for the response could affect the overall Production throughput. Is there a recommended pattern for handling async calls inside a BPL or custom BP class to avoid this kind of bottleneck?

3
0 64
Discussion Julian Matthews · May 29

Hey everyone.

My team and I have a rare opportunity to start from scratch, and I am keen to know what things others that have gone through a similar process did differently. Obviously there's the immediate benefit of losing any technical debt that has built up over 10+ years of an ever changing environment along with many organisational changes and merges, but I'm thinking about the things that we can do to make life a lot easier for the next 10+ years.

3
0 102
Question Luis Gallardo · Jun 1

Hi, we are trying to adapt the solution to use the IKO but we have problems deploying the webgateway on our company clusters, our clusters requires to have a specific definition on the securityContext due security concerns, it's possible to set those values trough the IrisCluster CRD? or we cannot use it from it? Should I open a WRC to handle this?

create Pod iris-webgateway-0 in StatefulSet iris-webgateway failed error: pods "iris-webgateway-0" is forbidden: ValidatingAdmissionPolicy 'prevent-root-run' with binding 'prevent-root-run' denied request: Containers should run with securityContext.runAsNonRoot or securityContext.runAsUser != 0. To learn more, check out the documentation: https://build.roche.com...
2
0 42