#InterSystems IRIS for Health

10 Followers · 2.4K Posts

InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.

Article Ariel Glikman · Sep 7, 2025 1m read

Often times when working with FHIR data, for example with IRIS For Health, you'll find it useful to create a custom FHIR operation. The FHIR Standard comes with a set of defined operations (such as $everything) but a custom operation comes in handy when you need to create some extra functionality that goes beyond the set of standard FHIR operations. The docs take you step-by-step (though this comment may be helpful to those of you just getting started). One thing I would highlight, purely for aesthetic purposes, is how to syntactically name your function such that you can call it with hyphens.

0
0 69
Question Don Martin · Sep 5, 2025

We have a task that runs objectscript code to load data into a linked external table.  After upgrading from 2024.1 to 2025.1, the load is throwing an error, with error code -400, and no error message.  The data DOES get loaded into the external table in its entirety, so with no meaningful error message, its hard to determine what the issue is.  The result is the same with and without the USING clause, so don't let that confuse you.  We have logs of this statement succeeding before upgrade, and were able to get this statement to work in our production environment, which is still on version

0
0 72
Article Hiroshi Sato · Nov 21, 2024 1m read

InterSystems FAQ rubric

Mirroring only synchronizes database files.

To synchronize other files required for your application (CSP files, images, documents, etc.) between the two servers that make up the mirror set follow one of the approaches:

  1. Place those files on a shared disk by introducing a NAS or similar device
  2. Or use file sync software to synchronize files between two servers.
2
1 310
Question Jonathan Harris · Sep 4, 2025

..Contains(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"(")&&..Matches(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"^[A-Z][0-9][0-9]$")

I want to do this to match strings such as X98. Community AI tells me this is correct but I get an error in testing. Specifically, this is the part causing the error;
..Matches(source.{ORCgrp(x1).OBRuniongrp.NTEi2(x2):Comment(x3)},"^[A-Z][0-9][0-9]$")


What do I need to change?

1
0 54
Question Scott Roth · Sep 2, 2025

I created a Custom Search Table that extends EnsLib.HL7.Search Table. I saved, compiled, and rebuilt the index however when I go into Message Search to try to use the Search Table, within the conditions the proper fields are not showing up that was defined. It is showing the fields from EnsLib.HL7.SearchTable. I did a build index on both EnsLib.HL7.SearchTable and OSU.HL7.SearchTable.

6
0 113
Announcement Vishal Pallerla · Sep 1, 2025

#InterSystems Demo Games entry


⏯️ Health Evolve: Transforming Unstructured Data

Did you know that 80% of healthcare data is stuck in unstructured formats such as fax? If you take a walk down to Mass General in Boston, you'll literally see a state-of-the-art MRI machine next to a fax machine. Healthcare keeps building incredible new technology but can't let go of legacy technology. We call this the "legacy modernization paradox". This short film follows a care manager at Blue Plan who spends her days doing chart reviews, reading faxes line-by-line, struggling to provide her members the care they need. Everything changes when Blue Plan pilots InterSystems Health Evolve, a solution that transforms her faxes into machine-readable FHIR data ready for AI and analysis. To access our fully working Text-to-FHIR prototype, visit HealthEvolve.de.

Presenters:
🗣 @Vishal Pallerla, Sales Architect, InterSystems
🗣 @Erica Song, Sales Engineer, InterSystems
🗣 @Louis Kabelka, Sales Engineer, InterSystems
🗣 Zelong Wang, Sales Engineer, InterSystems
🗣 John Murtha, Health Plan Executive, InterSystems

1
1 167
Announcement Tani Frankel · Sep 1, 2025

#InterSystems Demo Games entry


⏯️ Being READY to Tackle Healthcare Enterprise Challenges in a Few Clicks

Managed Cloud Solutions to Help Streamline Your Health Services.

This demo showcases composing several InterSystems Managed Cloud Services to solve various use-cases.

The video is actually built of 6 short chapters (each ~2.5 minutes long) showing each part of the story, demoing a different service.

You can watch each "chapter" individually if you're interested in a specific service, but there is value in viewing the whole composition and observing the full flow.

  • 0:00Health Connect Cloud - Medical Device MQTT - HL7v2 for Hospital Operation Systems
  • 2:29FHIR Server & FHIR Transformation Service - HL7v2 to FHIR & Repository for Regulation & Exchange
  • 5:21FHIR SQL Builder - Providing standard relational access to FHIR data
  • 7:22 "FHIR IntelliChat" (see note below) - Natural human language chat with FHIR Server
  • 9:37OMOP Solution - FHIR to OMOP transformation & OMOP database with OHDSI tools compliance
  • 12:54InterSystems Data Studio for Health - Creating a multi data/app sources fabric 

[Note the "FHIR IntelliChat" part is not an actual formal InterSystems service, it is just a demonstration of a possibility (based on this solution by @José Pereira) ]

Presenters:
🗣 @Tani Frankel, Sales Engineer Manager, InterSystems
🗣 @Keren Skubach, Senior Sales Engineer, InterSystems
🗣 @Ariel Glikman, Sales Engineer, InterSystems

0
0 90
Article Robert Barbiaux · Sep 1, 2025 9m read

InterSystems IRIS interoperability production development involves using or writing various types of components. They include services (which handle incoming data), processes (which deal with the data flow and logic), and operations (which manage outgoing data or requests). Messages flowing through those components constantly require being adapted to consuming applications. Therefore,Data transformations are by far the most common component in interoperability productions.

0
0 138
Question Scott Roth · Aug 28, 2025

I had a need for a Filter, but did not want to recreate the wheel by creating another Data Lookup Table, so instead I created a Linked Table that points to a MS SQL Table outside of IRIS.

Once I had the Linked Table, I created a Class Method Function that would query the Linked Table and return a 1 if a result came back.

1
0 108
Article Hiroshi Sato · Aug 28, 2025 1m read

InterSystems FAQ rubric

There is data, such as execution log data, that you do not want to return to its previous state even if a rollback occurs during a transaction. The above requirement can be met by placing that data in the IRISTEMP database, which will not be rolled back.

Temporary Globals and the IRISTEMP Database

By mapping the table entities you do not want to roll back to this database, you can retain the information after the rollback.

0
0 68
Question Scott Roth · Aug 26, 2025

I have a need to create a specific Search Table outside of the EnsLib.HL7.SearchTable specifically for HL7 MFN messages in HealthShare Provider Directory.

Our Code is created in a different namespace then the main HSPD namespace and is mapped within the HSPD namespace mapping. 

I created a copy of EnsLib.HL7.SearchTable, named OSU.HL7.SearchTable what all needs mapped to make this new search table available in HSPD namespace?

If I go to Global within the Custom Code Namespace, I cannot see my new Search Table being created.

1
0 65
Article Muhammad Waseem · Aug 18, 2025 7m read

Interoperability on Python (IoP) is a proof-of-concept project designed to showcase the power of the InterSystems IRIS Interoperability Framework when combined with a Python-first approach.IoP leverages Embedded Python (a feature of InterSystems IRIS) to enable developers to write interoperability components in Python, which can seamlessly integrate with the robust IRIS platform. This guide has been crafted for beginners and provides a comprehensive introduction to IoP, its setup, and practical steps to create your first interoperability component. By the end of this article, you will get a clear understanding of how to use IoP to build scalable, Python-based interoperability solutions.

6
5 461
Article Vachan C Rannore · Aug 18, 2025 3m read

While starting with Intersystems IRIS or Cache, developers often encounter three core concepts: Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together. 

1. Working with Dynamic Objects:

Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. They are especially useful for modern applications that need to parse, transform or generate JSON.

2
4 193
Article Yuri Marx · Aug 8, 2025 11m read

This article outlines the process of utilizing the renowned Jaeger solution for tracing InterSystems IRIS applications. Jaeger is an open-source product for tracking and identifying issues, especially in distributed and microservices environments. This tracing backend that emerged at Uber in 2015 was inspired by Google's Dapper and Twitter's OpenZipkin. It later joined the Cloud Native Computing Foundation (CNCF) as an incubating project in 2017, achieving graduated status in 2019. This guide will demonstrate how to operate the containerized Jaeger solution integrated with IRIS.

2
5 223
Announcement Jess Jowdy · Aug 18, 2025

#InterSystems Demo Games entry


⏯️ Introducing InterSystems Go tHE DIStance

InterSystems Go tHE DIStance is a next-generation care management solution aimed at helping health plans address rising unmanaged healthcare costs and declining quality ratings, particularly in chronic condition management like diabetes. The platform integrates rich, real-time clinical data (rather than relying solely on delayed claims data) into interactive views that can track HEDIS performance, identify care gaps, and support targeted, personalized outreach through built-in communication tools. Care managers can access a unified clinical record, engagement history, and recommended next actions to improve both individual patient outcomes and broader population health.

Presenters:
🗣 @Jess Jowdy, Manager of Healthcare Sales Engineering, InterSystems
🗣 @Jimmy Carney, Team Lead of Emerging Markets & SMB Sales Engineering, InterSystems
🗣 @Clayton Lewis, Senior Technical Specialist, InterSystems

0
0 105
Announcement Alberto Fuentes · Aug 15, 2025

#InterSystems Demo Games entry


⏯️ MyVitals: Connecting Wearable Health Data to EHRs with InterSystems

MyVitals is a Personal Health Device Hub that bridges the gap between wearable health devices and clinical workflows. In this demo, we show how healthcare organizations can enroll patients, collect real-time data from personal devices via mobile apps, and seamlessly integrate that information into EHR systems using FHIR, HL7, and InterSystems technology. Built on IRIS for Health and FHIR repositories, MyVitals turns disconnected wearable data into actionable clinical insights—securely, efficiently, and at scale.

Presenters:
🗣 @Alberto Fuentes, Sales Engineer, InterSystems
🗣 @Pierre-Yves Duquesnoy, Senior Sales Engineer, InterSystems
🗣 @Luis Angel Pérez Ramos, Sales Engineer, InterSystems

0
2 109
Question Jonathan Lent · Aug 13, 2025

The operations manager in our company was using structured logging in IRIS to tail information to an on-prem monitoring tool and started to get concerned with the ever-growing size of the output file. He just leaned across the aisle here and informed me that the output file has no mechanism for rolling this file over at a certain point for archival or disposal. Sure enough, I can't find any documentation to refute this. If we were on Linux, I suppose we could get around this by using syslog or even taking advantage of the fact that the filesystem does not always to a lock on the output file

1
0 62
Question TAZ.R · Jul 16, 2025

Hello Community,

I’m working on an InterSystems IRIS production that needs to call an external API using OAuth client credentials (client_id and client_secret). For security reasons, I must pass these credentials via environment variables in my Docker container.

In the IRIS terminal, I can successfully retrieve these environment variables using $System.Util.GetEnviron("api-clientid") and $System.Util.GetEnviron("api-clientsecret"). However, inside my Business Operation class (OnMessage method), these environment variables return empty strings.

13
1 162
Article Ashok Kumar T · Jul 21, 2025 13m read

This article is a continuation of the IRIS JSON project and features additional methods and insights.

Let's continue with the instance methods

%GetTypeOf(Key)

This instance method is used to determine the JSON data type of the %DynamicObject or %DynamicArray.

It returns one of the following strings:

1
4 303
Question Andre Ribera · Mar 25, 2025

Been testing out the Production Validator toolkit, just to see what we can/not do with it. Seems really interesting and there seem to be some use cases for it that can really streamline some upgrades (or at least parts of upgrades) but I was running into so many hurdles with the documentation. I am curious if anyone else has used it.
Did you experience any issues getting it working? Any clarification that you would have liked in the documentation? any use cases that you worked through that made it particularly valuable? etc?
The hurdles I experienced included:

6
0 205
Discussion Infant Livingston · Jul 10, 2025

Hello Community,

I'm currently planning a system upgrade from Caché (2018.1.8.766) to InterSystems IRIS (2024.1). The environment consists of one database server and three application servers connected via ECP.

I’m considering two possible upgrade approaches:

  1. Upgrade the application servers to IRIS first.
    Since IRIS is expected to be backward-compatible with Caché over ECP, the database server would remain on Caché temporarily.
  2. Upgrade the database server first,
    followed by upgrading the application servers, as they don’t store data.
8
0 200