We are happy to present the bonuses page for the applications submitted to the InterSystems Developer Tools Contest 2025!
See the results below.
We are happy to present the bonuses page for the applications submitted to the InterSystems Developer Tools Contest 2025!
See the results below.
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 hugepart 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. We're the ones:
Hi Community,
It's voting time! Cast your votes for the best applications in our InterSystems Developer Tools Contest:
%20(2)(1).jpg)
How to vote? Details below.
Hey Developers,
Watch the video from our Tech Video Challenge:
Here is what I currently have:
<page xmlns="http://www.intersystems.com/zen" title="">
<html id="title" height="200">Guides to Wellness: Invoices</html>
<hgroup width="100%">
<vgroup align="right" valign="middle">
<button caption="Import Client Consultation Extract" width="500px" height="200px"/>
<button caption="Manage Consultants" width="500px" height="200px"/>
<button caption="Manage Invoices" width="500px" height="200px"/>
</vgroup>
<vgroup align="left" valign="middle">
<button caption="Generate Report" width="500px" height="200px"/>
<button caption="Manage Services" width="500px" height="200px"/>
<b
Hi Community!
Our 💡 InterSystems Ideas Contest 💡 has come to an end. 26 new ideas that followed the required structure were accepted into the contest!
They all focus on improving InterSystems IRIS and related products, highlighting tangible benefits for developers once the ideas are implemented.
And now let's announce the winners...
.jpg)
✓ 388 new members joined in July
✓ 15,296 posts published all time
✓ 17,095 members joined all time

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.
If one of your packages on OEX receives a review you get notified by OEX only of YOUR own package.
The rating reflects the experience of the reviewer with the status found at the time of review.
It is kind of a snapshot and might have changed meanwhile.
Reviews by other members of the community are marked by * in the last column.
I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.
Some were accepted and merged, and some were just ignored.
So if you made a major change and expect a changed review, just let me know.
| # | Package | Review | Stars | IPM |
|---|
#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

This article will introduce you to the concept of virtual environments in Python, which are essential for managing dependencies and isolating project from the OS.
A virtual environment is a folder that contains :
Virtual environments will help you to isolate your project from the OS Python installation and from other projects.
To use virtual environments, you can follow these steps:
Create a virtual environment: You can create a virtual environment using the venv module that comes
Here's a practical example of how to import data from a CSV file into InterSystems CACHÉ using ObjectScript
Assuming your CSV file is simple (e.g., comma-separated, with headers), you can use %Stream.FileCharacter to read it line by line and parse the data.
ClassMethod ImportCSV(filePath As %String) As %Status {
Set stream = ##class(%Stream.FileCharacter).%New()
Set sc = stream.LinkToFile(filePath)
If 'sc Quit sc
While 'stream.AtEnd {
Set line = stream.ReadLine()
Set fields = $ListFromString(line, ",")
// Example: Save to a persistent class
Set obj =
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.py
Traceback (most recent call last):
Hi, Community!
Are you building applications in a healthcare setting? See how InterSystems FHIR Server can help:
Hey Community! New rewards have arrived on Global Masters 🎁
With our July update, we’ve added some fresh new options for you to choose from! The rewards catalog is now packed with even more exciting ways to exchange your points for something truly useful, , and well-deserved If you’ve been saving up your points, now’s the perfect time to treat yourself!
.png)
➡️ Enter Global Masters to check out available prizes*.
🧩 Want to learn how to earn points faster? You can find tips and guidance here
Thirteen years ago, I attained dual undergraduate degrees in electrical engineering and math, then promptly started full-time at InterSystems using neither.
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.
I recently built a VSCode extension for IPM repositories that I will be open sourcing and publishing to the marketplace but wanted create this post to get
SQL injection remains one of the most critical vulnerabilities in database-driven applications, allowing attackers to manipulate queries and potentially access or compromise sensitive data. In InterSystems IRIS, developers have access to both Dynamic SQL and Embedded SQL, each with distinct characteristics. Understanding how to use them securely is essential for preventing SQL injection.
Dynamic SQL constructs queries as strings at runtime.
Hi everyone,
I’m working with an existing InterSystems IRIS server that hosts several web applications and namespace-specific code and data. I’d like to reverse-engineer the current environment into a %Installer.Manifest file so I can store it in Git and manage its changes.
My goal is to:
I understand that %Installer is declarative and wasn’t necessarily designed to reflect a running system.
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.
In this article, we’ll explore:
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.BP.Tool class was designed as an intelligent and
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
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.ApplicationError_ErrorList('CCR','12/16/2024')
groupby"Error message"orderby2descUnfortunately, the structure