Hi Community,
Please welcome @Ashok Kumar T as our new Moderator in the Developer Community Team! 🎉

Let's greet Ashok with a round of applause and look at his bio!
Hi Community,
Please welcome @Ashok Kumar T as our new Moderator in the Developer Community Team! 🎉

Let's greet Ashok with a round of applause and look at his bio!
Hi Community!
Welcome to Issue #26 of the InterSystems Ideas newsletter! Let's look at the latest news from the Ideas Portal, such as:
✓ General Statistics
✓ Recently implemented ideas by InterSystems
✓ Recently implemented ideas by Developer Community members
(1).png)
The standard %Net.HttpRequest library in InterSystems IRIS is powerful and comprehensive, but it can be verbose for simple operations. Writing an HTTP request often requires several lines of code to instantiate the class, configure the server, the port, HTTPS, add headers, and finally send the request.
When testing in the terminal, this configuration quickly becomes too heavy, and usually ends up with the creation of temporary methods...
FastHTTP was designed to address this need. This utility class provides a fluent and concise interface to perform HTTP calls in a single line, while automatically handling the underlying complexity (SSL/TLS, URL parsing, JSON encoding, headers, etc.).
Have you ever needed to change an IP or port before deploying an interface to production? Needed to remove items from an export? What about modifying the value(s) in a lookup table before deploying? Have you wanted to disable an interface before deploying? What about adding a comment, category, or alert setting to an interface before deploying to production?
If you’ve ever needed to make any changes to an interface or lookup table before deploying to production, then Export Editor is for you!
Export Editoris a Python/WSGI web application that provides a method for editing exports before de

Hi Developers,
We are happy to announce the first InterSystems online programming contest of the year:
🏆 InterSystems Full Stack Contest 🏆
Duration: February 2 - March 1, 2026
Prize pool: $12,000
.jpg)
Hi Community!
@Joan Pérez published a review that it is not very clear what applications are available for InterSystems Package Manager. Thanks Joan! Indeed it deserves a post.
There at least two ways I know to showcase them:
1. Run find command in zpm:
IRISAPP>zpm ============================================================================= || Welcome to the Package Manager Shell (ZPM). || || Enter q/quit to exit the shell. Enter ?/help to view available commands || ============================================================================= zpm:IRISAPP
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.
Keywords: IRIS, Agents, Agentic AI, Smart Apps
Transformer based LLMs appear to be a pretty good "universal logical–symbolic abstractor". They started to bridge up the previous abyss among human languages and machine languages, which in essence are all logic symbols that could be mapped into the same vector space.
Wondering for 3 years we might be able to just use English (etc human natural languages) to do IRIS implementations as well, one day.
Possibly tomorrow all machines, software and apps will be "intelligent" enough to interact with users in any human languages to get
.png)
Hey Developers,
It's time to announce the Top InterSystems Developer Community Authors of 2025 🎉
We are pleased to reward the most active contributors across all regional DC sites (EN, ES, PT, JP, CN, and FR):
(1).jpg)
.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.
I’ve recently developed %ZQueue, a process-ba

The Clinical Staff Master Data Management (CSMDM) system is a full-stack healthcare integration application built on InterSystems IRIS for Health. It centralizes and standardizes clinical staff metadata into a single authoritative repository, exposed through RESTful CRUD APIs and reusable backend methods.
The platform eliminates fragmented lookup tables and hardcoded mappings that commonly cause errors in HL7 and FHIR integration workflows, ensuring data consistency and interface reliability.
This approach can be applied to other domains
Hi everyone,
This is the first time I'm dealing with a request of modifying a variable value in a UDF OnSQLTrigger on InterSystems TrakCare.
I can't find any documentation to address this issue, but basically, my goal is to modify the value of one of the fields in a table when it is first inserted.
This is basically what the code should do, namely, to change the content of the %d variable at a specific key.
I have done quite a bit of debugging and seen that the %d has been correctly modified after I set %d(51) = <something>, but the value saved in the database it is still the original
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") {
quit1
}
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.
Wanted to share with you as this is a good case wh
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
Hi, Community!
👩⚕️If you need to access clinical data at scale, the InterSystems Bulk FHIR Coordinator can help!
Using the InterSystems Bulk FHIR Coordinator to Extract Clinical Data
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/...
With Docker Desktop we could simply bind-mount a folder inside our workspace, and could browse the folders inside the durable %SYS, this does not work with podman, IRIS won't start because of security p
When I build docker containers my build log usually looks like this:
#924.94 Using 'iris.cpf' configuration file
#925.82
#927.55 Starting Control Process
#927.55 Global buffer setting requires attention. Auto-selected 25% of total memory.
#927.55 Allocated 4999MB shared memory
#927.553915MB global buffers, 391MB routine buffers
#929.84 This copy of InterSystems IRIS has been licensed foruse exclusively by:
#929.84 No local key detected, trying license server.
#929.84 Copyright (c) 1986-2026 by InterSystems Corporation
#929.84 Any other use is a violation of your license Hello Team,
I am currently working with the CD Ruby machine, which is connected through DIGI. When I click on the “Test Link” option on the instrument, I can see the following behavior in Wireshark logs:
Ensemble sends an ACK (06) after receiving ENQ (05), followed by EOT (04) (somewhat like above photo). However, when another ENQ is received, Ensemble does not send an ACK in response. As a result, the instrument displays a failure message.
Also attaching the Ensemble settings:
.png)
I am using a TCP service with an inbound adapter configured for the ASTM protocol. Is there a way to configure
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. It is located under System Explorer > Tools > Uni

Hey Developers,
Watch this video to learn about automating the provisioning and management of FHIR services:
⏯ Automating Provisioning and Management of FHIR Services @ Ready 2025
Hello DC community,
InterSystems Certification is currently developing a certification exam for ObjectScript developers, and if you match the exam candidate description below, we would like you to beta test the exam! The exam will be available for beta testing starting February 18th, 2026.
Beta testing will be completed May 4, 2026.
As a beta tester, we ask that you schedule and take the exam by May 4, 2026. The exam will be administered in an online proctored environment free of charge (the standard fee of $150 per exam is waived for all beta teste
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.
| Old Class | Values | New Class | Values | |
| First_Name | John | First_Name | John | |
| Middle_Initial | Q | Middle_Initial | Q | |
| Last_Name | P |
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. Once defined, these Python components are manage
.png)
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. We are going to implement the Orchestrator using InterSystems BPL, creating a living, breathing loop t

Hi Community,
We're happy to announce that registration for the event of the year — InterSystems Ready 2026 — is now open. This is the premier global summit for the InterSystems technology community – a gathering of industry leaders and developers at the forefront of their respective industries. This event attracts a wide range of attendees, from C-level executives, top subject matter experts and visionary leaders, managers, directors and developers. Attendees gather to network with peers, connect with InterSystems partners, learn best practices and get a firsthand look at upcoming features and future innovations from InterSystems.
🗓 Dates: April 27 - 30, 2026
📍 Location: Gaylord National Resort & Convention Center, National Harbor, Maryland, USA
.jpg)
Hi,
I'm having a problem with %JSON.Adaptor and "list of" binding.
For exemple, this class with a property "oazisCode As list of %String".
Class User.ADGroup Extends (%Persistent, %JSON.Adaptor)
{
/// Code interne
Property code As %String;
/// Libellé
Property text As %String(MAXLEN = "");
Property oazisCode As list Of %String;
}The first time call to %JSONImport works properly
s r = ##class(User.ADGroup).%New()
s json = {"code": "123", "text":"456", "oazisCode": ["1","2"]}
d r.%JSONImport(json)
w r.oazisCode.Size
2If I call %JSONIMport a second time with another jso