InterSystems Developer Community is a community of 27,201 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!
New
Discussion Evgeny Shvarov · Jun 5

Hi folks!

Suppose a new version of your amazing software solution built on IRIS needs some persistence change: some data needs to be converted, some classes get new properties or even renamed, and some data should be prepopulated for newly introduced persistent classes to keep the whole application data consistent.

What are your approaches? 

SQL-based scripts? ObjectScript, or Python? for both directions of migration, up and down? 

Do you autogenerate it with Claude/Codex? What about data-consistency tests?

COuld you please share your thoughts? or libraries?

7
0 47
New
Article Mainza Kangombe · 8 hr ago 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 22
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
2 1448
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 2347
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
2 324
New
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
0 135
New
Article André Dienes Friedrich · Jun 3 13m read

An engineering walkthrough of the IRIS-CardioFlow project architecture with real code for its AI, FHIR, and connectivity layers and the role of iris-agentic-dev in a modern ObjectScript workflow.


Introduction

Monitoring cardiovascular surgical flow in real time is a classic healthcare integration problem: data arrives from heterogeneous sources, must be persisted with clinical semantics, exposed through an API, and presented in a way the care team can act on. The CardioIris repository (internally named IRIS-CardioFlow) is a lean demonstration of that scenario, built on InterSystems IRIS 2026.

0
0 21
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 206
New
Question Davi Massaru Teixeira Muta · Jun 2

On save the ClassMethod:

ClassMethod create() [ Language = python ] {

 print("python") 

}

it has received the error : Compilation started on 06/03/2026 02:15:21 with qualifiers 'cuk /multicompile=0'

 ERROR #7802: Worker job/s '1078:17' unexpectedly shut down in group '#Default:(9119826733444):0'.

 ERROR #7802: Worker job/s '1078:17' unexpectedly shut down in group '#Default:(9119826733444):0'.  

 

with the compileFlags "cuk" the return is:

ERROR #7802: Worker job/s '1160:34' unexpectedly shut down in group '#Default:(6933525859080):0'.

1
0 30
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 257
New
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 45
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 165
New
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 34
New
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 22
New
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 37
New
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 61
New
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 59