Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
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
.png)
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'). In both cases the actual test runs occur in a ser
Here’s a quick checklist — but you can, of course, share anything else about your summer in the comments. Photos are more than welcome 📸
We hope your sum
.png)
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. | 03/12/1998 | M |
So, f
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.
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
ClientMethod onloadHandler() [ Language = javascript ]
{
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 OnCreateResultSet, I'm only looking to make always the first value selected by default
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.
READ, WRITE is there but

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
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 decodebase
.png)
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
Set tPlotlyDiv = ##class(dc.python.test).PlotlyDiv(trnYear,trnMonth)
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.gendiv(pTrnYear,p
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.
@PerfmonReport
In 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.LocalClinicalMeSHTerms==''",
"templateOptions": {
.png)
The built-in %JSONExport() fails with circular references in deeply nested objects. How can I write a custom serializer that supports circular detection and reference tracking?
Some languages have the concept of a garbage collector for automatic memory management. I'd like to know if something like this exists in InterSystems Caché in the context of routines, %CSP.REST, or %CSP.Page.
The question arises from the %Close() method of the %RegisteredObject class. This indicates that I need to manually clear the object from memory if it's no longer in use, or in the web context, if the request has completed. Is this correct? Or am I completely wrong?
Thank you!
I need to build an integration solution that reads messages from a Kafka topic. The topic has 3 partitions and contains several million messages.
For certain reasons, I can only use the standard EnsLib.Kafka.Service class and cannot use either KafkaClient or Python.
To measure performance and collect statistics I created a simple key + timestamp table with no indexes (so it is unlikely to be a bottleneck). Next, I started an instance of EnsLib.Kafka.Service. In the OnProcessInput method, I receive a message, extract the key from it, get the current time, and write the row to the table.
The sta
We are happy to present the bonuses page for the applications submitted to the InterSystems .Net, Java, Python, and JavaScript Contest!
See the results below.

| Project |
XEP |
Native SDK |
PEX |
Java Persister |
ADONET & .NET Entity Framework |
Docker |
Online Demo |
Community Idea Implementation |
Find a bug |
First Article on DC |
Second Article on DC |
First Time Contribution |
Video on YouTube |
Total Bonus |
| Nominal | 2 | 2 | 3 | 2 | 2 | 2 | 2 | 4 | 2 | 2 | 1 | 3 | 3 | 30 |
| Snapshot of free disk space | 2 | 2 | 4 | 2 | 1 | 3 | 14 |
Hi Community,
It's voting time! Cast your votes for the best applications in our InterSystems .Net, Java, Python, and JavaScript Contest:

How to vote? Details below.
This anthropic article made me think of several InterSystems presentations and articles on the topic of data quality for AI applications. InterSystems is right that data quality is crucial for AI, but I imagined there would be room for small errors, but this study suggests otherwise. That small errors can lead to big hallucinations. What do you think of this? And how can InterSystems technology help?
The ObjectScript language has incredible JSON support through classes like %DynamicObject and %JSON.Adaptor. This support is due to the JSON format's immense popularity over the previous dominance of XML. JSON brought less verbosity to data representation and increased readability for humans who needed to interpret JSON content. To further reduce verbosity and increase readability, the YAML format was created. The very easy-to-read YAML format quickly became the most popular format for representing configurations and parameterizations, due to its readability and minimal verbosity. While XML is
I want to build an event store using raw globals and replay events for rebuilding state. Can I hook into IRIS journaling or write my own event log and replay engine?
We want to use IRIS as a backend for a lightweight blockchain or DLT. Can we model blocks using deterministic globals and implement consensus (PBFT, Raft) externally while using IRIS as the ledger?
I need to ingest streaming data over WebSockets. How can I create a custom inbound adapter for IRIS productions that supports many concurrent socket connections?
We require user-specific row access (row-level security). How can we enforce this in SQL and ObjectScript using custom class parameters and dynamic WHERE clause injections?
We’re ingesting high-volume HL7 messages and converting them to FHIR in near-real-time. How do we design a streaming ETL pipeline using interoperability (productions) that scales horizontally?
For space optimization, we want to apply a domain-specific compression algorithm to binary stream data before writing to %Stream.GlobalBinary. Is it possible to override or extend stream classes to include compression/decompression?
We use Apache Flink for complex event processing. Is there a way to integrate IRIS (as a source/sink) with Flink’s streaming API, possibly using the IRIS Native API or JDBC?