Hey Community,
We’re launching a new initiative in which ideas from the Ideas Portal become real applications on Open Exchange, and their authors are rewarded through Global Masters:
💡 Community Bounty Program “Idea to Application” ⚙️

Hey Community,
We’re launching a new initiative in which ideas from the Ideas Portal become real applications on Open Exchange, and their authors are rewarded through Global Masters:
💡 Community Bounty Program “Idea to Application” ⚙️

Hi Community,
Take a look at these new videos in online learning, and get familiar with new features and interfaces in the latest release of InterSystems® products. All videos are also available in the Learning Services YouTube channel.
Plus, check out a video for new ObjectScript developers, and a guide for HealthShare® users upgrading their deployments.
Senior engineering is defined not by the volume of code produced, but by the strategic avoidance of it. In complex integration environments, the tendency to utilize general-purpose libraries for every niche requirement introduces unnecessary overhead. True architectural maturity requires a commitment to "minimalist tooling"—prioritizing resilient, battle-tested system utilities over custom logic. This assessment examines our PGP encryption/decryption pipeline to demonstrate how shifting from application-level libraries to OS-native delegation enhances system durability.
I created a persistent class with all the associated classmethods that will be needed. I am going to use it as a temp storage for data.
Was wondering if anyone had a Dynamic way to see if a Global is still being used by a Class File.
We have been monitoring our Global Size recently, and I am trying to find problematic Class files that are not being cleaned up or used appropriately. I have come across some globals that do not seem to have a Class attached to them anymore, and instead of deleting globals 1 by 1, I was looking for a way that we could dynamically do this since the globals have data that is stale in them.
Thanks
Scott
Hi, Community!
Are you working with large tables? See how partitioning helps you manage and query your data:
I have a daily service that consumes x number of files, each file name chronologically suffixed sequentially by _1, _2, etc. I only want to process the latest file.
How do I build a business rule so it will only process the last file?
Today I have published a new Open Exchange package for generation of Synthetic Data directly into IRIS.
It can be a frustrating process to find decent datasets when you are looking to make a demo app. Maybe the dataset doesn't matter that much, but you still want it to appear somewhat genuine and with several linked tables that are usable directly within IRIS with the neat implicit joins with ->. Maybe you just want linked tables that are easily installable with IPM to benchmark queries, this dataset generation would be perfect.
Hi Community!
Thank you to everyone who participated in the "Suggest topics for our next free hands-on tutorials" sweepstakes! Your ideas and suggestions are invaluable and will definitely influence our tutorials roadmap!
Now, it's time to announce the winner – watch the video to see the sweepstake drawing:
This demo walks you through the new Table Partitioning feature in IRIS SQL, explaining what it does and how it works along the way. We'll only use a few dozen rows to prove the concept, but obviously the capability is focused on datasets many orders of magnitude larger.
If you'd like a shorter, higher-level introduction to Table Partitioning, check out the online learning module Managing Tables with Partitioning in InterSystems IRIS
ℹ️ Table Partitioning is included in IRIS 2026.1 as an experimental feature
In last post I talked about iris-copilot, an apparent vision that in near future any human language is a programming language for any machines, systems or products. Its agent runners were actually using such so-called 3rd generation of agents. I want to keep/share a detailed note on what it is, for my own convenience as well. It was mentioned a lot times in recent conversations that I was in, so probably worth a note.
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
⏯ MCP Explained: Bridging the Gap between AI Agents and Tools
#North American Demo Showcase entry.
>> Answer the question below to be entered in the raffle!
⏯️ AI-Assisted Rare and Complex Disease Detection
This demo shows how InterSystems Health Gateway can be used to pull in outside patient records from networks like Carequality, CommonWell, and eHealth Exchange, creating a more complete longitudinal view in a clinical viewer. That full record is then analyzed by AI to surface potential rare disease considerations with clear reasoning, helping clinicians see patterns they might otherwise miss.
Presenters:
🗣 @Jesse Reffsin, Senior Sales Engineer at InterSystems
🗣 @Georgia Gans, Sales Engineer at InterSystems
🗣 @Annie Tong, Sales Engineer at InterSystems
I am connecting to an intersystems cache database via C# and I need to obtain a list of all available namespaces.
I am using code like this:
// Source - https://stackoverflow.com/q/79393836
// Posted by Tony Valenti, modified by community. See post 'Timeline' for change history
// Retrieved 2026-04-21, License - CC BY-SA 4.0
namespace ConsoleApp13
{
internal class Program
{
static void Main(string[] args)
{
var CS = "Server=XXXXX;User=system;Password=sys;";
var C = new InterSystems.Data.CacheClient.CacheConnection(CS);
C.Open();
var Command = C.CreateCommand();
Command.CommandText = $@"
select * from %SYS.Namespace_List()
";
var Values = Command.ExecuteReader();
while (Values.Read()) {
}
}
}
}The George James Software team is looking forward to going to National Harbor for READY 2026!
As part of the conference, we'll be hosting our Deltanji Source Control User Group:
Date: Wednesday, April 29th
Time: 8 - 9am (breakfast will be provided)
Location: Azalea 1
RSVP by emailing laurelj@georgejames.com.
We'll be showing what will be included in the next release of Deltanji, version 8.2, as well as providing an opportunity for questions and discussion. We welcome both current and prospective users to join us.
The Management Portal doesn't have a native way to switch to Dark Mode. This can be resolved using a Chrome extension called Dark Reader. See the result:
To install and use the Dark Reader:
I'm starting to play more with AI enabled coding.
I've been using Github Copilot inside Visual studio code, which is very good at coming up with autocomplete suggestions that are accurate and useful. (Along with some utter rubbish, naturally).
For web development I'm starting to use Claude Code in VS Code to help create web sites and integrations. I want to see how it can help with IRIS development.
However I can't get claude to read any iris code directly as I'm connected to my server via isfs server connections.
This article reflects my recent experiences at trying to connect an IRIS Business Operation to a secure Kafka Server, using SSL tunnels to encrypt the communications and using SASL (Simple Authentication and Security Layer) password hashing with SCRAM-SHA-512.
Most IRIS developers use $LISTBUILD every day — often without even noticing it.
It is not just a convenient function for building lists. It is also the default internal format used to store row data, global values, and many intermediate structures inside the database engine.
Despite this, the actual binary representation of $LISTBUILD values is rarely discussed. Most developers rely on its behavior, but never look at how the data is really stored.
This article focuses strictly on the binary layout of $LISTBUILD values, based on direct inspection via zzdump.
This is the second part of an article pair where I walk you through:
As mentioned the goal is to give you a smooth “first run” experience.

I need a %SYS.Python object that will be accessible from different processes. The goal is to avoid reinitializing the Python object whenever it is called. Ways that I checked and decided that it is NOT what I want:
Next, my ideas (none of them look like a silver bullet):
Hello, community.
I've been working with Intersystem Caché for two years, and right away I was excited about the rich ecosystem that Caché provides. However, I was disappointed with calls using #call, and I understand that it was a limitation of the time. Well, the frustration is that #call returns null by default, meaning an AJAX request is executed, but there's no hook to retrieve the return from that request. The only way to retrieve the data from that request is by building a callback on the server side using &js<>.
Hi Community!
We have another great initiative for you to sink your teeth into! Following last year's resounding success, we're hosting a new edition of the Demo Games. But with a twist: our North American Sales Engineers have submitted their best demo videos, but this time, you're the ones to take part and win a prize.
Please welcome the North American Demo Showcase! 🎉

Hi Guys,
I've this Business operation pointing to my DSN as below
where its calling the this method, but for some reason its not recognizing Ens.Util.LookupTable class
A microservice is an architectural style that structures an application as a collection of small, autonomous services. Each component is developed around a specific business capability, can be deployed independently, and is typically managed by a miniature, specialized, self-governing team. (Source: https://microservices.io/)
During my work with customers and also following I often met the
explicit or embedded question: What is this "GLOBALS" ?
I'll try to explain the history to unfold the context.
Has anyone done this successfully? Customer wants to receive HL7 data over https using OAUTH 2.0 client credentials. I am assuming a custom Operation will be needed? I tried using CoPilot for assistance but was unsuccessful. I am not great with Object script :(
Hi Team,
We are currently running InterSystems Caché 2018 on an IBM AIX server and would like to configure the Cache instance to start automatically when the server boots or is rebooted.
Could you please provide the recommended steps or any official scripts/guidelines to enable auto-start for the Cache instance (QA2018) on AIX?
Additionally, if there are any best practices or prerequisites (such as filesystem mount options, service dependencies, or startup order) that we should consider, please share those as well.
Thanks,
Ganesh
Hey Developers,
Watch this video to learn about the analytics approach to InterSystems IRIS encryption and how it interacts with in-storage data compression and deduplication compared to storage-level encryption:
#North American Demo Showcase entry.
>> Answer the question below to be entered in the raffle!
⏯️ HL7 Validation Error Profiler: Rapid Insights into Batch HL7 Data Quality Issues
This demo highlights how HL7 validation logs can be transformed into scalable, actionable data quality insights using a lightweight application built on top of Health Connect.
Special thanks to @Henry Wojnicki for his contributions to designing and refining the application workflow.
🗣 Presenter: @Lynn Wu, Sales Engineer at InterSystems