Hello Community,
The subroutine ^routine is not executed while the queue is being processed in WorkMgr. However, it works when defined as a function. Is it mandatory to define subroutine^routine as a function for it to execute properly?
Hello Community,
The subroutine ^routine is not executed while the queue is being processed in WorkMgr. However, it works when defined as a function. Is it mandatory to define subroutine^routine as a function for it to execute properly?
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Integrating DBT and Apache Airflow with InterSystems IRIS @ Global Summit 2024
My attempts to add CR/LF between segments
One of the pain points for maintaining HL7 interfaces is the need to run a reliable regression test upon deployment to new environments and after upgrades. The %UnitTest class allows unit tests to be created and packaged alongside interface code. Test data can also be maintained within the unit test class, allowing for quick and easily repeatable smoke-testing and regression testing.
##Resources:
Hey everyone.
I'm currently looking at a process where we're utilising the Class Ens.StreamContainer, and was looking to do some deletions outside of any purge routines.
Having been burned before, I wanted to make sure that deleting the container also deletes the contents within.
From looking in the class, the %OnDelete ClassMethod appears to be removing an index from a search table and nothing more.
Am I looking in the right place, or is there a extended class for Ens.StreamContainer that does in fact delete the %Stream.Object
contained within the Ens.StreamContainer?
Hi Community,
We're happy to announce that registration for the event of the year — InterSystems Ready 2025 — is now open. This is the Global Summit we all know and love, but with a new name!
🗓 Dates: June 22-25, 2025
📍 Location: Signia Hilton Bonnet Creek, Orlando, FL, USA

Hi Guys,
We currently use wkhtmltopdf to convert our html based Zen page reports to PDF using in windows, but because we are now moving to IRIS running in a container we can use that anymore and I've been told that IRIS does have some kind of tool kit or utility that can do similar job and I'm not talking about GenerateReport() methond in zen reports?
Thanks
Sample with multiple Items;
MSH|^~\&|GMRC IF CONSULT|XXX^XXXXX^DNS|GMRC IF CONSULT|YYY^^DNS|20250123175341+0000|CRNR|ORM^O01^ORM_O01|Q5808332894T6790522104|T|2.3|||State|State|USA
PID|1||1013570973V041977^^^ICN^ID~1110106796^^^EDIPI^EDIPI||PROSTEST^EHR||19760902|M||||||||||129256619|678235672
ORC|NW|15207778763^XXX^GMRCIFR|||||^^^20250123175300+0000^^R||20250123175331+0000|XXX8051652^PCP1^Physician||XXX8051652^PCP1^Physician|||20250123175341+0000||YYY
Our client says the call to send email (method (%Net.SMTP).Send) started returning error # 6167 (Authentication expected but failed.) after installing IRIS 2022.1.2; email had worked before. Properties (%Net.Authenticator).UserName and .Password were configured. We can get email to work when we don't set property (%Net.SMTP).authenticator.
Any ideas what is going on? Thanks.
Hello,
One of our clients has a 'Notes' class with over 3 million records. We have a report that pulls data from this table that was taking about an hour to run. Our test environment (which has a copy of the production database) runs the same report query in 1 second.
We attempted to purge and rebuild indices which made an improvement (down to 15 minutes) but still not great.
Hi, Community!
Looking to get quicker insights from your supply chain data? See how InterSystems® Data Studio™ can help:
Hi everyone,
I'm currently testing out IRIS 2024.3 for a new project, and it's been running smooth for the most part. However, I noticed that when running some heavier analytical queries, the memory usage spikes more than I expected, even when result sets aren’t that large.
I’ve gone through the basics (buffer sizes, query plans, etc.), but I’m wondering if there are any new tweaks or recommended settings in 2024.3 specifically for managing memory better during these peak loads.
Anyone else run into something similar or have tips to fine-tune this?
Thanks for any help!
Hi Community,
Let's meet at the online meetup with the winners of the AI Programming Contest: Vector Search, GenAI and AI Agents! It's a great opportunity to chat with the InterSystems Experts team and our contestants.
Winners' demo included!
Date & Time: Thursday, April 10, 12:00 pm EDT | 6:00 pm CEST
I need to add an extra blank OBX segment after a segment containing text, Total Cost:
I get the OBX segment but it is in incorrect location.
It should be after the line containing Total Cost:
It needs to contain:
OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|
code:
Embeddings is a new IRIS feature empowering the latest capability in AI semantic search.
This presents as a new kind of column on a table that holds vector data.
The embedding column supports search for another existing column of the same table.
As records are added or updated to the table, the supported column is passed through an AI model and the semantic signature is returned.
This signature information is stored as the vector for future search comparison.
Subsequently when search runs, a comparison of the stored signatures occurs without any further AI model processing overhead.
Does anyone know if iris merge can be called from Ansible. I have tried a couple of ways, but it doesn't seem to actually run the command on the target even though Ansible outputs it was successful.
I have a segment within a Group (grp) that needs to be validated that it is populated within the message.
When you use a Foreach within a Business Rule how should you account for the counter in the group?
For example, Epic sends their MFN message in the following format.
MSH~MFI~[~{~MFE~STF~PRA~[~ZPR~]~[~ZLK~]~[~CER~]~[~ZMG~]~[~ZTF~]~[~ZGP~]~[~ZDD~]~}~]
so, the ZLK segment might not exist until the last MFEgrp that is in the message. I need to verify if there is an Employee ID associated with the Provider in the HL7 message before I run it through the translation.
Hey Developers,
Thank you very much for being a part of the InterSystems Developer Community Ecosystem for yet another year! We absolutely love that you participate in the life of the Developer Community, Open Exchange, Global Masters, and Ideas Portal.
We'd like to know how you feel about our portals. Please take a moment to let us know what you think and what could be improved:
I am receiving the garbled text due to incorrect encoding or decoding. I tried to use the $zconvert function to convert it into the normal text but failed to do that. Can anybody suggest what I have to use to convert that into normal text?
Example: Garbled text that I am getting is "canââ¬â¢t , theyââ¬â¢re".
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi, colleagues!
As you can see the new topic of the programming contest - AI Agents.
The topic was over-hyped recently on the Internet and has different meanings. You might get curious about what we mean by AI agents in regard to the InterSystems programming contest.

Hi Community,
I would like to present my last package OpenAPI-Suite, this is a set of tools to generate ObjectScript code from an OpenAPI specification version 3.0. In short, these packages allow to:
Hi Community,
It's time to announce the winners of the AI Programming Contest: Vector Search, GenAI and AI Agents!
Thanks to all our amazing participants who submitted 15 applications 🔥
%20(2).jpg)
Now it's time to announce the winners!
Migrating InterSystems IRIS and InterSystems IRIS for Health from on-premises to the cloud offers many advantages for Application Providers and Solution Providers. These advantages include simplified operations, access to flexible resources, and enhanced resilience. Companies no longer need to worry about the physical constraints and expenses associated with maintaining on-prem infrastructure, such as power and space requirements and expensive computer hardware.
.png)
One of the most compelling benefits is the ability to accelerate speed to market. By removing the burden of infrastructure maintenance, cloud environments enable faster development and deployment cycles, allowing businesses to respond quickly to market demands and opportunities. Operational costs are also lowered, because companies can scale resources up or down based on actual needs, leading to more efficient use of capital. Moreover, migrating to the cloud can contribute to a reduced carbon footprint by optimizing energy usage through shared cloud infrastructure.
Transitioning to the cloud may involve significant changes. Companies may benefit from a more operational focus, managing and optimizing cloud resources continuously. This shift may require changes to business models, reconsideration of margins, and strategies for scaling operations up or out. While requiring more investment, embracing these changes can lead to improved agility and competitive advantage in the marketplace.
Greetings,
Our team is transitioning to Git in the foreseeable future, and I'm trying to figure out how to design the best development workflow. Being new to IRIS, I am having trouble wraping my head around a few concepts.
Database performance has become a critical success factor in a modern application environment. Therefore identifying and optimizing the most resource-intensive SQL queries is essential for guaranteeing a smooth user experience and maintaining application stability.
This article will explore a quick approach to analyzing SQL query execution statistics on an InterSystems IRIS instance to identify areas for optimization within a macro-application.
Rather than focusing on real-time monitoring, we will set up a system that collects and analyzes statistics pre-calculated by IRIS once an hour. This approach, while not enabling instantaneous monitoring, offers an excellent compromise between the wealth of data available and the simplicity of implementation.
We will use Grafana for data visualization and analysis, InfluxDB for time series storage, and Telegraf for metrics collection. These tools, recognized for their power and flexibility, will allow us to obtain a clear and exploitable view.
More specifically, we will detail the configuration of Telegraf to retrieve statistics. We will also set up the integration with InfluxDB for data storage and analysis, and create customized dashboards in Grafana. This will help us quickly identify queries requiring special attention.
To facilitate the orchestration and deployment of these various components, we will employ Docker.

I'm exploring this right now: given a bunch of types defined as Pydantic models, how can I come up with an equivalent %RegisteredObject/%SerialObject and convert to/from (e.g., to support persistence and match validation as much as possible)?
People who know Python better than I do (e.g., your average undergraduate from this decade): is this a stupid idea or a cool idea? Has anyone else done this before?
To VSCode experts - see the screenshot. When right-click on a method with intentions to proceed to the source code:
I am always confused about what to choose: declaration or definition. What is the difference?