#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 Sizwe Hlatshwayo · Jun 21, 2025

Good day 

I am trying to connect a business service to fileZilla using FTP on my local PC Win 11.

I am trying to setup my training after attending the Building HL7 interfaces course with ISC.

The connection is failing. He is the error below

ERROR <Ens>ErrOutConnectFailed: FTP Connect failed for localhost:21//SSL=' with error ERROR <Ens>ErrFTPConnectFailed: FTP: Failed to connect to server 'localhost:21//SSL='/' (msg='Missing required argument',code=501)

1
0 95
Question Fraser J. Hunter · May 1, 2025

Mirror Member

Hi ISC Experts,

I'm in the process of setting up InterSystems IRIS for HealthShare with database mirroring, and I’d appreciate some guidance around how to handle an existing ODBC connection in this new setup.

Scenario:

  • We currently have a system running IRIS for HealthShare that external systems connect to via ODBC (using a standard connection string with hostname and port).
  • We're now configuring mirroring on this system — it will become one of the mirror members (Primary/Backup).
  • The external system using ODBC will not be part of the mirror, but it needs to continue accessing
4
0 159
Question Thembelani Mlalazi · Apr 16, 2025

I need to connect to a SFTP server and I seem to connect and timeout have tested the connection using File-zilla and the connection was successful but the problem is when I try to connect using the FTP in bound adapter service I get the following errors.

ERROR <Ens>ErrOutConnectExpired: FTP Connect timeout period (120) expired for ***************.com:990/******/SSL='********* + ERROR <Ens>ErrFTPConnectFailed: FTP: Failed to connect to server ***************.com:990/******/SSL='********* (msg='Timeout waiting for response',code=529)

I need to understand what ciphers are supported in IRIS and if

1
0 162
Job Coral Montero · May 16, 2025

Hello InterSystems community!

We have an amazing opportunity for 3 experienced Caché developers to join our team in building an innovative platform in the MedTech sector.

What we offer:

  • Hybrid work (Barcelona or Madrid)
  • Be part of a team from the ground up, with a direct impact on creating cutting-edge medical solutions!
  • Great professional growth opportunity

If you have experience with Caché and are ready for an exciting challenge with a forward-thinking company, this is your chance!

Looking forward to hearing from you and having you join this incredible project! 🚀

Feel free to reach out to

1
0 206
Question Scott Roth · Jun 13, 2025

I have an application that is requires an Encoded HL7 message sent over SOAP over HTTPS using SSL/TLS... the Response that is return is also encoded, which I know how to Decode but not sure when I Decode the response how to Extract the HL7 message to send back to the router.

How do I capture the Routing Source System and parse the encoded message back into an HL7 format that would show on the trace viewer?

Below is an example...where I get the response and want to send it back to FeederScottRouting as an HL7 message that can be tied to the Parent ID of the sending request message?

4
0 149
Question Scott Roth · Jun 10, 2025

We have a vendor that is requiring that the HL7 sent to them is sent as an Encoded message inside a SOAP request but is sending back an HL7 message as the response. 

When the WSDL built the response, it was expecting an encoded message back. I updated the Request and Business Operation to expect an EnsLib.HL7.Message, however I am not sure how to handle the HL7 ACK to post it back to the sending message so it will not cause an Orphan message, and to parse it back correctly in the trace viewer.

When I do a $$$LOGINFO on the pResponse, I get back...

How do I properly

1
0 120
Question Justin Ruggles · Jun 17, 2025

I am trying to add a value to my concatenation string and the value is not being inserted in the right place. I am adding onto this code from another developer and cannot seem to get it to work. The only code I have added is underlined in bold red.

This is how the translated HL7 message looks:

OBX|1|CE|CDX^History||Specimen 1 Clinical History: CLINICAL HISTORY\.br\\.br\Specimen 2 Clinical History: CLINICAL HISTORY 2\.br\Specimen 1 Suspected Clinical Diagnosis\.br\Specimen 3 Clinical History: HISTORY 3\.br\Specimen 2 Suspected Clinical Diagnosis

This is how it should look:

OBX|1|CE|CDX^History||Spe

0
0 90
Question Scott Fadden · Nov 11, 2020
I am trying to create a database using python. The example shows setting a Name string and a Properties object containing Directory=.

; Use class methods to create an instance
 %SYS>s Name="ABC"
 %SYS>s Properties("Directory")="c:\abc\"
 %SYS>s Status=##Class(Config.Databases).Create(Name,.Properties)
 %SYS>i '$$$ISOK(Status) w !,"Error="_$SYSTEM.Status.GetErrorText(Status)

How do I update and pass the Directory property using Python?

4
0 366
Question Scott Roth · Jun 6, 2025

I am having issues trying to send SOAP requests to a Cloud Based AWS Application that lives outside of our network. 

It is using a Basic Authentication, Key, Certificate Authority and Whitelist for Security. 

If I attempt the connection using wget from the command line I am able to connect,

:>wget --bind-address=10.95.129.245 --server-response https://xxxxxxxxxx/xxxxxxx/services/Mirth
--2025-06-06 15:54:51--  https://xxxxxxx/xxxxxxxx/services/Mirth
wget: /ensemble/.netrc:16: unknown token xxxxxxx
wget: /ensemble/.netrc:16: unknown token xxxxxxxx
Resolving xxxxxxx.com (xxxxxxx)...

3
0 144
Discussion Harshitha · May 30, 2025

Hey everyone,

I'm diving deeper into Caché ObjectScript and would love to open a discussion around the most useful tips, tricks, and best practices you’ve learned or discovered while working with it.

Whether you're an experienced developer or just getting started, ObjectScript has its own set of quirks and powerful features—some well-documented, others hidden gems. I’m looking to compile a helpful set of ideas from the community.

Some areas I’m especially interested in:

  • 💡 Clever use of %INCLUDE, macros, and preprocessor directives
  • ⚙️ Best practices in class-based development using %Persistent,
3
4 215
Question Enrico Parisi · May 2, 2025

Is anyone using DICOM Interoperability in IRIS for Health configured in Mirror?

I'm asking because I'm not sure how to handle where the DICOM messages are stored.

For some reason DICOM use the filesystem to store raw messages, the directory used can be configured in the StorageLocation production settings, obviously this is a big issue if/when a mirror failover occur.

Unfortunately in IRIS it's not possible to change the DICOM storage from file stream to global stream.

Has anyone came across this issue?

9
0 191
Article Ashok Kumar T · Aug 30, 2024 3m read

Hello Community

I have previously experimented with embedded Python in IRIS; however, I have not yet had the opportunity to implement IRIS using native Python. In this article, I aim to outline the steps I took to begin learning and implementing IRIS within the Python source. I would also like thank to @Guillaume Rongier and @Luis Angel Pérez Ramos for their help in resolving the issues I encountered during my recent PIP installation of IRIS in Python, which ultimately enabled it to function properly.

Let's begin to write IRIS in python.

First comes First, You have to install the intersystems_i

7
5 639
Question Laura Blázquez García · Jun 9, 2025

I have created a new docker stack with webgateway and IRIS for Health 2025.1. I have mapped the posts of wegateway like this:

  • 8743:443
  • 8780:80

I can access IRIS portal through 8743 without problems.

I also have created a FHIR repository, and I'm able to access it through 8743 port.

I have a web application, in another server with another domain, that connects to this FHIR repository. I have configured in FHIR endpoint the allowed origin to the domain of this application. But when I try to connect from this application to FHIR repository I have this error on Webgateway:

Protocol Error

3
0 169
InterSystems Official Daniel Palevski · Jun 9, 2025

InterSystems has released new point updates to resolve a defect affecting the most recent prior versions of 2025.1.0, 2024.1.4, 2023.1.6, and 2022.1.7, for the following supported product lines:

  • InterSystems IRIS
  • InterSystems IRIS for Health
  • HealthShare Health Connect

This issue could result in unexpected <PROTECT> errors or access anomalies when using features such as:

  • Implied namespaces
  • Mixed read-only/read-write access to databases
  • Management Portal pages for listing routines and globals

Symptoms Included:

  • Namespace creation failures
  • Intermittent “access denied” errors when
1
0 168
Question Scott Roth · Jun 12, 2025

For those that use IRIS for Health, HealthShare, and or Health Connect...

As Health Applications are moving to the Cloud, how have you handled communication from the Application to your instances via HTTPS?

Trying to figure out the best path on designing the proper workflow to allow these messages to be allowed to be eventually sent to our EMR to post to the patient chart.

We are very wary of opening a connection from the internet to our instance of Health Connect.

Thanks

0
0 106
Question Scott Roth · Jun 11, 2025

I am having a hard time trying to figure out the following...

Within a DTC, I was able to take the a EnsLib.HL7.Message source and using

set a= $System.Encryption.Base64Encode(source.RawContent)
set encodedMessage=$Get(a)

to take the HL7 message encode it and add it to the Data Class as a string to be sent to an Operation to be sent out as a SOAP Request. 

However to make it more universal I tried doing this within a copy of EnsLib.HL7.SOAPOperation

Method SendMessage(pMsgOut As EnsLib.HL7.Message, Output pMsgIn As EnsLib.HL7.Message, pExpectedSequenceNumber As%String) As%Status
{
 Set tSource
3
0 121
Article Guillaume Rongier · Apr 9, 2019 3m read

IRIS and Ensemble are designed to act as an ESB/EAI. This mean they are build to process lots of small messages.

But some times, in real life we have to use them as ETL. The down side is not that they can't do so, but it can take a long time to process millions of row at once.

To improve performance, I have created a new SQLOutboundAdaptor who only works with JDBC.

BatchSqlOutboundAdapter

Extend EnsLib.SQL.OutboundAdapter to add batch batch and fetch support on JDBC connection.

Benchmark

Benchmarks released on Postgres 11.2 with 1 000 000 rows fetched and 100 000 rows inserted on 2 columns.

alt text

Prerequis

10
3 1923
Question Scott Roth · Jun 11, 2025

I have created a New Database/Namespace within our TEST environment on both the Primary and Backup of the mirror. When I go to create the database/namespace on the DR node I am getting "Cannot open file '/ensemble/TEST/iris.cpf_...." while the cpf file that it references does not exist. Anyone have any clue to why this might be happening?

3
0 134
Question Julian Matthews · Sep 16, 2022

Hi all.

I'm currently looking at a use case where I need to take a Stream, and then encode the contents as a Base64 Stream. This is currently achieved with a snippet of code that has previously been placed in multiple classes within this particular environment, and relied on the dotnet gateway (which suffers with a bug in 2022.1, corrected 2022.1.1).

Therefore I will be replacing the dotnet implementation with the standard $System.Encryption.Base64Encode, and then place this all in a nice function to replace each instance of the same (currently non-functional) snippet of code placed in the

9
1 2244
Question Feng Wang · Jun 10, 2025

good afternoon!

I was trying to set up the "File Spec" to match the exact filename that will be in the file path.

however, it seemed grab whatever the name of the file and work on it.

wondering how I can specific the exact filename in "File Spec" so that It wont touch other files in the same path?

https://docs.intersystems.com/healthconnect20251/csp/docbook/DocBook.UI…

1
0 77
InterSystems Official Daniel Palevski · Jun 10, 2025

Summary

Advisory ID

Product & Versions Affected

Risk Category & Score

Explicit Requirements

DP-439649

Products:

  • InterSystems IRIS®
  • InterSystems IRISfor Health
  • HealthShare®Health Connect

Versions:

  • 2025.1.0.225.1
  • 2025.1.0.223.0
  • 2024.1.4
  • 2023.1.6
  • 2022.1.7

Operational:
4 – High Risk

System Stability:
3 – Medium Risk

This issue does not constitute a security vulnerability. It does not allow users to bypass permissions checks or access data outside their authorized namespace.

Use of implied namespaces, the Management Portal, or

0
1 179
Article Developer Community Admin · Jun 10, 2025 13m read


Digital health solution providers face increasing pressure to integrate complex health data systems while ensuring scalability, security, and compliance with standards like HL7 FHIR. Fast Healthcare Interoperability Resources (FHIR) has revolutionized health data exchange by offering a standardized framework that allows diverse health IT systems to communicate effortlessly. But simply adhering to FHIR standards isn’t enough to overcome the intricacies of health data integration. Solution partners must leverage advanced architectural components like FHIR brokers, façades, and repositories to build scalable and efficient solutions. InterSystems offers all the essential features you need to implement FHIR for your health data, whether on-premises, in a public cloud, or as a cloud-based service managed by InterSystems.

Medical Science Hospital Lab Meeting healthcare

0
1 172
Question Dmitrii Baranov · Jun 5, 2025

I'm not so experienced in administering IRIS but as far as I understand IRIS for Health community comes with a web server out-of-the-box while licensed editions require Web Gateway to be deployed.

I was able to install dockerized instances of IRIS for Health 2025.1 along with Web Gateway, double checked that _SYSTEM and CSPSystem users are not locked, changed passwords for both, configured the gateway to connect to IRIS, then created a web gateway app (/iris) and checked the connection is OK.Now I'm struggling with accessing Management Portal.

2
0 135
Question Laura Blázquez García · Apr 7, 2025

We have an OAuth server configured as an identity provider, and we have an external application (from another provider) that connects correctly with OAuth.

Due to the needs of the project, what we want to do is the following:

  • If the user is not authenticated, show the OAuth login page, have them log in, and redirect them to the third-party app --> This part works
  • If the user is already authenticated (already logged in and already has a valid access_token), we create a cookie with the access_token generated at login, and when entering the third-party application URL, instead of showing the
1
0 116