InterSystems Developer Community is a community of 26,911 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!
Contestant
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 72
New
Announcement Alyssa Ross · May 12

#North American Demo Showcase entry. 

>> Answer the question below to be entered in the raffle!


⏯️ ExplantIQ: Ask Your Compliance Data Anything

ExplantIQ is an intelligent data application that tackles one of healthcare's most overlooked financial and regulatory risks: the management of explanted medical device warranty credits. When an implanted device is removed from a patient (due to failure or recall) hospitals are legally required to pursue manufacturer credits, refund payers if the credit exceeds 50% of the device's cost, and report to CMS. Miss that obligation and you're facing a reverse False Claims Act violation. Industry data shows hospitals miss 81% of eligible credits. 

ExplantIQ, built entirely on InterSystems IRIS for Health and DeepSee, solves this by unifying clinical, supply chain, billing, and FDA recall data into a single real-time compliance dashboard, complete with KPI scorecards, trend analytics, and a Text-to-SQL AI Assistant that lets compliance officers query live operational data in plain English. No separate BI tool. No additional architecture. All questions can be answered without leaving your browser tab.

Special thanks to @Emil Polakiewicz and @Boris Mamkin for their contributions. 

🗣 Presenter: @Alyssa Ross, Sales Engineer at InterSystems

3
0 28
New
Announcement Zelong Wang · May 7

#North American Demo Showcase entry. 

>> Answer the question below to be entered in the raffle!


⏯️ Health Galaxy: AI-Enabling Healthcare Applications

Health Galaxy creates an AI access point on top of any FHIR server, bringing healthcare into the AI future that has become a reality for many other industries. 

  • AI access: Health Galaxy gives AI agents a single gateway into any healthcare system, so they can pull patient data, schedule appointments, and check insurance automatically instead of a human doing it manually. 
  • Ease of use: You point it at an existing FHIR endpoint, click a button, and it generates an MCP endpoint automatically from the capability statement. 
  • FHIR: Since we are using FHIR, we can leverage both the storage and exchange capabilities of InterSystems IRIS.

🗣 Presenter: @Zelong Wang, Sales Engineer at InterSystems 

7
0 114
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
0 32
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 68
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 49
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 55
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 85
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 65
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 95
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 61
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 77
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 44
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 98
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
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 147