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

New
Article Andrew Sklyarov · 5 hr ago 6m read

I may have mentioned this before: I believe the Visual Traces, these sequence diagrams with full content of each step, are a fantastic feature of the IRIS Data platform! Detailed information about how the API works internally, as a visual trace, can be very useful for projects on the IRIS platform. Of course, this applies when we are not developing a high-load solution, in which case we simply don't have time for saving/reading messages. For all other cases, welcome to this tutorial!

0
0 13
New
Question Matthew Martinez · 19 hr ago

Hello all,

I have a EnsLib.HTTP.GenericMessage inbound from a webhook with a GC stream.

example of stream contents

My router is defined as the following:

General Message Routing Rule

The msgClass for said rule is: EnsLib.HTTP.GenericMessage

I have tried a few variants of using a Contains in the condition to check the following: Document.StreamGC.Attributes.

I want to check the Stream for "HITL".  If it contains that, we send downstream.

Is there a way to do this within the condition in the rule?

Is the best solution to instead write a function that rewinds the stream and returns a flag?

Thank you!

5
0 29
Article Jose-Tomas Salvador · Mar 5, 2025 7m read

In this article I'll show you how to set up in your laptop, very quickly, a cluster of IRIS nodes in sharding. It's not the goal of this article neither to talk about sharding in detail nor define a deployment of a production ready architecture, but to show how to set up quickly, in your own machine, a cluster of IRIS instances configured as shard nodes, with which you'll able to play and test this functionality. If you're insterested in knowing more about sharding in IRIS, take a look at the documentation clicking here 

First and foremost, I want to remark that IRIS sharding will allow us 2 things:

  • Define, load and query shard tables, which data will be distributed transparently between the cluster's nodes
  • Define  federated tables, which offer a global and composed view of data belonging to different tables that will be physically stored in different distributed nodes

So, as I said, we let for other article playing with shard or federated tables, and just focus now in the previous step, that is, setting up the cluster of shard nodes.

2
3 284
New
Article Guillaume Rongier · Mar 13 6m read

ObjectScript Search icon

If you have ever dug through a large IRIS namespace looking for where a particular string, method call, or pattern was used, you know the pain: there was no built-in way to do a grep-style search across your server-side ObjectScript code from VS Code — at least not without jumping through some hoops.

That is what ObjectScript Search fixes.

Try it today with a simple install from the VS Code Marketplace. If you don't like it, uninstalling is just as easy. But I think you will like it — it is a huge quality-of-life improvement for anyone doing ObjectScript development in VS Code.


5
0 67
New
Article Murray Oldfield · Mar 13 4m read

Already included in SystemPerformance

There are nfs disk commands (including nfsiostat) included with SystemPerformance, but disabled by default. Enable them by running:

$$Enablenfs^SystemPerformance()

Doing so will add the following nfs commands, for example, on Linux:

  1. /usr/sbin/nfsstat -cn
  2. /usr/sbin/nfsiostat [interval] [count]

Ensure the commands are installed and runnable from the OS :)

This can be subsequently disabled via $$Disablenfs^SystemPerformance()


Adding a generic command to SystemPerformance

Adding an arbitrary OS tool creates a "user" command under ^IRIS.

0
1 29
Announcement Ali Nasser · Feb 18

Hello DC community, 

InterSystems Certification is currently developing a certification exam for ObjectScript developers, and if you match the exam candidate description below, we would like you to beta test the exam! The exam will be available for beta testing starting February 18th, 2026. 

Beta testing will be completed May 4, 2026.

What are my responsibilities as a beta tester?

As a beta tester, we ask that you schedule and take the exam by May 4, 2026.

5
2 410
New
Question Scott Roth · Mar 12

We are trying to track down significant growth within our Namespaces, one big culprit is Ens.AppData (EnsLib.SQL.Snapshot). 

Within many of our BPL's we use EnsLib.SQL.Snapshot to return Results from External SQL Stored Procedures or Query's. The same EnsLib.SQL.Snapshot context variable is used for many of these calls within a BPL. 

Is there something we should be doing at the end of the BPL to ensure that EnsLib.SQL.Snapshot gets cleaned up and purged from Ens.AppData?

1
0 17
New
Question Scott Roth · Mar 10

How can I create a Task that tells a Ens.BusinessService to execute its SQL query using the EnsLib.SQL.InboundAdapter?

So far I have come up with

Class OSU.Workday.TerminationsTask Extends %SYS.Task.Definition
{

Parameter TaskName As STRING = "OSU - Workday Termination Update";

Method OnTask() As %Status
{
    try{
        // Call BusinessService
        set tSC = ##class(Ens.Director).CreateBusinessService("OSU.DataSource.Workday.TermService",.tService)

        if $IsObject(tService){
            set inputMessage = ##class(Ens.StringContainer).
6
0 59
Article Myles Collins · Jul 22, 2025 6m read

Are you familiar with SQL databases, but not familiar with IRIS?  Then read on...

About a year ago I joined InterSystems, and that is how IRIS got on my radar.  I've been using databases for over 40 years—much of that time for database vendors—and assumed IRIS would be largely the same as the other databases I knew.  However I was surprised to find that IRIS is in several ways quite unlike other databases, often much better.  With this, my first article in the Dev Community, I'll give a high-level overview of IRIS for people that are already familiar with the other databases such as Oracle, SQL Server, Snowflake, PostgeSQL, etc.   I hope I can make things clearer and simpler for you and save you some time getting started.

2
3 462
New
Question Luis Dellán · Mar 10

How to execute a stored procedure in a remote DB2 database?

Hi Everyone,

I want to access a stored procedure in a remote DB2 database. The stored procedure in question is linked and receives a numeric value, returning a cursor with N number of rows. Sometimes the number of rows reaches hundreds of thousands, so I need to apply pagination.

I've been reading about the %ScrollableResultSet library, but it doesn't allow me to call a stored procedure.

Here's part of the code:
Set pValor=12345678
Set callSql="CALL Paquete.ClaseSpRemoto(?)"
Set rs=##class(%ScrollableResultSet).

0
0 24
New
Announcement Anastasia Dyubaylo · Mar 5

Hi Community,

We're super excited to share that we’ve just launched a new free, interactive tutorial designed especially for those who are new to InterSystems IRIS and looking for a clear, practical introduction to its core concepts.

🧑‍🏫 Data Models of InterSystems IRIS 🧑‍💻

1
0 168
New
InterSystems Official Dominic Chui · Mar 9

IPM version 0.10.6 was released on February 24th, 2026. This version is mostly bug fixes, but does add the -export-python-deps flag to the package and publish  commands to include Python dependencies with the IPM module itself. As usual, you can check it out on the GitHub page or through the Community Registry. 

Here's the complete changelog:

Added

  • #1024: Added flag -export-python-deps to publish command

Fixed

  • #996: Ensure COS commands execute in exec under a dedicated, isolated context
  • #1002: When listing configured repositories, only show the TokenAuthMethod when a token is defined.
0
0 44
New
Question Malaya Acharya · Mar 2

I had configured the environment as follows:

OS: Redhat Linux 9.4

IRIS 2025.2 installed on local directory

IRIS Database: One LVM is created with 20 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that

Primary and Alternate Journal: One LVM is created with 5 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that.

WIJ: One LVM is created with 5 Storage luns and the LVM is mounted on a mount point. IRIS database is created on that.

So Data, WIJ and Journal is mounted on 3 separate mount point.

2
0 84
Article Robbie Luman · Aug 15, 2025 7m read

Dynamic Entities (objects and arrays) in IRIS are incredibly useful in situations where you are having to transform JSON data into an Object Model for storage to the database, such as in REST API endpoints hosted within IRIS. This is because these dynamic objects and arrays can easily serve as a point of conversion from one data structure to the other.

4
3 299
New
Discussion Gabriel Ing · Mar 4

Anyone up for a round of golf?

Are you fed up of making a machine write code for you? Do you miss thinking through problems yourself? Then you are in luck, this round, I propose adding the rule of no AI use. obviously its a game of honor with no prize, so I shan't be enforcing this, but you'll know... 

Challenge:

Create a function which takes a string as a parameter, and returns the length of thelongest sequence of alternating consonants and vowels. The sequence is broken by having two vowels or two consonants in a

7
0 95
Question Damiano Porrovecchio · Jan 6

Hi everyone,

I am currently setting up InterSystems API Manager (IAM) 3.4.3.11 using Docker. The installation is successful, the license is active, and I can access the Manager (port 8002).

I am now trying to secure the Administration Portal using basic-auth. I've found some documentation stating that I should:

  1. Go to the Teams section in the UI.
  2. Click on Invite Admin to create the first user.
  3. Only then, enable KONG_ENFORCE_RBAC and KONG_ADMIN_GUI_AUTH in the docker-compose.yml.
1
0 51
New
Question Anderson Negreli · Mar 3

I am currently managing environments running InterSystems IRIS and Caché on Windows servers.

I’m reviewing storage optimization best practices and I have a question regarding a specific Windows drive setting: "Allow files on this drive to have contents indexed in addition to file properties."

Based on my research, everything indicates that it is better to disable this option, especially on drives used by databases. However, I couldn't find a specific "official" stance in the documentation explicitly mentioning this checkbox.

3
0 78
New
Article Tomo Okuyama · Mar 1 6m read

Why This Integration Matters

InterSystems continues to push AI capabilities forward natively in IRIS — vector search, MCP support, and Agentic AI capabilities. That roadmap is important, and there is no intention of stepping back from it.

But the AI landscape is also evolving in a way that makes ecosystem integration increasingly essential. Tools like Dify — an open-source, production-grade LLM orchestration platform — have become a serious part of enterprise AI stacks.

2
0 125
New
Question Malaya Acharya · Mar 1

I have installed IRIS community edition on a local directory in Redhat Linux 9.4.

Created a 10G database on a separate mount point directory  which comes out of a storage volume of 50G.

Also placed Journal and WIJ on 2 separate mount point directories  which comes out of two different storage volume of 50G each.

I want to take a snapshot and recover the snapshot on a secondary host and check the consistency of the database. 

As Storage snapshot will be taken, only Data, Journal and WIJ file placed on Storage volumes will be snapshotted.

7
0 96
New
Question Malaya Acharya · Mar 5

Is there any Cache setting that needs to be checked while configuring IRIS Community Edition 2025.2 and does it impact WIJ recovery.

Also I have kept Database, WIJ and JOURNAL on the same snapshot group with Consistency . Is it the recommended settings? Am I getting the WIJ mismatch error due to this setting?

1
0 40
Article Veerarajan Karunanithi · Feb 27, 2024 4m read

What is Unstructured Data?
Unstructured data refers to information lacking a predefined data model or organization. In contrast to structured data found in databases with clear structures (e.g., tables and fields), unstructured data lacks a fixed schema. This type of data includes text, images, videos, audio files, social media posts, emails, and more.

Why Are Insights from Unstructured Data Important?
According to an IDC (International Data Corporation) report, 80% of worldwide data is projected to be unstructured by 2025, posing a significant concern for 95% of businesses.

4
1 538
New
Announcement Laurel James (GJS) · Mar 3

Configuration differences between environments are not always mistakes, but they should always be intentional and governed. 

We're excited to announce that version 3.6 of JediSoft IRISsync® is now available, bringing enhancements designed to give teams more control and visibility when managing configuration settings across multiple IRIS instances.

What's new in IRISsync 3.6: 

  • Accepted differences - Mark intentional configuration differences to provide further clarity in comparison results.
0
0 72
Question Norman W. Freeman · Feb 25

I have a global with multiple nodes : 

^A("ABC") = ""
^A("DEF") = ""
^A(123) = ""

How to create a new single node in that global, in a way it's always at the end of the global (eg: this will be the very last node being enumerated)

I end up with this code but maybe there is a cleaner and simpler approach : 

set ^A($char(65535)) = "" //should be bigger than any character inserted
set ^A($char(255)) = ""   //some systems does not seems to support >255 characters, this might be safer

I only need to write it once, this code is not intended to be used in a loop or something, just to add something at

6
0 149
New
Question Scott Roth · Mar 2

I am stuck at a crossroad and was wondering if I could get a second pair of eyes to help with a query that I am sending from a Task to a Service to process some data.

I have a Linked Table (view) that points back to a MS SQL View that I am trying to query. However, my execution keeps either failing or not returning any rows. When I take the SQL Query and execute it within the Management Portal I get results, however Cache is not seeing it when trying to execute this code.

4
0 75
Question Lynton Blair · Feb 9

in C++ program with #include iris-callin.h..  The program terminateswhen it tries to execute IRISSECURESTARTA with exit code -1073741515.

const char *username="user", *password="xyz",*exename="Test_Callin";
int termflag = IRIS_PROGMODE|IRIS_TTNONE|IRIS_TTNEVER;

rc = IRISSECURESTARTA(&pusername, &ppassword, &pexename, termflag, timeout, NULL, NULL);

Note: the %Service_Callin setting is Enabled.

»  
11
0 94