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

1
0 97
Contestant
Article Andre Larsen Barbosa · 17 hr ago 4m read

Before finding the best solution for Supply Chain, we need to understand what Supply Chain is. Well, regardless of the language used, the term is known by the name already mentioned. For your information, the translation in Brazilian Portuguese is "Cadeia de Suprimentos" (Supply Chain), sometimes also called "Cadeia Logística" (Logistics Chain), but we will not dwell on the nomenclature, but rather on the meaning.

0
0 21
New
Article Kate Lau · Apr 14 3m read

Hi, every one. Again, it's me!!😀😀

Recently I was trying to organize some learning materials for InterSystems IRIS😆, and realized that the resources are actually quite scattered.🤐

So I put together a list here—grouped by categories—for anyone who:

  • is new to InterSystems
  • or wants to go deeper into specific areas

Also adding some of my own experience on what worked (and what didn’t, may be only not work for me🤫🤐).


1. For starters

If you don’t know where to begin, start here:

5
0 76
Article Vachan C Rannore · Aug 18, 2025 3m read

While starting with Intersystems IRIS or Cache, developers often encounter three core concepts: Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together. 

1. Working with Dynamic Objects:

Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. They are especially useful for modern applications that need to parse, transform or generate JSON.

5
7 361
Article Hiroshi Sato · Aug 28, 2025 1m read

InterSystems FAQ rubric

There is data, such as execution log data, that you do not want to return to its previous state even if a rollback occurs during a transaction. The above requirement can be met by placing that data in the IRISTEMP database, which will not be rolled back.

Temporary Globals and the IRISTEMP Database

By mapping the table entities you do not want to roll back to this database, you can retain the information after the rollback.

1
0 139
New
Question Norman W. Freeman · Apr 14

I use cspa24.so Apache module to connect to IRIS. I have notified that idle Apache processes will always result in connections being kept open to the IRIS server, and thus some amount of IRIS processes being kept alive (and dedicated to those apache processes) because of those connections.

Eg: if I have 50 idle Apache processes, I will have 50 IRIS processes being kept alive in IRIS even if there is no client connection being made at that time. 

It's even worse with multiple Apache nodes and a load balancer.

5
0 40
Article Iryna Mykhailova · Oct 19, 2020 3m read

Updated 14/04/26

Before you can start building with InterSystems IRIS, you need a working local or server installation. This guide walks through downloading the distribution and installing IRIS on Windows in a straightforward way, focusing on the steps and decisions that matter in a development setup.

I’ll cover where to get the appropriate version, what prerequisites to check before installing, and how to run through the installer on your platform. The goal is to get you to a clean, usable environment with minimal friction, so you can move on to writing code, exploring the data platform, and integrating with your existing tools.

To download a Community version, please read this article: How to get InterSystems IRIS Community Edition. It explains the different ways to obtain InterSystems IRIS Community Edition, highlighting options for local, containerized, and cloud-based setups. It shows how to use Docker to quickly pull and run a ready-to-use IRIS instance. You can also learn how to deploy IRIS in the cloud via marketplaces like AWS to avoid local installation. What's important here, this guide walks through downloading an install kit from the InterSystems Evaluation Service and selecting the right version and platform.

9
3 10393
Article Sammy Lee · Aug 28, 2025 1m read

As part of a recent documentation technical project to optimize the search, I needed to use Embedded Python in my ObjectScript code. The main blocker was passing a Python list from a Python class method to a ObjectScript method. Sending the list by reference to the python method, populating it with the Insert() method, and returning the reference to the ObjectScript method resulted in an list with type %SYS.Python, a process that was straightforward but not efficient.
I explored an alternative method: converting a Python list to an ObjectScript list using JSON as the intermediary format.

1
2 176
New
Question Scott Roth · Apr 13

This past weekend we ran into something odd. When we failed over our mirror from 2022.1.3 to 2025.1.3 the one of the Business Rules that was on what became the Primary (2025.1.3), had a rule within it that was removed back in January. When the Failover occurred, we had to scramble to backup, disable, and remove the Rule that shouldn't have been there. 

Both the Data and Code live within the same IRIS.dat that is the main MIRROR database for that Namespace. 

If this happened to one Class file, could it happen to others we do not know about?

4
0 80
New
Question Mark Charlton · Apr 13

I'm starting to play more with AI enabled coding. 
I've been using Github Copilot inside Visual studio code, which is very good at coming up with autocomplete suggestions that are accurate and useful. (Along with some utter rubbish, naturally).
For web development I'm starting to use Claude Code in VS Code to help create web sites and integrations. I want to see how it can help with IRIS development. 

However I can't get claude to read any iris code directly as I'm connected to my server via isfs server connections.

5
0 83
New
Article Jinyao · Apr 2 2m read

Motivation

Why do we need this?

  1. Lack of Compiled Context: AI tools only see source code; they don't know what the final compiled routine looks like.

  2. Macro Hallucination: Because AI doesn't see our #include files or system macros, it often makes them up, wasting time during debugging.

  3. The Documentation Gap: Deep logic optimization often requires understanding internal macros that aren't fully covered in public documentation.

  4. Manual Overhead: Currently, the only way to fix this is to manually use the IRIS VS Code extension to find the "truth" in the routine.

4
0 94
Contestant
Article Yuri Marx · Apr 13 5m read

The PACELC theorem was created by Daniel Abadi (University of Maryland, College Park) in 2010 as an extension of the CAP theorem (created by Eric Brewer - Consistency, Availability, and Partition Tolerance). Both help design how to architect the most suitable operation of data platforms in distributed environments under the aspects of consistency versus availability. The difference is that PACELC also allows analysis of the best option for non-distributed environments, making it the gold standard for considering all possible scenarios to define your deployment topology and architecture.

The CAP theorem states that in distributed systems, it is not possible to have consistency, availability, and partition tolerance simultaneously, requiring a choice of two out of three, according to the following diagram.


Source: https://medium.com/nerd-for-tech/understand-cap-theorem-751f0672890e

0
3 36
Article Tani Frankel · Jan 22 4m read

If you already know Java (or .Net) and perhaps also have used other document databases (or looking for one), but you are new to the InterSystems world, this post should help you.

InterSystems IRIS Cloud Document is a fully managed document database that lets you store JSON documents and query them with familiar SQL syntax, delivered as a cloud service managed by InterSystems.

In this article pair I’ll walk you through:

  • Part I - Intro and Quick Tour (this article)
    • What is it?
    • Spinning up an InterSystems IRIS Cloud Document deployment
    • Taking a quick tour of the service via the service UI
  • Part II - Sample (Dockerized) Java App (the next article)
    • Grabbing the connection details and TLS certificate
    • Reviewing a simple Java sample that creates a collection, inserts documents, and queries them
    • Setting up and running the Java (Dockerized) end‑to‑end sample

The goal is to give you a smooth “first run” experience.

0
0 32
Article Peter Steiwer · Jan 21 2m read

Starting with InterSystems IRIS 2025.1, the way dependent cubes are handled in cube builds and cube synchronizes was changed.

This change may require modifying custom build/synchronize methods. If you are using the Cube Manager, these changes are already considered and handled, which means no action is needed.

Prior to this change, cubes were required to be built and synchronized in the proper order and account for any cube relationships/dependencies. With this change, dependent cubes are automatically updated as needed when using the %BuildCube or %SynchronizeCube APIs.

0
0 19
New
Question Pietro Di Leo · Apr 10

Hi everyone,

I was wondering if it is possible to use the InterSystems Server VSCode Extension to work in client side mode but importing locally the content of a project without having to choose the files manually.

It would be awesome to have all project-related assets synchronized in one go. Relying on InterSystems Projects (.prj files) would be convenient for several reasons:

  1. Projects bundle different file types (CLS, MAC, INT, CSP). Importing the project as a whole is much more efficient than picking individual files piece by piece.
5
0 60
New
Article Iryna Mykhailova · Apr 9 3m read

Claude Code has a strong understanding of IRIS, but unexpected issues still occur.

The first issue is one that has already happened several times and is likely to continue occurring if not properly addressed.

In IRIS, the collation for string data (%String) is set to SQLUPPER by default. As a result, when data is retrieved via SQL, it may be returned in uppercase (for example, when sorting and aggregating with GROUP BY).

3
0 73
Question Evgeny Shvarov · Feb 5

Hi developers!

In a method I need to return a result as a dynamic object aka JSON Object. And here is my logic:

Classmethod Planets() as %DynamicObject {

 set val1="Jupiter"
 set val2="Mars"
// this doesn't work! cannot compile
 return {"value1":val1, "value2":val2}

}

So I need to do the following:

28
1 321
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.

6
6 453
New
Article Iryna Mykhailova · Apr 9 3m read

Since I started using Claude Code, my motivation to create things has skyrocketed.

Previously, even if I wanted to build something, actually doing the coding felt like a hassle, so unless there was a very strong need, I rarely went as far as programming. But now, if I just jot down the specifications, Claude Code handles the rest automatically, resulting in a dramatic improvement in productivity.

I come from a generation native to ObjectScript, so I used to feel some hesitation when it came to switching to Python.

0
0 43
Article Pietro Di Leo · Aug 21, 2025 2m read

Recently, I replaced my old laptop with a new one and had to migrate all my data. I was looking for a guide but couldn’t find anything that explained in detail how to migrate server connections from InterSystems Studio and Visual Studio Code from one PC to another. Simply reinstalling the tools is not enough, and migrating all the connections manually seemed like a waste of time. In the end, I managed to solve the problem, and this article explains how.

InterSystems Studio

Exporting Server Connections

Migrating Studio connections was the most challenging part.

4
6 299
New
Question Scott Roth · Apr 6

I am trying to built a Task that kicks off a Workflow to pull data into HSPD, and when I try to test the Task

ClassMethod TestTask()
{set tTask = ##class(OSU.Workday.TerminationsTask).%New()set tTask.DaysBack = 1 $$$ThrowOnError(tTask.OnTask())}

I keep getting TestTask+3^OSU.Workday.TerminationsTask.1 *%Exception.StatusException ERROR <Ens>ErrConfigDisabled: Configuration item 'OSU.DataSource.Workday.TermService' is disabled

But within the Namespace the OSU.DataSource.Workday.TermService shows enabled.

Here is my Task that I am using...

Class OSU.Workday.TerminationsTask Extends %SYS.
7
0 68
New
Question Ikh Nam · Apr 7

Hi all,
I'm trying to learn Intersystems Iris. And I have a question.
How can I use left arrow key with if function. Also if it is possible, teach me that how can I make backspace to edit data?
P.S Sorry for bad English.
new var,key,curPos
w $char(27)_"[2J"_$char(27)_"[H"
var="12345abcde"
curPos=$length(var)+1
w $char(27)_"[3;1H"_"First var= "_var
for {
read *key
#; Left Arrow Key
if key="?" {
}
#; Right Arrow Key
elseif key="?" {
}
#; Backspace
elseif key=8 {
}
elseif key=9 {
quit
}
}
!,"Last var= ",var
Kind Regards,
Ikh

3
0 61
New
Article Iryna Mykhailova · Apr 8 2m read

This time, it’s not really programming per se, but we are using React as a front-end development tool for IRIS. When using a web development framework—not limited to React—one key consideration is which CSS framework to use. Up until now, we’ve been using Bootstrap, which is the standard and the easiest to get started with.

However, while it’s easy to use, I felt that it offers limited flexibility for customization. That said, even if we were to switch to another CSS framework, learning it and rewriting everything from scratch would be a significant effort, so we left things as they were.

0
0 47
New
Article Laurel James (GJS) · Apr 7 2m read

Is your source control treating your InterSystems IRIS environment like a simple collection of files? Most source control tools lack the native intelligence to handle InterSystems IRIS, which is why your code is treated as such. 

Deltanji is different. It understands how code and other artifacts are stored within IRIS and can manage them directly. This eliminates the friction that other tools introduce to the process. 

Join us for an InterSystems-hosted webinar to see how Deltanji provides an enterprise-grade source control solution that is tightly integrated with your IRIS environment.

3
1 50