Hi folks!
Is there an easy setting, e.g., to merge.cpf so that it will disable the management portal on a deployed IRIS container?
The idea is to let only one of my particular web apps be available and everything else not even accessible on IRIS.
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Hi folks!
Is there an easy setting, e.g., to merge.cpf so that it will disable the management portal on a deployed IRIS container?
The idea is to let only one of my particular web apps be available and everything else not even accessible on IRIS.
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:
Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. They are especially useful for modern applications that need to parse, transform or generate JSON.
Why do we need this?
Lack of Compiled Context: AI tools only see source code; they don't know what the final compiled routine looks like.
Macro Hallucination: Because AI doesn't see our #include files or system macros, it often makes them up, wasting time during debugging.
The Documentation Gap: Deep logic optimization often requires understanding internal macros that aren't fully covered in public documentation.
Manual Overhead: Currently, the only way to fix this is to manually use the IRIS VS Code extension to find the "truth" in the routine.
Anyone up for a round of golf?
Are you fed up of making a machine write code for you? Do you miss thinking through problems yourself? Then you are in luck, this round, I propose adding the rule of no AI use. obviously its a game of honor with no prize, so I shan't be enforcing this, but you'll know...
Challenge:
Create a function which takes a string as a parameter, and returns the length of thelongest sequence of alternating consonants and vowels. The sequence is broken by having two vowels or two consonants in a row.
So I am running IRIS 2023.3 via a Docker container on Windows 11 and when I go to System Administration > Connectivity > SQL Gateway Connections, I am able to connect to the iris container via jdbc. However, when I go to JBeaver and try connecting to IRIS via JDBC I am unable to do so. I know that this is a local laptop issue because when someone else runs it on t heir mac it works fine.

I didn't know about ObjectScript until I started my new job. Objectscript isn't actually a young programming language. Compared to C++, Java and Python, the community isn't as active, but we're keen to make this place more vibrant, aren't we?
I've noticed that some of my colleagues are finding it tricky to get their heads around the class relationships in these huge projects. There aren't any easy-to-use modern class diagram tool for ObjectScript.
Related Work
I have tried relavant works:
- InterSystems class view:
1. https://github.
InterSystems IRIS 2026.1 is here, and it’s packed with powerful enhancements designed to help organizations scale their data management like never before. Whether you’re dealing with the operational aspects of managing massive datasets or looking to optimize storage costs, this release brings a host of features to simplify life with your data and meet the growing challenges of very large datasets.
This article is intended as a beginner level article for people that want to learn how to use OAuth2 in their web applications natively.
There is an accompanying video/demo that may be helpful here:
and you can reproduce this locally with the Open Exchange application attached.
OAuth (Open Authorization) 2.0 is a standard way to let one application call another application’s API without sharing a username and password.
Working in healthcare IT as a young developer, especially on InterSystems TrakCare, you quickly realize one thing: it’s not just about HL7 messages or backend integrations. A hugepart of making TrakCare work smoothly for hospitals comes down to how it’s configured, customized, and supported on the application side.
That’s where people like me come in—techno-functional developers who understand both the tech and how it impacts actual hospital workflows.
Our role sits right in the middle.
Hi everyone, This is me again🥲...
Today I want to share a sad story, which is my Deepsee Web is not working properly.😭
The story is like that.
Initially, I have a dashboard on monitoring how much I spend on the sky (by time chart) and look like the following originally

FHIR (Fast Healthcare Interoperability Resources) is the modern standard for storing and exchanging clinical data. But once your data is in a FHIR server, how do you actually explore it? FHIR data is stored as JSON — powerful, but not practical to read directly. I wanted a tool where you could click on a patient, see their conditions, medications, lab results, and more — in a clean, readable format. So I built the FHIR Patient Viewer.
The app runs entirely in Docker and connects directly to an InterSystems IRIS for Health FHIR server.
Introduction — The Problem with AI Streaming in ObjectScript
Today, I would like to introduce a problem I encountered and the solution I found when integrating AI APIs into an ObjectScript application. My initial tests were successful, yet somewhat frustrating.
The HTTP call worked; the request was properly sent to my LLM APIs. But then, silence... a long wait. Eventually, the entire response arrived as a single block.
Technically, it worked, but the user experience was disappointing compared to a ChatGPT session.
i want to debug classmethod in vs code,bu it get error !
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.
Our Pharmacy team would like us to convert...
¼ test character and ½ test character and ¾ test character andto more like
1/4 test character and 1/2 test character and 3/4 test character andIs this possible?
Hey Developers,
Watch this video to learn how InterSystems has implemented a secure, consent-driven workflow using InterSystems Unified Care Record and Personal Community, allowing patients to grant temporary access to their medical data.
⏯ Dynamic Consent-Based Access Control and Relationship Management @ Ready 2025
A Continuous Training (CT) pipeline formalises a Machine Learning (ML) model developed through data science experimentation, using the data available at a given point in time. It prepares the model for deployment while enabling autonomous updates as new data becomes available, along with robust performance monitoring, logging, and model registry capabilities for auditing purposes.
InterSystems IRIS already provides nearly all the components required to support such a pipeline. However, one key element is missing: a standardised tool for model registry.
![]()
If you have ever dug through a large IRIS namespace looking for where a particular string, method call, or pattern was used, you know the pain: there was no built-in way to do a grep-style search across your server-side ObjectScript code from VS Code — at least not without jumping through some hoops.
That is what ObjectScript Search fixes.
Try it today with a simple install from the VS Code Marketplace. If you don't like it, uninstalling is just as easy. But I think you will like it — it is a huge quality-of-life improvement for anyone doing ObjectScript development in VS Code.
Working with files often starts off simple. open the file, read, and process. That approach works perfectly well, until the file happens to be an Excel file.
A Common Assumption
At first, an Excel file (.xlsx) looks like just another data file, rows, columns and values. nothing unusual. So it's natural to assume it can be read the same way as a .txt ot .csv file. But that's where things start to break.
Why Excel files behave differently
The key difference is how the data is stored:
-> .txt / .csv - plain text, line-by-line.
-> .
Hi Community,
Preparing for InterSystems Certification examsrequires more than reading documentation. It calls for focused practice aligned with real exam objectives.If you are planning to validate your expertise in HL7, SQL, System Administration, or Development, structured preparation can make a significant difference.
The platform offers a large pool of practice questions mapped to certification domains, along with detailed answer explanations that point back to relevant documentation.
If you have long-running messages here's a simple code to catch them. You can also use Queue Wait Alert to get the same results, although this code will catch even a single active message with an empty queue. It also scans all namespaces with no production modification, so it can be used for debugging.
Include Ensemble
Class User.LongMessagesTask Extends %SYS.Task.RabbitMQ is a message broker that allows producers (those who send a data message) and consumers (those who receive a data message) to establish asynchronous, real-time, and high-performance massive data flows. RabbitMQ supports AMQP (Advanced Message Queuing Protocol), an open standard application layer protocol.
The main reasons to employ RabbitMQ include the following:
Hi All,
First I want give a Shout Out to @Theo Stolker and @Rupert.Young. Because they helped me with the solution.
When you're using the EnsLib.SQL.Snapshot as a Property in the Response Message to return Snapshot data (,e.g.: from Business Operation to Business Process,) the Snapshot data won't be cleaned with the Purge messages task/service.
{
Property SnapshotProp As EnsLib.SQL.Snapshot;
}
The data will be stuck in the global: ^Ens.AppData. You can find it with this query in System>Globals: ^Ens.AppData("EnsLib.SQL.
My team is trying to decide on the best Git strategy for a group of related but separate projects/environments.
One side prefers one repo per project/environment/namespace for cleaner separation. The other side prefers one repo with multiple project folders so shared code and releases are easier to manage in one place.
The challenge is that these projects are separate enough that boundaries matter but related enough that some utilities and common logic may need to be reused. We also want the setup to be easy for developers to understand and not become a deployment nightmare later.
Despite the fact that LOCK (docs) is a foundational part of InterSystems IRIS, responsible for concurrency, there is not a lot of discussion on the Developer Community about it. Which is understandable, considering it's stable and fairly low-level command. In this article, I will show a simple example of how to use locks with interoperability.
v2026.1 was just released as GA, and one of the features I'm looking forward to using is the DTL Explainer feature.
This allows you to take a Data Transformation, and with a click of a button get a human-readable description of the transformation (which you can also use as the basis for the DTL Description).
For complex DTLs, especially ones you didn't write yourself, or you did but a long time ago, this will allow you to get a clear quick understanding of what it's doing.
The standard %Net.HttpRequest library in InterSystems IRIS is powerful and comprehensive, but it can be verbose for simple operations. Writing an HTTP request often requires several lines of code to instantiate the class, configure the server, the port, HTTPS, add headers, and finally send the request.
When testing in the terminal, this configuration quickly becomes too heavy, and usually ends up with the creation of temporary methods...
FastHTTP
Since our previous announcement, we have introduced several incremental improvements to the client‑side editing experience in VS Code. These updates focus on preserving developer‑authored formatting when synchronizing with the server.
Client‑side *.cls files previously lost certain formatting details during compilation, including keyword casing (e.g., classmethod → ClassMethod), normalization of blank lines between class members, and removal of line breaks within parameter lists.
The 2023.1.7 maintenance releases of InterSystems IRIS® data platform,InterSystems IRIS® for HealthTM, and HealthShare® Health Connect are now Generally Available (GA).
Please share your feedback through the Ideas Portal using the category Post-Release Feedback so we can build a better product together.
You can find the detailed change lists & upgrade checklists on these pages:
There are many EAPs available now. Check out this page and register to those you are interested.
IrisTest is a light weight, powerful, user-friendly tool designed to simplify unit test report generation. It includes an interactive shell and API to facilitate communication, allowing developers to easily manage and generate reports for their test runs in various formats. Whether you're debugging or creating detailed reports for analysis, IrisTest makes the process smooth and efficient!