Hey Developers,
Enjoy the new video on InterSystems Developers YouTube
⏯ First Customers Using Vector Search - Real World Experiences and Lessons Learned @ READY 2025
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.
Hey Developers,
Enjoy the new video on InterSystems Developers YouTube
⏯ First Customers Using Vector Search - Real World Experiences and Lessons Learned @ READY 2025
Developing and testing REST APIs in InterSystems IRIS often requires a significant amount of boilerplate code. While ObjectScript provides powerful tools for building APIs, writing consistent and repeatable tests can be time‑consuming. This is where IrisOASTestGen comes in.
IrisOASTestGen is a utility designed to generate the structure of test classes and the supporting utility code directly from an OpenAPI 2.0 specification. It leverages the OpenAPITools openapi‑generator under the hood to scaffold test stubs and helper methods that make it easier to interact
In this article, we will discuss all the debugging tools included in the Microsoft Visual Studio Code IDE.
What will be covered:
Let's start by learning about debugging requirements!
Prerequisites
There are two plugins (extensions) for debugging ObjectScript:
The first is part of the InterSystems ObjectScript Extension Pack. The second is Serenji, a standalone plugin that provides an editor, file manager, and debugging functionality. Both plugins can be installed from the plugin store. To activate key functionality, Serenji requires a license. For this article, we'll use the InterSystems ObjectScript Extension Pack to reduce the learning curve. After you've mastered the basics, you can consider purchasing a paid license for Serenji.
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Using InterSystems Data Studio with Supply Chain Module as a Data Gateway @ Ready 2025
Monitoring your IRIS deployment is crucial. With the deprecation of System Alert and Monitoring (SAM), a modern, scalable solution is necessary for real-time insights, early issue detection, and operational efficiency. This guide covers setting up Prometheus and Grafana in Kubernetes to monitor InterSystems IRIS effectively.
This guide assumes you already have an IRIS cluster deployed using the InterSystems Kubernetes Operator (IKO), which simplifies deployment, integration and mangement.
Prometheus and Grafana are widely adopted tools for cloud-native monitoring
When I was younger (a question about exactly how much younger is outside the scope of this article), the word “token” meant fun. You see, just a couple of times a year, I would get to go to an arcade and play some amusing video games with my friends.
These days, tokens signify security.
InterSystems FAQ rubric
If you try to kill a global that is mapped at the subscript level from the top node, you will get a <SLMSPAN> error and it will not be deleted. This is because the kill command for subscript-level mapped globals cannot be used across mappings.
// Suppose subscript-mapped globals exist in different databases, as shown below:^TEST(A*~K*) -> database A
^TEST(L*~Z*) -> database B
// Trying to kill from the top level will result in a <SLMSPAN> error.
NAMESPACE>Kill^TEST
<SLMSPAN> <- This error is output.To delete only the global in the current namespace (database),
Hello all,
First time post and newer to Cache/ObjectScript in general, please keep it in mind!
Some background: I need to build part of a production whose goal is to send patients emails based on appointment status as a daemon-based approach. I have to use Microsoft Graph to accomplish this, which you need an access token to use. To get the access token, I have to go through the OAuth2.0 client credentials grant flow, which involves the creation of a signed JWT assertion using the RS256 algorithm.
I was looking at the %OAuth2.JWT class to accomplish this, via its ObjectToJWT() method.
Hi,
We’re launching an Early Access Program for an upcoming Table Partitioning feature that will help IRIS customers manage very large tables, and distribute row data and associated indices across databases and storage tiers. Table Partitioning cuts deep into the core of IRIS relational data management, so we want to make sure we get things right through working with a few engaged customers who can provide feedback on the initial deliverables, and fine-tune as needed.
If you are working with very large relational datasets, looking for more operational efficiency, and willing to roll up your
I want to extract data from IRIS (Health Share Provider Directory) and write the data out to a file that I can use within an external system. Using EnsLib.SQL.Service.GenericService do I need to supply Credentials if I am querying IRIS locally? I have always used JDBC to connect externally when creating Services and Operations to read/write SQL data from external Databases, but never internally. Normally I would just use sql or code to pull the data within a Process or DTC. But in this case, I want the Service to drive the workflow, and query the data from Local Tables
Using a Workflow Task within HealthShare Provider Directory, when a user clicks on Resubmit message within my Business Process, I check the status of the response. If the response is "Resend Message", I have my Business Process executing the following....png)
set tSC = ##class(Ens.MessageHeader).ResendDuplicatedMessage(context.SessionID)
if$$$ISERR(tSC) $$$LOGSTATUS(tSC)the context.SessionID is the Session ID of the message as it is being pass thru the Business Process. Does anyone see why that would not work off hand?
Hello everyone.
I have a question regarding the priority when applying a default configuration.
I have several Business Services that use the same class, so I want them all to have a common "Schedule" configuration.
However, there's one that I don't want this default configuration applied to, so I've tried setting the Schedule value to empty for that element based on its name:
In this case, the elements that use the class Kurro.BS.SFTP.Marca have the default value "CargaFicheros".
.png)
However, one of the elements (Kurro.BS.SFTP.Special) should not have this configuration, so I have created an entry
I have an Embedded Python method, which is essentially a call to one third-party module.
Most of the time, the method takes <0.1 seconds to execute, but sometimes it takes 30 or 60 seconds.
The server is relatively idle (20-30% CPU load).
How can I debug this issue further? Ideally, I want to know where this library spends the time. The library is mainly Python code (it's boto3, so it's not a Python C API proxy library).
Table of Contents
Introduction.
In this article, we'll cover a quick start to Git development with the InterSystems Developer Community and version control practices when working with IRIS InterSystems. We'll cover scenarios where we need to export Interoperability classes, globals, and analytics elements such as cubes and dashboards. These scenarios encompass key version control practices with IRIS.
To get started, you'll need:
Getting started with IRIS InterSystems is very simple!
For the question in the Title, the AI Chat gave a response of:
The ‘Current Users’ value displayed by the $System.License.ShowSummary() method represents
real-time license usage tracked in shared memory on the local system.
We are trying to reconcile which user/process are associated with the counts that are returned.
Does anyone know how to get the detail of 'license usage tracked in shared memory on the local system.'?
Thanks you for your time.
- Patrick
Hello Community!
It was encouraging to see more people building VS Code extensions for the recent contest. However I noticed that of of the three extensions requiring credentials with which to make their connections only mine, gj :: dataLoader, leverages the long-established and officially-supported InterSystems Server Manager extension to obtain the connection definitions and to handle credentials securely.
.png)
Apache Airflow is the leading open-source platform to programmatically author, schedule, and monitor data pipelines and workflows using Python. Workflows are defined as code (DAGs), making them version-controlled, testable, and reusable. With a rich UI, 100+ built-in operators, dynamic task generation, and native support for cloud providers, Airflow powers ETL/ELT, ML pipelines, and batch jobs at companies like Airbnb, Netflix, and Spotify.

I use $SELECT() in Architect to aggregate various data conditions into a single dimension.
I have a data table like this: id, user, userData1, userData2...
Where each user action is the %Integer ID of that action from some source.
Introduction
In today's rapidly evolving threat landscape, organizations deploying mission-critical applications must implement robust security architectures that protect sensitive data while maintaining high availability and performance. This is especially crucial for enterprises utilizing advanced database management systems like InterSystems IRIS, which often powers applications handling highly sensitive healthcare, financial, or personal data.
This article details a comprehensive, multi-layered security architecture for deploying InterSystems IRIS clusters on AWS using Kubernetes (EKS) and
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
Given a JSON schema at runtime, I want to programmatically create persistent classes with corresponding properties and indices. Is there a way to dynamically compile and load such classes?
Hello Community! 👋
Welcome to the second part of the IRIS IO Utility series. This extension represents my submission for the InterSystems "Bringing Ideas to Reality" Contest 2025 and offers you an intuitive and powerful interface for importing and exporting data directly inside VS Code.
If you find this extension useful, please consider voting for me at the contest!
In the previous article, we covered:
Hi everyone. Long time no see. Again, I would like to share what I am studying recently Create Foreign Tables Using SQL via JDBC.
Since I am learning about the IRIS BI at the same time, so I started with this Sample-BI docker environment
https://github.com/intersystems/Samples-BI
After starting the environment, login to the management portal http://localhost:52773/csp/sys/UtilHome.csp with the user Superuser.
Switch the namespace to IRISAPP.
.png)
😀 We will find out that all the sample data are stored in this namespace IRISAPP. Let's find a simple table for testing the Foreign Table feature 🤣
System
.png)
As AI-driven automation becomes an essential part of modern information systems, integrating AI capabilities into existing platforms should be seamless and efficient. The IRIS Agent project showcases how generative AI can work effortlessly with InterSystems IRIS, leveraging its powerful interoperability framework—without the need to learn Python or build separate AI workflows from scratch.
This project explores how ChatGPT and Anthropic Claude, two of the most advanced AI models, can interact with IRIS using Custom GPTs and the Model Context Protocol (MCP).
Too run SQL in Terminal use $system.SQL.Shell().
Please refer to the sample below.
SAMPLES>do $System.SQL.Shell()
SQL Command Line Shell
---------------------------------------------------- The command prefix is currently set to: <>.
Enter q to quit, ? for help.
SAMPLES>>select * from Sample.Vendor
1. select * from Sample.Vendor Vendor Balance Contact DaysClear DiscDays DiscRate LastInvDate LastPayDate MinPayment Name NetDays PayFlag TaxReportingAddress_City Address_State Address_Street Address_Zip
: *If you press Enter without entering anything on the first line, it will
Supply Chain refers to a set of processes and activities performed by the company's business areas and its suppliers and partners (stakeholders), from the acquisition of raw materials, through production, to delivery to the end consumer. It can be better managed using SCM solutions with the orchestration of the InterSystems IRIS:
Hi Community,
Are you looking for resources to help your team onboard? Use these guides to get started!

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