Article Tani Frankel · Mar 15 1m read

As part of the new Interoperability UI wave (see what was new in 2025.1, and 2025.3 by @Aya Heshmat), v2026.1 which is available already as a Developer Preview, and this could be a reason for you to give it a ride - will be shipping the new UI for the BPL editor (and other UI goodies).

He's a quick teaser:

0
0 102
Article Andrew Sklyarov · Mar 14 6m read

I may have mentioned this before: I believe the Visual Traces, these sequence diagrams with full content of each step, are a fantastic feature of the IRIS Data platform! Detailed information about how the API works internally, as a visual trace, can be very useful for projects on the IRIS platform. Of course, this applies when we are not developing a high-load solution, in which case we simply don't have time for saving/reading messages. For all other cases, welcome to this tutorial!

0
0 86
Question Scott Roth · Mar 12

We are trying to track down significant growth within our Namespaces, one big culprit is Ens.AppData (EnsLib.SQL.Snapshot). 

Within many of our BPL's we use EnsLib.SQL.Snapshot to return Results from External SQL Stored Procedures or Query's. The same EnsLib.SQL.Snapshot context variable is used for many of these calls within a BPL. 

Is there something we should be doing at the end of the BPL to ensure that EnsLib.SQL.Snapshot gets cleaned up and purged from Ens.AppData?

1
0 31
Question Yone Moreno Jiménez · Mar 12

Hello everyone, thanks for reading this question.

I am currently working with Ens.Alerting.ManagedAlert in an interoperability production and I am using the alert suppression mechanism to avoid generating duplicate alerts within a defined time window (for example, 30 minutes).

Rule Set

The configuration works correctly in terms of preventing duplicate alerts from being generated, but I have a question regarding observability.

When an alert is suppressed during the configured time window, I can see log messages such as:

        "Managed alert not created for AlertRequest with ID 'XXXX' due to rule 'Rules.

1
0 31
Question Scott Roth · Mar 10

How can I create a Task that tells a Ens.BusinessService to execute its SQL query using the EnsLib.SQL.InboundAdapter?

So far I have come up with

Class OSU.Workday.TerminationsTask Extends %SYS.Task.Definition
{

Parameter TaskName As STRING = "OSU - Workday Termination Update";

Method OnTask() As %Status
{
    try{
        // Call BusinessService
        set tSC = ##class(Ens.Director).CreateBusinessService("OSU.DataSource.Workday.TermService",.tService)

        if $IsObject(tService){
            set inputMessage = ##class(Ens.StringContainer).
6
0 74
Article Scott Roth · Mar 11 3m read

Background

Emergency Medical Services (EMS) teams often arrive at the emergency department with patients whose demographics are incomplete or unknown—no medical record number (MRN), no confirmed name, and sometimes no date of birth. Yet EMS transportation notes still need to land in the correct chart.

To support safe and reliable documentation, EMS agencies, third-party integration services, and hospital integration teams build secure interfaces that exchange identifiers and clinical messages.

0
0 64
Question Hour Abdellatif · Mar 9

I’m trying to find a way to manage globals from our Java application. We have two separate features:

  • Managing tables normally using SQL

  • Managing globals, since some globals exist without class or table definitions

Cache version : Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2016.1.1 (Build 108U_SU), Thu Jul 7 2016 09:39:04 EDT

I tried to retrieve the globals tree, update node values, and append nodes using SQL by calling stored procedures, but I couldn’t find any procedures for adding, updating, or deleting nodes.

I also tried using cacheextreme.jar to access the globals API directly.

10
0 118
Question Luis Dellán · Mar 10

How to execute a stored procedure in a remote DB2 database?

Hi Everyone,

I want to access a stored procedure in a remote DB2 database. The stored procedure in question is linked and receives a numeric value, returning a cursor with N number of rows. Sometimes the number of rows reaches hundreds of thousands, so I need to apply pagination.

I've been reading about the %ScrollableResultSet library, but it doesn't allow me to call a stored procedure.

Here's part of the code:
Set pValor=12345678
Set callSql="CALL Paquete.ClaseSpRemoto(?)"
Set rs=##class(%ScrollableResultSet).

0
0 40
Article Laurel James (GJS) · Mar 10 3m read

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

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.


VS Code version 1.110
Kitty graphics protocol in the Terminal - The integrated terminal now supports the Kitty graphics protocol, allowing for high-fidelity image rendering directly in the terminal pane.

0
0 79
InterSystems Official Dominic Chui · Mar 9

IPM version 0.10.6 was released on February 24th, 2026. This version is mostly bug fixes, but does add the -export-python-deps flag to the package and publish  commands to include Python dependencies with the IPM module itself. As usual, you can check it out on the GitHub page or through the Community Registry. 

Here's the complete changelog:

Added

  • #1024: Added flag -export-python-deps to publish command

Fixed

  • #996: Ensure COS commands execute in exec under a dedicated, isolated context
  • #1002: When listing configured repositories, only show the TokenAuthMethod when a token is defined.
0
0 62
Question Flávio Lúcio Naves Júnior · Mar 6

Hi everyone,

I am trying to configure a FHIR Server to authenticate against an external OAuth server using the OAuth FHIR Client Quickstart, which is available in the newer versions of InterSystems IRIS for Health.

During the configuration process I am encountering an issuer validation error.

I have already verified the issuer URL, and it exactly matches the value returned by the OAuth server’s OpenID configuration endpoint (.well-known/openid-configuration).

Example:

Issuer configured in IRIS
https://login.microsoftonline.com/{tenant-id}/v2.0

Issuer returned by the OpenID configuration
https://login.

3
0 78
Question Colin Brough · Mar 5

We have an HL7 feed that contains Lab Results. Each message contains a set of results, identified by a LabReportId. Some LabReportIds can get more than one message / set of results - these are updates, as new results become available, and must be processed in order. Results for different LabReportIds can be processed in any order.

As each message is used to build a PDF, which takes time, we want to run these through a production where the key business process has a Pool Size > 1, while still ensuring that messages for each LabReportId are processed in order.

3
0 93
Announcement Anastasia Dyubaylo · Mar 7
Hello and welcome to the February 2026 Developer Community YouTube Recap.
InterSystems Ready 2025
By Chi Nguyen-Rettig
By Ray Wright
By Eslam Farhat, Victor Silva, Simone Oliveira
By Kandy Rathinasamy, Sofia Lis
By Jaideep Majumdar
By Myles Collins, Dan Smith, Regilo Regilio Guedes de Souza, Jeff Morgan, Padma Nippani
By Aya Heshmat
By John Goodgame, Justin Owens, Julio Rodriguez, Scott Roth
0
0 26
Question Malaya Acharya · Mar 5

Is there any Cache setting that needs to be checked while configuring IRIS Community Edition 2025.2 and does it impact WIJ recovery.

Also I have kept Database, WIJ and JOURNAL on the same snapshot group with Consistency . Is it the recommended settings? Am I getting the WIJ mismatch error due to this setting?

1
0 49
Article Alyssa Ross · Mar 9 6m read

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.

0
0 204
Article Geet Kalra · Mar 6 6m read

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.

0
4 246
Article Luis Angel Pérez Ramos · Mar 11 14m read

Does your blood run cold when you hear about openEHR? Do archetypes give you goosebumps?

Overcome your fears with this article and master OpenEHR using the capabilities of InterSystems IRIS for Health!

What is openEHR?

openEHR is an open, vendor-neutral specification designed to represent, store, and exchange clinical information in a semantically rich and long-term sustainable way. Instead of defining fixed message structures (as many interoperability standards do) OpenEHR separates clinical knowledge from technical implementation through a multi-layered modelling approach.

0
1 132
Article Emil Polakiewicz · Mar 10 19m read

How to set up RAG for OpenAI agents using IRIS Vector DB in Python

In this article, I’ll walk you through an example of using InterSystems IRIS Vector DB to store embeddings and integrate them with an OpenAI agent.

To demonstrate this, we’ll create an OpenAI agent with knowledge of InterSystems technology. We’ll achieve this by storing embeddings of some InterSystems documentation in IRIS and then using IRIS vector search to retrieve relevant content—enabling a Retrieval-Augmented Generation (RAG) workflow.

Note: Section 1 details how process text into embeddings.

0
0 112