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!
In this article I'll show you how to set up in your laptop, very quickly, a cluster of IRIS nodes in sharding. It's not the goal of this article neither to talk about sharding in detail nor define a deployment of a production ready architecture, but to show how to set up quickly, in your own machine, a cluster of IRIS instances configured as shard nodes, with which you'll able to play and test this functionality. If you're insterested in knowing more about sharding in IRIS, take a look at the documentation clicking here.
First and foremost, I want to remark that IRIS sharding will allow us 2 things:
- Define, load and query shard tables, which data will be distributed transparently between the cluster's nodes
- Define federated tables, which offer a global and composed view of data belonging to different tables that will be physically stored in different distributed nodes
So, as I said, we let for other article playing with shard or federated tables, and just focus now in the previous step, that is, setting up the cluster of shard nodes.
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
![]()
If you have ever dug through a large IRIS namespace looking for where a particular string, method call, or pattern was used, you know the pain: there was no built-in way to do a grep-style search across your server-side ObjectScript code from VS Code — at least not without jumping through some hoops.
That is what ObjectScript Search fixes.
Try it today with a simple install from the VS Code Marketplace. If you don't like it, uninstalling is just as easy. But I think you will like it — it is a huge quality-of-life improvement for anyone doing ObjectScript development in VS Code.
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.
What are my responsibilities as a beta tester?
As a beta tester, we ask that you schedule and take the exam by May 4, 2026.
🌐Explore the world of HL7® FHIR® at your own pace with a curated YouTube playlist from Learning Services.
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!
The InterSystems Ready 2026 Conference is approaching fast — it's a great time to prepare and check your knowledge before attempting one of the Certification exams onsite .
InterSystems certifications aren't easy: you need to practice with questions aligned to the real exam objectives.
exam-prep.es is a free platform built for exactly that: practice, identify weak spots, and show up better prepared.
Hi, Community!
🤔Did you know that InterSystems has a full catalog free online learning resources to help you get up to speed with our products and features?
🎓 Check out this quick introduction, then head over to the online learning site to explore resources like interactive exercises, learning paths, and online courses!
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:
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.
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).
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.


