Hi,
I'm trying to run an SQL against Backup.Task table.
There is this class:
Class Backup.Task
documented here:
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Hi,
I'm trying to run an SQL against Backup.Task table.
There is this class:
Class Backup.Task
documented here:
How can I remove UNIQUE NOT NULL from an existing column via DDL?
I currently have a table in production that was originally created via DDL, where the column was defined as UNIQUE NOT NULL:
CREATE TABLE database.Books (
ID %Library.UniqueIdentifier PRIMARY KEY,
TagExternal VARCHAR('') UNIQUE NOT NULL,
I now need to change this column so that it is no longer UNIQUE and no longer NOT NULL, making it equivalent to:
TagExternal VARCHAR(''),
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!
We are working on containerizing our IRIS product. We want to extract the message log that is shown in the terminal, but if possible, we want to format the output as JSON and include some extra fields from the instance to enhance our monitoring. Is this possible?
Any guide or example about it?
Thanks!
I am configuring a set of Linux (RHEL 9) servers to operate as an IRIS 2025.1 mirror set. Mirroring traffic is using TLS, so each IRIS server has the necessary TLS configurations. However installation of ISCAgent on the dedicated arbiter host didn't make any mention of TLS or certificates. Nor did I find anything about this when searching IRIS documentation.
Am I missing something? Does the traffic between the IRIS hosts and the arbiter host use TLS? Should I be installing any certs on the arbiter host to facilitate secure communication?
Solar irradiance forecasting is critical for grid stability in photovoltaic (PV) power plants. This article replicates and extends the methodology of Lara-Benítez et al. (2023) "Short-term solar irradiance forecasting in streaming with deep learning" replacing the original offline simulation with a fully operational streaming pipeline built on InterSystems IRIS. We leverage IRIS Interoperability Productions as the streaming backbone, Embedded Python to run MLP, LSTM, and CNN deep learning models, and IntegratedML as an AutoML baseline.
As mentioned in the previous article, it is possible to configure the way you wish your collections to be stored and queried in SQL.
.png)
To set this up, you will need to use the following field parameters and settings:
In InterSystems IRIS, when you compile a persistent class, you automatically get a SQL table. Sometimes, there are situations that require having a slightly (or not so slightly) different names/options in SQL compared to Object model. Here are some of the settings that you can change to make it happen.
They define the "Face" of your class when it appears as a table in the SQL catalog.
SqlTableName allows you to change the name of SQL table that holds objects from your class. This is especially useful, when your class name uses reserved SQL words in a name, e.g. Group.
Hello everyone,
The Certification Team of InterSystems Learning Services is excited to announce the release of our new InterSystems IRIS SQL Professional exam. It is now available for purchase and scheduling in the InterSystems exam catalog. This exam is geared towards IRIS SQL experts, and it deals with a variety of advanced IRIS SQL topics that you can find in the exam page.
Despite the fact that LOCK (docs) is a foundational part of InterSystems IRIS, responsible for concurrency, there is not a lot of discussion on the Developer Community about it. Which is understandable, considering it's stable and fairly low-level command. In this article, I will show a simple example of how to use locks with interoperability.
When managing critical healthcare data through an integration engine you want to know the moment a queue starts backing up or a service drops.
Unfortunately, this usually leads to an email inbox stuffed full of notifications that can sometimes seem impossible to maintain.
Well, I’ve not solved that problem.
But I have created something that could help...
As an experiment in agentic coding in ObjectScript I'm using VS Code to try and create an implementation of an SFTP server.
SFTP is built on top of SSH, so the first phase involves implementing an SSH server. While working on the KEX part of that the agent (using GPT-5.3-Codex) reported:
It then offered these options:
Starting out with ObjectScript, it is really exciting, but it can also feel a little unusual if you're used to other languages. Many beginners trip over the same hurdles, so here are a few "gotchas" you'll want to watch out for. (Also few friendly tips to avoid them)
NAMING THINGS RANDOMLY
We have all been guilty of naming something Test1 or MyClass just to move on quickly. But once your project grows, these names become a nightmare.
➡ Pick clear, consistent names from the start. Think of it as leaving breadcrumbs for your future self and your teammates.
I joined InterSystems less than a year ago. Diving into ObjectScript and IRIS was exciting, but also full of small surprises that tripped me up at the beginning. In this article I collect the most common mistakes I, and many new colleagues, make, explain why they happen, and show concrete examples and practical fixes. My goal is to help other new developers save time and avoid the same bumps in the road.
The issue: ObjectScript/IRIS ships with many system classes and packages (%Library, %SYS, %Persistent, %SQL, etc.).
Welcome to the next chapter of my CI/CD series, where we discuss possible approaches toward software development with InterSystems technologies and GitLab.
Today I want to share a few approaches that will decrease your compilation time (especially if you're doing incremental/diff compilation rather than a full build).
Code load and compilation are affected by a variety of flags and qualifiers. If you write deployment scripts for InterSystems platforms, I highly recommend reading them at least once through.
Below is an update to the IRIS release calendar for 2026 and an early look at the planned changes for 2027. The key takeaway for 2026 is that maintenance release numbering will differ slightly from prior years.
2026: IRIS 2026.1 maintenance release numbering
This numbering change prepares us for the expanded maintenance cadence planned for 2027.
I am working on setting up OAUTH with FHIR and Microsoft Entra. I have configured the Client and configured it in the FHIR Server successfully. However, I get 401 when authenticating with a token. Looking at ^ISCLOG I see:
^ISCLOG("Data",9,0)="accessToken=<jwt token>, scope=, aud="
^ISCLOG("Data",10)=$lb(3,"OAuth2","[OAuth2.ServerDefinition:ValidateJWT]","171430","%SYS","2026-04-28 17:41:25.305549397","OAuth2.ServerDefinition.1","","zwKKakZZZx2")
^ISCLOG("Data",10,0)="JWT valid? sc=1"
^ISCLOG("Data",11)=$lb(3,"HSFHIRServer","[HS.FHIRServer.
When I build docker containers my build log usually looks like this:
#924.94Is there any way to record commands? Currently I need to add:
But it would be way better if I could just see what's being executed.
Ever since I started using IRIS, I have wondered if we could create agents on IRIS. It seemed obvious: we have an Interoperability GUI that can trace messages, we have an underlying object database that can store SQL, Vectors and even Base64 images. We currently have a Python SDK that allows us to interface with the platform using Python, but not particularly optimized for developing agentic workflows. This was my attempt to create a Python SDK that can leverage several parts of IRIS to support development of agentic systems.
One of the recommendations when deploying InterSystems Technologies for production is to set up High Availability. The recommended API Manager for these InterSystems Technologies is the InterSystems API Manager (IAM). IAM (essentially Kong Gateway) has multiple deployment topologies.
If you are looking for high availability you could use:
a) Kong Traditional Mode: Multiple Node Clusters
b) Hybrid Mode
c) DB-less Mode
Before we break them down let's first understand the out of the box deployment that is provided by InterSystems: Installing IAM Version 3.10.
The Interoperability user interface now includes modernized user experiences for the DTL Editor and Production Configuration applications that are available for opt-in in all interoperability products. You can switch between the modernized and standard views. All other Interoperability screens remain in the Standard user interface. Please note that changes are limited to these two applications and we identify below the functionality that is currently available.
To try out the new screens prior to upgrading, you can download the 2025.
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Whats Going On - Monitoring and Observability of InterSystems IRIS @ Ready 2025
Hello,
can someone confirm to me if image for docker deployment of IRIS are ready for production? Also what about Healtshare products?
Thank you.
. . . you are not alone.
Help is available.
This took me a while to figure out, and I assume there may be others struggling too. I made my way through all the Entra stuff to set up a client credentials workflow to send email through a Microsoft 365 account. I was able to successfully retrieve my token, but I couldn't ever get it to authenticate with the SMTP server using the %Net.SMTP class. There were two parts to fixing this.
First, the authenticator's access token needs to be more than JUST the access token. It has to be formatted as:
set smtp.authenticator.AccessToken = "user="_emailaddress_$C(1)_"auth=Bearer "_token_$C(1,1)READY is right around the corner, and this year the Application Services team from InterSystems will be hosting a Embedded Git Users GroupMeeting during the conference!This will be held Thursday, April 30th during breakfast from 7:30 – 8:30 (breakfast will be served at the meeting room starting at 7:00am).
READY is right around the corner, and this year the Application Services team from InterSystems will be hosting a IPM Users GroupMeeting during the conference!This will be held Wednesday, April 29th during lunch from 12:30 – 1:30 (lunch will be served at the meeting room).
In case you're planning on deploying IRIS For Health, or any of our containerized products, via the IKO on OpenShift, I wanted to share some of the hurdles we had to overcome.
As with any IKO based installation, we first need to deploy the IKO itself. However we were getting this error:
Warning FailedCreate 75s (x16 over 3m59s) replicaset-controller Error creating: pods "intersystems-iris-operator-amd-f6757dcc-" is forbidden: unable to validate against any security context constraint:
proceeded by a list of all the security context constraints (SCCs) it could not validate against.
Hey Community,
Yeah, I know we have a lot of tips & tricks articles - we even have a special tag for it, right? But I can not share my own collection. In this collection, you can find snippets for beginners, as well as some everyday ObjectScript constructions. In fact, it's also a way to learn something new about my favorite programming language. So, if you guys have anything to add, you are welcome!
Hi!
We are deploying the iris image in a Kubernetes environment and the cluster state is "Hung" , looking the alerts endpoint we get 2 alerts:
[
{
"time":"2026-03-24T13:45:44.548Z",
"severity":"2",
"message":"System appears to have failed over from node a69a9f137593"
},
{
"time":"2026-03-24T13:46:30.274Z",
"severity":"2",
"message":"Error: <PROTECT>KillAlive+1^%SYS.CDIRECT in SERVERS"
}
]
Any idea / help where those are comming from and how to address them?
The article was motivated by the 2025 September Article Bounty
The principle of Docker is just convincing to me.
This was the technical base for me to run about 700 reviews in OEX
with almost no side effects (except those caused by myself).
For beginners, I'll start with straight pure IRIS, no *health, *ML, *whatever
First, you need a Docker installation. It's available on almost any platform.