When I started my journey with InterSystems IRIS, especially in Interoperability, one of the initial and common questions I had was: how can I run something on an interval or schedule? In this topic, I want to share two simple classes that address this issue. I'm surprised that some similar classes are not located somewhere in EnsLib. Or maybe I didn't search well? Anyway, this topic is not meant to be complex work, just a couple of snippets for beginners.
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Document Server: Improving Performance While Reducing Stored Data @ Ready 2025
Window functions in InterSystems IRIS let you perform powerful analytics — like running totals, rankings, and moving averages — directly in SQL.
They operate over a "window" of rows related to the current row, without collapsing results like GROUP BY.
This means you can write cleaner, faster, and more maintainable queries — no loops, no joins, no temp tables.
In this article let's understand the mechanics of window functions by addressing some common data analisys tasks.
Introduction to SQL Window Functions in InterSystems IRIS
Hi Guys,
I'm a newbie in term of MQTT clients & brokers, and I've created a MQTT adapter to connect to a broker and I asked our system admin for the user/pass and the URL and this where we got stuck.
The admin is saying that all he has is IP address to the PEM key to the server itself, so my question is, is the broker the server itself and the url is the url to the server or is the Broker an application (eg. Mosquito) that runs in a server and if that's the case and if its Mosquito, where do I find the connection details to it (user/pass & URL) ?
Thanks
Thanks
Hi, Community!
Join us in celebrating a milestone: InterSystems Certification is celebrating 1,000 certifications that showcase the knowledge and expertise of InterSystems professionals. Meet our team, see how the program has evolved, and get a discount on your next certification!
The Interoperability user interface now includes modernized user experiences for the DTL Editor and Production Configuration applications that are available for opt-in in all interoperability products. You can switch between the modernized and standard views. All other Interoperability screens remain in the Standard user interface. Please note that changes are limited to these two applications and we identify below the functionality that is currently available.
InterSystems FAQ rubric
When exporting using the Export() method of the %Library.Global class, if the export format (fourth argument: OutputFormat) is set to 7, "Block format/Caché block format (%GOF)," mapped globals cannot be exported (only globals in the default global database of the namespace are exported). To export mapped globals in "Block format/Caché block format (%GOF)," specify the database directory to which you want to map them in the first parameter of %Library.Global.Export().
An example of execution is shown below.
Hi, Community!
Looking for an efficient way to allow providers to see whether prior authorization is required? See how the Coverage Requirements Discovery (CRD) module of the InterSystems Payer Services ePrior Authorization solution can help:
Coverage Requirements Discovery
<iframe allowfullscreen="" frameborder="0" height="360" src="https://www.youtube.com/embed/MY1If1CEjrM?utm_source=youtube&utm_medium=social&utm_campaign=MY1If1CEjrM" width="640"></iframe>
Hey! November Article Bounty is live on Global Masters! 🍁🚀
Share your expertise by writing a brand-new article on one of the topics and get 🏆 5,000 points when it’s approved! 🎉
Here’s the list of October topics:
What is XML?
XML(eXtensible Markup Language) is a flexible, text-based, andplatform-independentformat used to store and transport data in a well-structured way that is both human- and machine-readable. XML permits users to define custom tags to describe the meaning and organization of their data. For example: <book><title>The Hitchhiker's Guide</title></book>.
There is documentation for single dolalr macros but $$$ dollar seems to be referenced on individual pages or not at all.
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
⏯ From Words to Molecules: How AI Is Transforming Medicine and Beyond
InterSystems IRIS Adaptive Analytics version 2025.4.1 is now available from the InterSystems Software Distribution page. This release includes AtScale 2025.4.1 and is compatible with the existing Adaptive Analytics User-Defined Aggregate Function (UDAF) file - 2024.1. New features included in AtSCale's 2025 releases include:
- Several MDX improvements to better handle null values and semi-additive measures like year-to-date.
- New parameters to enable setting the visibility of calculations and calculation groups in BI tools.
- Support for inbound query crossjoins that return empty cells
ObjectScript doesn't include any built-in method for appending one JSON dynamic array to another. Here's a code snippet I use that's equivalent to the JavaScript concat() method.
Call it with any number of arguments to concatenate them into a new array. If an argument is a dynamic array, its elements will be added. Otherwise the argument itself will be added.
Let’s shine a light on the amazing authors and contributors of our October Article Bounty! 💙
Huge thanks to everyone who joined in and shared their knowledge.
A special mention goes to those who created brand-new articles and shared their expertise — each received 5,000 points 🎉
1. @Robert Cemper >> "Sample for Beginners with Streams in IRIS"
2. @Vachan C Rannore >> "What I’ve Learned from Multiple Data Migrations"
3. @Harshitha >> "Tips on handling Large data"
And also to those who joined the challenge and helped us in the search for interesting articles (each received 30 points 🙌):
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
CCR users can now take advantage of an enhanced syntax for substituting pre-defined tokens with live URL links within phase-related text fields. In addition to the existing <env> token which automatically updates to reflect the Environment of the relevant CCR Record, CCR now introduces three new keywords: <smp> , <smpPrefix> , and <homepage>.
For one of our customers I had to integrate with the AFAS imageconnector endpoint /imageconnector/{imageId}?format={format}. This endpoint returns in a json message with the image as a base64-encoded string property, in addition to the mimetype for the image:
/// Image Object
Class Mycustomer.Model.AfasGet.Image Extends (%SerialObject, %XML.Adaptor, %JSON.Adaptor)
{
/// file data (base64 encoded)
Property Filedata As %String(%JSONFIELDNAME = "filedata");
/// MimeType e.g. "image/jpeg"
Property MimeType As %String(%JSONFIELDNAME = "mimetype");
}
In the Message class, we tried handling this like:
So, you checked your server and saw that IRISTEMP is growing too much. There's no need to panic. Let’s investigate the issue before your storage runs out.
Step 1: Confirm the IRISTEMP Growth Issue
Before assuming IRISTEMP is the problem, let’s check its actual size.
Check the Free Space
Run the following command in the IRIS terminal:
%SYS>do ^%FREECNTWhen prompted, enter:
Database directory to show free space for (*=All)? /<your_iris_directory>/mgr/iristemp/When we create a FHIR repository in IRIS, we have an endpoint to access information, create new resources, etc. But there are some resources in FHIR that probably we wont have in our repository, for example, Binary resource (this resource returns a document, like PDF for example).
I have created an example that when a Binary resource is requested, FHIR endpoint returns a response, like it exists in the repository.
Introduction
My guess is that most IRIS developers create their applications using its native ObjectScript language or, if using an external language, then most likely using either Java, Python or perhaps C++.
I suspect that only a minority have considered using JavaScript as their language of choice, which, if true, is a great shame, because, In my opinion and experience, JavaScript is the closest equivalent to ObjectScript in terms of its ability to integrate with the IRIS's underlying multi-dimensional database.
Hello
This article follows up on the question I had asked the community UDP Adapter not working
In this article, I will present to you
1) What is "UDP"?
2) The current state of Iris with UDP
3) My solution with the UDP adapter
1) What is "UDP"?
UDP stands for User Datagram Protocol. It is one of the core protocols of the Internet Protocol (IP) suite, used for transmitting data over a network. Here are some key features of UDP:
.png)
Mirror Your Database Across the Galaxy with Seeding
Hello cpf fans! This distraction I used the "seed" capability in IRIS to provision an entire IrisCluster mirror, 4 maps wide with compute starting from an IRIS.DAT in a galaxy far far away. This is pretty powerful if you have had a great deal of success with a solution running on a monolithic implementation and want it to scale to the outer rim with Kubernetes and the InterSystems Kubernetes Operator. Even though my midichlorian count is admittely low, I have seen some hardcore CACHE hackers shovel around DATS, compact and shrink and update their ZROUTINES, so this same approach could also be helpful shrinking and securing your containerized workload too. If you squint and feel all living things around you, you can see a glimpse of in place (logical) mirroring in the future as a function of the operator and a migration path to a fully operational mirrored Death Star as the workload matures.
.png)
High-Performance Message Searching in Health Connect
The Problem
Have you ever tried to do a search in Message Viewer on a busy interface and had the query time out? This can become quite a problem as the amount of data increases. For context, the instance of Health Connect I am working with does roughly 155 million Message Headers per day with 21 day message retention. To try and help with search performance, we extended the built-in SearchTable with commonly used fields in hopes that indexing these fields would result in faster query times. Despite this, we still couldn't get some of these queries to finish at all.
Introducing IRIS DocDB Explorer: A Sleek UI for Managing JSON Documents in InterSystems IRIS
IRIS offers a dedicated feature for storing and retrieving JSON documents using DocDB, without requiring a predefined schema.
Over time, while I was working with Interoperability on the IRIS Data Platform, I developed rules for organizing a project code into packages and classes. That is what is called a Naming Convention, usually. In this topic, I want to organize and share these rules. I hope it can be helpful for somebody.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Analytics and AI with InterSystems IRIS - From Zero to Hero @ Ready 2025
For example, I'm creating a customer at front end interface. I want to list down all the routines and child sub routines that are called at backend in mumps/cache. What's the best way to do it?
Yes, that's right, a Cache 2017.1 question. Let's all take a trip in the Wayback Machine.
- Using InterSystems Embedded Analytics – Virtual December 1-5, 2025
Embed analytics capabilities in applications and create the supporting business intelligence cubes.
This 5-day course teaches developers and business intelligence users how to embed real-time analytics capabilities in their applications using InterSystems IRIS® Business Intelligence.
This course presents the basics of building data models from transactional data using the InterSystems IRIS BI Architect, exploring those models and building pivot tables and charts using the InterSystems IRIS BI Analyzer, as well as creating


