Hi, Community!
🌤 Wondering about the potential benefits of moving to the cloud? Hear from our experts about:
Hi, Community!
🌤 Wondering about the potential benefits of moving to the cloud? Hear from our experts about:
Hi Guys,
I've created Business service with MQTT Inbound Adapter and here is my settings, BTW I'm using an IP with port not sure if it must be a url?
.png)
and this is my class:
Class SX3.Production.MQTTService Extends Ens.BusinessService
{Parameter ADAPTER = "EnsLib.MQTT.Adapter.Inbound";Method OnProcessInput(pInput As %RegisteredObject, Output pOutput As %RegisteredObject) As %Status
{set tsc=$$$OK
set ^messageContent = pInput.StringValue
Quit tsc
}}
But I'm getting the below error, not sure what I'm doing wrong?
.png)
Thanks
For a variety of reasons, users may wish to mount a persistent volume on two or more pods spanning multiple availability zones. One such use case is to make data stored outside of IRIS available to both mirror members in case of failover.
Unfortunately the built-in storage classes in most Kubernetes implementations (whether cloud or on-prem) do not provide this capability:
However, some Kubernetes add-ons (both provider and
Hello Community,
Alongside the InterSystems Open Exchange application gallery, the InterSystems Community GitHub hosts examples, libraries, and demos built with InterSystems technologies.
It includes:
These repositories are not officially supported by InterSystems, but they can be useful for learning and exploring InterSystems technologies.
You’re welcome to explore the repositories and use them as a reference for your own projects.
Hi Developers!
Here are the technology bonuses for the InterSystems .Net, Java, Python, and JavaScript Contest that will give you extra points in the voting:
You’ve probably already seen that the October Article Bountyis live on Global Masters! 🍁🚀
Submit a brand-new article on one of the announced topics and earn a bounty of 🏆 5,000 Global Masters points once it’s approved! 🎉
Here’s the list of October topics:
1. Comparison of when direct access via global is faster than access via class/SQL
2. A comparison matrix of connectivity methods to InterSystems IRIS to help developers choose the best option for their use case
3. Monitoring and Observability in InterSystems IRIS (with Dashboards & Tools) Guides
4. Beginner’s Guide: Using SQL in InterSystems IRIS
5. Unit Tests Tutorials
6. Practical code examples for ObjectScript Beginners
7. Securing Your InterSystems IRIS Deployment with SSL/TLS: Configuration Tips & Gotchas
8. Large Data handling
9. JSON transformations in DTL (Data Transformation Language)
10. Working with Stream Objects in InterSystems IRIS
11. Best Practices for Data Migration in InterSystems IRIS (Guide / Tips)
Rules to follow:
For historic reasons we've got a mix of ADT feeds coming out of our PAS (TrakCare) to a wide range of downstream systems. In particular, there are some that are direct from TrakCare to the downstream systems, and many more that pass through Ensemble as our integration engine.
This is complicating management of the integrations, and so we'd like everything to go through the integration engine. In other words move from the flow in the top of the diagram to the flow in the bottom of the diagram:
.png)
So we want to build a couple of pass-through interfaces in Ensemble that respond identically to the
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
⏯ Before the Lightbulb: Understanding the First Phase of the AI Revolution in Medicine
How do you assign a property in a RUL (not a DTL or BPL) from a function value? I've tried with the package/classname, without, with .., without and even looked all the way down to the parser but still can't see how. There is no examples and the documentation doesn't help
So this works
<assign property="RuleActionUserData" value=""A01""></assign>
This doesn't complile
<assign property="RuleActionUserData" value="##class(SomePackage.SomeClass).EventTypeToHL7Type(Document)"></assign>
SomePackage.SomeClass extends EnsRules and the method is a classmethod and final
When we need to integrate Caché/IRIS with other relational databases, one common question arises: “How do I set up the JDBC connection?”.
The official documentation doesn’t always provide a straightforward step-by-step guide, which can be frustrating, especially for beginners.
In this article, I’ll walk you through the entire process of configuring a JDBC connection with MySQL, from downloading the connector to linking tables in Caché/IRIS.
Note: JDBC connections in Caché/IRIS have some limitations, especially regarding caching and the use of ResultSet. In many cases, you may need to adapt
.png)
I am giving this distraction the code name "Compliment Sandwich" for a reason yet to be realized, but I'd rather the community go right for the jugular shooting holes in a solution that implements wireguard based connectivity for our workloads in general, as I would like to refine it as a fall project leading up to KubeCon in Atlanta and if I miss the mark, Ill get it done before Amsterdam.
.png)
One of the recommendations when deploying InterSystems Technologies for production is to set up High Availability. The recommended API Manager for these InterSystems Technologies is the InterSystems API Manager (IAM). IAM (essentially Kong Gateway) has multiple deployment topologies.
If you are looking for high availability you could use:
a) Kong Traditional Mode: Multiple Node Clusters
b) Hybrid Mode
c) DB-less Mode
Before we break them down let's first understand the out of the box deployment that is provided by InterSystems: Installing IAM Version 3.10.
Kong Traditional Mode
This is the Kong
It’s time to bring some spotlight to the authors and participants of our September Article Bounty! A big thank-you to everyone who took part💙
Special shout-out to those who took the time to write brand-new articles and share their expertise (each received 5,000 points 🎉):
@Robert Cemper >> "IRIS in Docker for beginners"
@sween >> "IKO Plus: Stretched Cross Regional IrisCluster with Tailscale on Google Cloud Platform"
@Ariel Glikman >> "High Availability IAM"
@Pietro Di Leo >> "Running InterSystems IRIS with Docker: A Step-by-Step Guide - Part 1: From the Basics to Custom Dockerfile"
@Guilherme Tonelotti >> "Create a JDBC connection with Mysql Cache"
@Vachan C Rannore >> "From "Oops" to "Aha!" - Avoiding Beginner Mistakes in ObjectScript"
And also to those who joined the challenge and helped us in the search for interesting articles (each received 30 points 🙌):
The article was motivated by the 2025 September Article Bounty
***************************************************************
The principle of Docker is just convincing to me.
This was the technical base for me to run about 700 reviews in OEX
with almost no side effects (except those caused by myself).
For beginners, I'll start with straight pure IRIS, no *health, *ML, *whatever
First, you need a Docker installation. It's available on almost any platform.
Hi Community,
I’m trying to execute a directory query in InterSystems IRIS using %SQL.Statement, but encountering an unexpected error.
Details:
The following command confirms that the directory exists:
Set dirPath="\\MYNETWORK_DRIVE\DFS-Shared_Product\GXM"
Write ##class(%File).DirectoryExists(dirPath)
It returns 1, meaning the path is valid and accessible.
However, when I try to execute this SQL query:
Set File=##Class(%SQL.Statement).%New()
Set Status=File.%PrepareClassQuery("%File","FileSet")
Set Result=File.%Execute(dirPath)
If Result.%SQLCODE {
Write Result.%Message
}
I get the
Since we reached two important milestones for Go developers working with InterSystems IRIS:
database/sql interface for Go.Now it’s time to see everything working together.
To demonstrate how easily Go developers can adopt InterSystems IRIS, I took an existing production-grade open-source project — the RealWorld Example App — which showcases a full-stack Medium.com-style clone implemented with Go Fiber, GORM, and SQLite.

With just a few configuration tweaks, I swapped out SQLite for gorm-iris, keeping everything else unchanged. The result?
A fully functional Go + Fiber application powered by InterSystems IRIS — no code rewrites, no ORM gymnastics, just a different database backend.
You can find the complete working demo here: github.com/caretdev/golang-fiber-iris-realworld-example-app
Every thriving community has members whose energy, creativity, and commitment help shape it into something extraordinary. In the InterSystems Developer Community, one such member is @Henry Pereira — a developer, open-source contributor, contest winner, and true believer in the power of collaboration.
👏 Let’s take a closer look at Henry’s remarkable journey and his continuing legacy in the InterSystems ecosystem.
(3).jpg)
While working with external languages for IRIS (such as Python and Node.js), one of the first things you must accomplish is making a connection to an IRIS instance.
For instance, to make a connection in python (from https://pypi.org/project/intersystems-irispython/):
import iris
# Open a connection to the server
args = {
'hostname':'127.0.0.1',
'port': 1972,
'namespace':'USER',
'username':'username',
'password':'password'
}
conn = iris.connect(**args)
# Create an iris object
irispy = iris.createIRIS(conn)
# Create a global array in the USER namespace on the serverIf you thought native Go support for IRIS was exciting, wait until you see what happens when GORM enters the mix.
Just recently, we welcomed native GoLang support for InterSystems IRIS with the release of go-irisnative. That was just the beginning. Now, we’re kicking things up a notch with the launch of gorm-iris — a GORM driver designed to bring the power of Object Relational Mapping (ORM) to your IRIS + Go stack.

GORM is one of the most popular ORM libraries in the Go ecosystem. It makes it easy to interact with databases using Go structs instead of writing raw SQL. With features like auto migrations, associations, and query building, GORM simplifies backend development significantly.
So naturally, the next step after enabling Go to talk natively with IRIS was to make GORM work seamlessly with it. That’s exactly what gorm-iris does.
At the moment, we have 10 HealthShare instance servers (5 x mirrored pairs), where we implement an External Backup approach, using the freeze/thaw commands against whichever server of the pair is the backup mirror member, to complete a VM level backup. These backups are stored to a disk within our control, to purge as required. This approach allows us to deliver a zero downtime backup approach.
Our future backup solution will be storing immutable backups, with the main concern being that the 10 HealthShare instance servers are quite sizable and that our current approach of backing up the
Hi Guys,
I'm looking to setup an MQTT adapter that also acts as broker to connect directly to an MQTT clients, is there an IRIS adapter or client that can be used as Broker as well?
Thanks
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.
| # | Package | Review | Stars | IP |
|---|
Hi,
%SYS.LDAP - InterSystems IRIS Data Platform 2025.2 - including private class members states that
"abstract class %SYS.LDAP
Requires %syLDAP.INC to be included in your COS routine for some macro definitions."
How can I include %syLDAP.INC for the compilation of my code which uses %SYS.LDAP ? I need the definitions for the $$$LADPxxxx macros (such as $$$LDAPSUCCESS).
Thank you.
W.
Hi,
I am trying to include in my Data Transform, if OBX 5.1 (Observation Value) Contains certain text i.e. DETECTED then populate the Abnormal Flag field with a certain letter.
Sometimes the text can be uppercase, lowercase or a multiple of both.
Any help would be much appreciated.
Thanks
Jason
Hi Developers,
We are happy to announce the new InterSystems online programming contest:
🏆 InterSystems .Net, Java, Python, and JavaScript Contest 🏆
Duration: September 22 - October 12, 2025
Prize pool: $12,000
(2).jpg)
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
IRIS Audio Query is a full-stack application that transforms audio into a searchable knowledge base.
community/ ├── app/ # FastAPI backend application ├── baml_client/ # Generated BAML client code ├── baml_src/ # BAML configuration files ├── interop/ # IRIS interoperability components ├── iris/ # IRIS class definitions ├── models/ # Data models and schemas ├── twelvelabs_client/ # TwelveLabs API client ├── ui/ # React frontend application ├── main.py
I was really surprised that such a flexible integration platform with a rich toolset specifically for app connections has no out-of-the-box Enterprise Service Bus solution. Like Apache ServiceMix, Mule ESB, SAP PI/PO, etc, what’s the reason? What do you think? Has this pattern lost its relevance completely nowadays? And everybody moved to message brokers, maybe?
Wiki time: An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service-oriented architecture (SOA) ...
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
.png)
.png)
This part of the OMOP Journey, we reflect before attempting to challenge Scylla on how fortunate we are that InterSystems OMOP transform is built on the Bulk FHIR Export as the source payload. This opens up hands off interoperability with the InterSystems OMOP transform across several FHIR® vendors, including Amazon Web Services HealthLake.
Healthlake supports bulk fhir import/export from the cli or api, the premise is simple and the docs are over exhaustive, we'll save a model the trouble of