#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 Patrick Jamieson · Jul 19, 2025 10m read

Optimizing Performance of Apache Web Server and Web Gateway

By Patrick Jamieson, M.D., Product Technical Manager, InterSystems IRIS for Health

When working with InterSystems IRIS or IRIS for Health, an external web server like Apache2 or NGINX is essential for managing HTTP workloads, especially for FHIR servers. Starting with version 2023.3, the private Apache server was removed from the installation kit (except for Community Editions and Health Connect). This article provides practical tips to test and optimize the performance of your Apache web server and InterSystems Web Gateway con











1
3 222
Question Phillip Wu · Jul 22, 2025

Hi,

To add or get information about a user for the management portal you can [within the portal]:
 System Administration > Security Management > Users 

Is it possible to:

1. List a user, user's properties including roles

2. Add a user and set user's properties including roles

3. Set a user's password

for the management portal using a program eg. Objectscript and/or SQL?
If so, how can this be done?
It would be great if you have examples.

5
0 86
InterSystems Official Carmen Logue · Jul 22, 2025

InterSystems Reports version 25.1 is now available from the InterSystems Software Distribution site in the Components section.  The software is labeled InterSystems Reports Designer and InterSystems Reports Server and is available for Mac OSX, Windows and Linux operating systems.  

This new release brings along enhancements and fixes from our partner, insightsoftware.  InterSystems Reports 25.1 is powered by Logi Report Version 25.1 which includes:

- support for dynamic subject construction in scheduled email distribution of reports

- ability to easily switch between metric and imperial

0
0 131
Question Rüya Gökoglu · Jul 21, 2025

Dear InterSystems-Maintainer Team,


I am currently conducting a comparative evaluation of FHIR clients as part of my
bachelor thesis in health informatics. One of my evaluation criteria is the response
time to support inquiries.


Therefore, I would like to kindly ask the following question as part of my analysis:
How can I read and write custom FHIR extensions using your client library?


If available, could you point me to any documentation or examples?


Many thanks for your time and support!


Kind regards,
Rüya Gökoglu

1
0 73
Question Dmitrii Baranov · Jul 15, 2025

I need to implement a retry policy for an incoming message queue containing thousands of relatively small messages.

Successfully processed messages should be immediately removed from the queue.

If an error occurs while processing a message, the message should be sent back at the end of the queue, and the pause before re-processing this message should increase geometrically (1-2-4-8-16 seconds, and so on). In languages that support the async/await pattern, I'd simply create a delayed timer that triggers a fire-and-forget task. This would prevent blocking the main thread. How can this be impleme

8
0 187
Question Phillip Wu · Jul 21, 2025

Hi,

I have a mirrored database called ROUTER.

I have a primary server T1 and a "Disaster Recovery" server T2.

When I activate ROUTER database on T2, I get the error it says the "Database could not be mounted".

I went to the audit database and it shows "Attempt to access a protected database".

T2 in mirror monintor shows "Connected" "Caught up" "Warning! Some databases need attention"

T2 show the ROUTER database as being "Mounted/R"
Both T1 & T2 are Linux servers. The ROUTER database file IRIS.DAT have the same Linux permissions

All productions on T1/T2 are not running.

What causes the e

3
0 67
Article Sylvain Guilbaud · Jul 18, 2025 8m read

🛠️ Managing InterSystems InterSystems API Manager (IAM = Kong Gateway) configurations in CI/CD

🔍 Context: InterSystems IAM configurations 

As part of integrating InterSystems IRIS into a secure and controlled environment, InterSystems IAM relies on Kong Gateway to manage exposed APIs.
Kong acts as a modern API Gateway, capable of handling authentication, security, traffic management, plugins, and more.

However, maintaining consistent Kong configurations (routes, services, plugins, etc.) across different environments (development, testing, production) is a major challenge. This is where tools


















0
1 113
Question PhoebeK · Jul 17, 2025

Hello Community!

We have this json payload for an api request we are making.
 

{

    "fromDirectAddress" : "john@meda.com",

    "toDirectAddress" : "smith@domain.com",

    "emailAttachmentList" : [

        {

            "attachmentClass" : "application/xml",

            "attachmentContent" : "PHRlc3Q+TWVkQWxsaWVzPC90ZXN0Pg==",

            "attachmentTitle" : "MR-Lumbar Spine without contrast_1",

            "attachmentFileName" : "ClinicalDocument"

        },

"messageId" : "urn:uuid:a2d59543-91f4-45a4-99ef-72d70da1e454"

}

I created two classes (see below) but I am having issues w






3
0 113
Question Enrico Moreschi · Jul 17, 2025

Hello everyone,

I'm using EnsLib.TCP.TextLineOutboundAdapter to communicate with a third-party system over TCP/IP. The issue is that the system sends back only an integer (e.g. 1001 or -1) without any terminator (like $c(10)).

The adapter expects a terminator and always times out with ErrTCPTerminatedReadTimeoutExpired, even though the correct data is received. Here an example of an error: 
[TCPSender] Errore nell'invio: ERROR <Ens>ErrTCPTerminatedReadTimeoutExpired: TCP Read timeout (15) expired waiting for terminator 0, data received ='1005'

Trying different terminators (e.g.  $c(0), $c(13))d

3
0 81
Announcement Celeste Canzano · Jul 16, 2025

Hello Again,

InterSystems Certification is still looking for people to beta test the InterSystems IRIS SQL Professional Certification exam. This is a great way to earn the certification for free! We have extended the deadline of the beta test to October 30, 2025.

Please note, only candidates with the pre-existing InterSystems IRIS SQL Specialist certification are eligible to take the beta.  For details, see the original announcement.

Thank you!

0
0 112
Question Mark OReilly · Jul 15, 2025

As foreign tables are behind a paywall (booo); we have a external cache system using the intersystems ODBC driver or usually a .jar CacheDB.jar. 

The requirement is :

"Create a copy of the external table once a day to perform comparisons to detect changes"

We could go full code and this is what we will do but trying the following should ideally work 

CREATETABLE Sample.YoungPeopletwo ASSELECT *
FROM Pennine_TIE_Clinicom_Link.PMISPECIALREGNCA
WITH STORAGETYPE = COLUMNAR

This resulted in 

[SQLCODE: <-400>:<Fatal error occurred>]
[%msg: <Exception caught during dSQL statement %Execute
4
0 103
Question Riccardo Villa · Jul 15, 2025

Hello,

I need to expose InterSystems HealthInsight dashboards over the internet to external operators. The authentication flow is managed externally. When a user is authenticated, our system receives an HTTP request with specific headers (e.g., operator’s fiscal code and hospital identifier) that we need to extract in order to:

  • Authorize the user to access the dashboards.
  • Apply row-level security on the dashboards, filtering the data by hospital and user role.

I created a new Web Application on IRIS as shown in the screenshot:

I follow this page of the documentation for the settin


2
0 128
Question Neil Thaiss · Jul 15, 2025

Hi,

We have just upgraded the Trusts test Health Connect instance from 2021.1 to 2025.1 and now the the Rules and DTL editors, in the Management Portal, timeout after 10 - 20 minutes of inactivity.
In 2021.1 we were able to disable this timeout using: set ^EnsPortal("DisableInactivityTimeout","Portal") = 1, however this no longer works with 2025.1, and is being ignored.
It may be being ignoring this global setting because the editors are no longer using the default Web Application for the Namespaces, and are using the: /ui/interop/rule-editor and /ui/interop/dtl-editor Web Applications.
The 'Ses

3
0 130
Announcement Laurel James (GJS) · Jul 15, 2025

Join us on Thursday to see the new features of Deltanji source control, version 8.1.

We'll be demoing our new Git Location Driver along with other functionality and usability improvements.

The Git Location Driver enables Deltanji to integrate directly with Git repositories, makes Deltanji the perfect source control companion to those who use Git-based repos by providing tighter integration with InterSystems IRIS.

Date: Thursday, July 17th 
Time: 11 - 12pm EDT | 4 - 5pm BST | 5 - 6pm CET
Location: Online (register for details) 

Can't make it? Email info@georgejames.com and we'll send you the

0
0 57
Question Scott Roth · Jul 3, 2025

I am making a FHIR request against Epic, in when I get the Response back using "fromDao" I am extracting the stream into HS.FHIRModel.R4.Patient. However, the patient's name comes back as name within a list that references HS.FHIRModel.R4.SeqOfHumanName.

  • How do I extract the name from HS.FHIRModel.R4.SeqOfHumanName?
  • Do I have to then do another "fromDao" to pull the list into string format?
  • How do I navigate around the lists that are in a FHIRModel response, to extract the string values?
9
0 156
Announcement Brad Nissenbaum · Jul 14, 2025

#InterSystems Demo Games entry


⏯️ Care Compass – InterSystems IRIS powered RAG AI assistant for Care Managers

Care Compass is a prototype AI assistant that helps caseworkers prioritize clients by analyzing clinical and social data. Using Retrieval Augmented Generation (RAG) and large language models, it generates narrative risk summaries, calculates dynamic risk scores, and recommends next steps. The goal is to reduce preventable ER visits and support early, informed interventions.

Presenters:
🗣 @Brad Nissenbaum, Sales Engineer, InterSystems
🗣 @Andrew Wardly, Sales Engineer, InterSystems
🗣 @Fan Ji, Solution Developer, InterSystems
🗣 @Lynn Wu, Sales Engineer, InterSystems

0
0 114
Article Brad Nissenbaum · Jul 13, 2025 3m read

☤ Care 🩺 Compass 🧭 - Proof-of-Concept - Demo Games Contest Entry

Introducing Care Compass: AI-Powered Case Prioritization for Human Services

In today’s healthcare and social services landscape, caseworkers face overwhelming challenges. High caseloads, fragmented systems, and disconnected data often lead to missed opportunities to intervene early and effectively. This results in worker burnout and preventable emergency room visits, which are both costly and avoidable.

Care Compass was created to change that.

Disclaimer: Care Compass project is a technical demonstration developed by sales engine

3
1 140
Question steven Henry · Jul 10, 2025

Hello my friends,

I have a problem with Objectscript, why the value of address become like this ?

everything works fine except the Address,

this is my code, do I need something to make this into real address ? should I put something in my code ? 

 set paper=obj.PAADMPAPMIDR.PAPMIPAPERDR

            if '$isobject(paper) continue

            set Address=paper.PAPERStName

thank you for your help

Best Regards,

Steven Henry

3
0 111
Question Victor Castanon · Jul 9, 2025

I'm trying to gather more data for one of my namespaces so I can do some analysis. However when I run .BuildIndex() nothing populates in the resulting SQL table. I've tried deleting the class and reimporting and compiling and still nothing. I feel like I'm doing something OBVIOUS that's wrong but I can't quite figure out what it is. Here's what I'm doing (Customer name redacted)
 

Class CUST***.System.Cerner.Hl7.SearchTable Extends EnsLib.HL7.SearchTable

{



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



XData SearchSpec [ XMLNamespace = "http:
3
0 103
Question Scott Roth · Jul 8, 2025

I am receiving a FHIR response bundle back with a resource of patient. Using fromDao, I attempted to take the stream and put it into FHIRModel.R4.Patient but it is not mapping correctly. When I attempt to take FHIRModel.R4.Patient and write it out using toString(), all I am seeing is the resource

{"resourceType":"Patient"}

so the response is not mapping correctly to FHIRModel.R4.Patient. How have others handled this? Do I need to translate it to an SDA since it does fit the model format?

6
0 159
Question Ronaldo Nascimento · Jul 9, 2025

I am trying to get the value of a Submit button on a CSP object page.

<input type="Submit" value="Assign" name="action" id="action">

I tried getting it thru $GET(%Request.Data("action")), but it throws an Undefined error. Isnt $GET supposed to handle it if its undefined anyway?

How do I get the "value" of the button pushed when the form is set to POST?

5
1 105
Announcement Larry Finlayson · Jul 8, 2025

Developing with InterSystems Objects and SQL – VirtualJuly 28-August 1, 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 requirin
0
0 46