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

Contestant
Article Yuri Marx · 1 min ago 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
0 1
New
Question Mark Charlton · 1 hr ago

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.

2
0 12
New
Question Scott Roth · 2 hr ago

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?

2
0 29
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 28
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 17
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 58
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 65
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 317
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 448
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 37
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 291
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 67
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 59
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 43
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 49
New
Question Scott Roth · Apr 7

We are working on Disk Consolidation and looking at Class/Globals that are rather large and not being cleaned up by the nightly Purge process. We have implemented DeleteHelper - A Class to Help with Deleting Referenced Persistent Classes | IDC on any Custom Data Classes, and Business Processes (BPL).

We have a bunch of Data Classes, BPL's, and Operations that connect to external MS SQL Server using JDBC to query or write data to using Stored Procedures and Queries. All that Query external tables are using EnsLib.SQL.Snapshot, and this is being written to ^Ens.AppData which is not cleaned up.

1
0 22
New
Article Jorge Jaramillo Herrera · Mar 30 7m read

A Continuous Training (CT) pipeline formalises a Machine Learning (ML) model developed through data science experimentation, using the data available at a given point in time. It prepares the model for deployment while enabling autonomous updates as new data becomes available, along with robust performance monitoring, logging, and model registry capabilities for auditing purposes.

InterSystems IRIS already provides nearly all the components required to support such a pipeline. However, one key element is missing: a standardised tool for model registry.

1
0 139
New
Announcement Larry Finlayson · Apr 6

Managing InterSystems Servers – Virtual  May 4-8, 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 18
Article Irene Mykhailova · Apr 21, 2025 3m read

Migrating from Oracle, MSSQL, or other purely relational database systems to a multimodel InterSystems IRIS is a strategic decision that requires careful planning and execution. While this transition offers significant benefits, including enhanced performance, scalability, and support for modern architectures, it also comes with challenges. In this article I will highlight some of the considerations connected to coding to ensure a successful migration. I will leave everything connected to an actual migration of structures and data outside the scope of this article.


First, when you're considering migrating to a different database system, you need to understand your business logic, whether it's on the side of the application (application server) or the database server. Basically, where do you have your SQL statements that you will need to potentially rewrite

4
1 364
New
Article Developer Community Admin · Apr 6 8m read

For software engineers and data architects evaluating data platforms for risk and compliance consolidation in financial services.

Overview

Financial institutions typically run separate applications for risk management and regulatory compliance, creating fragmented data landscapes that are difficult to query and expensive to maintain. InterSystems IRIS is a distributed HTAP data platform that allows organizations to consolidate these systems onto a single, unified data layer.

0
0 33
Article Chi Wan Chan · Oct 30, 2025 2m read

Hi All,

First I want give a Shout Out to @Theo Stolker  and @Rupert.Young. Because they helped me with the solution.

 When you're using the EnsLib.SQL.Snapshot as a Property in the Response Message to return Snapshot data (,e.g.: from Business Operation to Business Process,) the Snapshot data won't be cleaned with the Purge messages task/service.

Class ResponseMessage Extends Ens.Response

{

    Property SnapshotProp As EnsLib.SQL.Snapshot;

}

The data will be stuck in the global: ^Ens.AppData. You can find it with this query in System>Globals:  ^Ens.AppData("EnsLib.SQL.

3
1 132
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.

4
7 333
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.

1
0 64
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 row.

10
1 254