#InterSystems IRIS

19 Followers · 5.6K Posts

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.

Article Kristina Lauer · Jul 29, 2024 2m read

Updated 12/09/25

Hi Community,

You can unlock the full potential of InterSystems IRIS—and help your team onboard—with the full range of InterSystems learning resources offered online and in person, for every role in your organization. Developers, system administrators, data analysts, and integrators can quickly get up to speed.

Onboarding Resources for Every Role

Developers

System Administrators

  • Learning
3
7 726
Article John Murray · Dec 2, 2025 1m read

I'm pleased to announce the publication of gj :: dataLoader, a new VS Code extension that simplifies the task of loading data from local CSV files into SQL tables on your InterSystems IRIS servers.

Here's an introductory video:

gj :: dataLoader is now available on Marketplace for direct installation into VS Code. It is my entry in the "Bringing Ideas to Reality" Contest 2025 and implements this idea - https://ideas.intersystems.com/ideas/DPI-I-667

Feedback is welcome.

1
0 93
Question Timothy Leavitt · Aug 26, 2025

What are best practices for JSON transformation in IRIS interoperability? This is for a non-healthcare use case, so any tools we happen to have around FHIR might not be available. The motivating use case is trimming down a verbose and needlessly complex REST API response to feed to an LLM - trying to reduce token usage and maybe get better results from less noisy data.

Specifically, I'm imagining matching based on JSONPath expressions and simplifying structures based on the inferred type of elements rather than a full schema.

10
0 212
Article José Pereira · Dec 9, 2025 11m read

The previous article introduced IrisOASTestGen, a tool designed to generate REST API test code for InterSystems IRIS based on OpenAPI 2.0 specifications. It demonstrated how to scaffold test cases using the default templates bundled with OpenAPI Generator.

This follow-up focuses on the next natural step: customizing the generated test code. By extending the code generation logic with Mustache templates, it becomes possible to express richer semantics, implement CRUD-aware tests, and create more meaningful test suites.

The example in this article will modify IrisOASTestGen to generate tests for

0
0 66
Question Marco Bruni · Nov 28, 2025

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>
[...other tags...]
</entry>
</component>
</component>
</ClinicalDocument>
I would like to have a way to obtain only the content of the

7
0 105
Article Dmitry Maslennikov · Dec 8, 2025 8m read

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.

3
1 124
Article Joan-Baptista Fabregas · Dec 8, 2025 4m read

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

There is plenty of information about this new feature of .net 10.

0
0 70
Article Emil Polakiewicz · Dec 8, 2025 19m read

How to set up RAG for OpenAI agents using IRIS Vector DB in Python

In this article, I’ll walk you through an example of using InterSystems IRIS Vector DB to store embeddings and integrate them with an OpenAI agent.

To demonstrate this, we’ll create an OpenAI agent with knowledge of InterSystems technology. We’ll achieve this by storing embeddings of some InterSystems documentation in IRIS and then using IRIS vector search to retrieve relevant content—enabling a Retrieval-Augmented Generation (RAG) workflow.

Note: Section 1 details how process text into embeddings.

0
0 69
Announcement Larry Finlayson · Dec 8, 2025

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.

SELF REGISTER HERE

0
0 51
Article Ashok Kumar T · Nov 10, 2025 2m read

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.

1
0 88
Article Pietro Di Leo · Dec 8, 2025 4m read

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.

0
0 90
Question Matheus Augusto · Nov 25, 2025

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.

7
0 123
Question Norman W. Freeman · Nov 5, 2025

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.

8
0 118
Article David Hockenbroch · Dec 4, 2025 6m read

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. 

0
1 249
Question Scott Roth · Nov 6, 2024

There are a select few in the group that have been using Github as a Local Client push to a Repository setup in GitHub. Questions were brought up today about the security, and possible issues when it comes to data being pushed in this method.

Looking over code we have noticed that there is Histogram data within some of the class files that could be considered a security issue. Does anyone else have concerns with the Histogram data being within the class files pushed up to github?

2
0 168
Article Timothy Leavitt · Dec 4, 2025 2m read

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

0
0 85
Discussion Benjamin De Boe · Dec 4, 2025

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
 

0
0 77
Article Mikhail Khomenko · Dec 3, 2025 28m read

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.

0
3 232
Article José Pereira · Dec 2, 2025 12m read

In this final part of our introduction to Window Functions, we will explore the remaining functions that have not been covered yet. You will also discover performance tips and a practical guide to help you decide when (and when not) to use window functions effectively.


1. Offset and Positional Value Functions

Overview

These functions reference values are calculated from other rows relative to the current row, or they are extracted from the first, last, or nth values within a window.

  • LAG(column, offset, default) — retrieves the value offset from the preceding row.
  • LEAD(column, offset, default) —
0
1 192
Announcement Thomas Dyar · Nov 17, 2025

We're excited to announce the Early Access Program for IntegratedML Custom Models, a powerful new capability coming in IRIS 2026.1!

What Is It?

IntegratedML Custom Models extends the existing IntegratedML/AutoML feature by letting you deploy your own custom Python ML models directly within SQL queries.

2
4 237
Article Rodolfo Pscheidt Jr · Mar 17, 2025 2m read

 

In this article I will be discussing the use of an alternative LLM for generative IA. OpenIA is commonly used, in this article I will show you how to use it and the advantages of using Ollama

In the generative AI usage model that we are used to, we have the following flow:

  • we take texts from a data source (a file, for example) and embedding that text into vectors
  • we store the vectors in an IRIS database.
  • we call an LLM (Large Language Model) that accesses these vectors as context to generate responses in human language.

We have great examples of this in this community, such as IRIS Vector

2
2 382
Article Yuri Marx · Dec 2, 2025 2m read

The Load Data utility it is an excellent tool to load data from CSV/TXT files into an IRIS SQL Table, but it is required send the target file to the IRIS server and write the Load Data sentence to ingest the file content. Now it is possible select a file in VSCode, set the table destination and submit the request. The vscode-load-data utility will send the file to the IRIS server and run the Load Data command to you! Very simple:

0
1 123
Article Developer Community Admin · Mar 18, 2025 10m read

The InterSystems IRIS data platform underlies all InterSystems applications, as well as thousands of customer and partner applications across Healthcare, Financial Services, Supply Chain, and other ecosystems. It is a converged platform, providing transactional-analytical data management, integrated interoperability, and data integration, as well as integrated analytics and AI. It supports the InterSystems Smart Data Fabric approach to managing diverse and distributed data.

3
5 572
InterSystems Official Dipak Bhujbal · Dec 1, 2025

Overview

This release introduces major improvements to storage scalability and performance, a significant operating system upgrade across all offerings, and a new default version of the FHIR Server. Together, these updates enhance system reliability, flexibility, and security while ensuring long-term platform supportability.


New Features and Enhancements

Category

Feature / Improvement

Details

Storage Enhanced LVM Support (Striped or Linear) Added support for LVM configurations, allowing deployments with striped or linear volume layouts for improved performance and
0
0 87
InterSystems Official Dipak Bhujbal · Dec 1, 2025

Overview

Version 25.20.2 expands global availability, enhances Advanced Security flexibility, and widens Network Connect integrations. This release introduces support for additional regions, new application-aware security rules, and expanded connectivity options for critical InterSystems services.


New Features and Enhancements

Category

Feature / Improvement

Details

Advanced Security Support for Message Bank Rules Advanced Security can now apply policies and rules specifically targeting Message Bank, enabling finer-grained protection for message archival and analytics
0
0 71