Hi Guys,
I'm looking to create a service to download files from S3, so I used the EnsLib.AmazonS3.BusinessService with settings as below to download files that starts with SMfile_48 but I'm not getting any files, am I missing something?
.png)
Thanks
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 Guys,
I'm looking to create a service to download files from S3, so I used the EnsLib.AmazonS3.BusinessService with settings as below to download files that starts with SMfile_48 but I'm not getting any files, am I missing something?
.png)
Thanks
Hello again IRIS community,
We have officially released our InterSystems IRIS Developer Professional certification exam for beta testing. The beta test will be available until April 20, 2025. As a beta tester, you have the chance to earn the certification for free!
Interested in beta testing? See the InterSystems IRIS Developer Professional Beta Test Developer Community post for exam details, recommended preparation, and instructions on how to schedule and take the beta exam.
Thank you!
Hi All,
After doing IRIS/Ensemble etc for 20 years I've come across a company who have very odd view, especially about DTL's and routers.
They have convinced themselves to use COS for transforms (including HL7) and for routers (and one of their 3rd party providers agree!)
Their reasons are; efficiency, compatibility, flexibility, power and re-usability.
Of course these reasons are wrong!
I was using VSCode to edit a DTL because it seemed easier to copy/paste code from parts of the DTL I was editing. I tried to add <sql> tag and code to call a SELECT statement, but when I compiled I got the following error...
ERROR <Ens>ErrInvalidDTL: Invalid DTL
> ERROR #5490: Error running generator for method 'GetSourceDocType:osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'
ERROR: Ens.DataTransformDTL.cls(GetSourceDocType) of generated code compiling subclass 'osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'
> ERROR #5030: An error occurred while compiling class 'osuwmc.Epic.MFN.
Hi,
is there a way to starting & stopping Java Server programmatically ?
.png)
Thanks
This can be done with TRY-CATCH:
#dimAsIf you use ^%ETN, call it from the BACK entry (BACK^%ETN).
Please also take a look at the related article: How to get application errors (^ERRORS) using a command
Introduction
This is a quickstart guide to IRIS for Linux systems administrators who need to be able to support the IRIS DB as well as other normal infrastructure tasks.
IRIS is a DB system from Intersystems. An IRIS DB can hold code (in the form of a Class) or data (in the form of Globals). IRIS DB are Linux files called IRIS.DAT.
Hi Guys,
For some reason %JavaServer is timing out so after a while I have to stop then start it again to get be able connect to the gateway?
Thanks
Once upon a time in Ensemble Management Portal the pool size of each component (Business Host) within the production was displayed in the Production Configuration page.
This information was very useful, especially when a production have tens or hundreds of components.
.png)
Now days the pool size is no longer displayed in the Production Configuration page and to get the pool size you need to click in each and every host in your production.
What if you have hundreds of business hosts and you need to check the pool size of each? It's a nightmare!
Perhaps this is an issue that has long been discussed somewhere. I have searched for it but still could not find the solution anywhere. In our environment, we send a container of SDA objects to UCR from HealthConnect. To populate the container we do a SQL query on a source system and then populate the appropriate SDA objects. Sometimes it happens that I want to do an update of a field and I want to empty the corresponding SDA field. In other words, send an empty string. The Alert.toTime field of the object in question is filled with the date '2022-11-29Z13:00:00'.
How do you collect stack info when debugging non-interactive jobs?
I cobbled this together today from the docs, but maybe there's something pre-built? LOG^%ETN()?
set""forLog meth
Hello there 🙋♂️,
I'm looking towards a functionality alike Python's difflib, but made with Intersystems products. I already know could embed Python code within IRIS but thought maybe there was a development already done for handling deltas, with a different approach or extra utils.
Even if I find such a library after comparing both might still go with difflib or any other more suitable. Intend to use it for a cross-environment checklist/check tool.
Please find below a sample of HTML rendering computed and made with difflib, with a few lines of code:

thanks ! best regards,
Hi Guys,
I get the attached error when trying to populate JSON string into a textarea, I'm running IRIS 2024 in a container in Ubuntu, any clues what could be the problem?
.png)
Thanks
The VS Code extension development team is looking for beta testers to provide feedback on a proposed overhaul of the client-side editing workflow. The full list of changes can be found in the GitHub pull request description. Here are the highlights:
Hello Community!
We are delighted to invite all our customers, partners and community members to participate in the InterSystems UK & Ireland Data Summit 2025! The registration for the Summit 2025 is already open.
This year’s InterSystems UK&I Data Summit event will focus is on empowering our partners to harness the transformative power of innovative technology to drive business growth and success. At this event, we'll explore how you can build and deploy innovative new solutions to stay competitive and achieve sustained growth.
➡️ InterSystems UK & Ireland Data Summit
🗓 Dates: March 26 - 27, 2025
📍 Place: Hyatt Regency, Birmingham, UK

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?
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.
.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 class(%Studio.Project).FindInFiles but that would also find ^ in comments and function calls. I can distinguish between a global and a function call visually, but it would be lovely to be able to skip function calls programmatically. Is it possible?
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?
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.
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.
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.
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)
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
ClassExtends%PersistentAsAsI want to append items to the list inside a for loop
Example:
set$ListBuildforThe output should be:
mylist = The code snippet written above is not working, looking for correct way to do it.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube: