Hello!
I have the following XML document obtained through a string:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MainDocument xmlns="urn:hl7-org:v3">
<realmCode code="IT"/>
<title>kjbkjkjbkjb</title>
<effectiveTime value="20090905150716"/>
[.....other tags.....]
<versionNumber value="1"/>
<component>
<body>mhvjhjkvhj</body>
<component>
<section>content</section>
<ID>5</ID>
<title>Certificato</title>
<text/>
<entry>
<Id>5</Id>
[...other tags...]
</entry>
<entry>
<Id>6</Id>
[
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.
I need to connect IRIS to a third-party FHIR server which in turn is connected to Keycloak.
For machine-to-machine communications, client credentials grants should be used. I don't know why exactly but the FHIR server requires access tokens to contain the "openid" scope, otherwise it returns 401 (unauthorized).
If the access token returned by Keycloak contains that scope, IRIS complains about ""ERROR #8859: Unsupported response to access token request: OpenID Connect is not supported for password and client credentials grant type". The error is produced by the OAuth2.
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"
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:
dotnet run script.csThere is plenty of information about this new feature of .net 10.
Managing InterSystems Servers – Virtual January 5-9, 2026
- Configure, manage, plan, and monitor system operations of InterSystems Data Platform technology
- This 5-day course teaches system and database administrators how to manage InterSystems® Data Platform technology which powers all of our products.
- Learn to install, configure and secure the data platform, configure for high availability and disaster recovery, and monitor the system.
- Students also learn troubleshooting techniques.
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.
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. The extension implements and expand this idea submitted on the Ideas Portal turning a common developer need into a real tool: seamless IO operations with any IRIS instance directly inside VS Code.
Hello,
I am using Object Script with Phyton to import an Excel File.
Please see the below code. Its works fine for all text and numeric Columns. But by importing a DATE formated column in Excel (birthdate) , Iam facing the below issue as result:
| 22@%SYS.Python |
My question: How can i import date formated Excel Data in Object Script?
Thanks a lot in advance
Maikel
Set tSC = $$$OK
Set tData = ##class(%SYS.Python).Import("openpyxl") Try
{
/// Pfad zur Excel-Datei
Set filePath = pInput.
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:
- Purging an environment with the option "Bodies Too" deselected
- Code creating/saving a Message but then not sending it
- BPL errors similar to 2, or a scenario where the response to a Call component is not set.
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?
In the same context, how could I make a persistent class global for all namespaces? The only way I know is by putting it in %SYS.
Hi Developers,
Following the resounding success of last year's new contest, we decided to repeat it. Please welcome
🏆 Bringing Ideas to Reality Contest 🏆
Submit an application that implements an idea from the InterSystems Ideas Portal that has status Community Opportunity or Future Consideration, created before the publication of this announcement, and requires doing the actual programming 😉
Duration: November 17 - December 7, 2025 December 14, 2025 (the submission period extended until December 7)
Prize pool: $12,000
.jpg)
The following regex is matching while I think it should not :
write$match("♥","\?") //print '1' (unexpected)It should only match the '?' character. I think what happen is the ♥ character got converted to '?' (as it's not within regular ascii range) before being validated by the regex engine.
In fact, this give a clue about what happen :
write$char($ascii("♥")) //print '?'Is this an IRIS well known limitation, is there workarounds ? Should I report it to InterSystems ?
In my case, a way to detect non standard ascii code in a string will be good enough.
Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.

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.
Hallo, I am new on programming Object Script.
My problem: How can I use a String variable in embedded SQL?
The below example does not work by using: namevar with ' '
set namevar = 'Ali'
&sql(DECLARE C2 CURSOR FOR SELECT name INTO :name FROM person where name = 'namevar')
Only below will work: person where name = 'Ali'
Thanks in advance
Hey Developers,
Enjoy the new video on InterSystems Developers YouTube
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Smarter Table Statistics @ Ready 2025

I’m facing an issue with a CSP-based web application.
The default.csp page loads correctly on both servers. However, when I try to open or submit the login.csp page on one server, it shows the error:
"INVALID ACTION"
The exact same codebase is deployed on another IRIS server, and it works there without any issues.
Summary of the issue:
default.csp→ Loads successfullylogin.csp→ Fails with “INVALID ACTION” only on one server- No code changes between the two servers
Has anyone encountered this kind of scenario?
Access IRIS Terminal Session using WebTerminal. I noticed that the $P or $PRINCIPAL system variable is defined as //./nul
When logging into Terminal via Management Portal, $P = |TRM||$J
Because of this, we cannot get into Programmers Mode via ^%SYS.PMODE
Any ideas?
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.
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?
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?
✨ Everyone’s career journey looks different. How have you created a path forward for yourself?
Our team reached out to InterSystems certified professionals to hear their stories:

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:
Welcome to the monthly recap of updates and releases to VS Code and InterSystems-related extensions that are relevant to IRIS developers.
We'll break down the updates that are relevant to InterSystems developers with tips on how they can be applied to your day-to-day projects.
Don't forget, 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.106
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.:
Hi,
We're working on new capabilities to help you build Agents and AI applications faster with InterSystems IRIS. In order to better understand which entry points and development methodologies would help you most, we've created this brief survey: Building AI solutions with InterSystems IRIS.
Filling it in should not take much more than 5 minutes, and your feedback on this exciting topic will help us fine tune our designs and prioritize the right features.
Thanks in advance!
benjamin
Security is fundamental to enterprise application development. InterSystems IRIS provides a comprehensive security framework that protects data, controls access, and ensures compliance. This guide introduces essential security features for developers new to IRIS, covering authentication, authorization, encryption, and practical implementation strategies.
