For programmers new to ObjectScript, one question will inevitably arise: “What is the difference between methods and class methods?” A typical answer would be: “A class method applies to a class, but a method applies to an instance of that class.” While that answer is correct, it lacks important information on how these methods differ, and how they are used in ObjectScript. Many things could be written as either. For instance, suppose we had a class called “User.Person” with a property called “Name”.
As you may know, the so-called Private Web Server that came with every IRIS installation has been eliminated, making an external web server necessary.
For Docker deployments, it's most common to use the webgateway image (available here) along with the IRIS image to seamlessly access the management portal. This image can be configured to access via HTTPS without any issues by configuring the certificates.
Problem 1: Unable to verify the first certificate
.png)
Your SSL connection through the web gateway may have a self-signed certificate configured, and Visual Studio Code is attempting to verify it.
Hello everybody !
My colleagues and I were wondering why the varstring class is hidden in the Intersystems documentation.
Is it "safe" to use ? We tried looking it up in the forum and it seems like it is used by other developpers. Is there anything we should know before using it ?
Thanks!
Alan
Is there a way in ObjectScript to return the OS user of the superserver? I know %SYS.ProcessQuery can find this for a given process but is there a clean way independent of a specific process ID I can find the OS user used for background jobs?
For IRIS this is usually irisusr and Caché this is usually cacheusr but may vary based on installation and upgrade history of an instance. I would find it very useful to determine programmatically if a process is running as this particular user when the username may vary.
The task is to find all globals that are referenced in certain routines. I could search for ^ using
The Find and Replace screen in Studio has a capability of searching for ^ with Match Element Type set to Global Variable. Maybe I could use that but what is the ObjectScript function behind this screen if any?
Hey Community,
It's time for the new batch of #KeyQuestions from the previous month.

Hi Community!
We are excited to announce the first French technical article writing contest!
✍️ Technical Article Contest ✍️
This is the perfect opportunity for all InterSystems technology enthusiasts to share their knowledge and showcase their writing skills. No matter your experience level, everyone is welcome to participate. Articles can cover a wide range of technical topics related to InterSystems products or services. So, let your creativity and expertise run wild!
📅 Contest period: September 2-29, 2024
🎁 Gifts for all: a special gift is prepared for each participant!
🏅 Prizes for the authors of the best articles
%20(2).jpg)
Hi experts,
Please, do you know steps to analyse and correct this alarm?
This message was registered in messages.log
03/16/25-13:46:42:066 (21596) 2 [Utility.Event] ISCLOG: WebSocket [SendAsyncMessage] Error with OpenServer ns=ACB rtn=%CSP.WebSocket.1 data="0 "_$lb($lb(7953,"AKGmfwJ2q/lh6h0K/BKvQw==",,,,,,,,$lb(,"ACB",$lb("e^OpenServer+3^%CSP.WebSocket.1^2","e^SendAsyncMessage+13^%CSP.WebSocket.1^1","e^Page+4^%CSP.WebSocket.1^2","e^CSPDispatch+503^%SYS.cspServer^2","d^CSPDispatch+280^%SYS.cspServer^1","d^ProcessRequest+1^%CSP.Session.1^1","d^Request+685^%SYS.cspServer2^1","d^Request+25^%SYS.
I redeemed a reward from global master's community but I am unable to track or got an update.
I require assistance with that.
InterSystems has been at the forefront of database technology since its inception, pioneering innovations that consistently outperform competitors like Oracle, IBM, and Microsoft. By focusing on an efficient kernel design and embracing a no-compromise approach to data performance, InterSystems has carved out a niche in mission-critical applications, ensuring reliability, speed, and scalability.
Introduction
A REST API (Representational State Transfer) is an interface that allows different applications to communicate with each other through the HTTP protocol, using standard operations such as GET, POST, PUT, and DELETE. REST APIs are widely used in software development to expose services accessible by other applications, enabling integration between different systems.
However, to ensure that APIs are easy to understand and use, good documentation is essential. This is where OpenAPI comes in.
OpenAPI is a standard for describing RESTful APIs.
Among the numerous authors of the InterSystems Developer Community, some members stand out for their dedication and lasting impact. One such member is @Mihoko Iijima, whose journey with InterSystems spans over two decades. From her early experiences with Caché to her deep involvement in the Developer Community, she has continuously contributed to knowledge-sharing and collaboration, shaping the experience for fellow developers.
🤩 Let's take a closer look at Mihoko's journey with InterSystems technology and our Developer Community...
(1).jpg)
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
After so many years of waiting, we finally got an official driver available on Pypi
.png)
Additionally, found JDBC driver finally available on Maven already for 3 months, and .Net driver on Nuget more than a month.
As an author of so many implementations of IRIS support for various Python libraries, I wanted to check it. Implementation of DB-API means that it should be replaceable and at least functions defined in the standard. The only difference should be in SQL.
And the beauty of using already existing libraries, that they already implemented other databases by using DB-API standard, and these libraries already expect how driver should work.
I decided to test InterSystems official driver by implementing its support in SQLAlchemy-iris library.
Recently, the question came up while discussing the access to the data stored in IRIS from different languages with my students if it was possible to initiate the connection and get data from Cloud solution (InterSystems IRIS CloudSQL) from Microsoft Excel, not the other way around. Considering the many varied ways one can get data in Excel (import data from external sources, connecting to databases using ODBC drivers, using power queries and web queries etc.) the obvious choice was to try ODBC driver. The only task left was to try to connect to the database in the cloud using the ODBC driver.
.png)
Hi, Community!
🔎Find out how you can simplify your document storage and queries with InterSystems IRIS® Cloud Document!
Visual Studio Code releases new updates every month with new features and bug fixes, and the February 2025 release is now available.
There have been enhancements to GitHub Copilot with predictive editing, autonomous task completion, smarter code search, improved terminal and notebook support, and UI and workflow refinements.
If you need help migrating from InterSystems Studio to VS Code, or want to advance your knowledge of VS Code, take a look at the training courses George James Software offers > georgejames.com/vscode-training/
Highlights from version 1.
My query that I am running on my Custom SQL Inbound Service has columns that are larger than the typical string length. How do I enlarge the SQL Snapshot Column limitations
Class osuwmc.Epic.Clarity.Hi guys,
I am looking for a way to search for FHIR Encounter resources from an InterSystems FHIR server where there period.start is before or after a certain time. I can´t get my head around which would be a correct way to do this since docs and FHIR spec is not clear to me which fields can be used for searching with wich prefixes.
In my local InterSystems FHIR server I have a set of Encounter ressources, each set with a period.start and (possibly) a period.end. I´d like to retrieve all Encounters with a start date time prior to a given datetime. I did a little testing with URL parameters.
I want to append items to the list inside a for loop
Example:
set mylist = $ListBuild()
for i = 1:1:5 {
set item = "item"_i
set mylist = $ListBuild(mylist,item)
}
zw mylist
The output should be:
mylist = $lb("item1", "item2", "item3", "itme4", "item5")The code snippet written above is not working, looking for correct way to do it.
Is there a way to delete suspended messages rather than using the WebMgmt gui?
We have over three million in one namespace, and using the gui I can only do 2000 at a time.
I was thinking of using delete in sql like Ens.MessageHeader where Status = 'Suspended'
But I don't know if that is a clean way to do it.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hey Community,
We're excited to invite you to the next InterSystems UKI Tech Talk webinar:
Join this webinar to dive into the world of HealthShare Health Connect Cloud with our upcoming session on Cloud Health: FHIR Server.
⏱ Date & Time: Thursday, March 20, 2025 2:30 PM GMT
👨🏫 Speaker: @Regilo Regilio Guedes de Souza, Director of Cloud Delivery, InterSystems
Hi Community,
There is a new PDF Resource published on our official site depicting key features and a comparison of InterSystems healthcare interoperability products: Health Connect and IRIS For Health.
>> https://www.intersystems.com/health-data-integration-chart.pdf
I think this could be useful for the Community.
Hello,
i am building a new container with Docker-Compose with a --volume ./:/irisdev/app:rw to mount a host volume (UBUNTU).
If i try to create some data in /irisdev/app i have no write permission
If i open a bash host session i see all mounted files of my ./ directory. But with ls -l only UID 100 has write permission. The UID for "iris owner" is 52773.
Is there a way to set the UID and Group to "iris owner" ?
regards Matthias
Hi Community!
Because our previous sweepstakes was such a blast, we've decided to do a repeat performance 😉 And this time, the topic of our sweepstakes is
🔎 DC search 🔍
We think you might have a few suggestions on how we can improve our search engine, and we would absolutely love to hear from you!
(1).jpg)
Hello everyone,
I'm looking for a practical project guide to help me gain hands-on experience with InterSystems Ensemble HL7. Ideally, this guide would walk through building a small project — something that covers key concepts like message routing, transformations, and interoperability.
If there's a resource that also includes step-by-step instructions and perhaps even offers a certification upon completion, that would be perfect.
Any recommendations or guidance would be greatly appreciated. Thanks in advance! 😊
Looking for a SQL query or any other method to find the Unique/distinct message counts for all productions or at least per production namespace within a given time frame. For e.g TimeCreated = January 2025 (Whole month)
I have used the following, but its not restricting the numbers based on the TimeCreated filter. Every time a new message is processed by system, its added to the total. I am running the query in today's date
Select Sum(MsgCount)
From
(Select DISTINCT TargetConfigName, count(DISTINCT SessionID) as MsgCount
FROM ENS.
Hi colleagues!
Often, while developing a frontend app or any other communication vs REST API, it is worth having a Swagger UI - a test UI for the REST API that follows Open API 2.0 spec. Usually, it is quite a handful as it lets have quick manual tests vs REST API and its responses and the data inside.
Recently I've introduced the Swagger support to the InterSystems IRIS FHIR template for FHIR R4 API:

How to get it working.
Intro
In the process of trying to get more familiar with Objectscript I decided to try to build a general priority queue since I wasn't able to find an implementation anywhere. My though process for implementing this followed this general path.
Binary Heap
My first though to try to make this work quickly was to implement a binary heap and my first attempt at this used a multidimensional to build it. This version was relatively efficient, worked for strings/numbers natively, and worked for objects be letting the user override the comparitor.
Class pqueue.

