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

Question Rutvik ISM · Aug 19, 2025

I would like to learn about the binary and document reference FHIR Resources. For the PDF data stored in those resources. But I think Binary Resource for the Document PDF stored in FHIR, so this resource is best for it. So sometimes Large PDF 15-page (~35md) data converts into base64 then data length is ~50 lac charecters length of base64binary data. this data store in Binary Resource on data field https://www.hl7.org/fhir/R4/binary.html follow this url this resource used in my case. so it's support the 50 lac charecter of the base64 length? This resource can be Insert into IRIS?

3
0 117
Article John Murray · Dec 18, 2024 1m read

A benefit of using Doxygenerate is that Doxygen does more than just HTML output. Tweak the Doxyfile that tells Doxygen what to do and you can easily create a PDF. Our example MARINA application yielded a 524-page PDF. Here's what page 94 looks like:

You can browse the whole file here.

In the screenshot above, notice how we only get details of the superclass that is part of the app (AuditHistory). The primary superclass, %Library.SerialObject, is shown faded and with no details of what BankDetails inherits from it.

With another tweak to the Doxyfile we can show full inheritance detail in a 586-pag

1
1 331
Article Yuri Marx · Jun 24, 2021 1m read

The healthcare technology market is in strong evolution. Gartner's wave chart for healthcare technologies demonstrates what these technologies are, very well reflected by healthcare.digital. I call this HealthTech See:

These technologies can use InterSystems technologies (ISC Health Tech), see:

Consent Management uses InterSystems Healthshare Stack to do MPI and consent management, see:

2
2 696
Article Victoria Castillo · Mar 19, 2024 5m read

I have been walking through this with a few team members and as such I thought there might be others out there who could use it, especially if you work with HL7 & Ensemble/HealthConnect/HealthShare and never venture out past the Interoperability section. 

First, I would like to establish that this is an extension of the already established documentation on importing and exporting SQL data found here: https://docs.intersystems.com/iris20241/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_impexp#GSQL_impexp_import

This tutorial will explicitly detail how to create, populate or update a Data LookUp Table

2
1 744
Question Scott Roth · Sep 8, 2025

We currently have Business Operation that we built to use the EnsLib.SQL.OutboundAdapter so we can make Microsoft SQL Server Stored Procedure calls. The BO is attached to a Java Gateway Service.

Some of our MS SQL Databases have moved from being OnPrem to Azure Cloud. We have started seeing where we are receiving errors on the BO saying that we cannot connect to the Azure Database, but we never receive a Disconnect from the Azure Database.

Once this happens it seems that the Java Gateway still thinks the connection is opened, and we have to Stop/Start the Java Gateway to get the connection to

2
0 80
Question Eyal Levin · Sep 8, 2025

Hi Everyone,

So after @Ariel Glikman posted a custom operation example, I'm stuck on another dilemma, and here it is:

  1. I might have different patients with the same business identifier
  2. Each patient (logical) might have several resources like Observations, Conditions and Tasks (there are other type but they are not part of the issue)
  3. Tasks are a representation of something called "Morbidity", it's a presumed illness but not a validated condition
    1. Tasks are created according to observations and/or conditions and the task hold a reference to those resources
    2. A resource such as Observation /
2
0 80
Article Megumi Kakechi · Dec 5, 2024 1m read

InterSystems FAQ rubric

If you want to raise an arbitrary custom error in a TRY block, you can pass an exception with a throw as follows. In the following example, a custom error is raised if Stcount is less than 1.

Class User.Test
{

ClassMethod ExceptionTest()
 {
    try
    {
      // : some codesif (Stcount<1) {
          throw##class(%Exception.General).%New("User-defined error", "5001", "location", "Data at location error")
          // User-created errors are 5001 and above
      }
    }
    catch ex
    {
      write"Errors #", ex.Code, ": ", ex.Name, " : ",
1
2 536
Article Ashok Kumar T · Sep 8, 2025 19m read

FHIR Server

A FHIR Server is a software application that implements the FHIR (Fast Healthcare Interoperability Resources) standard, enabling healthcare systems to store, access, exchange, and manage healthcare data in a standardized manner.

Intersystems IRIS can store and retrieve the following FHIR resources:

  • Resource Repository – IRIS Native FHIR server can effortlessly store the FHIR bundles/resources directly in the FHIR repository.
  • FHIR Facade - the FHIR facade layer is a software architecture pattern used to expose a FHIR-compliant API on top of an existing one (often non-FHIR). It also streamlines the healthcare data system, including an electronic health record (EHR), legacy database, or HL7 v2 message store, without requiring the migration of all data into a FHIR-native system.

What is FHIR?

Fast Healthcare Interoperability Resources (FHIR) is a standardized framework created by HL7 International to facilitate the exchange of healthcare data in a flexible, developer-friendly, and modern way. It leverages contemporary web technologies to ensure seamless integration and communication across various healthcare systems.

0
3 377
Question Scott Roth · Aug 4, 2025

I am trying to help another group within our organization access a SQL Table that I have created to populate Epic Department Data within our environment and came across the ability to use SQL Seach REST Interface using iKnow.

However, I am having issues trying to get it to work via POSTMAN before I hand off the solution...

the POST URL... https://<servername>/api/iKnow/latest/TESTCLIN/table/osuwmc_Epic_Clarity.DepartmentMaster/search

where osuwmc_Epic_Clarity.DepartmentMaster is the table

In the body...

{"query":SELECT ID, Abbr, Name, ExternalName, PhoneNumber, ApptPhone, FaxNumber, Address1,
15
1 241
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 71
Article sween · Feb 18, 2025 5m read

Professional Grade FHIR® to OMOP Transformation

Lets zero in on the use of the word professional and put it into some context.  It was written by industry experts who wrapped it up in a fee based service with support and some guardrails around flexible options to contribute to its behavior.  I feel its an important distinction to either an open or home grown solution (though it may do the same thing) to consider it to scale or provide mission critical value on the other side of it. The OHDSI community has an entire competency around the subject of ETL to the OMOP database,  WhiteRabbit for

1
0 278
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.

0
0 78
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 311
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
Article Megumi Kakechi · Sep 4, 2025 2m read

InterSystems FAQ rubric

In InterSystems IRIS, you can create linked tables using commands, instead of using System Explorer > SQL > Wizard > Linked Tables in the Management Portal:

To create a linked table, use the CreateLinkedTable method of the %SYSTEM.SQL.Schema class. See the class reference for details.

To execute it, follow these steps:

set sc = $SYSTEM.SQL.Schema.CreateLinkedTable("<dsn>","<Schema>","<Table>","<primaryKeys>","<localClass>","<localTable>","")

/// 1st argument: dsn - SQL Gateway connection name/// 2nd argument: Schema - Source schema name/// 3rd argument: Table -
0
1 120
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.

Class OSU.HL7.SearchTable Extends EnsLib.HL7.SearchTable
{

Parameter DOCCLASS = "EnsLib.HL7.Message";Parameter EXTENTSIZE = 4000000;

XData SearchSpec [ XMLNamespace = "http://www.intersystems.com/EnsSea
6
0 114
Announcement Larry Finlayson · Sep 2, 2025

Managing InterSystems Servers – In-Person  September 29-October 3, 2025

  • Configure, manage, plan, and monitor system operations of InterSystems Data Platform technology
  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché.
0
0 33
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 169
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.

In the early stages of data transformation development, thetest tool from the Management Portal becomes quite handy.

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

ClassMethod CheckPDMProviderType(pInput As%String) As%Boolean
{
    set ExtDisplay = ""
 		&sql(SELECT SecurityGroup_k INTO :ExtDisplay
        FROM osuwmc_CPD_SQL.Ref_SecurityGroup WHERE PDMExtDisplay = 1AND SecurityGroup_k = :pInput)
    if ExtDisplay = "" {
        q
1
0 110
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.

However, the contents of this database will be cleared when IRIS is restarted, so if you want to keep it permanently, you will need to copy it to a

0
0 68
Article Ariel Glikman · Nov 10, 2024 3m read

IAM - InterSystems API Manager is a great tool for monitoring your traffic. If you are trying to use it in your Kubernetes cluster you may have tried doing a deployment similar to this one:

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: iris
spec:
  licenseKeySecret:
    name: iris-key-secret
  configSource:
    name: iris-cpf
  imagePullSecrets:
    - name: intersystems-pull-secret
  topology:
    data:
      image: containers.intersystems.com/intersystems/iris-arm64:2024.1
      compatibilityVersion: "2024.1.2"
      mirrored: false
2
1 313
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.

What am I missing to make sure that the OSU.HL7.SearchTable available

1
0 67
Announcement Larry Finlayson · Aug 25, 2025

Developing with InterSystems Objects and SQL – In PersonSeptember 15-19, 2025

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems® development environment.
  • Students develop a database application using object-oriented design, building different types of IRIS classes.
    • They learn how to store and retrieve data using Objects or SQL, and decide which approach is best for different use cases.
    • They write code using ObjectScript, Python, and SQL, with most exercises offering the choice between ObjectScript and Python, and some exercises
0
0 29
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 465