Hi, Community!
Need to connect your .NET application to InterSystems IRIS® data platform? See how Entity Framework Core can help:
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, Community!
Need to connect your .NET application to InterSystems IRIS® data platform? See how Entity Framework Core can help:
I have a custom Buffer class which is designed to capture written/printed statements to the device, to be able to transform the captured text to string or stream type. I have used this in ObjectScript to capture ObjectScript write statements and return a string. I would like to try to use this with a [ Language = python ] method as follows. This class will be called by a scheduled task.
/// ObjectScript code which initializes buffer to capture statements written in nested method call
ClassMethod CollectStringFromBuffer()
{
set buffer = ##class(CustomClass.Buffer).%New()
do buffer.When I install the numpy package on Python on my PC using:
pip install numpyI can use it in python on my machine. If I do:
pip install --target C:\InterSystems\IRIS\mgr\python numpyI get errors any time I try to import it in embedded python.
Traceback (most recent call last):
File "c:\intersystems\iris\mgr\python\numpy\_core\__init__.py", line 23, in <module>
from . import multiarray
File "c:\intersystems\iris\mgr\python\numpy\_core\multiarray.py", line 10, in <module>
from . import overrides
File "c:\intersystems\iris\mgr\python\numpy\_core\overrides.Hi
I'm getting an error when trying to connect to rabbitmq using the link and source code below.
Is there a solution?
https://community.intersystems.com/post/how-produce-and-consume-rabbitm…
Set setting = ##class(%External.Messaging.RabbitMQSettings).%New()
Set tClient = ##class(%External.Messaging.Client).CreateClient(setting, .tSC)
Error : 5023,"Connection cannot be established"
Thank you
The typeorm-iris project provides experimental support for integrating TypeORM with InterSystems IRIS, enabling developers to interact with IRIS using TypeORM’s well-known decorators and repository abstractions. This allows a more familiar development experience for JavaScript and TypeScript developers building Node.js applications with IRIS as the backend database.

While the project implements key integration points with TypeORM and supports basic entity operations, it’s not yet battle-tested or suitable for production environments.
It appears as though command history is not available via up/down arrow keyboard keys when using the SQL Shell. Is there anything in the works to change that?
Also, typing the colon character (:) as the first character after the prompt in Terminal Lite does odd things in 2025.1.1 ... every keystroke starting with the colon is echoed back and pressing Enter generates an error:
.png)
The red :SQL on the first line was echoed simultaneously as the :SQL in white was typed. Also, it's obvious that aliases don't work in Terminal Lite 😉
IrisTest is a light weight, powerful, user-friendly tool designed to simplify unit test report generation. It includes an interactive shell and API to facilitate communication, allowing developers to easily manage and generate reports for their test runs in various formats. Whether you're debugging or creating detailed reports for analysis, IrisTest makes the process smooth and efficient!
Reviewing my published packages, I identified a nasty bug in IRIS Native API
If you like what you see please support this in the Developer Tools 2025 contest. Voting closes at midnight EDT on Sunday 3rd.
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 huge part 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.
Our role sits right in the middle.
Here is what I currently have:

If you’ve ever watched a true artisan—whether a potter turning mud into a masterpiece or a luthier bringing raw wood to life as a marvelous guitar—you know that magic isn’t in the materials, but in care, craft, and process. I know this firsthand: my handmade electric guitar is a daily inspiration, but I’ll admit—creating something like that is a talent I don’t have.
Yet, in the digital world, I often see people hoping for “magic” from generative AI by typing vague, context-free prompts like “build an app.” The results are usually frustratingly shallow—no artistry, no finesse.
#InterSystems Demo Games entry
The Trial AI platform leverages InterSystems cloud services including the FHIR Transformation Service and IRIS Cloud SQL to assist with clinical trial recruitment, an expensive and prevalent problem. It does this by ingesting structured and unstructured healthcare data, then uses AI to help identify eligible patients.
Presenters:
🗣 @Vic Sun, Sales Engineer, InterSystems
🗣 @Mohamed Oukani, Senior Sales Engineer, InterSystems
🗣 @Bhavya Kandimalla, Sales Engineer, InterSystems
I am brand new to using AI. I downloaded some medical visit progress notes from my Patient Portal. I extracted text from PDF files. I found a YouTube video that showed how to extract metadata using an OpenAI query / prompt such as this one:
ollama-ai-iris/data/prompts/medical_progress_notes_prompt.txt at main · oliverwilms/ollama-ai-iris
I combined @Rodolfo Pscheidt Jr https://github.com/RodolfoPscheidtJr/ollama-ai-iris with some files from @Guillaume Rongier https://openexchange.intersystems.com/package/iris-rag-demo.
I attempted to run
python3 query_data.
Thirteen years ago, I attained dual undergraduate degrees in electrical engineering and math, then promptly started full-time at InterSystems using neither. One of my most memorable and stomach-churning academic experiences was in Stats II. On an exam, I was solving a moderately difficult confidence interval problem. I was running out of time, so (being an engineer) I wrote out the definite integral on the exam paper, punched it into my graphing calculator, wrote an arrow with “calculator” over it, then wrote the result.
The extension and source code are now available
After having some discussions at Global Summit and using a lot of package managers in my day to day development (npm,nuget,Chocolatey, etc) in addition to recently using the InterSystems Package Manager for some CICD process I'm building using Intersystems IRIS and IRIS 4 Health, I wanted an easy and integrated way to search/view/install packages related to the Intersystems tech stack.
Overview I'm excited to announce the release of testcontainers-iris-node, a Node.js library that makes it easy to spin up temporary InterSystems IRIS containers for integration and E2E testing. This project is a natural addition to the existing family of Testcontainers adapters for IRIS, including testcontainers-iris-python and testcontainers-iris-java.
Why testcontainers-iris-node? As a Node.js developer working with InterSystems IRIS, I often faced challenges when setting up test environments that mimic production. testcontainers-iris-node solves this by leveraging the testcontainers-node framework to create isolated IRIS environments on-demand.
This is particularly valuable for:
Features
Why Randomization is Key When Splitting Data for Machine Learning
Post:
Essentially, Machine Learning is about learning from data. Having "good" data leads to better models, and more importantly, the quality of the information being used plays a crucial role in improving prediction accuracy.
One critical step in the process is how we separate our data into training and validation sets. If this isn’t done properly, we risk introducing bias, overfitting, or unrealistic performance expectations for the model.
Well... It's time for testing. We know that often, it's already over. So, what now? Can I improve the quality of my development?
The answer is: YES. Yes, you can. The Toolqa tool aims to do just that. It's a facilitator. What's its goal?
To ensure that APIs meet pre-established business requirements, while also protecting against <sarcasm> future failed attempts </sarcasm> to destroy your application, website, app, or anything else that uses your API.
Now you might be wondering, how does this happen? Where's the magic?
The ToolQA.tool.
Hi everybody,
A customer would like to connect an IRIS database to Metabase BI. But Metabase does not have a connector that supports the IRIS database.
Metabase only supports these databases:
- Amazon Athena
- BigQuery (Google Cloud Platform)
- Druid
- MongoDB (recommend version 4.2 or higher)
- MySQL (recommend version 8.0.33 or higher, as well as MariaDB version 10.4 or higher)
- Oracle
- PostgreSQL
- Presto
- Redshift (Amazon Web Services)
- Snowflake
- SparkSQL
- SQL Server
- SQLite
- Vertica
And a few others.
However, it is possible to create a driver for Metabase that connect to IRIS.
Sometimes your client may request documentation of your BI or interoperability project in a formal document. In this case, MS Word is a good alternative, as it has an advanced editor that allows you to generate professional documentation. Now it's possible!
The iris4word app has this functionality!
| Final MS Word Document | Word Template |
![]() |
![]() |
![]() |
![]() |
the iris4word get BI asset list and metadata using the InterSystems IRIS BI REST API documented on (https://docs.intersystems.com/healthconnectlatest/csp/docbook/DocBook.UI.Page.cls?KEY=D2CLIENT_rest_api).
Hello everyone,
I would like to ask whether it is possible to run InterSystems API manager (IAM) on OpenShift. Is there some documentation describing how to do it? I was searching the forum as well as the internet and I have not found much unfortunately.
Any hints would be highly appreciated.
Best regards
Martin Zukal

In this section, we will explore how to use Python as the primary language in IRIS, allowing you to write your application logic in Python while still leveraging the power of IRIS.
Word documents are widely used in the market. Users frequently create contracts, memos, resumes, reports, analyses, and other documents that may require data from or captured by InterSystems IRIS. However, IRIS does not have an API, SDK, library, or adapter for this. This limitation no longer exists.
The new Open Exchange library iris4word (https://openexchange.intersystems.com/package/iris4word) delivers an ObjectScript SDK where the developer passes any %DynamicObject as a parameter, a Word file template and then receives a ready document, with the structure and formatting defined in its template.
.png)
Let's start with a simple motivating question: over the past 14 days, what are my most common errors in the Application Error Log?
Answering this through the management portal or terminal is an annoying manual process - we should just be able to use SQL. Fortunately, there are a few class queries to help with this in the SYS.ApplicationError class in the %SYS namespace. You can answer the question for a single date with something like:
select "Error message",count(*)
from SYS.If you are investigating complex structured Globals this can become
a rather boring typing exercise. Different from Global Explorer in
System Management Portal Global-Inspector allows a kind of drill-down
to dig deeper and deeper by subscript levels.
You also have the option to see the stored content or to show only
the subscript structures.
Globals storing SQL Tables are probably not so thrilling, but in SYSTEM
space you find real trees with completely different branches and twigs.
Global-Inspector can run in browser or from terminal command line.
The new version of InterSystems Testing Manager which I released last week brings @Timothy Leavitt's cool
Test Coverage Tool to VS Code, and is my entry for the 2025 Developer Tools contest.
Here's a teaser screenshot showing how the unit tests of the IPM project don't yet cover a feature that apparently allows an IPM repository to override its sort order.


Now that we have a good understanding of Python and its features, let's explore how we can leverage Python within IRIS.
Sending emails is a common requirement in integration scenarios — whether for client reminders, automatic reports, or transaction confirmations. Static messages quickly become hard to maintain and personalize. This is where the templated_email module comes in, combining InterSystems IRIS Interoperability with the power of Jinja2 templates.
Jinja2 is a popular templating engine from the Python ecosystem that enables fully dynamic content generation.
Hi all,
Just wondering if anyone has any experience with licensing in an HA mirroring environment. We have mirror setup with 2 DB servers (Primary and Backup), and a separate Arbiter using ISCAgent. We currently don't have a license server setup so users using our web app get interruptions and have to log in again if failover occurs.
We have also see some spurious licensing issues when failover occurs and users are logging back in. So we were wondering if using a separate License server (possibly hosted on the Arbiter machine) would help alleviate these licensing issues?