- Building and Managing HL7 Integrations – In Person December 15-19, 2025 9:00am-5:00pm EST
- Build, configure, and manage HL7® V2 interfaces using InterSystems integration technologies.
- This healthcare-focused 5-day course teaches implementation partners, integrators and analysts how to rapidly build HL7 integration solutions.
- Students build a production that processes and routes HL7 messages.
- Students learn how to work with the pre-built HL7 business services, business processes and business operations to receive and send HL7 messages.
Hey Community,
We're pleased to invite everyone to the upcoming kick-off Webinar for InterSystems "Bringing Ideas to Reality" Contest!
During the webinar, our speakers will explore the Community Opportunity Ideas from the InterSystems Ideas Portal, which are the topics of this programming contest. They will show how to develop, build, and deploy applications using the InterSystems IRIS data platform.
Date & Time: Monday, November 17 – 10:30 am EST | 4:30 pm CET
Hi Everyone,
As I'm sure most of you will be aware, we have an excellent resource available to developers in the Open Exchange, which is a place for Community Members to share open source resources, templates, tools and demos built with or for InterSystems technologies. This has been a massive success, with >1100 projects shared!
However, the growing size of the Open Exchange inevitably leads to some excellent resources being buried and lost in the sea of resources.
Hi community
I have a persistent data class where there are some properties that contain underscores in their names, for example:
In Architect, I would like to use this property in an expression, in this field:.png)
But I can't figure it out. If I use %source.client_name, it gives a compilation error. If I use %source."client_name", it treats it as the string "client_name" instead of getting the value from the field. Any suggestions on how to do this?
Hi developers!
How do you debug implementation code in .impl classes of REST.API in InterSystems IRIS?
Especially if you don't have access to globals, so no things like:
Set ^AAA="here we are"not possible in this case.

Suppose I have the following signature of the REST.API method called as POST and containing JSON. :
In my previous article, I structured network communications
in these 3 possible layers, and covered the last
- Client <---> Transport
- Server <---> Transport
- Client <---> Server
In fact, you have the most control over the last one.
The IRIS side as a server is yours and under your full control.
Up to now, the Transport layer was assumed to be as passive as a bare wire.
This assumption should be verified. I once met a Windows environment with
a quite surprising setup where a Firewall-like filter was isolating internal
processes and causing a lot of trouble.
Chasing errors or misbehavior in the network can be quite a challenge.
Differently to a local application on the DB server, you always have at least 3 players:
- A client to place a request
- some kind of transport layer
- and a server to provide a reply.
This results in a minimum of 3 possible communication layers
- Client <---> Transport
- Server <---> Transport
- Client <---> Server
The last one is probably the easiest to check, while the other
two deal with the same counterpart just from opposite sides.
? Do both ends use the same communication protocol
Over the past several years, the InterSystems Developer Community has accumulated more than 1,000 open-source projects. Many of them serve as examples and learning materials — but a significant number have become useful tools, libraries, integrations, and real-world components used in production.
Some of these projects are mine, and like many community developers, I’ve seen the same recurring problem:
- It’s easy to create an open-source project.
- It’s hard to maintain, support, and develop it sustainably — especially without funding.
Writing code is one thing.
Supporting it for years, keeping up with new IRIS versions, building CI pipelines, writing documentation, fixing issues, reviewing PRs — all of this demands both time and motivation, and the biggest motivator is often financial support.
This is not a new challenge.
The global open-source world has faced this for decades and has developed various models to support OSS ecosystems.
I believe it’s time for the InterSystems community to start a discussion about adopting a similar model.
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Foreign Tables In 2025.2 @ Ready 2025

Hey Community,
We're happy to invite you to a LinkedIn Live session in Dutch
🎤 Data exchange in healthcare according to the FHIR standard with Python 🎤
Event details:
📅 Date: Thursday, November 27th
🕓 Time: 1:30-2:15 PM EST

.png)
Power your IrisCluster serviceTemplate with kube-vip
If you're running IRIS in a mirrored IrisCluster for HA in Kubernetes, the question of providing a Mirror VIP (Virtual IP) becomes relevant. Virtual IP offers a way for downstream systems to interact with IRIS using one IP address. Even when a failover happens, downstream systems can reconnect to the same IP address and continue working.
The lead in above was stolen (gaffled, jacked, pilfered) from techniques shared to the community for vips across public clouds with IRIS by @Eduard Lebedyuk ...
Articles: ☁ vip-aws | vip-gcp | vip-azure
This version strives to solve the same challenges for IRIS on Kubernetes when being deployed via MAAS, on prem, and possibly yet to be realized using cloud mechanics with Manged Kubernetes Services.
.png)
Hi guys,
Is it bad to have too many Business Services in a production and what's the limit, I'm looking to convert our system tasks (around 30 of them) into Business Services and wondering if it's a better option?
Thanks
Hi,
I have just installed WebTerminal on my local instance of Health Connect 2025.1, but it does not work and returns a HTTP 401 error.
Can any one help, as I have never installed WebTerminal before?
Has there been any changes in Health Connect to stop it working in version 2025.1?
Thanks.
Neil
If one of your packages on OEX receives a review, you get notified by OEX only of YOUR own package.
The rating reflects the experience of the reviewer with the status found at the time of review.
It is kind of a snapshot and might have changed meanwhile.
Reviews by other members of the community are marked by * in the last column.
I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.
Some were accepted and merged, and some were just ignored.
So if you made a major change and expect a changed review, just let me know.
Our subject matter experts (SMEs) often find themselves stretching their knowledge and testing their skills—but also having fun!
👉How do you want to challenge yourself in the coming year?
For inspiration, meet a few of the professionals behind our exams, who talk about what they've gained from being part of our SME community:
Hi,
I'm using the iris for health community edition and I cannot seem to get the FHIR server configuration UI to show up. I was able to create a FHIR server programaticlly but none of the user interface features that the installation guide talks about are available. Once I was created the server I was able to see a Bulk FHIR Coordinator in the management portal, ut that's it. Are the UI features not available in the community edition or do they need to be enabled somehow?
This is the guide that I am using https://docs.intersystems.com/irisforhealth20251/csp/docbook/DocBook.UI.Page.cls?
Hi, Community!
Are you looking for ways to strengthen your InterSystems IRIS® data platform deployment? See how mirroring can help:
I have a quite complex FHIR Implementation Guide (IG) which is based on several other FHIR IGs. It's likely the versions of IGs conflict with each other.
From what I understand, I would need to load in all the other FHIR IG's first?
I don't actually need FHIR profiles to be in our FHIR Repository - I'm just after terminology and the examples for our test system.
Is it possible to load a FHIR IG just as data? (I think I mean here, ignore the FHIR profiles and dependencies between them)
🚀 We’re excited to share that InterSystems is once again joining Hack Jak Brno 2025.
📅 Event dates: 28 - 30 November 2025
📍 Location: Masaryk University in Brno
🔗 Learn more and register at www.hackjakbrno.cz 🚀

Hi guys,
I'm looking to mimic this Post request URL where I'm sending a token :.png)
So I created the below code but I'm getting "HTTP/1.1 405 Method Not Allowed" error
Set Httprequest1=##class(%Net.HttpRequest).%New()
Set Httprequest1.SSLConfiguration="LS2"
Set Httprequest1.Server="myserver.com"
Set Httprequest1.Timeout=30
Set Httprequest1.Https=1
Set Httprequest1.Port=7711
set Httprequest1.ContentType="application/json"
Do Httprequest1.SetHeader("Accept","application/json")
Do Httprequest1.SetHeader("Accept-Language","en_US")
//D Httprequest1.EntityBody.
Can someone help me understand what type of user error (?) is going on here please?
One one system, I write out a group of $c() values and get the expected results:
USER>for i=250:1:260 { write i," ", $c(i),! }
250 ú
251 û
252 ü
253 ý
254 þ
255 ÿ
256 Ā
257 ā
258 Ă
259 ă
260 Ą
USER>w $zv
IRIS for Windows (x86-64) 2023.1.4 (Build 580U) Fri Apr 19 2024 11:16:07 EDT
USER>On another system, I get some unexpected results:
USER>for i=250:1:260 { write i," ",$c(i),!i am looking for a Class or Function to check if a Base64 document is valid ( will results into Full file after decoding or not ),
i was not able to find any predefined class in Objectscript ,
has anyone worked on something similar before ?
any advice will be welcomed
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Using SerenityGPT to Build Out an Application GenAI Middleware at InterSystems @ Ready 2025
Introduction
In this article, we will explore various approaches to extending and customizing the behavior of InterSystems IRIS (and IRIS Health) built-in interoperability message routers.
Message routers perform one of the core functions of Enterprise Application Integration (EAI) and are among the most frequently used business processes in interoperability productions.
Can someone give me an explanation of how Local.PD.Linkage.Definition.Individual works? This was setup by another company as part of our implementation.
Below is my configuration..
.png)
We are getting a lot of matches on Given Name, but then the Family Name does not match at all, so I am wondering if these need to be adjusted. I just don't understand if they need to be positive or negative.
if I use the MLE CALIBRATION MONITOR, it seems that none of the values should be negative.
.png)
Hi everyone, on HealthShare Unified Care Record 2024.1.0 Build, we're using the Analytics section to create a dashboard containing a time chart showing a cumulative curve of the number of documents indexed in the registry for each documentSource of each repository. We tried the following steps: we created a cube whose dimensions are the CreationDate, SourceValue, and repositoryUniqueID of the HS_Registry.Document table; in the Analytics section, we created a pivot table that lists the document creation date on each row, along with as many columns as each repository's documentSources.
Hello everyone! 👋
I have a question regarding roles and resources.
To give you some context: I have a user who has been assigned only the role %HS_UsageDashboard_Access.This allows them to access the dashboards correctly (by giving the direct URL). Then, if I try to access the Management Portal with this same user, I can log in with no access to any resources within it (as expected).
The point is that I would like to completely deny him access to the Management Portal, while allowing him to view only the dashboards, as expected from the %HS_UsageDashboard_Access role.
Hello, thanks for your time reading this question.
We are receiving each day, alerts from one of our four Production nodes. It always has the same text:
[InterSystems IRIS SEVERE ERROR gchciris4.canariasalud:ENSEMBLE] [Utility.Event] [SYSTEM MONITOR] CSPGatewayLatency(127.0.0.1:443) Alert: CSPGatewayLatency = 5001.304, 5001.233, 5000.964 (Max value is 2000).
We have looked for it in the documentation here:
https://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?
Trying to check date in DTL.
Want to throw a custom error not the default one from the $ZDTH. It does in the try as will write "Error" when testing the DTL but the actual error not showing. Report errors is turned on. I also tried the THROW logic from best practices but that doesn't work either. $SYSTEM.Status.DisplayError(status) does display what the error should be returned.
try
{
set tDateH = $ZDATEH(tDateofDeath, 8)
}
catch ex
{
w "error"
set status = $$$ERROR($$$GeneralError,"Custom error message")
do $SYSTEM.Status.DisplayError(status)
do $SystemStatus.Hi Community,
Please welcome @henry as our new Moderator in the Developer Community Team! 🎉
As an active member, Henry has consistently shared valuable insights, supported fellow developers, and driven meaningful discussions across the Community. His deep expertise and collaborative spirit make him a perfect fit to help guide and grow our Developer Community.

Let's greet Henry with a round of applause and look at his bio!

