Some time ago, I put together a small example to quickly deploy InterSystems IRIS instances connected via ECP using Docker.
Time passed and, like everything, it needed a bit of a refresh.
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.
Some time ago, I put together a small example to quickly deploy InterSystems IRIS instances connected via ECP using Docker.
Time passed and, like everything, it needed a bit of a refresh.
The InterSystems IRIS data platform underlies all InterSystems applications, as well as thousands of customer and partner applications across Healthcare, Financial Services, Supply Chain, and other ecosystems. It is a converged platform, providing transactional-analytical data management, integrated interoperability, and data integration, as well as integrated analytics and AI. It supports the InterSystems Smart Data Fabric approach to managing diverse and distributed data.
.png)
Overview
This release introduces major improvements to storage scalability and performance, a significant operating system upgrade across all offerings, and a new default version of the FHIR Server. Together, these updates enhance system reliability, flexibility, and security while ensuring long-term platform supportability.
New Features and Enhancements
|
Category |
Feature / Improvement |
Details |
| Storage | Enhanced LVM Support (Striped or Linear) | Added support for LVM configurations, allowing deployments with striped or linear volume layouts for improved performance and |
Overview
Version 25.20.2 expands global availability, enhances Advanced Security flexibility, and widens Network Connect integrations. This release introduces support for additional regions, new application-aware security rules, and expanded connectivity options for critical InterSystems services.
New Features and Enhancements
|
Category |
Feature / Improvement |
Details |
| Advanced Security | Support for Message Bank Rules | Advanced Security can now apply policies and rules specifically targeting Message Bank, enabling finer-grained protection for message archival and analytics |
Overview
Version 25.23.2 delivers targeted improvements to the Advanced Security UI and further streamlines the upgrade and update workflows across InterSystems Cloud offerings. These changes focus on clarity, efficiency, and operational excellence.
New Features and Enhancements
| Category | Feature / Improvement | Details |
|---|---|---|
| Advanced Security | UI Enhancements for Application Visibility | Updated interface provides clearer, more intuitive application mappings, improving understanding of security boundaries, associated policies, and protected resources. |
| Upgrade & Update | Optimized |
Overview
Version 25.24.1 delivers major enhancements to DNS capabilities, platform reliability, upgrade workflows, and developer experience. This release also includes key fixes and increases in platform limits to better support modern workloads.
New Features and Enhancements
|
Category |
Feature / Improvement |
Details |
| Networking – DNS | DNS Mapping (Static DNS Support) | DNS support expanded from forwarding-only to full DNS Mapping, allowing creation and management of static DNS entries for improved service discovery and configuration flexibility. |
| Reliability & Resiliency | Enhan |
Overview
This release focuses on performance optimization, improved security synchronization, and enhanced network management. The FHIR Server has been upgraded to a new version and migrated to ARM64, delivering significantly better efficiency and throughput. Additionally, several improvements enhance resiliency, subscription management, and network visibility.
New Features and Enhancements
|
Category |
Feature / Improvement |
Details |
|
FHIR Server |
ARM64 Migration with 40% Performance Gain |
FHIR Server now runs on the ARM64 architecture, delivering up to 40% better performance |
In the previous article, we talked about ODBC and connecting from C#. And now, let's look at JDBC and Java. The InterSystems JDBC driver is the recommended, high-performance way to integrate your Java applications.
Here is a step-by-step guide to getting your Java application connected to an IRIS instance using the JDBC driver.
Unlike ODBC drivers, which are often installed system-wide, JDBC drivers are typically distributed as JAR files that must be included in your Java project's classpath.
If InterSystems IRIS is installed on your local machine or another you have access to, you can find the file in install-dir/dev/java/lib/ or similar, where install-dir is the installation directory for the instance. Conversely, you can download the jar file from Driver packages page.
Or as suggested by @Dmitry Maslennikov in the comments, use the maven central repository for Maven:
<dependency><groupId>com.intersystems</groupId><artifactId>intersystems-jdbc</artifactId><version>3.10.5</version></dependency>or for Gradle:
implementation("com.intersystems:intersystems-jdbc:3.10.5")Include the jar file in Project:
pom.xml or build.gradle file. This automatically downloads and manages the JAR./lib) and explicitly add it to your classpath when compiling and running.I am working on building out a Workflow task that captures errors in mapping to specific tables. Within the Workflow task, I would like to give the owner of the task the ability to resubmit message once the mapping has been corrected. Is there a way to do it in a similar fashion to pulling up the Trace ie...
EnsPortal.VisualTrace.zen?SESSIONID=#(%task.%FormValues.GetAt("MsgHdrID"))#" target="_blank">View Message TraceIs there a one liner that could be called to resubmit the MsgHdrID (Session ID) from its source to post it again?
A unit of ObjectScript code (a ClassMethod, say) may produce a variety of unexpected side effects by interacting with parts of the system outside of its own scope and not properly cleaning up. As a non-exhaustive list, these include:
Use of these important language features without proper cleanup and defensive coding can lead to an application that normally works correctly, but that may fail in unexpected and difficult-to-debug ways.
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
When using standard SQL or the object layer in InterSystems IRIS, metadata consistency is usually maintained through built-in validation and type enforcement. However, legacy systems that bypass these layers—directly accessing globals—can introduce subtle and serious inconsistencies.
Understanding how drivers behave in these edge cases is crucial for diagnosing legacy data issues and ensuring application reliability.
The DATATYPE_SAMPLE database is designed to help analyze error scenarios where column values do not conform to the data types or constraints defined in the metadata.
Has anyone been able to successfully implement a business service to pull files from Azure Blob storage?
In Part 1, we explored how window functions operate. We learned the logic behind PARTITION BY, ORDER BY, and such functions as ROW_NUMBER() and RANK(). Now, in Part 2, let's delve into more window functions with practical examples.
These functions compute an aggregate (e.g., sum, average, min, max, count, etc.) over the defined window frame but don’t collapse rows.
Each row remains visible, augmented with aggregated values for its partition.
Supported functions include the following:
Hey Developers,
Enjoy the new video on InterSystems Developers YouTube
⏯ Integrating AI Agents into InterSystems IRIS - Patterns and Techniques @ READY 2025
Parallel query hinting boosts certain query performances on multi-processor systems via parallel processing. The SQL optimizer determines when this is beneficial. On single-processor systems, this hint has no effect.
Parallel processing can be managed by:
Setting the auto parallel option system-wide.
Using the %PARALLEL keyword in the FROM clause of specific queries.
%PARALLEL is ignored when it applied to:
Since the introduction of Embedded Python there has always been doubt about its performance compared to ObjectScript and on more than one occasion I have discussed this with @Guillaume Rongier , well, taking advantage of the fact that I was making a small application to capture data from public competitions in Spain and to be able to perform searches using the capabilities of VectorSearch I saw the opportunity to carry out a small test.
Public tender information is provided monthly in XML files from this URL and the typical format of a tender information is as follows:
S
The Interoperability user interface project has continued from 2025.1 and has incorporated many of the items that you – our customers and partners – have suggested and observed. We are continuing to invest in feedback and updating this important user experience. In the latest release, 2025.3 for IRIS, IRIS for Health, Health Connect and Health Connect Cloud, the DTL Editor and Production Configuration applications that are available for opt-in.
NOTE:
Hello Community,
Great news for developers who have just started working with InterSystems IRIS! We have hands‑on interactive tutorials available via the Instruqt platform! These are perfect for getting up to speed quickly, playing in real environments, and building confidence with IRIS‑based development.
.png)
How do I take SVG data to be an image in Logi Reports? Now I can take JPG data and render it in Logi Reports. And I can take the SVG data in ObjectScript, but when I view it in Logi Reports, it won't appear. How do I get the code in ObjectScript to appear and be read in Logi Reports?
Inevitably, you will eventually need to move your code up from one version of IRIS or Cache to a more recent version of IRIS. There are a few good steps you can take to set yourself up for success in that process.
Read Documentation Carefully
Before you move anything you should check out the IRIS documentation page for many useful resources on changes made to various versions of IRIS.If you are upgrading through multiple versions, you will want to check on the documentation for all of them, not just the version to which you will upgrade.
I am trying to add some validation to an existing Record Map, because recently we had some wrong data get consumed into the System and is causing all kinds of havoc.
Using the AI on the Developer community it suggested that I use PATTERN within the Datatype Parameters to force some validation on some fields. I have never used PATTERN before...
.png)
When I go to generate the updated Record Map, I am getting the following...
.png)
By the screenshots is my logic not correct?
The 2025.3 release of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and HealthShare® Health Connect is now Generally Available (GA). This is a Continuous Delivery (CD) release.
Release Highlights:
Hi community!
I am excited to say that since the beginning of this year we have published many of the client SDKs for InterSystems IRIS, InterSystems IRIS for Health and Health Connect to the corresponding external repositories (Maven, NuGet, npm and PyPI). This provides many benefits to you such as:
gj :: configExplorer is a new VS Code extension integrating with Server Manager and leveraging Structurizr to produce configuration diagrams of your servers.
Here's a short introductory video.
By using the InterSystems IRIS Native API for Node.js it avoids the need for any support code to be installed on the servers. This technology choice also qualifies it for entry into the current Developer Community contest.
The initial release focuses on two aspects of server configuration:
Suggestions for what to add next are welcome, as is general feedback.
Studio's Output window is interactive, and code can ask questions there if it is a Studio environment. How do I check for that?
A previous attempt was assisted by an external Python method.
This is all classic CSP written with ISOS, JavaScript, HTML
Besides the graphic, you also get concrete numbers freshly collected from your local
instance or from remote instances that also installed the package.

Hello word!
I am new in this field and i am coming from the dot net and angular world.
So hello to everyone!
Im trying to understand the unit test in the vs code what is works in the community version at home (25.2).
I set the ^UnitTestRoot to somewhere and setted the "unitest: enabled" setting in the settings.json file.
But it is not work and can't run. Is't it scan? It is not a problem because i can run it dircetley with ##class(classname).RunTest() and it runs but doesn't contain anyting. The Restresult is exist but it is empty.
I think the system is does not understand that the test can find
Hi,
When we open a terminal in IRIS, we are entering the ObjectScript shell. Within this shell, we can execute IRIS commands, such as:

In other words, the ObjectScript command is executed in the current shell. But it's always good to remember that IRIS has other shells
One very interesting aspect is shortcuts. We can access these shells through their calls or via shortcuts, as shown in the table below:
|
Shell |
Call |
Shortcut |
|
SQL |
Do $SYSTEM.SQL.Shell() |
:sql |
|
Python |
Do $SYSTEM.Python.Shell |
:py |
|
TSQL |
Do $SYSTEM.SQL.TSQLShell() |
As part of improvements regarding CCR usage and usability, certain transitions are now blocked when a CCR Record has undeployed ItemSets for required Environments.
To promote best practice, when a Tier 1 or Tier 2 CCR moves between Environments, it is important that ItemSets are deployed to required Environments before confirming that the CCR has successfully been implemented in the next Environment.Previously, when progressing a CCR from one Environment to the next, users were not required to deploy ItemSets before performing markMoveToXXXXComplete or markCANCELComplete transitions.