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.

Motivation
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.
What’s New in InterSystems IRIS and IRIS for Health 2026.1
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.
OAuth2 as a native authentication type for web applications
OAuth (Open Authorization) 2.0 is a standard way to let one application call another application’s API without sharing a username and password.
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Operationalizing Cybersecurity - Making it Real and Relevant @ Ready 2025
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.
We’re Not Just Techies (or Functional Consultants)
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

Overview
Introduction
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.
How It Works
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.
Hi everyone,
I’ve configured an integration scenario in InterSystems IRIS with a Business Service exposed as a SOAP web service. Everything works correctly when the web application allows unauthenticated access.
However, when I switch the web application to require Basic Authentication, I’m unable to get it working properly. I have configured a resource and assigned it to both the web application and the user I’m using for the request, but I consistently get login failures (visible in the audit log).
i want to debug classmethod in vs code,bu it get error !
For example in %Library.File Class Documentation, FiieSet query is listed as:
"Selects Name As %String, Type As %String, Size As %BigInt, DateCreated As %TimeStamp, DateModified As %TimeStamp, ItemName As %Stringof ..."
How to obtain a "real" syntax?
Thank you.
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.
Hello,
Looking for some additional help, maybe someone who has experience with this before, in setting up and configuring the Web Gateway with Kerberos.
Have read through the documentation (at the link below) and it's a good start but seems there are some details missing, or I'm not clear on.
Questions:
- Is there a external enterprise Kerberos server required, or is this set up contained within the local server?
- Is there a step-by-step instructions on what to do and configure to successfully complete this?
- Are there there config changes necessary for Apache?
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
Hi Community,
🚀Are you joining us at READY 2026? While you're there, you can build your skills, validate your expertise, and connect directly with our experts! Take a look at these free resources from Learning Services. 👇
- Free Certification Exams: Demonstrate your InterSystems technology skills!
- 👉Book by April 24 using the certification app after you register.
- 👉Book by April 24 using the certification app after you register.
- Be Ready: Ask a Trainer: Meet with a technical trainer 1-1 or with your team!
- 👉Email us to schedule a 45-minute session. Let us know your availability, and what you'd like to discuss.
- 👉Email us to schedule a 45-minute session. Let us know your availability, and what you'd like to discuss.
Currently have an extension of the ..lookup function as a custom version of the lookup. Is there any easy way to get it to display it as a list of the lookup tables
ClassMethod LookupV3(table As %String = "",
and the one i'm trying with
If you’re heading to READY 2026, make sure the Tech Exchange is on your list! It’s where things get a bit more interactive — demos, conversations, quick questions, and real-time answers from the people behind the tech 🚀
Stop by the Developer Ecosystems Booth👋
Learn how we support developers at every stage of their journey. Stop by to:
![]()
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 exams requires 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.
Hello,
I am receiving the following message structure on Ensemble from a lab machine, and it is still being processed. I am using the ASTM format with the EnsLib.EDI.ASTM.Service.TCPService service. I have reviewed multiple ASTM messages and verified the schema structure. Logs are not showing any error or TCP connection is not disconnecting. I am not able to understand why am I receiving this. Please let me know if any additional details are required.

Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Data on the Move - Securing InterSystems IRIS Connections with TLS @ Ready 2025
InterSystems is pleased to collaborate with the Harvard Health Systems Innovation Lab (HSIL) on the HSIL Hackathon 2026.
As part of this joint initiative, InterSystems will support participants with a dedicated challenge focused on building innovative healthcare applications using modern interoperability and AI technologies.
The HSIL Hackathon 2026 is a two-day innovation event focused on developing solutions that improve healthcare systems through the use of AI.
📅 Event dates: April 10–11, 2026
📍 Format: One hackathon taking place simultaneously in two hubs
👥 Participation: ~50 teams across both locations
🏆 Next step for winners: Venture Building Program
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.Definition
{
Parameter TaskName = "Long running messages";
Property LongRunningMessageThreshold As %Integer(MINVAL = 1) [ InitialExpression = 60 ];
Method OnTask() As %Status
{
set ts = $zdatetime($NOW(0),3,1)
set ns = ""
while 1 {
// Iterate namespaces
set ns = $o($$$EnsJobMonitorRoot(ns))
quit:ns=""
set job =""
while 1 {
// Iterate jobs
set job = $o($$$EnsJobMonitorRoot(ns, job))
quit:job=""
// Get business host name
set bh = $o($$$EnsJobMonitorRoot(ns,job,""))
// Get the time of the last state change
set lastActivity = $$$EnsJobMonitorRoot(ns,job,bh,"%LastActivity")
// Get active message, if any - bh can be just idling
set active = $d(^[ns]Ens.ActiveMessage(job),messageid) // From $$$EnsActiveMessage
if active {
set time = $system.SQL.Functions.DATEDIFF("s", lastActivity, ts)
if time > ..LongRunningMessageThreshold {
set text = $$$FormatText("Long running message %1, in ns: %2, BH: %3, processing since %4, for %5 seconds", messageid, ns, bh, lastActivity, time)
// For debug
// write text, !
do ##class(%SYS.System).WriteToConsoleLog(text)
}
}
}
}
quit $$$OK
}
}
