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.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Based on a great sample and workshop built by @Luis Angel Pérez Ramos (see related articles and related Open Exchange app), which included a local InterSystems IRIS for Health container (and desired setup), this sample presented here, adapted the workshop for using the InterSystems Cloud FHIR Server, and it's related setup.

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)
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).
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 ***************.
Hi,
I want to write a program to:
- list all defined namespaces
- for each namespace, the databases making up the namespace
Python would be ideal but ObjectScript is OK.
Would someone know how to do this?
Thanks
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!
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?
.png)
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...
| 11@EnsLib. |
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\.
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?
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). 34.233.89.
Hello, dear members of our developer community!
In today's article, we're going to take a look at one of the latest remote monitoring features that have been added to the product for our IRIS instances. I'm talking about OpenTelemetry support.
.png)
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.
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ It's CLEAR - Re-Imagining the Digital Front Door @ Global Summit 2024
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?
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.
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.
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.
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
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.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.

Does anyone have a copy of the Class EnsLib.File.CSVService, which can import a CSV file in a Business Service?
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?
Hi,
Can anyone please tell me how to append a string using a update query.
For eg : "Hello" is the string . I need to append the string world and it needs to be "Hello world".
Thanks
Jude
Hello Community,
I encountered the following errors while installing the ZPM module on version 2025.1. The ZPM install command failed on the Community Edition of IRIS for Health.
Skipping installation of python wheel 'attrs-25.1.0-py3-none-any.whl' due to error: '0 ;«WCould not find a suitable pip caller. Consider setting UseStandalonePip and PipCallerÓUSERÇ'e^OnAsStatus+1^%Exception.General.1^1/e^AsStatus+1^%Exception.AbstractException.1^15e^OnPhase+28^%IPM.ResourceProcessor.PythonWheel.1^1)e^%Initialize+8^%IPM.Lifecycle.Base.1^1-e^ExecutePhases+163^%IPM.Storage.Module..png)