This great article sparked some recent private discussion, and I'd like to share some of my own thoughts from it.
The motivating concern boils down to: Why do we need coding rules or conventions at all? What happened to the wonderful era of the Renaissance artist-programmer forging their own path, prior to being supplanted by the craftsman and now (even worse) by AI?
In short, there are a few reasons why coding standards/guidelines are useful, and the Renaissance artist-programmer is not entirely gone.
Data is at the heart of the digital transformation sweeping healthcare. Radical change requires a new foundation to handle the massive data demands of modern healthcare.
Time to market is crucial as you develop the next therapeutic breakthroughs, genomic insights, and intelligent clinical workflows. You need to deliver them now.
That’s why we’ve extended the power of our InterSystems IRIS Data Platform to address the unique characteristics of healthcare information. InterSystems IRIS for Health is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data.

I installed and configure CodeTidy in my local development environment, without InterSystems source-control (git-source-control) and only git for source control.
I would like to use only CodeTidy to stablish an automated Linting and Code Style Validation for InterSystems ObjectScript code triggered by GitHub Actions.
Could you shed some light on how to accomplish that?
I have a table with 5M rows, the table contains lab observation codes and display names, both columns have type varchar(2000) and both are indexed.
The query looks like:
select code_1_text, count(code_1_text)
from demo.observation_lab
group by code_1_text
order by 2 desc
The table contains ~1000 distinct display names.
It takes 4 minutes for the query to complete on a VM with some pretty old Xeon, 4 cores, 32G RAM, NVME SSD and Linux on board.
Isn't it too slow?
Hi,
sometimes we need more then one Iris container at the same time. Since as containers they always have the same instance name shown in the management portal, it is hard to distinguish the management-portals of the instances. Searching for a way to make it easier I thought I could change the instance name shown in the management portal. I tried "iris rename" in different ways but could only change the configuration name which is shown by "iris list", not the name in the management portal.
Hi Community,
It's time to announce the winners of the InterSystems Developer Tools Contest!
Thanks to all our amazing participants who submitted 17 applications 🔥🔥
%20(2)(1).jpg)
Now it's time to announce the winners!
Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.

Hi Everyone,
Please suggest/share best practices and sample questions that would help me to secure InterSystems HL7 specialist Certification.
I am writing a little app where I press a button on a Zen form. It calls a ZenMethod that uses zenPage.launchPopupWindow() to provide me a way to choose a file. I then click on an upload button that calls a csp cache language script file that runs on the server, that grabs the contents of the file and stuffs it into a global. I want it then close and return to the parent window to continue processing the contents of the file.
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi Community,
Let's meet at the online meetup with the winners of the InterSystems Developer Tools Contest! It's a great opportunity to chat with the InterSystems Experts team and our contestants.
Winners' demo included!
Date & Time: Friday, August 8, 11:30 am EDT | 5:30 pm CEST
Hello Community,
I’d like to know how I can update my login email address from the profile section.
When I click the "Edit" option in my profile, it redirects me to login.intersystems.com. However, even on that page, I don’t see an option to edit the login email address. [unable to edit]
Could someone please guide me on how to change my login email?
Thanks in advance!
Hi I have a SDA3 created from large CCDA file, i am trying to map the SDA object to Stream using tSDA.ToQuickXMLStream(.tSDAOut).. i am getting xml parse error.. it works when the files are smaller.. Is there a workaround to get SDA to a stream
Greetings dear community members!
Many of you will remember the NLP capabilities available in IRIS under the name iKnow, which were deprecated not long ago. But...is everything deprecated? NO! A small village resists deprecation: iFind indexes!
.png)
Hi, Community!
Need to connect your .NET application to InterSystems IRIS® data platform? See how Entity Framework Core can help:
Hello everyone,
I came across the following badge on Credly:
TrakCare Fundamentals Lite Training – InterSystems Certification
Could someone please let me know how I can enroll in this course or obtain a related certification?
I’d really appreciate any guidance or links to more information.
Thank you in advance!
I have a custom Buffer class which is designed to capture written/printed statements to the device, to be able to transform the captured text to string or stream type. I have used this in ObjectScript to capture ObjectScript write statements and return a string. I would like to try to use this with a [ Language = python ] method as follows. This class will be called by a scheduled task.
/// ObjectScript code which initializes buffer to capture statements written in nested method call
ClassMethod CollectStringFromBuffer()
{
set buffer = ##class(CustomClass.Buffer).%New()
do buffer.Trying to extract the narrative text from large CCDA files using EnsLib.EDI.XML.Document:GetValueAt method
Getting a MAXSTRING error from the GetValueAt method.. Tried alternate by using GetSubDocumentAt and put it to string. Still it is giving a Invalid OREF method. Is there any limitation on these OOB methods. Also looking for ideas to extract it
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi
I'm getting an error when trying to connect to rabbitmq using the link and source code below.
Is there a solution?
https://community.intersystems.com/post/how-produce-and-consume-rabbitm…
Set setting = ##class(%External.Messaging.RabbitMQSettings).%New()
Set tClient = ##class(%External.Messaging.Client).CreateClient(setting, .tSC)
Error : 5023,"Connection cannot be established"
Thank you
Hello InterSystems EHR community,
InterSystems Certification is currently developing a certification exam for InterSystems EHR Reports specialists, and if you match the exam candidate description given below, we would like you to beta test the exam! The exam will be available for beta testing starting June 30, 2025.
Overview
The typeorm-iris project provides experimental support for integrating TypeORM with InterSystems IRIS, enabling developers to interact with IRIS using TypeORM’s well-known decorators and repository abstractions. This allows a more familiar development experience for JavaScript and TypeScript developers building Node.js applications with IRIS as the backend database.

While the project implements key integration points with TypeORM and supports basic entity operations, it’s not yet battle-tested or suitable for production environments.
It appears as though command history is not available via up/down arrow keyboard keys when using the SQL Shell. Is there anything in the works to change that?
Also, typing the colon character (:) as the first character after the prompt in Terminal Lite does odd things in 2025.1.1 ... every keystroke starting with the colon is echoed back and pressing Enter generates an error:
.png)
The red :SQL on the first line was echoed simultaneously as the :SQL in white was typed. Also, it's obvious that aliases don't work in Terminal Lite 😉
I'm working with IRIS for Health. I need to abort all messages currently in the queue via the command line (IRIS terminal). is there any easy way?
Hello, how are you?
First of all thanks for your time reading this question.
We are investigating how to validate the indexes of a global. We have read:
https://docs.intersystems.com/irisforhealth20251/csp/docbook/DocBook.UI…
And:
https://docs.intersystems.com/irisforhealth20251/csp/documatic/%25CSP.D…
We want to validate the inxedes of the global titled "Ens.Util.LogD". We have executed on the ObjectScript terminal, on the desired namespace:
ESBSSCC>set tSC = $SYSTEM.OBJ.
- HealthShare Unified Care Record Overview – Virtual August 26-27, 2025
- The HealthShare Unified Care Record Overview course is a great way for anyone to become familiar with Unified Care Record, but especially those who need to understand its capabilities but not how to configure HealthShare Unified Care Record.
- This is a non-technical, instructor-led in person training course providing a comprehensive introduction to HealthShare Unified Care Record.
- This course is for anyone who needs to know about the functionality and architecture of HealthShare Unified Care Record.
Reviewing my published packages, I identified a nasty bug in IRIS Native API
- There is a method in %Net.DB.Iris named function ()
- It's equivalent to ObjectScript $$label^routine(param)
- It used to work fine 2 years ago, when I published my command-line-extension packages
- Now it is broken since at least 1 year and throws <PROTECT>
- I identified it for ObjecScript, Java, Python, Node.js
- It is reported as WRC# 1002589
- For all 4 cases, I also verified a workaround
- Instead of calling an ObjectScript Function you call a Classmethod
- It's by %Net.DB.Iris ClassMethodValue(.
We are happy to present the bonuses page for the applications submitted to the InterSystems Developer Tools Contest 2025!
See the results below.

