#InterSystems IRIS

19 Followers · 5.7K 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
Question Tim Stowe · May 15

I recently started using Cursor/VSCode with an IRIS container for development rather than Studio/Terminal.  
I've noticed that whenever I use %G (so basically all the time), when I exit %G, the terminal window simply closes, rather than returning me to my usual namespace prompt.  
%G also does not retain the command stack like it does in old school terminal, so I'm forced to constantly retype every global reference.  
Anyone figured out a solution to this?  It's a relatively minor problem in the grand scheme of things, but a time consuming and irritating one.  
 

3
0 40
New
Article Guillaume Rongier · 6 hr ago 8m read

 

When developing Python applications with InterSystems IRIS, you can quickly end up with several execution contexts:

  • Python launched directly by IRIS with Embedded Python;
  • a regular python3 process that loads the Embedded Python libraries from a local IRIS installation;
  • an external Python application that connects to IRIS through the official native driver.

These three cases are useful, but they do not behave exactly the same way for imports, system configuration, object APIs, and SQL access.

0
2 17
New
Question Luis Gallardo · 8 hr ago

What is the recommended approach for handling upgrades in an InterSystems IRIS Kubernetes environment?

For example, if we deploy version 1.0.0 of our product and subsequently need to upgrade to 1.0.1, and this upgrade requires changes to SQL tables containing customer data.

The quickest solution that comes to mind is creating an 'upgrade method' that runs on startup to check if any data migration actions are required. However, I'm wondering if there are better solutions or established best practices for this.

Thanks in advance!"
 

0
0 16
New
Article Yuri Marx · 19 hr ago 2m read

Redoc is an Open Source solution capable of rendering API specifications in OpenAPI 2.0 or 3.0+ as very beautiful and functional web portals. Currently, to have something similar, we need the ZPM SwaggerUI extension or we need to install IAM - InterSystems API Manager and then configure the IAM Developer Portal. Well, now the community has one more option, iris-redoc. This solution installs a web application on your IRIS instance that uses Redoc to present a beautiful web portal for your REST APIs:

0
3 30
New
Announcement Ronnie Hershkovitz · May 17

Hello Community!

We’re excited to invite you to our upcoming Hebrew webinar, presented by @Keren Skubach, an InterSystems Senior Sales Engineer:

👉A Practical Guide to Leveraging AWS Adapters and APIs 👈

📅 Date & time: June 2nd, 3:00 PM IDT

https://events.teams.microsoft.com/event/00cf0e54-16ff-4d86-8dff-659ba855128d@74abaa74-2829-4279-b25c-5743687b0bf5

Discover how to accelerate cloud-based integration with InterSystems' native AWS adapters for S3, SQS, SNS, and CloudWatch.

This session provides a practical look at building modern interoperability workflows — from secure file ingestion and asynchronous messaging to automated notifications and centralized monitoring.

0
0 23
New
Article Iryna Mykhailova · May 16 5m read

Recently, a question on the Community was asked by @Vermon Ferre about storing data from inherited classes in different globals. So, I decided to simulate the following behavior: I created a superclass called Article.MainClass and two subclasses, Article.Class1 and Article.Class2. By default, when each class extends %Persistent IRIS creates independent storage structures for them. This will work as intended if the first class in the list of superclasses is %Persistent. But it also means that if there are any parameters in the main class, they will be lost, because only parameters from the first class in the list get inherited.

1
1 48
New
Article Pietro Di Leo · May 6 18m read

Introduction

Today, coding assistants like Claude, GitHub Copilot and Cursor have transformed the way developers write code. However, these tools are limited by being isolated from the systems and data sources that developers work with daily. This limitation can be overcome through the Model Context Protocol (MCP), an open standard designed to connect AI assistants to external data sources and tools in a secure and standardized way.

In this review article, we'll explore the current state-of-the-art regarding the MCP within the InterSystems ecosystem.

2
4 235
New
Article Hua Jian · May 15 1m read
  1. VS Code version 1.60.0 and above
  2. install below 3 extensions

  3. Ctrl + Shift + P show all commands

          

  1. InterSystems: Connect to Server

         

  1. input connection details 

    IP:localhost

        Port: 52773

       choose global & http connection method

       Input username and password of Intersystems management portal

       screenshot for success connection:

0
1 31
New
Question Sam Hall · May 14

What's the most straight-forward way to install this on an offline server? I'm trying to set this up on an Azure DevOps server to support our CI/CD pipelines. I've tried using zpm installing the tgz from the local filesystem. I note zpm seems to need a repo configured to install but I can't work out how to setup a bare-bones Filesystem repo (please point me to some documentation on this). I have no idea what I'm doing...

zpm:%SYS>install f:/tmp/zpm-registry-1.3.4.tgz 
  
ERROR! 'tmp' not found in any repository. 
zpm:%SYS>install zpm-registry-1.3.4.tgz 
  
ERROR! 'zpm-registry-1.3.4.tgz' not found in any repository. 
zpm:%SYS>install zpm-registry 
  
ERROR! 'zpm-registry' not found in any repository. 
zpm:%SYS>install "f:\tmp\zpm-registry-1.3.4.tgz" 
  
ERROR! 'f:\tmp\zpm-registry-1.3.4.tgz' not found in any repository. 
zpm:%SYS>list 
IPM (zpm) 0.10.6 
zpm:%SYS>repo 
  
  
1) Filesystem 
2) ORAS 
3) Remote Repository 
  
Which sort of repository do you wish to configure? 1 
Name:  local 
local 
        Source:                 F:\tmp\* 
        Enabled?                Yes 
        Available?              Yes 
        Use for Snapshots?      Yes 
        Use for Prereleases?    Yes 
        Is Read-Only?           No
  
local 
        Source:                 F:\tmp\* 
        Enabled?                Yes 
        Available?              Yes 
        Use for Snapshots?      Yes 
        Use for Prereleases?    Yes 
        Is Read-Only?           No

zpm:%SYS>install f:/tmp/zpm-registry-1.3.4.tgz 
  
ERROR! 'tmp' not found in any repository. 
zpm:%SYS>install zpm-registry-1.3.4.tgz 
  
ERROR! 'zpm-registry-1.3.4.tgz' not found in any repository. 
zpm:%SYS>install zpm-registry 
  
ERROR! 'zpm-registry' not found in any repository. 
zpm:%SYS>install "f:\tmp\zpm-registry-1.3.4.tgz" 
  
ERROR! 'f:\tmp\zpm-registry-1.3.4.tgz' not found in any repository. 
zpm:%SYS>info

Welcome to the Package Manager Shell (ZPM). Version: 0.10.6
Enter q/quit to exit the shell. Enter ?/help to view available commands
No registry configured
System Mode: <unset>
Mirror Status: NOTINIT
IRIS for Windows (x86-64) 2025.2 (Build 227U) Thu Jul 10 2025 11:01:07 EDT

Currently installed top-level modules are listed below:
IPM 0.10.6
2
0 32
New
Article Jorge Jaramillo Herrera · May 14 7m read

This article presents a straightforward approach to automatically and efficiently tune hyperparameters for machine learning models using Optuna as the optimisation framework. We explore how to use both Optuna’s native storage options and InterSystems IRIS as a database backend to track the progress of hyperparameter searches. We also show how MLflow can be used to monitor experiments and manage models through its tracking and model registry UI.

This article is based on this Kaggle Notebook, which you can run and directly edit yourself.

0
0 29
New
Article Rob Ellis · May 5 5m read

When managing critical healthcare data through an integration engine you want to know the moment a queue starts backing up or a service drops. 

Unfortunately, this usually leads to an email inbox stuffed full of notifications that can sometimes seem impossible to maintain.

Well, I’ve not solved that problem. 

But I have created something that could help...

4
2 101
New
Job Victor Gordillo · May 14

Key Responsibilities & Requirements

Core Infrastructure & Cloud Management

  • Full-Stack Administration: Maintain and optimize both Linux (Ubuntu/RHEL) and Windows Server environments.
  • Cloud Orchestration: Take full ownership of VM cloud infrastructure, including provisioning, health monitoring, backup and resource scaling.
  • Policy Governance: Design and enforce comprehensive SysAdmin and Deployment policies (CI/CD pipelines, automated provisioning, and security hardening).

InterSystems Database Administration

  • Platform Expertise: Expert-level administration of both InterSystems IRIS and Caché.
0
0 33
New
Article José Pereira · May 10 15m read

Data privacy regulations such as GDPR, LGPD, and HIPAA demand that organizations know exactly where Personally Identifiable Information (PII) lives inside their databases. Yet in practice, most teams rely on manual inventories, tribal knowledge, or external scanning tools that require data to leave the database engine — a process that itself creates privacy and security risks.

This article presents an MVP that takes a different approach: it runs PII detection inside InterSystems IRIS using Embedded Python, analyzing data where it lives and never exporting it to an external process.

3
0 97
New
Article Guillaume Rongier · May 12 7m read

InterSystems IRIS globals are one of the platform's core strengths: they store hierarchical data in a direct, ordered, and efficient structure. But when working from Python, manipulating globals can sometimes feel closer to a low-level API than to the natural habits of the language.

The iris-global-reference project provides a Python layer on top of IRIS globals. Its goal is simple: make access to globals more readable, more idiomatic, and easier to integrate into modern Python code, without hiding the underlying hierarchical model.

0
1 40
New
Question Mikhail (VetsEZ) Akselrod · May 11

What is wrong with the *inc file code below:

#define ArrayToString(%array,%out,%del)      set %out="" for { ##continue
                                                                                   set key=$order(%array("")) quit:key="" ##continue
                                                                                   set %out=%out_%del_key ##continue
                                                                               } quit

Compilation at calling classmethod as : Set tQStr = $$$ArrayToString(pQArray,tQStr,"##") brings error as:

8
0 76
New
Question Tom Scaletti · May 11

I need to analyse and improve the performance on some old SQL statements.

One statement uses NVL in the WHERE clause (no wonder why it's slow) but I still have to improve the performance and the data really needs to be the same when returned.

SELECT *
FROM TOURHead, TOURFIND, SGNRFIND, TNRHead
WHERE TOURHead.cl = '123'
AND TOURHead.cl = TOURFIND.cl
AND TOURHead.TOURNR = TOURFIND.TOURNR
AND TOURFIND.cl =* SGNRFIND.cl
AND TOURFIND.SGNR    =* SGNRFIND.SGNR
AND TOURFIND.cl = TNRHead.cl
AND NVL(TOURFIND.TNR, SGNRFIND.TNR) = TNRHead.TNR;

Really hope someone can help me with this one.

3
0 60
New
Article Clinovera · May 9 10m read

Many organizations that operate systems built on legacy technology stacks are facing significant support and maintenance complexities. They are eager to modernize, but the transition is usually prohibitively complex and expensive. These challenges apply to virtually any legacy tech, while InterSystems-based systems have their own unique nuances.

Key modernization challenges include:

  • Refactoring massive amounts of code, including identifying and removing obsolete "dead code."
  • Managing complex business logic accumulated organically over decades.
0
0 142
Article Matheus Augusto · Apr 20 6m read

Hello, community.

I've been working with Intersystem Caché for two years, and right away I was excited about the rich ecosystem that Caché provides. However, I was disappointed with calls using #call, and I understand that it was a limitation of the time. Well, the frustration is that #call returns null by default, meaning an AJAX request is executed, but there's no hook to retrieve the return from that request. The only way to retrieve the data from that request is by building a callback on the server side using &js<>.

1
1 91
New
Article Luis Angel Pérez Ramos · May 7 8m read

Introduction

In healthcare interoperability environments, InterSystems Health Connect typically contains critical components such as productions, business processes, operations, services, utility classes, routines, and other ObjectScript artifacts. Traditionally, many deployments of these components have been done manually, by copying classes, importing XML, or using administrative tools from the management portal.

1
2 84
New
Article David Hockenbroch · May 7 8m read

In our previous article, we explored the basics of unit testing in IRIS and the ways to apply it to a REST API. We even figured out how to test logic before finalizing network configurations and authentication, allowing us to focus solely on testing the API contents. Today, we will build upon that foundation and elevate our unit testing strategy by using another tool: %Populate .

At first glance, the %Populate class appears to be very simple. You can create a class that extends both %Persistent and %Populate and inherit a Populate method designed to generate randomized records.

0
0 46
New
Article Gabriel Ing · May 7 4m read

For those of you that weren't at READY last week, you may have missed the exciting announcement that the Early Access Program for AI Hub is officially open. It was announced during an amazing demo from @Benjamin De Boe and @Jeff Fried, I recommend catching up with this demo when the recording is released!  I had the opportunity to play with AI Hub in advance, and thought I might share an introduction with the community.

0
3 118
New
Announcement Ali Nasser · May 5

Hello everyone,

The Certification Team of InterSystems Learning Services is excited to announce the release of our new InterSystems IRIS SQL Professional exam. It is now available for purchase and scheduling in the InterSystems exam catalog. This exam is geared towards IRIS SQL experts, and it deals with a variety of advanced IRIS SQL topics that you can find in the exam page.

1
0 47