In this final part of our introduction to Window Functions, we will explore the remaining functions that have not been covered yet. You will also discover performance tips and a practical guide to help you decide when (and when not) to use window functions effectively.
1. Offset and Positional Value Functions
Overview
These functions reference values are calculated from other rows relative to the current row, or they are extracted from the first, last, or nth values within a window.
- LAG(column, offset, default) — retrieves the value offset from the preceding row.
We're excited to announce the Early Access Program for IntegratedML Custom Models, a powerful new capability coming in IRIS 2026.1!
What Is It?
IntegratedML Custom Models extends the existing IntegratedML/AutoML feature by letting you deploy your own custom Python ML models directly within SQL queries.
Hi Community!
Thank you to everyone who participated in the "Improving the Initial Developer Experience" sweepstakes! Your feedback is invaluable in making InterSystems products better, and we will use your ideas to improve our offerings. Now, it's time to announce the winner - watch the video to see the sweepstake drawing:
The Load Data utility it is an excellent tool to load data from CSV/TXT files into an IRIS SQL Table, but it is required send the target file to the IRIS server and write the Load Data sentence to ingest the file content. Now it is possible select a file in VSCode, set the table destination and submit the request. The vscode-load-data utility will send the file to the IRIS server and run the Load Data command to you! Very simple:
.png)
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.
Within Provider Data Management, I wanted a way to capture the Code Table mapping errors thrown by HSPD.MDM.FlowControl.Process into a Workflow Task for someone to work. However, because HSPD.MDM.FlowControl.Process can get overwritten during the upgrade process, I cloned it into another Business Process so we can use Workflow Tasks to troubleshoot mapping errors.
This new Business Process will send the Errors to the Workflow Task Operation, but because it is not the HSPD.MDM.FlowControl.Process resubmitting the message will not resubmit the record to be processed through HSPD.MDM.FlowControl.
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.
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.
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. |
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. |
Overview
Version 25.20.1 delivers important security updates, improved documentation resources, expanded customization options for IRIS, and enhancements across Data Studio, Advanced Security, and Health Connect Cloud.
New Features and Enhancements
|
Category |
Feature / Improvement |
Details |
|
Security |
Security Patches |
Latest security patches applied across all services, strengthening platform resilience and ensuring compliance with current security standards. |
|
Data & Analytics |
Data Studio with Supply Chain Module 1.1. |
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.
– 44 new announcements
– 35 new questions
– 4 new discussions
✓ 257 new members joined in November
✓ 15,777 posts published all time
✓ 18,369 members joined all time
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.
Step 1: Obtain and Include the InterSystems IRIS 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:
- Maven/Gradle: If you use a build tool, the simplest method is to add the InterSystems JDBC driver as a dependency in your
pom.xmlorbuild.gradlefile. This automatically downloads and manages the JAR. - Manual: For simple projects, you must place the JAR file in a project directory (e.g.,
/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?
Hi Community!
Black Friday is here and this year, it’s all about discovering the best deals on Global Masters! Complete a short set of fun challenges, learn a few new things and collect extra points along the way.
From November 20 to November 30, join our Black Friday adventure: Find your deal on Global Masters.
🎯 During this period only:
- All asks which have a black cover will award double points during this period
- Inviting new Developer Community members through the Referral Program will also give 2× points when the invitee registers on DC.
- Everyone who completes the Black Friday journey will enter the raffle for a special prize - Prixton 1080P Matisse Mini Projector! 🎁
Don’t miss your chance! The Black Friday hunt ends November 30.
Hi Community!
We’re excited to announce a brand-new sweepstakes. This time, the theme is:
💡 Initial Developer Experience 💡
%20(2).jpg)
We want to hear your thoughts on how we can make the very first steps with InterSystems technologies smoother, clearer, and more inspiring. Whether it’s documentation, onboarding, setup, or tutorials, your ideas can make a real difference!
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.
Hello, Community:
📆 On February 19 you have a very special event at Espacio Covarrubias The One, in Madrid.
Iberia InterSystems READY 2026 is coming. An opportunity to share knowledge about generative AI, real-time analytics, and meet powerful partners in the sector. We will have very special guests, lots of surprises, and details we will be revealing.
Want to know more? Reserve your spot here and save the date in your calendar.
Stay tuned...
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.
1. Aggregate-over-Window Functions
Overview
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:
- AVG() — average of values in the window frame.
Hey Developers,
Enjoy the new video on InterSystems Developers YouTube
⏯ Integrating AI Agents into InterSystems IRIS - Patterns and Techniques @ READY 2025
Using %get() function, getting error <INVALID OREF>
set iter = identifiers.%GetIterator()
while iter.%GetNext(.key, .value, .type ) {
set type = value.%Get("type")
set text = type.%Get("text")
getting <INVALID OREF> at line set text = type.%Get("text")
How
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:
- You can switch between the modernized and standard experiences.
- All other Interoperability screens remain in the Standard user interface.
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)
Here is the list of available tutorials:
- Full Stack Tutorial - Experience how IRIS supports full-stack system architecture.
- InterSystems Interoperability - Explore IRIS interoperability tools for connecting and integrating systems.
- IRIS for Health Interoperability - Learn to use IRIS for Health features in application integration with data from an EHR (Electronic Health Record).
- REST + Angular Application - Practice building applications with IRIS REST services.
- RAG using IRIS Vector Search - Discover IRIS Vector Search capabilities for AI-powered applications.
I am trying to add validation to a RecordMap, because the source of the data sent file sent us bad data within the file. So, I am using PATTERN to verify certain fields start with Numeric, and Alpha where applicable. When the EnsLib.RecordMap.Service.FTPService runs into an issue it doesn't seem like it continues onto the next record if the record does not meet the validation requirements.
How can I tell EnsLib.RecordMap.Service.FTPService to log the error and continue onto the next record, so those records that fail are not processed?
Hey Developers,
Enjoy the new video on InterSystems Developers YouTube
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.

