Article Enzo Medina · Oct 10, 2025 9m read

Deploying new IRIS instances can be a time-consuming task, especially when setting up multiple environments with mirrored configurations.

I’ve encountered this issue many times and want to share my experience and recommendations for using Ansible to streamline the IRIS installation process. My approach also includes handling additional tasks typically performed before and after installing IRIS.

2
3 146
Article Cecilia Yang · Oct 10, 2025 2m read

To manage the accumulation of production data, InterSystems IRIS enables users to manage the database size by periodically purging the data. This purge can apply to messages, logs, business processes, and managed alerts.

Please check the documentation for more details on the settings of the purge task:
https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EGMG_purge#EGMG_purge_settings

0
0 94
Article Pietro Di Leo · Nov 16, 2023 5m read

Introduction

Since InterSystems has recently announced the discontinuation of support for InterSystems Studio starting from version 2023.2 in favor of exclusive development of extensions for the Visual Studio Code (VSC) IDE, believing that the latter offers a superior experience compared to Studio, many of us developers have switched or are beginning to use VSC. Many may have wondered how to open the Terminal to perform operations, as VSC does not have an Output panel like Studio did, nor an integrated feature to open the IRIS terminal, except by downloading the plugins developed by InterSystems.

10
12 2359
Announcement Anastasia Dyubaylo · Oct 9, 2025

Hi Community,

It seems our Developer Community AI has decided to take a coffee break ☕️ (probably after answering one too many tricky ObjectScript questions).

For now, it’s gone mysteriously silent and refuses to generate answers. We suspect it might be rethinking its life choices after reading one too many deeply philosophical ObjectScript questions.

We’ll let you know as soon as our digital colleague is back online, refreshed, and ready to assist you again. In the meantime, if you notice it suddenly waking up and replying again, please do let us know in the comments before it changes its mind.

3
0 79
Article Kate Lau · Oct 9, 2025 6m read

Hi,

It's me again😁, recently I am working on generating some fake patient data for testing purpose with the help of Chat-GPT by using Python. And, at the same time I would like to share my learning curve.😑

1st of all for building a custom REST api service is easy by extending the %CSP.REST

Creating a REST Service Manually

Let's Start !😂

1. Create a class datagen.restservice which extends  %CSP.REST 

Class datagen.restservice Extends%CSP.REST
{
Parameter CONTENTTYPE = "application/json";
}

 

2. Add a function genpatientcsv() to generate the patient data, and package it into csv string

3
1 126
Discussion Andrew Sklyarov · Oct 8, 2025

I know the next ones:

1. Place all different settings in environment variables. You have a different .env file for each environment, and you must add some code to Production for reading and setting these values. It's good for deploying into containers, but challenging for management when we have a large production. I mean, we have many settings that can vary depending on the environment: active flag, pool size, timeouts, and so on. Not only endpoints.

10
0 189
Article Pietro Di Leo · Oct 9, 2025 6m read

Introduction

In my previous article, I introduced the FHIR Data Explorer, a proof-of-concept application that connects InterSystems IRIS, Python, and Ollama to enable semantic search and visualization over healthcare data in FHIR format, a project currently participating in the InterSystems External Language Contest.

In this follow-up, we’ll see how I integrated Ollama for generating patient history summaries directly from structured FHIR data stored in IRIS, using lightweight local language models (LLMs) such as Llama 3.2:1B or Gemma 2:2B.

The goal was to build a completely local AI pipeline that can extract, format, and narrate patient histories while keeping data private and under full control.

All patient data used in this demo comes from FHIR bundles, which were parsed and loaded into IRIS via the IRIStool module. This approach makes it straightforward to query, transform, and vectorize healthcare data using familiar pandas operations in Python. If you’re curious about how I built this integration, check out my previous article Building a FHIR Vector Repository with InterSystems IRIS and Python through the IRIStool module.

Both IRIStool and FHIR Data Explorer are available on the InterSystems Open Exchange — and part of my contest submissions. If you find them useful, please consider voting for them!

0
2 111
Article Pietro Di Leo · Oct 9, 2025 4m read

Introduction

In a previous article, I presented the IRIStool module, which seamlessly integrates the pandas Python library with the IRIS database. Now, I'm explaining how we can use IRIStool to leverage InterSystems IRIS as a foundation for intelligent, semantic search over healthcare data in FHIR format.

This article covers what I did to create the database for another of my projects, the FHIR Data Explorer. Both projects are candidates in the current InterSystems contest, so please vote for them if you find them useful.

You can find them at the Open Exchange:

In this article we'll cover:

  • Connecting to InterSystems IRIS database through Python
  • Creating a FHIR-ready database schema
  • Importing FHIR data with vector embeddings for semantic search
0
0 101
Article Pietro Di Leo · Oct 6, 2025 4m read
2
0 146
Article Pietro Di Leo · Oct 6, 2025 5m read

Hi everyone! 👋
I’m excited to share the project I’ve submitted to the current InterSystems .Net, Java, Python, and JavaScript Contest — it’s called IRIStool and Data Manager, and you can find it on the InterSystems Open Exchange and on my GitHub page.

1
2 142
Article Yu Han Eng · Oct 5, 2025 2m read

With the rapid adoption of telemedicine, remote consultations, and digital dictation, healthcare professionals are communicating more through voice than ever before. Patients engaging in virtual conversations generate vast amounts of unstructured audio data, so how can clinicians or administrators search and extract information from hours of voice recordings?

Enter IRIS Audio Query - a full-stack application that transforms audio into a searchable knowledge base. With it, you can:

1
0 92
Article John Murray · Oct 9, 2025 3m read

UPDATE: since version 0.0.4 of the extension was published on 2025-11-23 it is now possible to use gj :: configExplorer directly in VS Code on Windows.

In my previous article introducing gj :: configExplorer I flagged up how an apparent bug in the Windows elements of the Native API for Node.js means it's not currently available to run in VS Code on a Windows desktop. In a comment on that article I offered a workaround, but this requires a Docker-equipped Linux host you can SSH to.

If you don't have a suitable target it's now possible to leverage your local Windows Docker Desktop. Here's how:

1
0 89
Announcement Derek Gervais · Oct 9, 2025

Hey Community,

The InterSystems team put on our monthly Developer Meetup with a triumphant return to CIC's Venture Café, the crowd including both new and familiar faces. Despite the shakeup in both location and topic, we had a full house of folks ready to listen, learn, and have discussions about health tech innovation!

0
0 69
Question Touggourt · Oct 9, 2025

Hi Guys,

I've created Business service with MQTT Inbound Adapter and here is my settings, BTW I'm using an IP with port not sure if it must be a url?

and this is my class:

Class SX3.Production.MQTTService Extends Ens.BusinessService
{Parameter ADAPTER = "EnsLib.MQTT.Adapter.Inbound";Method OnProcessInput(pInput As %RegisteredObject, Output pOutput As %RegisteredObject) As %Status
{set tsc=$$$OK
   set ^messageContent = pInput.StringValue
   
   Quit tsc
}}
 

But I'm getting the below error, not sure what I'm doing wrong?

Thanks

1
0 50
Article Steve Lubars · Sep 22, 2025 10m read

Background

For a variety of reasons, users may wish to mount a persistent volume on two or more pods spanning multiple availability zones. One such use case is to make data stored outside of IRIS available to both mirror members in case of failover.

Unfortunately the built-in storage classes in most Kubernetes implementations (whether cloud or on-prem) do not provide this capability:

  • Does not support access mode "ReadWriteMany"
  • Does not support being mounted on more than one pod at a time
  • Does not support access across availability zones
2
4 213
Announcement Anastasia Dyubaylo · Oct 9, 2025

Hello Community,

Alongside the InterSystems Open Exchange application gallery, the InterSystems Community GitHub hosts examples, libraries, and demos built with InterSystems technologies.

🔹 InterSystems Community GitHub (github.com/intersystems-community)

It includes:

  • Example applications and templates
  • Libraries and connectors
  • Experimental projects and demos

These repositories are not officially supported by InterSystems, but they can be useful for learning and exploring InterSystems technologies.

You’re welcome to explore the repositories and use them as a reference for your own projects.

0
0 98
Announcement Olga Zavrazhnova · Oct 9, 2025

You’ve probably already seen that the October Article Bountyis live on Global Masters! 🍁🚀

Submit a brand-new article on one of the announced topics and earn a bounty of 🏆 5,000 Global Masters points once it’s approved! 🎉

Here’s the list of October topics:

1. Comparison of when direct access via global is faster than access via class/SQL
2. A comparison matrix of connectivity methods to InterSystems IRIS to help developers choose the best option for their use case
3. Monitoring and Observability in InterSystems IRIS (with Dashboards & Tools) Guides
4. Beginner’s Guide: Using SQL in InterSystems IRIS
5. Unit Tests Tutorials
6. Practical code examples for ObjectScript Beginners
7. Securing Your InterSystems IRIS Deployment with SSL/TLS: Configuration Tips & Gotchas
8. Large Data handling
9. JSON transformations in DTL (Data Transformation Language)
10. Working with Stream Objects in InterSystems IRIS
11. Best Practices for Data Migration in InterSystems IRIS (Guide / Tips)

Rules to follow: 

0
0 51
Question Colin Brough · Sep 16, 2025

For historic reasons we've got a mix of ADT feeds coming out of our PAS (TrakCare) to a wide range of downstream systems. In particular, there are some that are direct from TrakCare to the downstream systems, and many more that pass through Ensemble as our integration engine.

This is complicating management of the integrations, and so we'd like everything to go through the integration engine. In other words move from the flow in the top of the diagram to the flow in the bottom of the diagram:

6
0 175
Question PaulSomebody · Oct 3, 2025

How do you assign a property in a RUL (not a DTL or BPL) from a function value?  I've tried with the package/classname, without, with .., without and even looked all the way down to the parser but still can't see how.  There is no examples and the documentation doesn't help

So this works

<assign property="RuleActionUserData" value="&quot;A01&quot;"></assign>
 

This doesn't complile

<assign property="RuleActionUserData" value="##class(SomePackage.SomeClass).EventTypeToHL7Type(Document)"></assign>

SomePackage.SomeClass extends EnsRules and the method is a classmethod and final

2
0 95
Article Guilherme Tonelotti · Sep 25, 2025 2m read

When we need to integrate Caché/IRIS with other relational databases, one common question arises: “How do I set up the JDBC connection?”.
The official documentation doesn’t always provide a straightforward step-by-step guide, which can be frustrating, especially for beginners.

In this article, I’ll walk you through the entire process of configuring a JDBC connection with MySQL, from downloading the connector to linking tables in Caché/IRIS.

1
0 121
Article sween · Sep 10, 2025 6m read

A step by step implementation path to a cross regional stretched IrisCluster with Mirroring using the Intersystems Kubernetes Operator (IKO), Google Cloud Platform, and Tailscale.

I am giving this distraction the code name "Compliment Sandwich" for a reason yet to be realized, but I'd rather the community go right for the jugular shooting holes in a solution that implements wireguard based connectivity for our workloads in general, as I would like to refine it as a fall project leading up to KubeCon in Atlanta and if I miss the mark, Ill get it done before Amsterdam. 


1
1 163
Article Ariel Glikman · Sep 16, 2025 14m read

One of the recommendations when deploying InterSystems Technologies for production is to set up High Availability. The recommended API Manager for these InterSystems Technologies is the InterSystems API Manager (IAM). IAM (essentially Kong Gateway) has multiple deployment topologies.

If you are looking for high availability you could use:

a) Kong Traditional Mode: Multiple Node Clusters

b) Hybrid Mode

c) DB-less Mode

Before we break them down let's first understand the out of the box deployment that is provided by InterSystems: Installing IAM Version 3.10.

Kong Traditional Mode

2
3 210
Announcement Olga Zavrazhnova · Oct 8, 2025

It’s time to bring some spotlight to the authors and participants of our September Article Bounty! A big thank-you to everyone who took part💙

Special shout-out to those who took the time to write brand-new articles and share their expertise (each received 5,000 points 🎉):

@Robert Cemper >> "IRIS in Docker for beginners"
@sween  >> "IKO Plus: Stretched Cross Regional IrisCluster with Tailscale on Google Cloud Platform"
@Ariel Glikman >> "High Availability IAM"
@Pietro Di Leo >> "Running InterSystems IRIS with Docker: A Step-by-Step Guide - Part 1: From the Basics to Custom Dockerfile"
@Guilherme Tonelotti  >> "Create a JDBC connection with Mysql Cache"
@Vachan C Rannore >> "From "Oops" to "Aha!" - Avoiding Beginner Mistakes in ObjectScript"

And also to those who joined the challenge and helped us in the search for interesting articles (each received 30 points 🙌):

0
1 59