Hey Developers,
Watch this video from our Tech Video Challenge to learn how to set up and work with the InterSystems IRIS Java External Language Gateway.
Hey Developers,
Watch this video from our Tech Video Challenge to learn how to set up and work with the InterSystems IRIS Java External Language Gateway.
#InterSystems Demo Games entry
An AI Agent Platform specifically built for the healthcare industry that requires no technical background to utilize. By simply defining a goal or initiative, a swarm of AI agents will conduct operations to achieve the stated end goal and measure their own efficacy along the way to continuously improve. Healthcare organizations today are facing a myriad of challenges that impact financial and clinical performance. These problems are well known, and there is a general consensus on how many of them can be alleviated with AI. However, healthcare organizations face unique challenges in implementing AI:
Presenters:
🗣 @Daniel Cole, Sales Engineer, InterSystems
🗣 @Jeff Morgan, Sales Engineer, InterSystems
🗣 @Raef Youssef, Sales Engineer, InterSystems
🗣 @Jose Ruperez, Senior Sales Engineer, InterSystems
🗣 @Harry Tong, Principal Solutions Architect, InterSystems
🗣 @Nicholai Mitchko, Sales Engineering Manager, InterSystems
You can check the free disk space at any time using the system utility class: SYS.Database and query: FreeSpace.
Here's how to try it in the IRIS terminal (go to the %SYS namespace and then run it):
zn "%SYS"
set stmt=##class(%SQL.Statement).%New()
set st=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
set rset=stmt.%Execute()
do rset.%Display()The output result example is as follows:
*In the command execution example, all databases are located on the same disk, so the free disk space (DiskFreeSpace) returns the same value.
I feel I may be in the "people unclear on the concept" group here.
System Default Settings is a great mechanism, and we use some custom code to deploy it in our pipeline after environment specific changes have been applied to the content. However, we are trying our best to reduce the amount of custom code we use in our system that does not relate directly to the business. For CI/CD, this means we are trying to leverage IPM for the heavy lifting.
Is there a method for handling System Default Settings in IPM that I am just overlooking?
We are looking for experienced InterSystems IRIS for Health developers to join a long-term healthcare technology project. You must be USA-based and available to work full-time remotely.
Interested candidates can DM here or email on: ali.ceo@softhawker.com
Are you curious about how to run Python scripts directly in your InterSystems IRIS or Caché terminal? 🤔 Good news it's easy! 😆 IRIS supports Embedded Python, allowing you to use Python interactively within its terminal environment.
How to access the Python Shell?
To launch the Python shell from the IRIS terminal, simply run the following command:
do ##class(%SYS.Python).Shell()This opens an interactive Python shell inside the IRIS terminal. From here, you can write and run Python code just as you would in a normal Python environment.
Hello Community
I was running code in the terminal and attempted to interrupt its execution. During that process, I encountered an application error with a log entry dated 01/06/1841, the date seems unusual..png)
Error <INTERRUPT>ErrST+6^%ETN occurred within %ETN itself. Detailed information cannot be logged.
We have messages that are in a queued state for various reasons and when we do a manual shutdown of the instance, they are moved to a Suspended state. I thought I saw in the documentation somewhere a setting to make sure these messages stay in a queued state and not suspend them. Can someone confirm and point me in the correct location for that documentation, as I am trying to ensure that if we do have to manually shutdown a instance, someone doesn't have to remember to go back in and check for suspended messages and resubmit them?
Thanks
Good morning everyone,
In the facility we're working in, we have two separate installations for testing and production. In the test environment, we have production processes running properly, and we need to replicate production processes and settings in the production environment. Until now, when we move from a test environment to a production environment, we currently export the test classes, import them into production, and manually configure the production environment by connecting Services, Processes, and Operations and configuring the settings.
Hi, Community!
Need a more efficient way to exchange health data? See how InterSystems Payer Services can help:
Automate Prior Authorization and Data Exchange with InterSystems Payer Services

Modules what a topic! We don't have this notion in ObjectScript, but it's a fundamental concept in Python. Let's discover it together.
I see modules as an intermediate layer between classes and packages. Let see it by example.
A bad example :
# MyClass.py
class MyClass:
def my_method(self):
print("Hello from MyClass!")
When you try to use this class in another script, you would do:
# class_usage.py
from MyClass import MyClass # weird, right?
my_instance = MyClass()
my_instance.my_method()
Why this is a bad example?
Hi,
I tried to create a client for Google Cloud Storage using a private endpoint.
like this:
S client=##class(%Net.Cloud.Storage.Client).%New()
S sc=client.CreateClient("",2,credentialsFile,"",.out,privateEndpoint)
But privateEndpoint seems not to be used when trying to send blob from a file:
D sc.UploadBlobFromFile(bucketname,blobname,filename)
We can see at the firewall that the client still tries to use the public endpoint for GCS.
Even if the private endpoint is definitely reachable.
When we allow the public endpoint in the firewall then it is working as expected.
Is that a bug?
The 2025.1.1 maintenance releases of InterSystems IRIS® data platform,InterSystems IRIS® for HealthTM, and HealthShare® Health Connect are now Generally Available (GA). Please share your feedback through the Developer Community so we can build a better product together.
You can find the detailed change lists & upgrade checklists on these pages:
There are many EAPs available now. Check out this page and register to those you are interested.
Hey Developers,
Watch this video from our Tech Video Challengeto discover how to connect a FHIR Server and transform a batch file into SDA and then to FHIR JSON:
Users of the %UnitTest framework can now get test coverage information inside VS Code by combining the latest release (v2.0.0) of the InterSystems Testing Manager extension with @Timothy Leavitt's impressive Test Coverage Tool.

Above you can see the Test Coverage pane, which I have moved to the secondary sidebar on the right so it can more easily be explored in conjunction with the Test Explorer on the left.
Notice how the most recent test run (of all Test Coverage Tool's own unit tests) covered the BitValue method of TestCoverage.Procedures but not the BitCount method (nor 6 other methods).
Hi Community,
We're super excited to share the first video in the "Rarified Air" series on our InterSystems Developers YouTube:
InterSystems is pleased to announce the General Availability (GA) of the 2025.2 release of InterSystems IRIS® data platform. This is a Continuous Delivery (CD) release. Please note that the GA versions of InterSystems IRIS for Health™ and HealthShare® Health Connect™ 2025.2 are currently withheld due to mirroring limitations introduced by security updates (details below).
This release introduces impactful enhancements across security, developer experience, operations, and interoperability. Notable new features include:
1.
By Patrick Jamieson, M.D., Product Technical Manager, InterSystems IRIS for Health
When working with InterSystems IRIS or IRIS for Health, an external web server like Apache2 or NGINX is essential for managing HTTP workloads, especially for FHIR servers Starting with version 2023.3, the private Apache server was removed from the installation kit (except for Community Editions and Health Connect).
Hi,
To add or get information about a user for the management portal you can [within the portal]:
System Administration > Security Management > Users
Is it possible to:
1. List a user, user's properties including roles
2. Add a user and set user's properties including roles
3. Set a user's password
for the management portal using a program eg. Objectscript and/or SQL?
If so, how can this be done?
It would be great if you have examples.
Working on wrapping an IRIS Cache ObjectScript method that runs for a few seconds. Trying to get UI updates to show BEFORE the method runs in an async/await function. But it seems to be running synchronously rather than asynchronously . So my question is does IRIS/ObjectScript CSP pages support futures with JavaScript or does it run all synchronously.
InterSystems Reports version 25.1 is now available from the InterSystems Software Distribution site in the Components section. The software is labeled InterSystems Reports Designer and InterSystems Reports Server and is available for Mac OSX, Windows and Linux operating systems.
This new release brings along enhancements and fixes from our partner, insightsoftware. InterSystems Reports 25.1 is powered by Logi Report Version 25.
#InterSystems Demo Games entry
In this demo, InterSystems IRIS Interoperability comes alive in an amazing, game-like user experience based on our Ultimate Control Tower demo. We visualize machines in a virtual 3D factory building, interacting with InterSystems IRIS in real time—displaying current statuses and sensor data, simulating machine outages and predictive maintenance scenarios, and triggering workflow tasks and actions in InterSystems IRIS. By using a mobile app on a tablet—and even a VR headset for a fully immersive experience—we unleash the power of InterSystems IRIS.
Presenters:
🗣 @Stephan Mohr, Sales Engineer, InterSystems
🗣 @Jannis Stegmann, Sales Engineer, InterSystems
🗣 @Benjamin Kiwitz, Intern, InterSystems
🗣 @Tuba Incedag, Intern, InterSystems
Test Objectives
InterSystems has been testing Vector Search since it was announced as an “experimental feature” in IRIS 2024.1. The first test cycle was aimed at identifying algorithmic inefficiencies and performance constraints during the Development/QD cycle. The next test cycle used simple vector searches for single threaded performance analysis to model reliable, scalable and performant behaviour at production database scale in IRIS, and performed a series of comparative tests of key IRIS vector search features against PostgreSQL/pgvector. The current test cycle models the expected behaviour of real-world customer deployments using complex queries that span multiple indices (vector and non-vector) and run in up to 1000 concurrent threads. These tests will be run against IRIS, PostgreSQL/pgvector, and ElasticSearch
In this 3-part series of articles, is shown how you can use IAM to simply add security, according to OAuth 2.0 standards, to a previously unauthenticated service deployed in IRIS.
In the first part, was provided some OAuth 2.0 background together with some IRIS and IAM initial definitions and configurations in order to facilitate the understanding of the whole process of securing your services.
Dear InterSystems-Maintainer Team,
I am currently conducting a comparative evaluation of FHIR clients as part of my
bachelor thesis in health informatics. One of my evaluation criteria is the response
time to support inquiries.
Therefore, I would like to kindly ask the following question as part of my analysis:
How can I read and write custom FHIR extensions using your client library?
If available, could you point me to any documentation or examples?
Many thanks for your time and support!
Kind regards,
Rüya Gökoglu
Hi Guys,
I've my users set in Security->Users in SMP, but I get the below error when trying to long in my application, any clues what this error means?
"0 "_$lb($lb(864,,,,,,,,,$lb(,"US-SERENITY",$lb("e^UsersCSPLogin+87^%SYS.SECURITY^1","e^CSPLogin+103^%SYS.cspServer^1","e^CSPDispatch+909^%SYS.cspServer^1","d^CSPDispatch+907^%SYS.cspServer^1","d^ProcessRequest+1^%CSP.Session.1^1","d^Request+692^%SYS.cspServer2^1","d^Request+25^%SYS.cspServer2^1","d^ProcessRequest+1^%CSP.Request.1^1","d^css+15^%SYS.cspServer2^1","d^Server+64^%SYS.SERVER^2","d^^^0"))))
BTW my login page extends
Thanks
Hello CCR Users at TrakCare sites!
The Certification team at InterSystems Learning Services is currently developing an InterSystems CCR EHR (aka TrakCare) Specialist certification exam, and we are reaching out to our community for feedback that will help us finalize the exam contents.
How do I provide my input? Complete our Job Task Analysis (JTA) survey! We will present you with a list of job tasks, and you will rate them on their importance as well as other factors.
How much effort is involved? It takes about 20 – 30 minutes to fill out the survey.
HyperEvent Error Details
HTTP Code: 500
Error: Error invoking instance method: SetSearchCriteria:
<INVALID OREF>zInitSearchCriteria+15^EnsPortal.Template.filteredViewer.1
Set %ret = %obj.SetSearchCriteria()
%obj='6@EnsPortal.MessageViewer'
==========
STACK:
zInitSearchCriteria+15^EnsPortal.Template.filteredViewer.1 (1):
zSetSearchCriteria+1^EnsPortal.Template.filteredViewer.1 (1):
zSetSearchCriteria+2^EnsPortal.MessageViewer.1 (1):
@ (1):
zInvokeInstanceMethod+133^%ZEN.Controller.1 (1):
zInvokeInstanceMethod+2^%ZEN.Component.abstractPage.1 (1):
@ (1):
zCSPEvent+10^%CSP.Broker.1 (1):
zOnPage+3^%CSP.Broker.
InterSystems is pleased to announce that version 3.0.5 of the VS Code - ObjectScript extension has been released. This release includes many bug fixes, as well as changes to the telemetry data we collect. Collecting more product usage data helps InterSystems identify and prioritize fixes and enhancements that will have the most positive impact for you, our users. Personally identifiable information (PII) will never be collected, and telemetry can be disabled using the telemetry.telemetryLevel setting. The full list of data points that are collected can be found here
I am trying to catch an exception and write it to the Application Error Log, but cant find any details on how to do this in IRIS health.
Catch ex { Set logger = ##class(%Logger).%GetLogger("MyApp") Do logger.Error($ZError) }
Cant seem to find the %Logger class either.