Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.
![]()
Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.
![]()
As a developer who uses Cache as DB for a couple of projects, I'm using REST API's every time, knowing how to consume a resource from REST API, in my opinion, it's crucial to know how to consume external REST Api's using %Net.HttpRequest because it enables integration with modern web applications and services, and it's a crucial skill for a backend developer who loves and uses Cache as a DB.
What and who is %Net.
Introduction
The InterSystems IRIS Data Platform has long been known for its performance, interoperability, and flexibility across programming languages. For years, developers could use IRIS with Python, Java, JavaScript, and .NET — but Go (or Golang) developers were left waiting.

That wait is finally over.
The new go-irisnative driver brings GoLang support to InterSystems IRIS, implementing the standard database/sql API. This means Go developers can now use familiar database tooling, connection pooling, and query interfaces to build applications powered by IRIS.
GoLang is a language designed for simplicity, concurrency, and performance — ideal for cloud-native and microservices-based architectures. It powers some of the world’s most scalable systems, including Kubernetes, Docker, and Terraform.
Bringing IRIS into the Go ecosystem enables:
database/sql interface.This integration makes IRIS a perfect fit for modern, cloud-ready Go applications.
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.
SQL window functions are a powerful tool for data analysis.
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!
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:
Hey! November Article Bountyis 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>.
An XML document is self-descriptive and structured as a hierarchical tree of elements. Every document has a single root element that encapsulates all other content.
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:
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:
.png)
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)
IRIS offers a dedicated feature for storing and retrieving JSON documents using DocDB, without requiring a predefined schema.
Developers often need a quick and intuitive way to browse, create, and edit documents without switching between multiple tools or writing repetitive code. To solve this, I created iris-docdb-ui — a CSP-based open-source application that provides a clean, responsive interface for interacting with DocDB effortlessly.
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.
Disclaimer: This guide is a good fit for Interoperability projects. When you have integrations, data flows, when you use IRIS for ETL processes, etc. Overall, when your code is combined with Productions.
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.
The company I'm working for is in the process of starting to use the %UnitTest framework, and we are experiencing some errors in the code with some existing logic. Long story short, it looks like the best way to handle the issue would be to recognize we're executing the job as a part of a unit test. Is there any sort of variable or property that can be checked to confirm the process is indeed executing a unit test?
Only method/routine executed as "do Method..." is included into $ESTACK.
How can I modify a method or routine that returns a value so it can be included in $ESTACK?
Example upon executing via Studio Debug ($ESTACK is converted to string with ">" delimiter):
Expected: stackstr = %Debugger.System.DebugStub > LogGenerate > Entry > DirChain > Attributes > LogNew > LogSize > LogFormat > LogWrite
Processes DirChain, LogNew, LogSize, LogFormat are executed as "If Method..."
Process Attributes is executed as "set a = Attributes..."
Current: stackstr = %Debugger.
This year, our InterSystems Developer Community turns 10 years old — and we’re inviting YOU to take part in the celebration!
We’re creating a special community video filled with greetings and memories from members worldwide. Want to join in? It’s simple:
▶️ Record a short clip (1-2 mins) where you:
We’ll combine the contributions into one big celebratory video for everyone to enjoy! 🎬✨
👉 Click here to record your video

✓ 290 new members joined in October
✓ 15,665 posts published all time
✓ 18,166 members joined all time
Hey Community!
We're happy to share a new video from our InterSystems Developers YouTube:
⏯ Source Control Interoperability Productions in a Decomposed Format @ Ready 2025
Hi everyone,
I'm dealing with a situation where LOAD DATA operations — especially large batches with data inconsistencies — are consuming a lot of disk space. I've noticed that the same error messages are being repeatedly logged in the %SQL_Diag.Result and %SQL_Diag.Message tables, which is significantly increasing the size of the database.
One idea was to move these diagnostic tables to a separate database with a configured size limit, but before going down that path, I'd like to ask:
Is there a simpler or more efficient way to handle this?
For example: