Hi Community!
Welcome to Issue #27 of the InterSystems Ideas newsletter! Let's look at the latest news from the Ideas Portal, such as:
✓ General Statistics
✓ New sweepstakes!
✓ Recently implemented ideas by InterSystems

Hi Community!
Welcome to Issue #27 of the InterSystems Ideas newsletter! Let's look at the latest news from the Ideas Portal, such as:
✓ General Statistics
✓ New sweepstakes!
✓ Recently implemented ideas by InterSystems

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?
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).
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.
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).Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
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.
Are you familiar with SQL databases, but not familiar with IRIS? Then read on...
About a year ago I joined InterSystems, and that is how IRIS got on my radar. I've been using databases for over 40 years—much of that time for database vendors—and assumed IRIS would be largely the same as the other databases I knew. However I was surprised to find that IRIS is in several ways quite unlike other databases, often much better. With this, my first article in the Dev Community, I'll give a high-level overview of IRIS for people that are already familiar with the other databases such as Oracle, SQL Server, Snowflake, PostgeSQL, etc. I hope I can make things clearer and simpler for you and save you some time getting started.
Hello everyone,
I am André from MedVertical. We are exploring InterSystems-native ways to operationalize continuous FHIR conformance: repeatable regression runs, baseline/delta comparisons, and evidence-style reporting to detect drift after releases and IG changes.
In many FHIR implementations, validation is done “point-in-time” in pre-prod, but conformance degrades in production due to IG/profile updates, terminology changes, mapping evolution, upstream releases, and configuration drift.
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.
Hi Community!
It's time to share the Top InterSystems Ideas Portal Contributors of 2025 🌟
(1).jpg)
Hi developers!
In a method I need to return a result as a dynamic object aka JSON Object. And here is my logic:
Classmethod Planets() as %DynamicObject {
set val1="Jupiter"
set val2="Mars"
// this doesn't work! cannot compile
return {"value1":val1, "value2":val2}
}So I need to do the following:
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).
Hi Community,
We're super excited to share that we’ve just launched a new free, interactive tutorial designed especially for those who are new to InterSystems IRIS and looking for a clear, practical introduction to its core concepts.
🧑🏫 Data Models of InterSystems IRIS 🧑💻

With InterSystems industry-standard certification exams, you and your team can get certified to validate your skills and demonstrate your expertise in InterSystems technology. Find the right exam for your role!
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.
Hi,
I'm pretty sure I'm not the first one to encounter this, so please share your solution
I'm trying to load a package with 2 dependencies, one of them has 5 dependencies..
is there a better tool / script / wizard for that?
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.
Hi, Community!
Working with large volumes of data? See how streams can help:
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
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 IRIShttps://login.microsoftonline.com/{tenant-id}/v2.0
Issuer returned by the OpenID configurationhttps://login.
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.
I had configured the environment as follows:
OS: Redhat Linux 9.4
IRIS 2025.2 installed on local directory
IRIS Database: One LVM is created with 20 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that
Primary and Alternate Journal: One LVM is created with 5 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that.
WIJ: One LVM is created with 5 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that.
So Data, WIJ and Journal is mounted on 3 separate mount point.
This is more for my memory that anything else but I thought I'd share it because it often comes up in comments, but is not in the InterSystems documentation.
There is a wonderful utility called ^REDEBUG that increases the level of logging going into mgr\cconsole.log.
You activate it by
a) start terminal/login
b) zn "%SYS"
c) do ^REDEBUG
d) change logging level to FFFFFFFF
if you are on you production system (with lots of traffic) I suggest you quickly reproduce the error, rename the cconsole.log file, and repeat the steps above to set the logging level to FF.
JSON
JSON (JavaScript Object Notation) is a lightweight, text-based format designed for structured data interchange. It represents data objects consisting of key–value pairs and arrays, and it is entirely language-independent.
Dynamic Entities (objects and arrays) in IRIS are incredibly useful in situations where you are having to transform JSON data into an Object Model for storage to the database, such as in REST API endpoints hosted within IRIS. This is because these dynamic objects and arrays can easily serve as a point of conversion from one data structure to the other.
Anyone up for a round of golf?
Are you fed up of making a machine write code for you? Do you miss thinking through problems yourself? Then you are in luck, this round, I propose adding the rule of no AI use. obviously its a game of honor with no prize, so I shan't be enforcing this, but you'll know...
Challenge:
Create a function which takes a string as a parameter, and returns the length of thelongest sequence of alternating consonants and vowels. The sequence is broken by having two vowels or two consonants in a
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
Hello InterSystems EHR community,
InterSystems Certification is currently developing a certification exam for CCR Tier 2 users, 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 January 27, 2026.
Beta testing will be completed April 30, 2026.
As a beta tester, we ask that you schedule and take the exam by April 30, 2026.
Hi everyone,
I am currently setting up InterSystems API Manager (IAM) 3.4.3.11 using Docker. The installation is successful, the license is active, and I can access the Manager (port 8002).
I am now trying to secure the Administration Portal using basic-auth. I've found some documentation stating that I should:
KONG_ENFORCE_RBAC and KONG_ADMIN_GUI_AUTH in the docker-compose.yml.