I have a Task that I am trying to write the output to a file. How do I check for if the Output File has been included in the Task Schedule, so I can direct my output of my class to that output file?
Thanks
Scott
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.
I have a Task that I am trying to write the output to a file. How do I check for if the Output File has been included in the Task Schedule, so I can direct my output of my class to that output file?
Thanks
Scott
To enable Interoperability functionality after creating a namespace, use the EnableNamespace method of the %EnsembleMgr class:
do ##class(%EnsembleMgr).EnableNamespace()
Hi everyone,
I’m new to this community and could really use some help with creating a production in InterSystems IRIS for Health Community 2024.3. I have deployed my instance using Docker.
Here’s what I’m trying to do:
EnsLib.HL7.Service.FileService.George James Software is excited to share a new release of Deltanji source control, version 8.1. This new release introduces a Git Location Driver along with several other functionality and usability improvements.
Highlights of this release include:
Is there a way in a EnsLib.SQL.InboundAdpapter that you can tell when you have reached the end of the Results of the Query?
Upon doing A NEW INSTALL of IRIS 2025.1 on a new computer, the IR task appears in the tray and a right click to invoke the Launcher yields no response. Any suggestions are appreciated.
Does anyone have a query that I could run to show a Vendor the time difference between when a message was sent out a BO, and when we received the HL7 ACK back that is associated with the message sent?
I am trying to prove to this vendor of the delay we are seeing getting the ACK back because of a Timeout
I know how to pull Ens.MessageHeader, and EnsLib.HL7.Message but not sure how to match up the Message with the HL7 Acknowledgement received.
I am attempting to failover my TEST environment to the Backup, and I keep getting an error stating that
06/01/25-18:47:54:516 (11864) 1 [Utility.Event] Primary startup failed, failed to read header of /archive/journal/MIRROR-IRISTEST-20250513.007 (file #63653)
however, when I go to /archive/journal/, I am not finding any record of MIRROR-IRISTEST-20250513.007 (file #63653)
to get out of this error message I have to restart what was the Primary and restart the Backup to get it back into a state that we can use it.
We are attempting to setup an EnsLib.SOAP.OutboundAdapter to send an HL7 message to a vendor hosted AWS site. We have the Certificate from the vendor and defined the TLS setting. However, when we are sending the message we are receiving...
Unable to open TCP/IP socket to server hcis-staging.cbord.com:443

You know that feeling when you get your blood test results and it all looks like Greek? That's the problem FHIRInsight is here to solve. It started with the idea that medical data shouldn't be scary or confusing – it should be something we can all use. Blood tests are incredibly common for checking our health, but let's be honest, understanding them is tough for most folks, and sometimes even for medical staff who don't specialize in lab work. FHIRInsight wants to make that whole process easier and the information more actionable.

It all started with a simple but powerful question:
“Why is reading a blood test still so hard — even for doctors sometimes?”
If you’ve ever looked at a lab result, you’ve probably seen a wall of numbers, cryptic abbreviations, and a “reference range” that may or may not apply to your age, gender, or condition. It’s a diagnostic tool, sure — but without context, it becomes a guessing game. Even experienced healthcare professionals sometimes need to cross-reference guidelines, research papers, or specialist opinions to make sense of it all.
That’s where FHIRInsight steps in.
We didn’t build it just for patients — we built it for the people on the frontlines of care. For the doctors pulling back-to-back shifts, for the nurses catching subtle patterns in vitals, for every health worker trying to make the right call with limited time and lots of responsibility. Our goal is to make their jobs just a little bit easier — by turning dense, clinical FHIR data into something clear, useful, and grounded in real medical science. Something that speaks human.
FHIRInsight does more than just explain lab values. It also:
Imagine a young doctor reviewing a patient’s anemia panel. Instead of Googling every abnormal value or digging through medical journals, they receive a report that not only summarizes the issue but cites recent studies or WHO guidelines that support the reasoning. That’s the power of combining AI and vector search over curated research.
And what about the patient?
They’re no longer left staring at a wall of numbers, wondering what something like “bilirubin 2.3 mg/dL” is supposed to mean — or whether they should be worried. Instead, they get a simple, thoughtful explanation. One that feels more like a conversation than a clinical report. Something they can actually understand — and bring into the discussion with their doctor, feeling more prepared and less anxious.
Because that’s what FHIRInsight is really about: turning medical complexity into clarity, and helping both healthcare professionals and patients make better, more confident decisions — together.
Of course, all that simplicity on the surface is made possible by some powerful tech working quietly in the background.
Here’s what FHIRInsight is built on:
All of this happens in a matter of seconds — turning raw lab values into explainable, actionable medical insight, whether you’re a doctor reviewing 30 patient charts or a patient trying to understand what your numbers mean.
Behind the scenes, FHIRInsight’s AI-powered reporting is driven by LiteLLM — a brilliant abstraction layer that allows us to call over 100+ LLMs (OpenAI, Claude, Gemini, Ollama, etc.) through a single OpenAI-style interface.
But integrating LiteLLM into InterSystems IRIS required something more permanent and reusable than Python scripts tucked away in a Business Operation. So, we created our own LiteLLM Adapter.
LiteLLMAdapterThis adapter class handles everything you’d expect from a robust LLM integration:
prompt, model, and temperatureTo plug this into our interoperability production, we wrapped it in a dedicated Business Operation:
LLMModel settingHere’s the core flow simplified:
set response = ##class(dc.LLM.LiteLLMAdapter).CallLLM("Tell me about hemoglobin.", "openai/gpt-4o", 0.7)
write response
When we started building FHIRInsight, our mission was simple: make blood tests easier to understand — for everyone. Not just patients, but doctors, nurses, caregivers... anyone who’s ever stared at a lab result and thought, “Okay, but what does this actually mean?”
We’ve all been there.
By blending the structure of FHIR, the speed of InterSystems IRIS, the intelligence of LLMs, and the depth of real medical research through vector search, we created a tool that turns confusing numbers into meaningful stories. Stories that help people make smarter decisions about their health — and maybe even catch something early that would’ve gone unnoticed.
But FHIRInsight isn’t just about data. It’s about how we feel when we look at data. We want it to feel clear, supportive, and empowering. We want the experience to be... well, kind of like “vibecoding” healthcare — that sweet spot where smart code, good design, and human empathy come together.
We hope you’ll try it, break it, question it — and help us improve it.
Tell us what you’d like to see next. More conditions? More explainability? More personalization?
This is just the beginning — and we’d love for you to help shape what comes next.
I have a question where I have over 30 000 records of data that I would like to send in HL7 and was looking at sending these in one bulk messages instead of individual messages in HL7.In this kind of a situation has anyone ever sent a bulk HL7 messages or is there a way of doing this other than using FHIR bundle.
IRIS supports CCDA and FHIR transformations out-of-the-box, yet the ability to access and view those features requires considerable setup time and product knowledge. The IRIS Interop DevTools application was designed to bridge that gap, allowing implementers to immediately jump in and view the built-in transformation capabilities of the product.
In addition to the IRIS XML, XPath, and CCDA Transformation environment, the Interop DevTools package now provides:
.png)
Hi Community,
In this article, I will introduce my application iris-fhir-bridge
IRIS-FHIR-Bridge is a robust interoperability engine built on InterSystems IRIS for Health, designed to transform healthcare data across multiple formats into FHIR and vice versa. It leverages the InterSystems FHIR Object Model (HS.FHIRModel.R4.*) to enable smooth data standardization and exchange across modern and legacy healthcare systems.
Google Forms is the most popular solution on the market for collecting data, answering questionnaires and quizzes. So, it is the ideal solution for collecting patient data and responses in a practical way, without the need to expand or develop systems. In this article, I will detail how to create an account on Google Cloud, register the application that will consume the Google Forms API, generate the service user necessary to consume the API and finally perform actions to create new forms and collect data filled in them in an automated way in embedded Python and IRIS.
Profiling CCD Documents with LEAD North’s CCD Data Profiler
Ever opened a CCD and been greeted by a wall of tangled XML? You’re not alone. Despite being a core format for clinical data exchange, CCD's are notoriously dense, verbose, and unfriendly to the human eye. For developers and analysts trying to validate their structure or extract meaningful insights, navigating these documents can feel more like archaeology than engineering.
Kong provides an open source configuration management tool (written in Go), called decK (which stands for declarative Kong)
deck gateway ping Successfully connected to Kong! Kong version: 3.4.3.11
deck gateway dump -o kong.yaml
Template engines are essential for producing customizable dynamic content, without the need for compilation and opening up great possibilities of extensibility for the template user. Especially if the template engine supports Python. A popular solution for template engine is Mko. It is is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and API borrows from the best ideas of many others, including Django and Jinja2 templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded
I am trying to log in to the Web Gateway Management and I have missed placed the password to access the system I have tried
changing the password under local settings in the CSP.ini and that has managed to change the password to access the gateway but cannot log me into the management area I have followed a post here and read here and I seem not to get the answers that actual explain how I can get to the web gateway management.
Let me introduce you to FHIRCraft, a lightweight tool to generate synthetic FHIR resources.
Now, you might be thinking:
“But wait — doesn’t Synthea already do that, and with tons of resources?”
Exactly — and that’s precisely why I created this app.
FHIRCraft is designed to generate simpler, smaller, and more focused FHIR resources. Unlike Synthea, it doesn’t aim to simulate entire patient histories or clinical workflows. Instead, it helps when you’re just getting started with FHIR — when you want to test things incrementally, or explore how specific resources behave in isolation.
We have a big update this quarter.
I am struggling on how to pull out individual fields from a JSON. In a previous post someone had mentioned that I could...
Hi,
I am creating a new rule as per screen shot below but my when condition is not matching. Please can anyone help me to understand as what could be the issue? I tried to get trace value for PV1.3.1 segment but it's returning null value.
Test Results
Regards
Avi
Hi everyone,
It's me again😁. As usual I would like to share something I study recently, and today, I would like to share about the document DB😁.
1st of all, let's go to the documentation https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=GDOCDB_intro
Well, I must say, this one is much better to follow than the others, which I read before. 😭 Finally😭😭
Ok, let's start walking through it together
Here we go😀, we start a terminal from VSCode to connect to our IRIS
We are going to created Document DB demo.docpatient
Hi Community,
We're pleased to invite you to the upcoming webinar in Hebrew:
👉 Discover the All-New UI in Version 2025.1 — and More!👈
📅 Date & time: June 11th, 3:00 PM IDT
hey everyone,
we are new to InterSystems health share, we are running health connect in a cluster with primary, backup and dr nodes.
we kept noticing that web applications definitions aren't showing in the backup or dr node.
is that normail? would they show up after failover to backup node or cutover to dr node?
thanks
Hi Developers,
We are happy to announce the new InterSystems online programming contest dedicated to all things health-related:
🏆 InterSystems FHIR and Digital Health Interoperability Contest 🏆
Duration: May 12 - June 1, 2025
Prize pool: $12,000

I need to create a task to read the contents of file in an IRIS file system and store it in Persistent DB. What is the type of property thats defined in the Task that lets user select the input directory.
After we rolled out a new cointainer based on containers.intersystems.com/intersystems/irishealth:2023.1 this week, we suddenly noticed that our FHIR Repository started responding with an Error 500. This turns out to be caused by PROTECT violations on the new HSSYSLOCALTEMP namespace and database used by this version of the IRIS for Health FHIR components.
The trick to solve that is to add the "%DB_HSSYSLOCALTEMP" to the Web Application(s) that handle FHIR Requests. You can script that by running the following Class method in the namespace(s) that define these Web Applications:
do ##class(HS.HealthConnect.FHIRServer.Upgrade.MethodsV6).AddLOCALTEMPRoleToCSP()
In our case that was not enough. In some of our custom code we actually need access to the jwt Bearer token as sent by the client, which we could fetch from the AdditionalInfo "USER:OAuthToken" element, which is no longer present in the 2023.6.1.809 build as described in https://docs.intersystems.com/upgrade/results?product=ifh&versionFrom=2023.1.0&versionTo=2023.1.6&categories=Business%20Intelligence,Cloud,Core,Development%20Tools,Driver%20Technologies,Embedded%20Python,External%20Languages,FHIR,Healthcare%20Interoperability,Interoperability,Machine%20Learning,Mirroring,Monitoring,Natural%20Language%20Processing,SQL,Security,Sharding,Web%20Applications&audience=All&changes=121
We worked around that issue by the adding the following logic to fetch the token from the token cache:
$$$ThrowOnError(##class(HS.HC.Util.InfoCache).GetTokenInfo(pInteropRequest.Request.AdditionalInfo.GetAt("USER:TokenId"), .pTokenInfo))
set OAuthToken = pTokenInfo("token_string")
Hello, community!
I am working on implementing OAuth 2.0 authentication in InterSystems IRIS and need to correctly define a CSRF token that will be validated by OAuth.Response. However, I am having trouble finding a clear method to configure the CSRF token correctly.
So far, I have tried:
Despite these attempts, I haven’t been successful. On the OAuth.Response page, the CSRF token is empty, and I get the error message “Invalid CSRF token” because the csrfToken is empty.
We have a scenario where we use the best practice article of a BP and DTL to split up HL7 messages mainly ORUS
https://community.intersystems.com/post/splitting-oru-messages-using-ob…
It is really useful but we have this code in many places that we are trying to consolidate it in one place.
We do not want to split it at the first stage in our rules as there is a lot of messages that go to sink. So we are trying for specific rules and the incoming hl7 matches certain rules and classified for certain downstream systems that it is then split and transformed.