Have you ever been editing files in VS Code, but needed to check a global value or run a few ObjectScript commands? Now you can, with no setup required! If you have vscode-objectscript extension version 2.10.0 or later and are connected to InterSystems IRIS 2023.2 or later, you can now open a terminal connection to your server, regardless of where it's located.
I have the need to query an external database and write the result set/snapshot to an internal %Persistent [ DdlAllowed ] table that I built. I have built inbound SQL Services before and write them externally to replace SSIS jobs, but how would querying a database via a Service and writing the data to an internal table work?
Can I just take the inbound query structure and write it to the class file of the internal table in a DTL? If so, what would be the Target? Or does this need to be done within a BPL as a Code block?
Hi Developers!
Here're the technology bonuses for the InterSystems AI Programming Contest: Vector Search, GenAI and AI Agents that will give you extra points in the voting:
- Agent AI solution - 5
- Vector Search usage - 4
- Embedded Python - 3
- LLM AI or LangChain usage: Chat GPT, Bard, and others - 3
- IntegratedML usage - 3
- Docker container usage - 2
- ZPM Package deployment - 2
- Online Demo - 2
- Implement InterSystems Community Idea - 4
- Find a bug in Vector Search, or Integrated ML, or Embedded Python - 2
- First Article on Developer Community - 2
- Second Article On DC - 1
- First Time Contribution - 3
- Video on YouTube - 3
- Suggest a new idea - 1
See the details below.

Hey Community,
We're pleased to invite all the developers to the upcoming kick-off webinar for the InterSystems AI Programming Contest!
Discover the exciting challenges and opportunities that await Vector Search, GenAI and AI Agents enthusiasts in this contest. We'll discuss the topics we expect from participants and show you how to develop, build, and deploy applications using the InterSystems IRIS data platform.
Date & Time: Monday, March 17 – 11 am EST | 5 pm CET
We are calling a REST web-service from Ensemble using EnsLib.HTTP.OutboundAdapter and redefining the adapter class to set custom headers as described by @Eduard Lebedyuk here: How to set Content-Type
During development we accidentally stumbled across puzzling behaviour - we now suspect that the %Net.HttpRequest object created in the linked example is being reused in the following scenario:
- request is created as described and sent to web-service, so an instance of a
%Net.HttpRequestobject exists and is known to theEnsLib.HTTP.
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




