New
Question Davi Massaru Teixeira Muta · May 6

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(''),

1
0 25
New
Article Iryna Mykhailova · May 5 3m read

As promised, here comes the second part.

But before I begin, here's the view from my hotel window in Boston, where I went before the READY. And a grand building on the right is the office of InterSystems. Not bad, ha?

Anyway, after getting some sleep after the Demos and Drinks the day before, we were back at it the next day, which started with more keynotes.

3
0 75
Question Scott Roth · Apr 23

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

7
0 80
New
Question Luis Gallardo · May 6

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!

4
0 34
New
Announcement Vic Sun · May 5

#North American Demo Showcase entry. 

>> Answer the question below to be entered in the raffle!


⏯️ Triage Chatbot

We are using IRIS for Health to develop an agentic AI chatbot workflow that can interact with a patient using voice commands, reach out to an EHR or other system for context, and provide recommendations back.

Presenters: 
🗣 @Vic Sun, Sales Engineer at InterSystems 
🗣 @Brad Nissenbaum, Sales Engineer at InterSystems 
🗣 Danielle Micciantuono, Clinical Solutions Specialist at InterSystems

2
0 35
New
Question Glenn Elliott · May 6

I have a question around mapping between different datasets during the HL7 -> SDA3 -> FHIR transformation.

We have a FHIR server which uses the standard ISC HL7->SDA3->FHIR conversion when ingesting HL7 messages. There is the odd requirement to enrich FHIR data from the original HL7 message. due to site specific HL7. Our approach is to extend HS.Gateway.HL7.HL7ToSDA3 with a custom GetSDA method that includes the original HL7 Message ID via CustomPairs.

0
0 20
Question John Murray · Feb 27

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?

3
0 103
Contestant
Article André Dienes Friedrich · May 5 9m read

Abstract

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.

0
0 22
Article Irene Mykhailova · Jan 25 2m read

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.

Class-level settings 

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.

0
0 24
Article Eduard Lebedyuk · Mar 24 4m read

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.

5
0 139
New
Article Jorge Jaramillo Herrera · May 5 19m read

This article introduces SHAP explainability methods as an approach to understand the reasons behind predictions in machine learning black-box models. It also includes a simple Jupyter notebook that you can use and modify to gain hands-on experience with these concepts:

https://www.kaggle.com/code/jorgeivnjh/explainability-in-ml-models

https://github.com/JorgeIvanJH/Explainability-in-ML-models

We will leverage these concepts for a future implementation in our Continuous Training Pipeline: https://community.intersystems.com/post/complementing-iris-mlflow-continuous-training-ct-pipeline

0
0 20
Contestant
Article Rob Ellis · May 5 5m read

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...

2
2 38
New
Announcement Anastasia Dyubaylo · May 5

Hey Community,

Round 1 of the Community Bounty Program "Idea to Application" is officially open. Three ideas from the Ideas Portal are ready to be implemented — pick one or more, build it, publish it on Open Exchange, and earn Global Masters points. 

🏅Every qualifying submission earns a Credly badge, Global Masters badge, and 10k+ points. Implement all ideas this round and unlock Tier 2 rewards.

0
0 31
New
Question John Murray · May 4

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:

  1. IRIS has what we already need for signing and hashing: RSASHASign, RSASHAVerify, RSAGetLastError, SHAHash, SHA1Hash, SHA3Hash.
  2. It does not list a Diffie-Hellman key exchange or modular exponentiation API in %SYSTEM.Encryption.

It then offered these options:

  1. Keep using IRIS APIs for cert/key/sign/hash.
1
0 54
Article Vachan C Rannore · Sep 15, 2025 2m read

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.


17
4 542
Article Beatrice Zorzoli · Sep 10, 2025 4m read

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.

1. Getting lost among system classes and where to start

The issue: ObjectScript/IRIS ships with many system classes and packages (%Library, %SYS, %Persistent, %SQL, etc.).

17
3 543
New
Article Eduard Lebedyuk · May 4 2m read

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).

Compiler flags and qualifiers

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.

0
0 23
Announcement Anastasia Dyubaylo · Apr 7

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! 🎉

2
3 280
New
InterSystems Official Bob Kuszewski · Apr 29

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

  • July 2026: first maintenance release for IRIS 2026.1 (planned version: 2026.1.4)
  • October 2026: next maintenance release (planned version: 2026.1.5)
  • February 2027: following maintenance release (planned version: 2026.1.6)

This numbering change prepares us for the expanded maintenance cadence planned for 2027.

2
1 151
Article Anastasia Dyubaylo · Apr 13 3m read

Every great community is enriched by those who work tirelessly behind the scenes, crafting the knowledge and resources that help others grow. In the InterSystems Developer Community, one such person is @Derek Robinson — a dedicated educator, whose passion for teaching has helped shape how developers everywhere learn to work with InterSystems technologies.

👏 Let's take a closer look at Derek's journey in the InterSystems ecosystem.

5
0 203
New
Question Shane M Elliott · Apr 28

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.

5
0 66
New
Question Colin Brough · May 1

We have a large, existing production taking a feed from a single up-stream system and sending to a wide-variety of downstream systems. One of the downstream systems has been decommissioned, and we have deleted the classes that implemented the routing/transformations from the namespace, and deleted the components from the production (Wardview and WV Out in the diagram below). We now want to delete the messages associated with those components without deleting the messages associated with any other components.

1
0 57