Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ InterSystems IRIS & IRIS Health as a Managed Service @ Ready 2025
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ InterSystems IRIS & IRIS Health as a Managed Service @ Ready 2025
One objective of vectorization is to render unstructured text more machine-usable. Vector embeddings accomplish this by encoding the semantics of text as high-dimensional numeric vectors, which can be employed by advanced search algorithms (normally an approximate nearest neighbor algorithm like Hierarchical Navigable Small World). This not only improves our ability to interact with unstructured text programmatically but makes it searchable by context and by meaning beyond what is captured literally by keyword.
In this article I will walk through a simple vector search implementation that Kwabena Ayim-Aboagye and I fleshed out using embedded python in InterSystems IRIS for Health. I'll also dive a bit into how to use embedded python and dynamic SQL generally, and how to take advantage of vector search features offered natively through IRIS.
.png)
IRIS makes SIEM systems integration simple with Structured Logging and Pipes!
We will start from the examples that we faced as Data Science practice at InterSystems:
This is an excellent candidate for a developer community post (like Dev.to, Medium, or the InterSystems Community). It bridges the gap between high-level architecture and hands-on implementation.
Here is the summarized article format.
As applications scale, handling heavy computational tasks synchronously becomes a bottleneck. Whether it's processing large data sets, sending high-volume emails, or managing API integrations, a decoupled architecture is essential.
Hi developers!
I'm testing vibecoding with ObjectScript and my silicon friend created a code-block that got me thinking "what's wrong"?
Here is the piece of code:
for i=0:1:(json.%Size()-1) {
set p = json.%Get(i)
if (p="value1")!(p="value2") {
quit 1
}
AI wanted to quit from a method with a return value. Good intention, but bad use of the command.
And ObjectScript compiler compiles this code with no error(?) (syntax linter in VSCode says it's a syntax, kudos @Brett Saviano ).
But in action, it produces <COMMAND>, of course.
Hi Developers!
Currently I have 2000+ lines in a class, and I think it's a lot already? What are the best practices?
if 10K lines OK? How do you cope with it? Please share?

Greetings,
As a long time Cache developer is there a way to get a copy of the Cache Studio that supports IRIS 2024.3? I do not have a WRC account? I need Studio just to experiment, not to build commercial software.
Thank you,
Everardo
We use local containers a lot for evaluation and development with Health Connect and other IRIS based applications.
When evaluating Podman Desktop on Windows as replacement for Docker Desktop, we are experiencing an issue with the durable %SYS:
The only way it works is when we use a named volume which then is located inside the WSL-Podman-Machine under /var/lib/containers/storage/volumes/.
When I build docker containers my build log usually looks like this:
#9 24.94 Using 'iris.cpf' configuration file
#9 25.82
#9 27.55 Starting Control Process
#9 27.55 Global buffer setting requires attention. Auto-selected 25% of total memory.
#9 27.55 Allocated 4999MB shared memory
#9 27.55 3915MB global buffers, 391MB routine buffers
#9 29.84 This copy of InterSystems IRIS has been licensed for use exclusively by:
#9 29.84 No local key detected, trying license server.
#9 29.84 Copyright (c) 1986-2026 by InterSystems Corporation
#9 29.In the previous article, we examined how we can use the %CSP.Request and %CSP.Response classes to test a REST API without having the API fully set up and accessible across a network with an authentication mechanism. In this article, we will build on that foundation to perform some simple unit testing of one of our REST API methods.
The unit testing framework requires a couple of setup steps before we can use it. First, we have to ensure that the unit testing portion of the management portal is enabled so we can review the results of our tests.
We are attempting to "Repoint" old class data to new class data to save disk space and data redundancy across multiple tables. This works to a point. In essence the two classes are sharing the same data / Index / stream globals. But if an ID in the Old_Class is opened, a property is modified, and saved the property that is in the New_Class (but not in the Old_Class) is NULLed / blanked.
Simplified explanation of data and what’s occurring.
Intersystems IRIS Productions provide a powerful framework for connecting disparate systems across various protocols and message formats in a reliable, observable, and scalable manner. intersystems_pyprod, short for InterSystems Python Productions, is a Python library that enables developers to build these interoperability components entirely in Python. Designed for flexibility, it supports a hybrid approach: you can seamlessly mix new Python-based components with existing ObjectScript-based ones, leveraging your established IRIS infrastructure.

Welcome to the finale of our journey in building MAIS.
Now, the stage is set. Our agents are ready, defined, and eager to work. However, they remain frozen in time. They require a mechanism to drive the conversation, execute their requested tools, and pass the baton to one another.
Today, we will assemble the Nervous System.
Hello All,
No matter what I try in Business Process Logic (BPL), I am unable to calculate the patient's age in days or years.
Has anyone ever built logic in a Business Process (BPL) to calculate a person's age in days?
Thank you!
In this article, I aim to demonstrate a couple of methods for easily adding validation to REST APIs on InterSystems IRIS Data Platform. I believe a specification-first approach is an excellent idea for API development. IRIS already has features for generating an implementation stub from a specification and publishing that specification for external developers (use it with iris-web-swagger-ui for the best results). The remaining important thing not yet implemented in the platform is the request validator. Let's fix it!
Recent versions of IRIS come with Lite Terminal available from VSCode. It's a websocket server, with JSON messaging. Here's how to connect to it from Python:
import websocket
import argparse
import requests
import json
def terminal(host, port, namespace, username, password, command, secure):
session = requests.Session()
r = session.get(f"http{"s" if secure else ""}://{host}:{port}/api/atelier/", auth=(username, password))
cookies = session.cookies.get_dict()
ws = websocket.WebSocket()
ws.Hi Community,
Here we have requirement to process messages min 10 sec delay. Current time it is taking my businessProcess is less than 1 sec.
To implement this requirement , I need to sleep 10 sec in business process custom code.
Could somebody help me to implement delay in BusinessProcess.
Thanks,
Prashanth
Hello everyone. I'm currently working on how to implement a solution that makes it possible to include within the response of a BusinessOperation the "RetryCount" for each message.
For Example, we have this message that was retried twice:.png)
This is an HL7.message going through a specific business operation, we did not create a custom one: we used the default implementation EnsLib.HL7.Operation.TCPOperation. This operation should automatically handle retries (infinetely waiting on a response).
Hi Community,
We're pleased to invite you to the upcoming webinar in Hebrew:
👉 Debugging InterSystems IRIS & Health Connect: From VS Code Breakpoints to Interoperability Traces 👈
📅 Date & time: Feb 18th, 3:00 PM IDT
When production issues arise, speed and precision matter. This webinar is a practical, tool-driven walkthrough of debugging in InterSystems IRIS (including IRIS for Health) and Health Connect - starting with code-level debugging in VS Code and extending into platform and interoperability diagnostics. We will cover core logging as well as tracing techniques.
Hello Team,
I am trying to duplicate the production flow in the Ensemble 2018 but after doing all the steps (like copying same class file, adapter file, process class file) as production, still the flow is not working. The error is that it is not reaching the operation (which is supposed to store the data), it gets stuck in the processes. Additionally, I am also trying to add a logic where in OUL message if the value of code 20061 > 30mg, it should automatically send another order back to service (OML).
I am developing a C++ based program to access the IRIS database using iris-callin.h
I need to know what dll/dlls to use for the Iris object module?
IRIS can use a KMS (Key Managment Service) as of release 2023.3. Intersystems documentation is a good resource on KMS implementation but does not go into details of the KMS set up on the system, nor provide an easily followable example of how one might set this up for basic testing.
The purpose of this article is to supplement the docs with a brief explanation of KMS, an example of its use in IRIS, and notes for setup of a testing system on AWS EC2 RedHat Linux system using the AWS KMS. It is assumed in this document that the reader/implementor already has access/knowledge to set up an AWS EC2 Linux system running IRIS (2023.3 or later), and that they have proper authority to access the AWS KMS and AWS IAM (for creating roles and polices), or that they will be able to get this access either on their own or via their organizations Security contact in charge of their AWS access.
The 2025.1.3 maintenance releases of InterSystems IRIS® data platform, InterSystems IRIS® for HealthTM, and HealthShare® Health Connect are now Generally Available (GA).
I have always struggled with Iterating through a JSON response to pull out certain fields into a Data Class Structure to use to populate fields in a DTL. So I defined the whole structure for the following JSON, with the base structure extending Ens.Response, %XML.Adaptor, and %JSON.Adaptor.
There seems to be a generous use of ClassMethods in ObjectScript code generally. I hope my own experiences aren't representative, but I bet they are. Forgive me for giving away the ending of this article, but in short: don't use them. Unless you can make a pretty convincing case that you have to, just never use them.1
What is a ClassMethod? In an ObjectScript class, you can define methods in two different ways: in a Method, you must instantiate an instance of the class to call the method, and in a ClassMethod, you can call the method without instantiating the class. Of course, in a ClassMethod, you don't have access to any properties of the object (because there's no object), but you can access globals (they are global, after all) and Parameters (which are class constants).
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
The third developer previews of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect 2026.1 have been posted to the WRC developer preview site. Containers can be found on our container registry and are tagged latest-preview.
These developer previews includes the dropping of Mac Intel support starting from 2026.1.0, and the adding back of Windows Server 2019 support to 2026.1.0.
Initial documentation can be found at these links below:
TL;DR This article explains how to deploy InterSystems IRIS Community Edition on Azure using the Azure Marketplace and a Virtual Machine. It covers prerequisites, instance selection, authentication, SSH access, first verification steps, and how to delete resources to avoid charges. The deployment can typically be done using Azure free credits and is suitable for developers who want to quickly start working with IRIS in the cloud.
Who this guide is for. This guide is intended for developers, solution architects, and DevOps engineers who want to deploy InterSystems IRIS Community Edition on Microsoft Azure. No prior Azure automation experience is required, but basic familiarity with the Azure Portal and SSH is helpful.
After following this guide, you will be able to:
Prerequisites
Deployment overview
iris password to change _SYSTEM/SYS; start a session with iris session irishttp://YOUR_VM_IP:52773/csp/sys/UtilHome.cspIf you work with Productions, highlighting connections between Business Hosts is a very convenient feature, allowing developers to get a visual representation of a data flow.
This feature works by default with all system Business Hosts. If a user writes their own Business Services, Processes, or Operations, they must implement the OnGetConnections method for this functionality to work with their custom Business Hosts (or use Ens.DataType.ConfigName properties for connections).
That said, the SMP shows only the first layer of connections of the selected Business Host. Sometimes, we need to get connections of connections recursively to build a complete data flow graph. Or we might need this connection information to check which downstream systems might be affected by a change upstream.