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 73
Announcement Ben Spead · Apr 15

READY is right around the corner, and this year the Application Services team from InterSystems will be hosting a CCR Users GroupMeeting during the conference!This will be held Wednesday, April 29th during breakfast from 7:30 – 8:30 (breakfast will be served at the meeting room starting at 7:00am).

3
0 82
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 55
New
Question Oliver Wilms · May 9

I want to develop a REST API for uploading PDF files. I started with OPENAPI spec file. When I test, I get error 8727 referencing missing required parameter file.

"{"$c(13,10,9)"""errors"":[ {"$c(13,10,9,9,9)"""code"":8727,"$c(13,10,9,9,9)"""domain"":""%ObjectErrors"","$c(13,10,9,9,9)"""error"":""ERROR #8727: Parameter required: file."","$c(13,10,9,9,9)"""id"":""RESTRequired"","$c(13,10,9,9,9)"""params"":[""file"""$c(13,10,9,9,9)"]"$c(13,10,9,9)"}"$c(13,10,9)"],"$c(13,10,9)"""summary"":""ERROR #8727: Parameter required: file.

1
0 58
Contestant
Article Iryna Mykhailova · May 10 3m read

The recently published tutorial "Introduction to InterSystems Data Studio" inspired me to check out this product. And I think it’s an interesting look at how to manage a data fabric without deep-diving into complex code. It allows you to connect disparate data silos, transform the data through automated pipelines, and load it into a unified environment for analysis. So, I decided to write up an example of how you can use it. Basically, I'll walk you through the tutorial in case you don't have time to do it on your own. Though I would definitely suggest you actually follow the tutorial - it has lots of useful information.

To see how it works, I stepped into the shoes of a system administrator, logging in with the provided credentials to explore the interface. The layout centers on a few core pillars: defining where data comes from, cataloging its structure, and building automated "recipes" to move it into production.

And the very first step is to establish a connection to my data. 

0
0 89
New
Question Robert deLeeuw · May 9

Sorry for the weird question, but mumps skills are very rusty.

Am trying to create globals dynamically, but with using names from an array. For example: 

S Names="A,B,Y,Z"
S A=$L(Names,"$")
F I=1:1:A D
//Create globals based on names from database
//^A,  ^B,  ^Y, ^Z etc..  
2
0 66
New
Question Yuriy Borokhov · May 6

Hi Everyone,

We are looking for a way to disable production Business Services concurrently so that the whole process takes shorter amount time than just going sequentially in a loop and disable them one at a time (very slow). This is necessary for us to be able to stop all traffic to IRIS so that no data remains after we perform full production stop. 

Thank you!   

7
0 82
Article Guilherme Tonelotti · Sep 25, 2025 2m read

When we need to integrate Caché/IRIS with other relational databases, one common question arises: “How do I set up the JDBC connection?”.
The official documentation doesn’t always provide a straightforward step-by-step guide, which can be frustrating, especially for beginners.

In this article, I’ll walk you through the entire process of configuring a JDBC connection with MySQL, from downloading the connector to linking tables in Caché/IRIS.

Note: JDBC connections in Caché/IRIS have some limitations, especially regarding caching and the use of ResultSet

2
1 265
Article Zion Amsalem · Sep 28, 2025 2m read

I still remember the very first code I wrote in Object Script

Coming from Python, it felt so strange at first, but over time I started to see why the language was built the way it is.

If you’re just starting out, keep in mind that ObjectScript might feel a bit niche and mostly tied to IRIS products, but the way you work with it can really pay off - fast development, a powerful database, and a solid platform to learn on.

Sometimes it feels like you’ve stepped into a world that’s both familiar and different.

4
1 244
Contestant
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 122
Contestant
Article 姚 鑫 · May 8 3m read

Hi everyone,

I’m thrilled to share that after several years of deep diving into the InterSystems IRIS data platform, I have finally summarized my project experiences into a new book IRIS (Data Platform) Programming Technical Guide. It is published by Beihang University Press, a prestigious central-level comprehensive publisher renowned for its leading role in aerospace, science, and technology publishing.

Writing this book was a significant engineering challenge for me. My goal was to bridge the gap between "understanding the syntax" and "building a production-ready project.

0
0 62
Contestant
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 83
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 78
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 45
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 106
New
Question Fahmi Rizaldi · May 7

Hi everyone,

I'm working on a requirement to generate and export medical reports to PDF using Logi Reports. The core requirement is that each generated PDF must be encrypted (password-protected), and the password needs to be dynamically set to the specific Patient's Date of Birth (DOB).

Currently, the report is populated using a Stored Procedure as its data source.

My questions are:

  1. Is there a built-in way or API in Logi Reports to dynamically set the PDF export password using a field returned from my dataset (e.g., taking the Patient_DOB column from the Stored Procedure)?
0
1 25
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 43
Article Timothy Leavitt · Apr 16, 2025 5m read

Thirteen years ago, I attained dual undergraduate degrees in electrical engineering and math, then promptly started full-time at InterSystems using neither. One of my most memorable and stomach-churning academic experiences was in Stats II. On an exam, I was solving a moderately difficult confidence interval problem. I was running out of time, so (being an engineer) I wrote out the definite integral on the exam paper, punched it into my graphing calculator, wrote an arrow with “calculator” over it, then wrote the result.

15
2 643
Contestant
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.

0
1 197
New
Article Iryna Mykhailova · May 4 3m read

Okay… first things first - sorry it took me so long to write this up. There was just too much happening, too many conversations, too many photos, too much travel and honestly… too much excitement to sit down and write right away.

READY 2026 started the way it always does, with that unique mix of anticipation and energy in the room. Look at these excited faces! 

@Gabriel Ing, @Mariam Makhmutova, @Olga Zavrazhnova, @Dean Andrews, @Anastasia Dyubaylo, @Iryna Mykhailova 

(Let's be honest, this was the end, and everyone was happy that we survived 😁)

7
0 139
Announcement Celeste Canzano · Mar 24

Hi HealthShare community, 

Do you work with HealthShare Unified Care Record? InterSystems Certification is developing a new exam for HealthShare Unified Care Record Deployment specialists, and we're looking for beta testers!

About the Opportunity

  • Candidates who meet the qualifications outlined below can get an early attempt on the new exam.
  • This is a great opportunity to take the exam for free — we waive the $150 exam fee for beta testers!
  • Earn the certification if you obtain a passing score.
  • Beta testing runs from March 24 to May 15, 2026.
2
1 183