Introduction
FHIR (Fast Healthcare Interoperability Resources) is the modern standard for storing and exchanging clinical data. But once your data is in a FHIR server, how do you actually explore it? FHIR data is stored as JSON — powerful, but not practical to read directly. I wanted a tool where you could click on a patient, see their conditions, medications, lab results, and more — in a clean, readable format. So I built the FHIR Patient Viewer.
How It Works
The app runs entirely in Docker and connects directly to an InterSystems IRIS for Health FHIR server.
Introduction — The Problem with AI Streaming in ObjectScript
Today, I would like to introduce a problem I encountered and the solution I found when integrating AI APIs into an ObjectScript application. My initial tests were successful, yet somewhat frustrating.
The HTTP call worked; the request was properly sent to my LLM APIs. But then, silence... a long wait. Eventually, the entire response arrived as a single block.
Technically, it worked, but the user experience was disappointing compared to a ChatGPT session.
Hi everyone,
I’ve configured an integration scenario in InterSystems IRIS with a Business Service exposed as a SOAP web service. Everything works correctly when the web application allows unauthenticated access.
However, when I switch the web application to require Basic Authentication, I’m unable to get it working properly. I have configured a resource and assigned it to both the web application and the user I’m using for the request, but I consistently get login failures (visible in the audit log).
i want to debug classmethod in vs code,bu it get error !
For example in %Library.File Class Documentation, FiieSet query is listed as:
"Selects Name As %String, Type As %String, Size As %BigInt, DateCreated As %TimeStamp, DateModified As %TimeStamp, ItemName As %Stringof ..."
How to obtain a "real" syntax?
Thank you.
In my previous article, Using LIKE with Variables and Patterns in SQL, we explored how the LIKE predicate behaves in different scenarios, from Embedded SQL to Dynamic SQL, and what happens to performance when wildcards and variables come into play. That piece was about getting comfortable writing a working LIKE query. But writing SQL that works is only the starting point. To build applications that are reliable, scalable, and secure, you need to understand the best practices that underpin all SQL, including queries that use LIKE.
This article takes the next step. We’ll look at a few key points to help strengthen your SQL code, avoid common pitfalls, and make sure your SELECT statements run not just correctly, but also efficiently and safely. I'll use SELECT statements with LIKE predicate as an example along the way, showing how these broader principles directly affect your queries and their results.

*This is what Gemini came up with for this article, kinda cute.
Hello,
Looking for some additional help, maybe someone who has experience with this before, in setting up and configuring the Web Gateway with Kerberos.
Have read through the documentation (at the link below) and it's a good start but seems there are some details missing, or I'm not clear on.
Questions:
- Is there a external enterprise Kerberos server required, or is this set up contained within the local server?
- Is there a step-by-step instructions on what to do and configure to successfully complete this?
- Are there there config changes necessary for Apache?
Our Pharmacy team would like us to convert...
¼ test character and ½ test character and ¾ test character andto more like
1/4 test character and 1/2 test character and 3/4 test character andIs this possible?
Hey Developers,
Watch this video to learn how InterSystems has implemented a secure, consent-driven workflow using InterSystems Unified Care Record and Personal Community, allowing patients to grant temporary access to their medical data.
⏯ Dynamic Consent-Based Access Control and Relationship Management @ Ready 2025
Hi Community,
🚀Are you joining us at READY 2026? While you're there, you can build your skills, validate your expertise, and connect directly with our experts! Take a look at these free resources from Learning Services. 👇
- Free Certification Exams: Demonstrate your InterSystems technology skills!
- 👉Book by April 24 using the certification app after you register.
- 👉Book by April 24 using the certification app after you register.
- Be Ready: Ask a Trainer: Meet with a technical trainer 1-1 or with your team!
- 👉Email us to schedule a 45-minute session. Let us know your availability, and what you'd like to discuss.
- 👉Email us to schedule a 45-minute session. Let us know your availability, and what you'd like to discuss.
Currently have an extension of the ..lookup function as a custom version of the lookup. Is there any easy way to get it to display it as a list of the lookup tables
ClassMethod LookupV3(table As %String = "",
and the one i'm trying with
If you’re heading to READY 2026, make sure the Tech Exchange is on your list! It’s where things get a bit more interactive — demos, conversations, quick questions, and real-time answers from the people behind the tech 🚀
Stop by the Developer Ecosystems Booth👋
Learn how we support developers at every stage of their journey. Stop by to:
![]()
If you have ever dug through a large IRIS namespace looking for where a particular string, method call, or pattern was used, you know the pain: there was no built-in way to do a grep-style search across your server-side ObjectScript code from VS Code — at least not without jumping through some hoops.
That is what ObjectScript Search fixes.
Try it today with a simple install from the VS Code Marketplace. If you don't like it, uninstalling is just as easy. But I think you will like it — it is a huge quality-of-life improvement for anyone doing ObjectScript development in VS Code.
Working with files often starts off simple. open the file, read, and process. That approach works perfectly well, until the file happens to be an Excel file.
A Common Assumption
At first, an Excel file (.xlsx) looks like just another data file, rows, columns and values. nothing unusual. So it's natural to assume it can be read the same way as a .txt ot .csv file. But that's where things start to break.
Why Excel files behave differently
The key difference is how the data is stored:
-> .txt / .csv - plain text, line-by-line.
-> .
Hi Community,
Preparing for InterSystems Certification exams requires more than reading documentation. It calls for focused practice aligned with real exam objectives.If you are planning to validate your expertise in HL7, SQL, System Administration, or Development, structured preparation can make a significant difference.
The platform offers a large pool of practice questions mapped to certification domains, along with detailed answer explanations that point back to relevant documentation.
Hello,
I am receiving the following message structure on Ensemble from a lab machine, and it is still being processed. I am using the ASTM format with the EnsLib.EDI.ASTM.Service.TCPService service. I have reviewed multiple ASTM messages and verified the schema structure. Logs are not showing any error or TCP connection is not disconnecting. I am not able to understand why am I receiving this. Please let me know if any additional details are required.

Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Data on the Move - Securing InterSystems IRIS Connections with TLS @ Ready 2025
InterSystems is pleased to collaborate with the Harvard Health Systems Innovation Lab (HSIL) on the HSIL Hackathon 2026.
As part of this joint initiative, InterSystems will support participants with a dedicated challenge focused on building innovative healthcare applications using modern interoperability and AI technologies.
The HSIL Hackathon 2026 is a two-day innovation event focused on developing solutions that improve healthcare systems through the use of AI.
📅 Event dates: April 10–11, 2026
📍 Format: One hackathon taking place simultaneously in two hubs
👥 Participation: ~50 teams across both locations
🏆 Next step for winners: Venture Building Program
If you have long-running messages here's a simple code to catch them. You can also use Queue Wait Alert to get the same results, although this code will catch even a single active message with an empty queue. It also scans all namespaces with no production modification, so it can be used for debugging.
Include Ensemble
Class User.LongMessagesTask Extends %SYS.Task.Definition
{
Parameter TaskName = "Long running messages";
Property LongRunningMessageThreshold As %Integer(MINVAL = 1) [ InitialExpression = 60 ];
Method OnTask() As %Status
{
set ts = $zdatetime($NOW(0),3,1)
set ns = ""
while 1 {
// Iterate namespaces
set ns = $o($$$EnsJobMonitorRoot(ns))
quit:ns=""
set job =""
while 1 {
// Iterate jobs
set job = $o($$$EnsJobMonitorRoot(ns, job))
quit:job=""
// Get business host name
set bh = $o($$$EnsJobMonitorRoot(ns,job,""))
// Get the time of the last state change
set lastActivity = $$$EnsJobMonitorRoot(ns,job,bh,"%LastActivity")
// Get active message, if any - bh can be just idling
set active = $d(^[ns]Ens.ActiveMessage(job),messageid) // From $$$EnsActiveMessage
if active {
set time = $system.SQL.Functions.DATEDIFF("s", lastActivity, ts)
if time > ..LongRunningMessageThreshold {
set text = $$$FormatText("Long running message %1, in ns: %2, BH: %3, processing since %4, for %5 seconds", messageid, ns, bh, lastActivity, time)
// For debug
// write text, !
do ##class(%SYS.System).WriteToConsoleLog(text)
}
}
}
}
quit $$$OK
}
}RabbitMQ is a message broker that allows producers (those who send a data message) and consumers (those who receive a data message) to establish asynchronous, real-time, and high-performance massive data flows. RabbitMQ supports AMQP (Advanced Message Queuing Protocol), an open standard application layer protocol.
The main reasons to employ RabbitMQ include the following:
- You can improve the performance of the applications using an asynchronous approach.
- It lets you decouple and reduce dependencies between services, microservices, and applications with the help of a data message mediator, meaning that there is no need for producers and consumers of exchanged data to know each other.
- It allows the long-running processing of sent data (with the results) to be delivered after utilizing a response queue.
- It helps you migrate from monolithic to microservices, where microservices exchange data via Rabbit in a decoupled and asynchronous way.
- It offers reliability and resilience by making it possible for messages to be stored and forwarded. A message can be delivered multiple times until it is processed.
- Message queueing is the key to scaling your application. As the workload increases, you will only have to add more workers to handle the queues faster.
- It works well with data streaming applications.
- It is beneficial for IoT applications.
- It is a must for Bots’ communication.
Hi everyone,
I need to connect to an SFTP server from InterSystems IRIS 2024, but the connection must go through a proxy.
I couldn’t find any built-in support for SFTP with proxy in IRIS/Ensemble.
What would be the recommended approach in this case?
is there any native or supported way to handle SFTP + proxy?
Any examples or best practices would be appreciated. Thanks!
v2026.1 was just released as GA, and one of the features I'm looking forward to using is the DTL Explainer feature.
This allows you to take a Data Transformation, and with a click of a button get a human-readable description of the transformation (which you can also use as the basis for the DTL Description).
For complex DTLs, especially ones you didn't write yourself, or you did but a long time ago, this will allow you to get a clear quick understanding of what it's doing.
It’s no secret that the InterSystems Global Masters program is integrated with Developer Community, Open Exchange, and Ideas Portal. Whenever you contribute to any of these platforms, you automatically earn points and badges on Global Masters.
We’ve created a short guide to help you discover the best ways to earn points on Global Masters:
Please note that points are automatically awarded on the 4th day after you make a contribution on DC, OEX, or the Ideas Portal (activities made outside of the Global Masters platform).
Hi, Community!
Find out about the latest UX enhancements in version 2026.1 of InterSystems products!
Building Integrations: A New User Experience (v2026.1)
In this video, Product Manager @Aya Heshmat walks you through:
- Updates to the BPL Editor, Message Viewer, and Visual Trace interfaces
- Improvements to the Production Configuration, DTL Editor, and Rule Editor
Hi Guys,
I've connected VS Code to my IRIS server and can see projects & web application option but not Classes tab, how can I add it, and with the old Studio we do have the Inspector tab where we can check properties, Storage, methods, are these available in VS code?
also does any changes or new classes created via VS code automatically reflected in my IRIS namespace ?
Thanks
Introduction
The standard %Net.HttpRequest library in InterSystems IRIS is powerful and comprehensive, but it can be verbose for simple operations. Writing an HTTP request often requires several lines of code to instantiate the class, configure the server, the port, HTTPS, add headers, and finally send the request.
When testing in the terminal, this configuration quickly becomes too heavy, and usually ends up with the creation of temporary methods...
FastHTTP
The 2023.1.7 maintenance releases of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and InterSystems Health Connect™ are now Generally Available (GA).
Please share your feedback through the Ideas Portal using the category Post-Release Feedback so we can build a better product together.
Documentation
You can find the detailed change lists & upgrade checklists on these pages:
Early Access Programs (EAPs)
There are many EAPs available now. Check out this page and register to those you are interested.
IrisTest is a light weight, powerful, user-friendly tool designed to simplify unit test report generation. It includes an interactive shell and API to facilitate communication, allowing developers to easily manage and generate reports for their test runs in various formats. Whether you're debugging or creating detailed reports for analysis, IrisTest makes the process smooth and efficient!
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Ahead of the Threats - The Future of Secure Systems @ Ready 2025

