Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Optimizing Parallel Aggregation Using Shared Globals @ Ready 2025
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Optimizing Parallel Aggregation Using Shared Globals @ Ready 2025
Terminal Commands for Production:
Do ##class(Ens.Director).StartProduction(“ProductionName”)
Do ##class(Ens.Director).StopProduction()
Do ##class(Ens.Director).UpdateProduction()
Do ##class(Ens.Director).RecoverProduction()
Do ##class(Ens.Director).CleanProduction()
Abort Messages in the queue:
d ##class(Ens.Queue).AbortQueue(“Component Name”)
Get InstanceName :
W !,##class(%SYS.System).GetUniqueInstanceName()
Get Node Name:
W !,##class(%SYS.System).GetNodeName()
Terminate JobId :
d
Hola amigo! 😊 Cómo estás hoy,
I would like to share a small part of my learnings from my first ever official project: POS/EDC machine integration with our billing system. This was an exciting challenge where I got hands-on experience working with APIs and vendors.
How does a Payment Machine actually work?
It's simple, start by initiating/creating a transaction, then retrieve its payment status.
Here, initiate/create refers to POST method and Retrieve refers to GET.
Abstract Set Query, ASQ, is a super set of JSON Path Language, JPL, which was first introduced by the 2016 ISO SQL Standard. JPL is only defined within the context of SQL. In 2023.3, we introduced classes that implement ASQ. It works on any implementation of %Library.AbstractSet. The complete syntax for ASQ will be documented later. This is just a quick introduction to a few of its features. This implementation comes with a nice utility as well. You will know it when you see it!
First, let's get some data from the NHL database.This step requires a valid SSL/TLS configuration.
Hi,
We currently have a zen page we created to show all existing tasks and their states (Running or Stopped) as below, is the a way to do the same and create a page where we can list all Business Services of a production, state and to either Stop or restart them?
.png)
Thanks
For developers building external applications, especially those using familiar technologies like C#, ODBC (Open Database Connectivity) is a crucial, standardized bridge to any relational database, including InterSystems IRIS. While InterSystems offers its own native ADO.NET provider, the ODBC driver is often the most straightforward path for integration with generic database tools and frameworks.
Here is a step-by-step guide to getting your C# application connected to an IRIS instance using the ODBC driver, focusing on DSN-less connection string.
The InterSystems ODBC driver is installed by default when you install InterSystems IRIS on a Windows machine.
Once installed, you can verify its presence in the ODBC Data Source Administrator tool on Windows (look for the InterSystems IRIS ODBC35 driver).
.png)
Hi everyone,
I'm getting prepared to take the following certification exam: "InterSystems IRIS Development Professional".
Can you give some advice on how to prepare (aside from the official course page: https://www.intersystems.com/certifications/intersystems-iris-development-professional/ )?
Do you have examples of quiz questions that simulate the real exam or any material that helped you getting prepared?
Thanks you in advance,
Arber
Hello
I'm using from visual code. My routines are server-side files. If I try to search patterns in files (e.g find all routines containing the string "version=3") , the search runs but didn't find anything. If I do the same search from the management portal, it finds all routines including this pattern with a good performance.
regards Matthias
Modern data architectures utilize real-time data capture, transformation, movement, and loading solutions to build data lakes, analytical warehouses, and big data repositories. It enables the analysis of data from various sources without impacting the operations that use them. To achieve this, establishing a continuous, scalable, elastic, and robust data flow is essential. The most prevalent method for that is through the CDC (Change Data Capture) technique. CDC monitors for small data set production, automatically captures this data, and delivers it to one or more recipients, including analytical data repositories. The major benefit is the elimination of the D+1 delay in analysis, as data is detected at the source as soon as it is produced, and later is replicated to the destination.
This article will demonstrate the two most common data sources for CDC scenarios, both as a source and a destination. For the data source (origin), we will explore the CDC in SQL databases and CSV files. For the data destination, we will use a columnar database (a typical high-performance analytical database scenario) and a Kafka topic (a standard approach for streaming data to the cloud and/or to multiple real-time data consumers).
This article will provide a sample for the following interoperability scenario:
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
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:
This results in a minimum of 3 possible communication layers
The last one is probably the easiest to check, while the other
two deal with the same counterpart just from opposite sides.
I met more than once that one end
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:
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

Using embedded Python while building your InterSystems-based solution can add very powerful and deep capabilities to your toolbox.
I'd like to share one sample use-case I encountered - enabling a CDC (Change Data Capture) for a mongoDB Collection - capturing those changes, digesting them through an Interoperability flow, and eventually updating an EMR via a REST API.
.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, Community!
Are you looking for ways to strengthen your InterSystems IRIS® data platform deployment? See how mirroring can help:
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
s Url="myurl/confirmed?id="_token
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.Write(token)
Set tSc
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 would like to share with you a little trick to customize how messages are displayed in the Message Viewer. In particular, how you can display messages as JSON (instead of the default XML representation).

Messages are objects that are used to communicate interoperability productions components. In my example I have defined a message that later I serialize as JSON to send to an external API. This message is defined as a regular message and also as a %JSON.Adaptor so I can export / import directly to or from JSON.
Class interop.msg.DeviceOrderReq Extends (Ens.Request, %JSON.Adaptor)
{
ParameterHey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Using SerenityGPT to Build Out an Application GenAI Middleware at InterSystems @ Ready 2025
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.
After a brief overview of the built-in message router classes in InterSystems IRIS and IRIS for Health, the article will demonstrate how to enhance their capabilities to achieve specific outcomes—without the need to develop a
When IRIS 2023.2 reaches general availability, we’ll be making some improvements to how we tag and distribute IRIS & IRIS for Health containers.
IRIS containers have been tagged using the full build number format, for example 2023.1.0.235.1. Customers have been asking for more stable tags, so they don’t need to change their dockerfiles/Kubernetes files every time a new release is made. With that in mind, we’re making the following changes to how we tag container images.
Major.Minor Tags: Containers will be tagged with the year and release, but not the rest of the full build number. For
When using a EnsLib.RecordMap.Service.FileService business service, is there a way to tell which row number that is being read in? I want to read in a csv, but on the first record, trigger a truncate on the External SQL Table that it is being written to through JDBC.
Thanks
Scott
How to define a For loop in *.inc file?
Overview
This release introduces the FHIR Server 2025.10.0, delivering the latest standards compliance and performance improvements. It also enhances the Health Connect Cloud (HCC)upgrade process for greater reliability and adds new flexibility to Network Connect through prefix list support in VPN configurations.
New Features and Enhancements
|
Category |
Feature / Improvement |
Details |
|
FHIR Server |
Release of FHIR Server 2025.10.0 |
Introduces the latest version of InterSystems FHIR Server, featuring improved scalability, enhanced conformance with FHIR R5, and optimizations |
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Operations & Scalability with InterSystems IRIS - From Zero to Hero @ Ready 2025
Hello!
I'm trying to create some foreign tables to a PostgreSQL database. In some cases, columns with certain datatypes cannot be consumed by IRIS and the following error is thrown:
[SQLCODE: <-237>:<Schema import for foreign table did not return column metadata>]
[%msg: <Unkown data type returned by external database>]
For example: serial4 typed ID columns are typical examples. Is it possible, what's the best way of resolving these datatypes, which- seemingly- don't have proper JDBC metadata mappings?
Of course, explicitely defining columns and types as part of the CREATE FOREIGN TABLE
As a developer who uses Cache as DB for a couple of projects, I'm using REST API's every time, knowing how to consume a resource from REST API, in my opinion, it's crucial to know how to consume external REST Api's using %Net.HttpRequest because it enables integration with modern web applications and services, and it's a crucial skill for a backend developer who loves and uses Cache as a DB.
What and who is %Net.HttpRequest
its just a class but this is the proper way of making request outside of the framework, this is just a simple class who provide HTTP methods like GET, POST and PUT and all
Introduction
The InterSystems IRIS Data Platform has long been known for its performance, interoperability, and flexibility across programming languages. For years, developers could use IRIS with Python, Java, JavaScript, and .NET — but Go (or Golang) developers were left waiting.

That wait is finally over.
The new go-irisnative driver brings GoLang support to InterSystems IRIS, implementing the standard database/sql API. This means Go developers can now use familiar database tooling, connection pooling, and query interfaces to build applications powered by IRIS.
GoLang is a language designed for simplicity, concurrency, and performance — ideal for cloud-native and microservices-based architectures. It powers some of the world’s most scalable systems, including Kubernetes, Docker, and Terraform.
Bringing IRIS into the Go ecosystem enables:
database/sql interface.This integration makes IRIS a perfect fit for modern, cloud-ready Go applications.