Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Uncovering and Accelerating Customer Value Through Collaboration @ Global Summit 2024
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Uncovering and Accelerating Customer Value Through Collaboration @ Global Summit 2024
Build and configure HL7® V2 interfaces using InterSystems integration technologies
This healthcare-focused 3-day course teaches implementation partners, integrators and analysts how to 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. Students also learn how to transform HL7 messages using graphical tools in the
Hello Community,
When handling a %CSP.REST API response for a custom endpoint, how can I capture or access the response content before it is written to the output buffer and sent through the Web Gateway to the UI?
In manually created REST services (for example, with a route like:<Route Url="/test" Method="POST" Call="User.Sample:Test" Cors="true"/> ),
the response is typically written from within any class method in the execution flow.
Is there a way to intercept or log the response content before it is sent to the client?
Thanks!
I'm running the image "containers.intersystems.com/intersystems/irishealth-community:2025.1" as a container on my local Docker desktop.
Now I want to set up an ODBC SQL connection, but I don't know how to do it.
I have tried various ways without success. Like building my own image (see "Dockerfile" description below).
I have also added ODBCINI variable in my docker-compse (see "Docker-compose.yml" description below).
Anyone done this before?
I'd really appreciate some help.
Thanks.
I have notified that on several servers the IRISTEMP database is reported as only a few GB in size while on the disk where it's located, the IRIS.DAT file is much bigger (eg: 3GB reported in Portal (including free space) while file on the disk file is 121GB). The last modification date of IRIS.DAT is recent so I'm not looking into a location no more in use.
Is there an explanation for that difference in size ?
I know temporary databases are special in a way they are not always stored on the disk, here is what InterSystems says about it :
VSCode version:
Version: 1.101.2 (user setup)
Commit: 2901c5ac6db8a986a5666c3af51ff804d05af0d4
Date: 2025-06-24T20:27:15.391Z
Electron: 35.5.1
ElectronBuildId: 11727614
Chromium: 134.0.6998.205
Node.js: 22.15.1
V8: 13.4.114.21-electron.0
OS: Windows_NT x64 10.0.26100
-----------------------
I'm working with a CSP legacy system.
When a csp file is newer in Caché them my local version, I try to do a compare with the server and receive the error in VSCode.png)
Maybe this is well known but wanted to help share.
Consider that you have the following persistent class defintions
An Invoice Class with a property reference to Provider
Reference: Build 2025.1.0.1.24372U.25e14d55
This release introduces significant enhancements to security, analytics capabilities, and user experience, along with important operational improvements aimed at reducing downtime and improving reliability.
Hi Community,
Watch this video to learn how to leverage available mechanisms to simplify mirroring for HealthShare Health Connect:
⏯ HealthShare Health Connect Mirroring Simplified @ Global Summit 2024
I'm trying to open a TCP connection to a remote system. The Caché command I'm using to open the connection is OPEN "|TCP|"_PORT:(IP::"PSE"):10 where PORT is a port number in the range 40000 to 40100 and IP is a standard IPv4 addess like 10.200.100.50 the connection appears to open because $TEST becomes 1. I'm then writing to the open port with USE "|TCP|"_PORT:(::"S") WRITE "some text",*-3 It's a windows system
I'm confused about the differences between a namespace and a database.
I understand that a database is a single IRIS.DATA file in a directory in the os hosting IRIS.
What is the difference between a namespace and a database?
Can I write data into a database without specifying a namespace?
If so how do I write to a particlar DB in objectscript?
Does a database have to be in a namespace?
Can a database be in more than one namespace?
Can a namespace have only one 'routine' database and only one 'data' database?
I have a database that is 2TB in size (from a LIVE system).
I would like to defragment it but I have some questions. I took a look at official documentation but it does not help.
Hi Community,
While writing an article yesterday, I realized I was so busy with people who came to the Developer Community table at the Tech Exchange that I forgot to take photos for you. Luckily, I realized the error of my ways and corrected my behavior accordingly 😉
So, let's look at what happened on Tuesday at the InterSystems Ready 2025! It began with a speech of Scott Gnau about the approach and architecture of InterSystems Data Platform and how it is different from all other DBMSs:

Is there a link we can use to invite other devs to ( so we can get credit for brining them in?)
Hi Guys,
I'm trying to use %Net.WebSocket.Client to collect data from a sever,
and part of that I needed to implement Two classes (SX3.Production.HTTP.AdvCredenials & SX3.Production.HTTP.AdvListener) as below for the purpose of Credentials & EventListener properties,
Class SX3.Production.HTTP.AdvCredenials Extends %Net.WebSocket.ICredentials
{
Method GetPassword() As %String
{
q ""
}
Method GetUsername() As %String
{
q ""
}
Method GetSSLConfiguration() As %String
{
q "MySSL"
}
}
Class SX3.Production.HTTP.AdvListener Extends %Net.WebSocket.IEventListener
{
I am attempting to follow the tutorial at Publishing Web Services Using Caché | Caché Web Services QuickStart Tutorial | Caché & Ensemble 2018.1.4 – 2018.1.11 to build a toy SOAP web-service using Cache but am running into what I suspect are permissions issues, or perhaps setting up the "plumbing" to get an incoming request to call the web-service methods.
Ensemble instance running on local laptop. Only the Ensemble private web-server installed on the machine (no IIS or Apache).
Hi Community,
Enjoy the new video on InterSystems Developers YouTube from our Tech Video Challenge:
Whats the significance of creating an Index with Data Keyword in Index
My HL7 message got "AR" (rejected ack code) and went to the suspended queue. I re-submitted it (without editing it) but forgot to write down the details before doing so. It got "AA" and everything works fine from there.
Now (the next day) I want to check with the downstream system why they returned "AR" initially. Is there a way to search for the original message the got an "AR", along with any returned error message please?
Thanks
W
Hello, This probably easy but I can't seem to figure it out. I need to send the first and last name of nurses to one segment target. How do I do this?
EVN 5.2 and EVN 5.3 needs to = One target segment
Hi all,
We're developing a medical appointment app that connects doctors' schedules to an appointment provider.
The provider is returning us the appointment in the following format:
Thu Jul 03 08:20:00 CEST 2025
It means, 03 july 2025 at 08:20:00 Central European Summer Time (UTC+2)
But we need the following format:
2025-07-03 08:20:00+02:00
Is there any option to convert zone time code (CEST) to a UTC+x ?
How to convert zone time code (CEST, CET, ET, EDT, etc..) in its zone time in UTC (UTC+2, UTC+1, UTC-5, etc..) ?
Best regards
Hi Community!
We have super awesome news for you! We're going to try to broadcast our Developer Ecosystem session from the InterSystems Ready 2025:
👥 InterSystems Developer Ecosystem: New Resources and Tools You Need to Know
📅 Wednesday, June 25, 2025
🕑 14:25 - 14:45 EDT
.jpg)
Previously, we trained our model using machine learning. However, the sample data we utilized was generated directly from insert statements.
Today, we will learn how to load this data straight from a file.
Hi Community!
I'm super excited to be your on-the-ground reporter for the biggest developer event of the year - InterSystems Ready 2025!
As you may know from previous years, our global summits are always exciting, exhilarating, and packed with valuable knowledge, innovative ideas, and exciting news from InterSystems. This year is no different. But let's not get ahead of ourselves and start from the beginning.
Pre-summit day was, as usual, filled with fun and educational experiences. Those who enjoy playing golf (I among them) got up at the crack of dawn to tee off before the sun got too high up. Here's our dream team in action:

@sween, @Mark Bolinsky, @Anzelem Sanyatwe, @Iryna Mykhailova
I decided to write this down before time wiped out my memory
It's a very personal story as a partner, as a competitor, as an employee,
as a customer and finally as an external observer of InterSystems.
Learn how to design scalable, autonomous AI agents that combine reasoning, vector search, and tool integration using LangGraph.
Hi community,
A few weeks ago I published an API accelerator call Memoria, Is a very simple way to minimize the time and network traffic to and end-point, I hope could be useful.
The link in openexchange: https://openexchange.intersystems.com/package/memoria
Regards!
This can be achieved by using the CSV() procedure of the %SQL.Util.Procedures class.
Below is an example of usage code. (Assuming that the file test.csv is in c:\temp.)
I have a class with a projection that creates some persistent classes (chunks) and a non-persistent "Daemon" class that I want to have running in the background, doing some processing. The daemon needs to look at the "chunk" classes, and I want it to be simple to start the daemon -- I am currently calling the daemon's start method at the end of the CreateProjection method. When I do this, I get a <CLASS DOES NOT EXIST> error from the daemon when it tries to query against one of the chunk tables. But, if I add a "HANG 5" at the beginning of the daemon start method, this runs fine. I am assuming
Hello IRIS community,
InterSystems Certification is currently developing a certification exam for InterSystems IRIS SQL professionals, and if you match the exam candidate description given below, we would like you to beta test the exam! The exam will be available for beta testing starting May 19, 2025.