Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ How to Boost Data Quality with Interoperability @ Ready 2025
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ How to Boost Data Quality with Interoperability @ Ready 2025
The third quarter of the year was full of exciting activities in the InterSystems Developer Ecosystem. In case you missed something, we've prepared a selection of the hottest news and topics for you to catch up on!
(1).png)
Hey Community!
We’re updating the Developer Community search engine till the end of the year to make it faster and more accurate (we hope 😉).

During this period, you may experience occasional slowness or brief interruptions in search performance. If you notice anything unusual or run into issues, please let us know in the comments below - your feedback helps us ensure everything runs smoothly.
Hi All,
In my DB, it has more than 10,000 files. I tried to search for a particular file (mac), but there is no search option to find it. Can you help me find that option to search for a file?
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Advanced SQL join table cardinality estimates @ Ready 2025
This web interface is designed to facilitate the management of Data Lookup Tables via a user-friendly web page. It is particularly useful when your lookup table values are large, dynamic, and frequently changing. By granting end-users controlled access to this web interface (read, write, and delete permissions limited to this page), they can efficiently manage lookup table data according to their needs.
The data managed through this interface can be seamlessly utilized in HealthConnect rules or data transformations, eliminating the need for constant manual monitoring and management of the lookup tables and thereby saving significant time.
Note:
If the standard Data Lookup Table does not meet your mapping requirements, you can create a custom table and adapt this web interface along with its supporting class with minimal modifications. Sample class code is available upon request.
We're encountering occasional deadlocks in a mirrored IRIS deployment. How can we track down which global or object write caused the lock cycle, and how does IRIS mirror lock propagation internally?
We want to iterate over large global structures in real-time without blocking or locking readers. How can we safely use $Order() and implement a lock-free analytics approach?
I am documenting a demo of InterSystems IRIS featuring Embedded Python and Jupyter Notebook deployed on the same container, and an Embedded Python application developed on that Jupyter Notebook IDE.
I have used the Docker container created by @Bob Kuszewski as a development environment to demonstrate how Embedded Python app can be developed in such a setting to push and retrieve data to and from InterSystems IRIS. The benefit of using this container as the development environment is that it is a virtual environment with Jupyter IDE and IRIS connected and running side by side.
The Istio Service Mesh is commonly used to monitor communication between services in applications. The "battle-tested" sidecar mode is its most common implementation. It will add a sidecar container to each pod you have in your namespace that has Istio sidecar injection enabled.
It's quite easy to get started with, just put the istioctl executable in your PATH, and label your namespace such that it tells Istio to acitvate side car injection there.
Hi, Community!
What did you enjoy most about being a Subject Matter Expert?
Many thanks to our SMEs for sharing their experiences—including @Brendan Bannon, @Lori Fassman, @Attila Toth, and @Stephen.Canzano.
What about you?
As always, reach out to certification@intersystems.com if you'd like to learn more.
Hi Community,
Are you a Python developer? If so, you can already start building apps with InterSystems IRIS without learning a new programming language!
👨💻Try this exercise to get started quickly with using Python's familiar DB-API interface to connect to an InterSystems IRIS database and run SQL queries.
💬What was your experience with the exercise? Let me know in the comments!
.png)
KWOK, Kubernetes WithOut Kubelet, is a lightweight tool that simulates nodes and pods—without running real workloads—so you can quickly test and scale IrisCluster behavior, scheduling, and zone assignment. For those of you wondering what value is in this without the IRIS workload, you will quickly realize it when you play with your Desk Toys awaiting nodes and pods to come up or get the bill for provisioning expensive disk behind the pvc's for no other reason than just to validate your topology.
Here we will use it to simulate an IrisCluster and target a topology across 4 zones, implementing high availability mirroring across zones, disaster recovery to an alternate zone, and horizontal ephemeral compute (ecp) to a zone of its own. All of this done locally, suitable for repeatable testing, and a valuable validation check mark on the road to production..png)
Hi:
I see a lot of cool REST apps and i'm trying to host something in the TIE using REST/Axios with VITE.
At the moment i will probably host the application in web applications in Intersytems.
For authorisation and getting the logged in user and password to any app, is there a standard people are doing?
I.e. for axios you might have this from the app
auth: {
username: apiUser,
password: apiPass
}But surely you want to pass through credentials from the IRIS logged in user, or alternatively pass the credential request to IRIS API to first receive the data.
I have a class that extends %CSP.REST which made I deployed using $system.OBJ.MakeClassDeployed. After upgrading IRIS, the web app which uses that class no longer works with an ObjectScript error.
In the past, I fixed that problem by adding a dummy new line or a comment then recompiled that class. For this deployed class, I can't add a new line and recompile the class (the code shows up as locked in Studio). Simply running $system.OBJ.compile() is not fixing the web app issue.
Is there a way to edit a deployed class then recompile it?
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hello Community,
When I compile the Sample.User class for the first time, and include an ObjectGenerator method intended to run certain logic during each compilation, it throws a <CLASS DOES NOT EXIST> error. However, recompiling the same class works as expected.
I understand this happens because the class hasn’t been fully compiled yet during the first pass. To overcome this issue, are there any specific callback methods available that can safely be used after the class is fully compiled?
Spoiler
If you have already built unit tests using the %UnitTest framework, or are thinking about doing so, please take a look at InterSystems Testing Manager.
Without leaving VS Code you can now browse your unit tests, run or debug them, and view previous run results.
InterSystems Testing Manager works with both of the source code location paradigms supported by the ObjectScript extension. Your unit test classes can either be mastered in VS Code's local filesystem (the 'client-side editing' paradigm) or in a server namespace ('server-side editing').
Here’s a quick checklist — but you can, of course, share anything else about your summer in the comments.
Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.

Is there a way to create a table for the results of a SQL statement ?
Example: Consider the below query and results.
Select ID,Name,DOB,Gender from EMS.EMS
RESULT
| ID | NAME | DOB | Gender |
|---|---|---|---|
| 1 | Wijnschenk,Greta N. | 03/09/2009 | F |
| 2 | Klausner,Barbara L. | 03/08/2014 | M |
| 3 | Eastman,Liza X. | 03/11/2000 | F |
| 4 | O'Brien,Barb K. | 03/07/2016 | M |
| 5 | Anderson,Nataliya Y. | 03/14/1991 | F |
| 6 | Long,Debby Z. | 03/12/1999 | F |
| 7 | Rogers,Susan W. | 03/12/1997 | F |
| 8 | Ott,Lola J. | 03/09/2009 | F |
| 9 | Yu,Alice S. | 03/14/1990 | M |
| 10 | Wilson,Debby I. |
I'm trying to make a connection to an external database using %SQLGatewayConnection, but the connection always fails. DSN properly configured. I try to make the same connection through isql in bash, and the connection is successful.
.png)
This same connection fails in Caché.
.png)
Hi,
I have the following transform working but i also want to add another string of text for it to look for but i'm unsure of how to write this in. The two bits of text are "NOT DECTECTED" and "Negative"
.png)
Hi
How can I set a default value in a dataCombo?
I tried
{
zenPage.getComponentById('mycombo').setProperty('selectedIndex',0);
//zenSetProp('mycombo','selectedIndex',0);
}
and didn't work, I can not use the value property because I don't know what the values in my combo are going to because they loaded
Thanks
To better understand Streams in IRIS I'll start with a short
In the beginning (before IRIS), there was just basic access to external devices.
The 4 commands OPEN, CLOSE, READ, WRITE still work and are documented
by Introduction to I/O in detail.
Especially for files, this is a direct access to your actual file system.
You have to take care of any status or other signal in your code.
Also, any code conversion or similar is up to you.
Class %Library.File aka %File offers a large collection of methods and queries
for standard operations on directories and files.
Hi all,
It's me again 😁. In the pervious article Writing a REST api service for exporting the generated FHIR bundle in JSON, we actually generated a resource DocumentReference, with the content data encoded in Base64
.png)
Question!! Is it possible to write a REST service for decoding it? Because I am very curious what is the message data talking about🤔🤔🤔
OK, Let's start!
1. Create a new utility class datagen.utli.decodefhirjson.cls for decoding the data inside the DocumentReference
Class datagen.utli.decodefhirjson Extends %RegisteredObject
{
}2. Write a Python function decodebase64docref to
a
I am trying to add Plotly Bar graph in a div to a CSPpage. I am working in IRIS 2022.1. I created persistent class.
I copied relevant code into github repo:
oliverwilms/iris-python-plotly
iris-python-plotly/csp/otwPlotly.csp at master · oliverwilms/iris-python-plotly
ClassMethod PlotlyDiv(pTrnYear = 2025, pTrnMonth = 8) As %String
{
Set importlib = ##class(%SYS.Python).Import("importlib")
Set plotdiv = ##class(%SYS.Python).Import("plotdiv")
Do importlib.reload(plotdiv)
Set div = plotdiv.
This module enables integration between Quarkus-based Java applications and InterSystems IRIS’s native performance monitoring capabilities.
It allows a developer to annotate methods with @PerfmonReport, which triggers IRIS’s ^PERFMON routines automatically around method execution, generating performance reports without manual intervention.
@PerfmonReportIn my previous article, Using LIKE with Variables and Patterns in SQL, we explored how the LIKE predicate behaves in different scenarios, from Embedded SQL to Dynamic SQL, and what happens to performance when wildcards and variables come into play. That piece was about getting comfortable writing a working LIKE query. But writing SQL that works is only the starting point. To build applications that are reliable, scalable, and secure, you need to understand the best practices that underpin all SQL, including queries that use LIKE.
This article takes the next step. We’ll look at a few key points to help strengthen your SQL code, avoid common pitfalls, and make sure your SELECT statements run not just correctly, but also efficiently and safely. I'll use SELECT statements with LIKE predicate as an example along the way, showing how these broader principles directly affect your queries and their results.

*This is what Gemini came up with for this article, kinda cute.
I have a custom defined priority field that is being stored as a number type
<record name="LocalClinicalMeSHTerms" type="serial">
<field name="LocalClinicalExpertiseCodedValue" type="{CODETYPE}" codeFamily="HSPD" codeTable="LocalClinicalExpertise" codeScheme="{MASTER}"/>
<field name="LocalCliniclDisplayOrder" type="number"/>
</record>However, within the overviewIndividual.cls form
{
"type": "HSPD.collection",
"key": "LocalClinicalMeSHTerms",
"hideExpression": "formState.lib.hideField(formState) && model.