#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 David Hockenbroch · Feb 25 2m read

Inspired by @Ashok Kumar T's post on the ideas portal here as well as my own wishes for a solution to this problem, I have come up with a simple way to allow more complete and consistent JSON queries without having to specify every desired field. I have created a class that extends the built-in %JSON.Adaptor class and makes its %JSONExportToString and %JSONExportToStream methods accessible through SQL with just a couple of simple SqlProc Methods.

Class DH.JSONAdaptor Extends %JSON.Adaptor [ Abstract ]
{
ClassMethod jsonstring(id, map = "") [ SqlProc ]
{
	try{
		set myobj = ..%OpenId(id)
3
0 58
New
Article Oliver Wilms · 18 hr ago 2m read

iris-budget

I created iris-budget app for the InterSystems Full Stack Contest in 2026. By full stack, we mean a frontend web or mobile application that inserts, updates, or deletes data in InterSystems IRIS via REST API, Native API, ODBC/JDBC, or Embedded Python.

My app uses multiple REST APIs to add a new category or retrieve a list of categories of expenses and income.

First web application /csp/coffee

I inherited /csp/coffee from module.xml in iris-fullstack-template.

Second web application /csp/budget

For this project, I created a swagger file called "budget.json." I wanted to use the spec

0
0 33
Article Benjamin De Boe · Nov 9, 2023 3m read

With the release of InterSystems IRIS Cloud SQL, we're getting more frequent questions about how to establish secure connections over JDBC and other driver technologies. While we have nice summary and detailed documentation on the driver technologies themselves, our documentation does not go as far to describe individual client tools, such as our personal favourite DBeaver. In this article, we'll describe the steps to create a secure connection from DBeaver to your Cloud SQL deployment.

22
2 2235
New
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

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 the end (like a footer).
Usually, the naked global would contains the key of the last node, but that's not

2
0 54
New
Article Muhammad Waseem · Feb 25 4m read

image

Hi Community,
In this article, I will introduce my application iris-CliniNote .

CliniNote is a full-featured clinical notes application that combines classic CRUD operations with **real-time AI-assisted notes matching** powered by **InterSystems IRIS native vector search**. The standout feature: while a doctor is writing or editing a clinical note, a side panel shows the **top 5 most similar notes** based on the semantic content of the note being written — **excluding the current patient** to avoid trivial matches. This gives clinicians immediate access to "patients like this one" — helping with differential diagnosis, treatment pattern recognition, and rare presentation detection.

Online Demo

https://irisclininote.sandbox.developer.intersystems.com/csp/clininote/login.html

0
0 15
New
Article Zhong Li · Feb 20 5m read

Keywords:  IRIS, Agents, Agentic AI, Smart Apps

Motive?

Transformer based LLMs appear to be a pretty good "universal logical–symbolic abstractor".  They started to bridge up the previous abyss among human languages and machine languages, which in essence are all logic symbols that could be mapped into the same vector space. 

Objective?

Wondering for 3 years we might be able to just use English (etc human natural languages) to do IRIS implementations as well, one day. 

Possibly tomorrow all machines, software and apps will be "intelligent" enough to interact with users in any human languages to get

1
1 105
New
Article Davi Massaru Teixeira Muta · Feb 24 9m read

Global Guard AI

1 Introduction

In environments that use InterSystems IRIS, globals are the physical foundation of data storage. Although system queries and administrative tools exist for metric inspection, global growth analysis is usually reactive: the problem is generally only noticed when there is disk pressure or performance impact.

Global Guard AI was developed to create a snapshot-oriented observability layer, aligned with the idea published in DPI-I-512 — and based on the series of articles written by Ariel Glikman, Sales Engineer at InterSystems:

2
1 50
Article Ariel Glikman · Jun 3, 2024 6m read

Data Collection

This is a step-by-step instruction guide for creating a task to collect data about the InterSystems database and globals therein (as seen in the associated Open Exchange App - find all the associated code there)

UPDATE (Aug 1 2024): Recently I've been asked about the differences between this and the History Monitor functionality. In short, the data collection monitor builds on the history monitor by adding the ability to track growth of individual globals.

Disclaimer: This software is merely for TEST/DEMO purposes.

2
5 441
New
Article Ashok Kumar T · Feb 24 2m read

In the modern healthcare landscape, finding clinically similar patients often feels like looking for a needle in a haystack. Traditional keyword searches often fail because medical language is highly nuanced; a search for "Heart Failure" might miss a record containing "Congestive Cardiac Failure."

I am excited to share iris-medmatch, an AI-powered patient matching engine built on InterSystems IRIS for Health. By leveraging Vector Search, this tool understands clinical intent rather than just matching literal strings.
## The Core Innovation: Semantic Clinical Search

`iris-medmatch` bridges the

0
0 32
New
Article Yuri Marx · Feb 22 4m read

The facial recognition has become the most popular method for validating people's identities, thus enabling access to systems, confirmation of personal and documentary data, and approval of actions and documents.
The challenges are related to performance when the database is very large, accuracy, and especially the privacy of biometric facial data. For these challenges, nothing is better than using InterSystems Vector Search, as it allows:

  1. Performing vector searches in millions of records with much faster responses than traditional methods.
  2. The vector and mathematical models used by Vector
4
3 87
New
Article Henry Pereira · Feb 14 3m read

cover

You’ve seen how tools like Lovable are shaking up web development. People are spinning up entire apps just by talking to an AI, almost like pair‑programming on steroids.

Now imagine bringing that same “vibe coding” experience into healthcare. know, it sounds crazy. Healthcare is complex, full of regulations, and usually gives us a headache just thinking about the interoperability rules.

That’s exactly the space where withLove lives: an AI‑Native, Low‑Code platform built entirely on InterSystems IRIS for Health.

And no, this is not “one more chatbot” that spits out half‑broken code for you to

1
0 28
Article Marco Bahamondes · Jun 24, 2025 3m read

Introduction

InterSystems IRIS allows you to build REST APIs using ObjectScript classes and the %CSP.REST framework. This enables the development of modern services to expose data for web apps, mobile apps, or system integrations.

In this article, you'll learn how to create a basic REST API in InterSystems IRIS, including:

  • A persistent data class
  • A REST class with GET and POST methods
  • A web application to expose the API
  • A full demonstration using Docker

4
3 322
New
Question Enrico Parisi · Feb 19

I need to reproduce a table (in fact a view, but let's start with a simple table 😊) in IRIS as the currently used in Oracle.

I need to expose/project one column to JDBC as CLOB, in my class I have the corresponding property defined as:

Property GlobStream As %Stream.GlobalCharacter;

In JDBC this column is projected as LONGVARCHAR, this is compliant with the documentation but I need to project it as CLOB.

In addition, I'm no expert in JDBC but wit seems that LONGVARCHAR has a Maximum Length 32,700 characters in JDBC, not quite enough for an arbitrary stream.

Is it possible to project a %Stream to

8
0 90
Question Hannah Sullivan · Aug 24, 2023

I have a persistent class (GetOrgUpdatesResponse) that has a property which is a list of another persistent class (Organization).

What would be the best way to cascade deletes so that on deletion of a parent row each object in the list property is then also deleted? 

I have included a sample of my classes here for clarity

Class Integration.ISIS.BO.SyncOrg.Custom.GetOrgUpdatesResponse Extends (%Persistent, Ens.Response)
{

Property Organizations As list Of Organization;// Cascade DeletionProperty NextUpdateBatchID As%String;Property ResultStatus As%String;
}

Where Organization is

12
1 654
New
Article Henry Pereira · Feb 14 3m read

cover

Picture a dark room. The only light comes from a wall of displays and a blinking prompt that politely informs you:

“LINK TO M-U5K-3T: HIGH LATENCY – DIRECT CONTROL DISABLED.”

Perfect.

You are supposed to be a Rover Commander in the Musketeer Corps. Somewhere absurdly far away, you have an autonomous unit parked on a hostile exoplanet. It wants you dead, but it’s also covered in minerals that could fund a small civilization.

The ore on M-U5K-3T is everywhere. Unfortunately, everything else on the surface is actively trying to kill you.

So, we don't pilot. We script.

You aren't driving a car; you are

2
0 44
New
Discussion Jorge Jaramillo Herrera · Feb 23

Hello everyone,
I’m looking to implement Continuous Training (CT) as part of an MLOps strategy for some data science projects in IRIS. I want to automate the full cycle:

- Monitoring model performance & accuracy degradation.
- Retraining models automatically.
- Validating and updating production models.

I’ve looked into IntegratedML, but it seems more focused on the SQL interface for training (AutoML). Even with the new Custom Models (beta), which allows for more flexibility with Python, it doesn't seem to provide the "Continuous" orchestration out of the box.

I’d like to know:

0
0 27
Article Evgeny Shvarov · May 9, 2025 3m read

Hi developers!

Observing the avalanche of AI-driven and vibe-coding developer tools that have been appearing lately almost every month with more and more exciting dev features, I was puzzled whether it is possible to leverage it with InterSystems IRIS. At least to build a frontend. And the answer - yes! At least with the approach I followed.

Here is my recipe to prompt the UI vs InterSystems IRIS Backend:

  1. Have the REST API on the IRIS side, which reflects some Open API (swagger) spec.
  2. Generate the UI with any vibe-coding tool (e.g., Lovable) and point the UI to the REST API endpoint.
  3. Profit!

Here is the result of my own exercise - a 100% prompted UI vs IRIS REST API that allows to list, create, update delete entries of a persistent class (Open Exchange,frontend source, video):

What is the recipe in detail?

7
2 361
New
Article Lorenzo Scalese · Feb 20 6m read

Introduction

The standard %Net.HttpRequest library in InterSystems IRIS is powerful and comprehensive, but it can be verbose for simple operations. Writing an HTTP request often requires several lines of code to instantiate the class, configure the server, the port, HTTPS, add headers, and finally send the request.

When testing in the terminal, this configuration quickly becomes too heavy, and usually ends up with the creation of temporary methods...

FastHTTP was designed to address this need. This utility class provides a fluent and concise interface to perform HTTP calls in a single line, while automatically handling the underlying complexity (SSL/TLS, URL parsing, JSON encoding, headers, etc.).

1
2 137
Article Eric Fortenberry · May 30, 2025 3m read

Have you ever needed to change an IP or port before deploying an interface to production? Needed to remove items from an export? What about modifying the value(s) in a lookup table before deploying? Have you wanted to disable an interface before deploying? What about adding a comment, category, or alert setting to an interface before deploying to production?

If you’ve ever needed to make any changes to an interface or lookup table before deploying to production, then Export Editor is for you!

Export Editoris a Python/WSGI web application that provides a method for editing exports before

1
0 192
Article Evgeny Shvarov · Jul 14, 2022 2m read

Hi Community!

@Joan Pérez published a review that it is not very clear what applications are available for InterSystems Package Manager. Thanks Joan! Indeed it deserves a post.

There at least two ways I know to showcase them:

1. Run find command in zpm:

|| Welcome to the Package Manager Shell (ZPM).|| Enter q/quit to exit the shell.
0
0 298
New
Article Alyssa Ross · Feb 20 6m read

One objective of vectorization is to render unstructured text more machine-usable. Vector embeddings accomplish this by encoding the semantics of text as high-dimensional numeric vectors, which can be employed by advanced search algorithms (normally an approximate nearest neighbor algorithm like Hierarchical Navigable Small World). This not only improves our ability to interact with unstructured text programmatically but makes it searchable by context and by meaning beyond what is captured literally by keyword.

In this article I will walk through a simple vector search implementation that Kwabena Ayim-Aboagye and I fleshed out using embedded python in InterSystems IRIS for Health. I'll also dive a bit into how to use embedded python and dynamic SQL generally, and how to take advantage of vector search features offered natively through IRIS.

0
0 128
Article Sergey Lukyanchikov · Jul 22, 2021 26m read

Challenges of real-time AI/ML computations

We will start from the examples that we faced as Data Science practice at InterSystems:

  • A “high-load” customer portal is integrated with an online recommendation system. The plan is to reconfigure promo campaigns at the level of the entire retail network (we will assume that instead of a “flat” promo campaign master there will be used a “segment-tactic” matrix). What will happen to the recommender mechanisms? What will happen to data feeds and updates into the recommender mechanisms (the volume of input data having increased 25000 times)? What will happen to recommendation rule generation setup (the need to reduce 1000 times the recommendation rule filtering threshold due to a thousandfold increase of the volume and “assortment” of the rules generated)?
  • An equipment health monitoring system uses “manual” data sample feeds. Now it is connected to a SCADA system that transmits thousands of process parameter readings each second. What will happen to the monitoring system (will it be able to handle equipment health monitoring on a second-by-second basis)? What will happen once the input data receives a new bloc of several hundreds of columns with data sensor readings recently implemented in the SCADA system (will it be necessary, and for how long, to shut down the monitoring system to integrate the new sensor data in the analysis)?
  • A complex of AI/ML mechanisms (recommendation, monitoring, forecasting) depend on each other’s results. How many man-hours will it take every month to adapt those AI/ML mechanisms’ functioning to changes in the input data? What is the overall “delay” in supporting business decision making by the AI/ML mechanisms (the refresh frequency of supporting information against the feed frequency of new input data)?
0
1 852