Hi Community,

On December 7, 2025, the InterSystems Developer Community officially celebrated its 10th anniversary! 🥳🎉

And now we honor this decade of learning, collaboration, problem-solving, and advancing InterSystems technologies. Whether you’ve been here since the beginning or joined recently, thank you for your contributions, questions, ideas, and support. This milestone belongs to all of you 💖 You’ve built this community into what it is today, and we’re truly grateful!

As part of the celebration, we invited you to participate in a special anniversary video. And boy, you delivered! Thank you to everyone who took the time to share their greetings, memories, and kind words.

https://www.youtube.com/embed/oYjP3a3u8Io
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

29 11
0 111
InterSystems Developer Community is a community of 25,335 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Let’s spotlight the brilliant authors and contributors of our November Article Bounty! 💙
Thank you to everyone who took part and shared their knowledge with the community.

A special shout-out goes to those who created brand-new articles and contributed their expertise — each received 5,000 points 🎉

@Zion Amsalem -- "Consuming REST-APIs for dummies (beginner-friendly)"
@Robert Cemper -- "Network Debugging for Beginners - 1"
@Iryna Mykhailova -- "Connecting C# to InterSystems IRIS via ODBC"
@Vachan C Rannore -- "My experience with APIs and POS integration."
@Padmaja Konduru -- "Production Terminal Commands"

4 1
1 23

One of the newest features of .Net core 10 with C# 14 is the file-based apps. This feature allows you to execute C# code in a simple .cs file without the need to create a solution, a project, or any of the related structure.

For example you can create a script.cs file using the notepad with the content:

Console.WriteLine(“This is a script in c#.”);

Then in the command line or the terminal you execute the command:

1 0
0 8


Apache Airflow is the leading open-source platform to programmatically author, schedule, and monitor data pipelines and workflows using Python. Workflows are defined as code (DAGs), making them version-controlled, testable, and reusable. With a rich UI, 100+ built-in operators, dynamic task generation, and native support for cloud providers, Airflow powers ETL/ELT, ML pipelines, and batch jobs at companies like Airbnb, Netflix, and Spotify.

Airflow Application Layout

6 4
1 31

FastJsonSchema: High-Performance JSON Validation in IRIS

Validating JSON data against JSON Schema is a common requirement for modern applications. FastJsonSchema brings this capability natively to InterSystems IRIS, combining speed, simplicity, and full schema compliance.

Unlike traditional validation approaches, FastJsonSchema generates native ObjectScript code from your JSON Schemas and compiles it directly to iris object code, enabling idiomatic performance without relying on external libraries or runtimes.

0 1
0 18

Hello Developers! 👋
I’m excited to introduce IRIS IO Utility, my submission for the InterSystems "Bringing Ideas to Reality" Contest 2025. This VS Code extension provides you an intuitive and powerful interface for importing and exporting data without leaving your IDE.

5 0
0 11

Hey everyone.

As part of an ongoing mission to track down orphaned HL7 Messages in our integration engine, I have been digging into our environment to track down the causes.

Having looked at various posts here (including one of my own) there are a few scenarios that can create orphaned messages resulting in excessive disk space usage. These scenarios are generally:

1 2
0 33

Modern SQL engines are enormously complex pieces of software. Even when they appear stable and mature, subtle bugs can hide in their optimizers, type systems, predicate evaluation, or execution layers. These bugs rarely announce themselves loudly. Instead, they quietly produce incorrect results, behave inconsistently, or fail abruptly under specific combinations of SQL constructs.

This is precisely why tools like SQLancer exist. SQLancer automatically generates SQL queries and uses logical “oracles” to detect when a database behaves incorrectly. It has revealed hundreds of real bugs in widely used systems such as MySQL, PostgreSQL, SQLite, and DuckDB.

With this in mind, I attempted to bring SQLancer to InterSystems IRIS, starting with the NOREC oracle — a powerful method for detecting optimizer correctness issues. The journey, however, uncovered not just potential SQL correctness problems, but also a surprising number of driver-level and server-level failures that prevented SQLancer from running at full strength.

This article summarizes why SQLancer is important, how the NOREC oracle works, and what unexpected findings appeared while testing IRIS.

8 2
1 30

In some cases, it's necessary to manipulate data from one namespace to another. For example, a routine in the "N1" namespace needs data from the "N2" namespace. In legacy systems (using only globals), it's common to make the global universal, but what about persistent classes? Is this type of globalization also possible?

0 7
0 69

Here are the technology bonuses for the InterSystems "Bringing Ideas to Reality" Contest 2025 that will give you extra points in the voting:

  • Developer Experience Idea implemented - 4
  • IRIS Vector Search usage -3
  • Embedded Python usage -3
  • InterSystems Interoperability - 3
  • InterSystems IRIS BI - 3
  • VSCode Plugin - 3
  • FHIR Tools - 3
  • Docker container usage -2
  • ZPM Package Deployment - 2
  • Online Demo -2
  • Find and report a bug - 2
  • Article on Developer Community - 2
  • The second article on Developer Community - 1
  • Video on YouTube - 3
  • YouTube Short - 1
  • First Time Contribution - 3

See the details below.<--break->

0 4
0 78

Project Overview / Introduction

Developing and testing REST APIs in InterSystems IRIS often requires a significant amount of boilerplate code. While ObjectScript provides powerful tools for building APIs, writing consistent and repeatable tests can be time‑consuming. This is where IrisOASTestGen comes in.

3 1
0 22
Hello and welcome to the November 2025 Developer Community YouTube Recap.
InterSystems Ready 2025
By Benjamin De Boe, Thomas Dyar, Carmen Logue
By Bob Kuszewski, Benjamin De Boe
By Ben Spead, Hannah Sullivan, Dean Andrews, Victor Naroditskiy
By Amir Samary, Phillip Booth
By Reven Singh, Herman Bruwer, Sergei Shutov
0 0
0 8

Hey Developers,

Enjoy the new video on InterSystems Developers YouTube

Understanding AI Ready Data @ READY 2025

https://www.youtube.com/embed/IIJwf3O7Hx0
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 12

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

Smarter Table Statistics @ Ready 2025

https://www.youtube.com/embed/k7cOSuydwHI
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

<--break->

0 0
0 15

We are a group of interface analysts in a healthcare setting, running IRIS for Health 2024, having upgraded over time from an old ENSEMBLE environment. We have been working on a wish list of development goals, but are having trouble finding the correct, best practice method/path for getting to what we envision.

1 9
0 68
Article
· Dec 4 6m read
Sub-Table Security

InterSystems IRIS provides extensive configurable security options, yet many developers primarily use roles and resources to secure entire tables or routines. Today, we will delve deeper. We can also secure individual columns and rows separately, but these two mechanisms operate very differently. Let's begin with the columns.

Column Security

For testing and demonstration, we will keep our table structure concise and straightforward. We have a table called "Person" in the USER namespace that contains an ID column, a date of birth column (DOB), first name, and last name.

2 0
0 23

I am using IRIS for Windows (x86-64) 2022.1 (Build 209) Tue May 31 2022 12:27:55 EDT [Health:3.5.0]. I created Interoperability Production with a Service to read file from S3 bucket and an Operation to write files to a different S3 bucket. I specified AWS ProviderCredentialsFile.

I see "Terminating Job 7096 / 'From S3 Bucket' with Status = ERROR #5023: Remote Gateway Error: Connection cannot be established, %QuitTask=

Do I need anything like Python libraries or AWS CLI to make this work?

0 2
0 27

Recently, we implemented some Java-based services using JDBC. And some time ago, I refactored some legacy PHP programs that used "csession" for communication between systems to use PDO with ODBC.

This raised a question for me about how license management is done in this scenario.
Is a license used per pool? Or per connection? How is this management done?

1 0
0 20

Hi, Community!

Want to build smoother communication between payer systems and providers? See how the Prior Authorization Support (PAS) module of the InterSystems Payer Services ePrior Authorization solution can help:

Prior Authorization Support

https://www.youtube.com/embed/Mh3vs20f2-0?utm_source=youtube&utm_medium=social&utm_campaign=Mh3vs20f2-0
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

0 0
0 12

I need to read first six characters from the filename we process in healthconnect, then need to insert these six characters in MSH-6 in the same HL7 message. (please note each file can have multiple HL7 messages with multiple MSH segments)

Is something can be done when first process the file, then insert first characters MSH-6?

Please advice if this is an easy fix.

0 4
0 31

There's a pattern I've encountered several times where I need to use a temp file/folder and have it cleaned up at some point later.

The natural thing to do here is to follow the patterns from "Robust Error Handling and Cleanup in ObjectScript" with a try/catch/pseudo-finally or a registered object to manage cleanup in the destructor. %Stream.File* also has a "RemoveOnClose" property that you can set - but use with care, as you could accidentally remove an important file, and this flag gets reset by calls to %Save() so you'll need to set it back to 1 after doing that.

There's one tricky case, though - suppose you need the temp file to survive in an enclosing stack level. e.g.:

1 0
0 36