InterSystems Developer Community is a community of 24,109 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!

Summer is coming to an end, and we’re sure you had plenty of highlights! ✨

Maybe you learned something valuable, got yourself a reward on Global Masters, or even joined READY 2025 🎉

Here’s a quick checklist — but you can, of course, share anything else about your summer in the comments. Photos are more than welcome 📸

6 20
0 113

What are best practices for JSON transformation in IRIS interoperability? This is for a non-healthcare use case, so any tools we happen to have around FHIR might not be available. The motivating use case is trimming down a verbose and needlessly complex REST API response to feed to an LLM - trying to reduce token usage and maybe get better results from less noisy data.

0 1
0 23

I have a need to create a specific Search Table outside of the EnsLib.HL7.SearchTable specifically for HL7 MFN messages in HealthShare Provider Directory.

Our Code is created in a different namespace then the main HSPD namespace and is mapped within the HSPD namespace mapping.

I created a copy of EnsLib.HL7.SearchTable, named OSU.HL7.SearchTable what all needs mapped to make this new search table available in HSPD namespace?

1 1
0 14

Hi,

I'm new to ZEN . I want to create a Zen web page to upload a local file & save it to server and download the same file to other sever.

This needs to be implemented without unix access (using only IRIS code only).

I gave it a try with below basic code (just to upload file) , the page is loading with file uploader but after uploading a local txt file, the pFile object is not getting created.

$IsObject (pFile) is returning 0.

Please assist!

Thanks in advance!

Class MyApp.BasicFileMgr Extends %ZEN.Component.page {

0 1
0 19

I'm trying to catch some WorkQueue errors that are happening on 2019 but not on more recent versions.

I'm getting an error when trying to call a class method via a workQueue. It functions properly in 2024.1. When calling the method, it immediately errors. I have logging at the top of the method that never gets set.

The error being returned by Iris is simply an "ERROR #5039: An error occurred while calling function s %sc=##class(|"NS"|Path.To.Class).ClassMethod(.%p1,.%p2)"

The parameter counts match and are appropriate for the method.

0 7
0 45

Among the many contributors shaping the InterSystems Developer Community, some bring not only deep technical knowledge but a long-term vision and passion for empowering others. One of these exceptional voices belongs to @John Murray, a veteran of InterSystems technologies, an open-source advocate, and a founding member of the Developer Community.

👏 Let’s take a closer look at John’s remarkable journey and his continuing legacy in the InterSystems ecosystem.

32 21
1 258

Hello,

I'm trying to get the Reply Action Code to work with the error message text.

I have this ACK:

MSH|^~\&|APP|FACIL|||20250821143621||ACK|CUEACK_20250821143621|P|2.4
MSA|AE||Failed to queue message

This is some of the Action Codes I've tried:

  • E*Failed to queue message=S
  • E*Failed=S
  • E*"Failed to queue message"=S
  • :E*Failed to queue message=S
  • :?E*Failed to queue message=S

It's not suspending the message however.

What am I doing wrong?

Thank you

1 2
0 39

I am regularly contacted by customers about memory sizing when they get alerts that free memory is below a threshold, or they observe that free memory has dropped suddenly. Is there a problem? Will their application stop working because it has run out of memory for running system and application processes? Nearly always, the answer is no, there is nothing to worry about. But that simple answer is usually not enough. What's going on?

7 0
4 31

I’m pleased to announce the release of tree-sitter-objectscript, a new open-source tree-sitter grammar that brings first-class ObjectScript support to modern editors. If you caught the preview at READY ’25, you’ll be glad to know it’s now up on Github:

https://github.com/intersystems/tree-sitter-objectscript

14 12
4 182

Interoperability on Python (IoP) is a proof-of-concept project designed to showcase the power of the InterSystems IRIS Interoperability Framework when combined with a Python-first approach.IoP leverages Embedded Python (a feature of InterSystems IRIS) to enable developers to write interoperability components in Python, which can seamlessly integrate with the robust IRIS platform. This guide has been crafted for beginners and provides a comprehensive introduction to IoP, its setup, and practical steps to create your first interoperability component. By the end of this article, you will get a clear understanding of how to use IoP to build scalable, Python-based interoperability solutions.

13 6
4 135

Hi Community,

We’ve got something exciting for you — it’s time for a new demo video contest, and this time, you’re in the judge’s seat!

📺 Demo Games for InterSystems Sales Engineers 📺

For this contest, InterSystems Sales Engineers from around the world submitted short demo videos showcasing unique use cases, smart solutions, and powerful capabilities of InterSystems technologies.

Now it’s your turn! We’re opening up voting to the entire Developer Community. Your insight and perspective as developers make you the perfect experts.

8 1
0 278
Article
· Aug 22 26m read
Building a robot with IRIS

In this case, a robot is nothing like Gort from the movie “The Day the Earth Stood Still” or any other humanoid robot from science fiction. Nor is this Robot the one-armed automated welder from a real-world automotive assembly line. This Robot is a program that controls another program. You might want this for automated testing or to capture application logic from an application for which you don’t have the source, and the application’s author lacked the kindness or foresight to provide an API for its capabilities.

4 0
0 38
Contestant

#InterSystems Demo Games entry


⏯️ Closing the Scientific Knowledge Gap with AI

For venture capitalists (VCs), evaluating research can be challenging. While researchers typically possess years of training and deep expertise in their field, the VCs tasked with assessing their work often lack domain-specific knowledge. This can lead to incomplete understanding of scientific data and an inability to direct organizational initiatives. To solve this problem, we have designed a solution that empowers VCs with AI-driven due diligence: ResearchExplorer. ResearchExplorer is powered by InterSystems IRIS and GPT-4o to help analyze private biomedical research alongside public sources like PubMed using Retrieval-Augmented Generation (RAG). Users submit natural language queries, and the system returns structured insights, head-to-head research comparisons, and AI-generated summaries. This allows users to bridge expertise gaps while securely protecting proprietary data.

Presenters:
🗣 @Jesse Reffsin, Senior Sales Engineer, InterSystems
🗣 @Lynn Wu, Sales Engineer, InterSystems

https://www.youtube.com/embed/zsV3LhGDP1Q
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

8 2
1 45

I would like to know which are the best practices of using Streams in Interoperability messages.

I have always use %Stream.GlobalCharacter properties to hold a JSON, or a base64 document, when creating messages. This is fine and I can see the content in Visual Trace without doing anything, so I can check what is happening and resolve issues if I have, or reprocess messages if something went wrong, because I have the content.

3 8
0 106

While starting with Intersystems IRIS or Cache, developers often encounter three core concepts: Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together.

1. Working with Dynamic Objects:

3 2
4 70

Trying to create a new SQL Storage map on existing cache Global in the following format - ^MYGLO("R",rec)=data where the 'data' is built using $zel. e.g. $zel(data,1)="p1", $zel(data,2)="p2" etc... and the ^MYGLO("R",123)=data.

I'm having 2 issues. First, using the SQL Storage map wizard, I cannot figure out how to convey data in $zel format in the "Delimiter" field.

0 9
0 84