Article Nikolay Solovyev · Jul 29, 2025 3m read

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.

Why Jinja2 for Emails

Jinja2 is a popular templating engine from the Python ecosystem that enables fully dynamic content generation. It supports:

  • Variables — inject dynamic data from integration messages or external sources
  • Conditions (if/else) — cha
0
0 104
Question Elisha Gould · Apr 4, 2022

We are attempting to update some old FTP interfaces to use FTPS and having an issue with an outbound operation to a FileZilla server.

The connection to the the server works, however it fails to transfer files with the error "TLS session of data connection not resumed."

It appears that "TLS session resumption" is no longer optional in FileZilla Server, and I cannot find any details in the IRIS documentation about it.

Does IRIS support TLS session resumption, or know how to set up FTPS to a recent install of FileZilla Server?

4
0 1036
Question Elisha Gould · Jul 28, 2025

With Intersystems indicating ZEN pages are being deprecated, I'm looking to find out how to add custom configuration pages for the management portal using the new method similar to the new Rules editor.

From what I can tell the new method uses rest pages using JWT Authentication, and has a mechanism to use the session cookie to generate the JWT token.
I've gotten the REST part done as per:

Creating a REST API with JWT Authentication in ObjectScript | InterSystems
 

The pages for the rules editor are using an obfuscated/minimised angular pages and include the following packages that handle the

0
0 104
Announcement Evgeny Shvarov · Jul 14, 2025

Here are the technology bonuses for the InterSystems Developer Tools Contest 2025 that will give you extra points in the voting:

  • IRIS Vector Search usage -3
  • Embedded Python usage -3
  • InterSystems Interoperability - 3
  • InterSystems IRIS BI - 3
  • VSCode Plugin - 3
  • FHIR Tools - 3
  • Docker container usage -2 
  • ZPM Package Deployment - 2
  • Implement InterSystems Community Idea - 4
  • Find a bug in Embedded Python - 2
  • Article on Developer Community - 2
  • The second article on Developer Community - 1
  • Video on YouTube - 3
  • First Time Contribution - 3

See the details below.<--break->

3
0 177
Question Malcolm King · Jul 22, 2025

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? Would users not hav

4
0 130
Question Kanishk Mittal · Jul 28, 2025

We’re building out a data lake in IRIS 2025.1 that aggregates data across multiple business systems and departments. I’m trying to establish best practices for schema design and separation.

Right now, I’m thinking of using a separate schema for each distinct system of record feeding into the data lake - for example, one schema per upstream source system, rather than splitting based on function (e.g. staging, raw, curated). The idea is that this would make it easier to manage source ownership, auditing, and pipeline logic, especially when multiple domains are contributing data.

But I’d love t

0
0 101
Announcement Nicky Zhu · Jul 28, 2025

#InterSystems Demo Games entry


⏯️  IRIS As Healthcare Data Infrastructure

Data, as a new type of production resource, has received increasing attention. The current economic development situation has raised many new demands for how to create usable value from data at scale. In reality, siloed systems, inconsistent data semantics, and difficulties in data deployment have greatly hindered the development of the data economy. InterSystems IRIS, as an integrated data platform, provides many capabilities to help enterprises and healthcare institutions open up data and leverage data value. In this demonstration, we will describe what challenges the data economy poses for data production, and how IRIS addresses these issues using its rich and powerful features.

Presenters:
🗣 @Nicky Zhu, Senior Sales Engineer, InterSystems
🗣 @Qiao Peng, Regional Sales Engineer Manager, InterSystems

0
0 83
Question Justin Millette · Jul 8, 2025

I am trying to set up a web application with Delegated Authentication via IPM. It is possible to give a specific application Delegated Authentication:

<WebApplicationName="/${namespaceLower}/api"NameSpace="${namespace}"DispatchClass="pkg.isc.genai.rest.Handler"MatchRoles=":%All"AutheEnabled="#{$$$AutheDelegated}"Recurse="1"CookiePath="/${namespaceLower}/"
        />

with the AutheEnabled field. This will display the authentication as "delegated" in the SMP Web Applications display, but when one enters the settings page fo

3
0 107
Question Dustin Knudsen · Jun 7, 2021

One of the business operations recently errored out, and keeps spitting this message:

ERROR <Ens>ErrFailureTimeout: FailureTimeout of 15 seconds exceeded in EnsLib.FTP.PassthroughOperation; status from last attempt was 
ERROR <Ens>ErrOutConnectFailed: SFTP Connect failed for ftp.[censored].com:2222/[censored]/SSL='!SFTP'/PubKey='C:\InterSystems\HealthShare\Keys\pub\[censored]'/PrivKey='C:\InterSystems\HealthShare\Keys\priv\[censored].pem'
with error ERROR #7500: SSH Connect Error '-2146430963': SSH Error [8010100D]: Failed getting banner [8010100d] at Session.cpp:238,0 (alert request ID=45956)

2
0 442
Article Evgeny Shvarov · Jul 14, 2016 1m read

Alex Koblov posted today a #CachéHaiku:

Full command names

Make your code more readable

Than compact versions

My haiku:

Caché Globals

Shows you keys to the value

If you $order it

Your variant? ;)

20
1 1161
Question John Hotalen · Jul 25, 2025

Hello to all the Cache Experts out there and Happy Friday!

The company I work for uses Cache 2017.1.3 and we have been seeing intermittent errors in the Cache Error Trap when an SQL query runs.   The error message looks like the error is occurring within the cached query routine that Cache auto-generates.  Unfortunately, when I pulled up the routine in the SMP System Explorer, I only found an obj version, so was unable to look at any code.

Here is the error:    Note:  the .cls375 part will be different based on the different SQL queries that run, since that part of the cached query routine n

3
0 85
Article Guillaume Rongier · Jul 28, 2025 3m read

img

This will be a short article about Python dunder methods, also known as magic methods.

What are Dunder Methods?

Dunder methods are special methods in Python that start and end with double underscores (__). They allow you to define the behavior of your objects for built-in operations, such as addition, subtraction, string representation, and more.

Some common dunder methods include:

  • __init__(self, ...): Called when an object is created.
    • Like our %OnNew method in ObjectScript.
  • __str__(self): Called by the str() built-in function and print to represent the object as a string.
  • __repr__(self):
0
2 190
Question Touggourt · Jul 24, 2025

Hi Guys,

I'm running : IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2024.3 (Build 217U), and I have https web request call to connect and get data from external server ( https://myserver.com/api/gap/...etcbut I'm getting this error: "fetch failed unable to verify the first certificate".

I'm guessing that could be an issue with the certificate and our system admin mentioned that shouldn't be any issues with the certificate because I actually can remotely access IRIS management portal from my machine using https protocol, so I'm looking for a second opinion or maybe a direction to

1
0 127
Question Toni Crooz · Jul 27, 2025

Hi all,

I’m working on a data transformation in IRIS where I need to calculate the difference in hours between two timestamps stored as %TimeStamp.

Example:

Set startTime = "2024-07-12 08:30:00"
Set endTime = "2024-07-12 15:15:00"

I’d like to calculate the number of hours (with decimals, like 6.75) between them. What's the recommended way to do this in ObjectScript? I’ve seen examples using $ZDATETIME, but I’m not sure if that’s the cleanest approach.

Any suggestions or best practices would be appreciated!

Thanks,
Jhonn Marie

3
0 160
Question Pushyanthkumar Mukkala · Aug 4, 2023

We encountered difficulties while attempting to establish a JDBC connection to Intersystems using AZURE Databricks, resulting in an inability to retrieve data. The JDBC version utilized was intersystems-jdbc-3.3.1.jar. If anyone has successfully employed Databricks for establishing a connection, we would appreciate information regarding the libraries you used

Error Message:
org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 0.0 failed 4 times, most recent failure: Lost task 0.3 in stage 0.0 (TID 3) (10.140.70.71 executor driver): java.sql.SQLException: [SQLCO

7
0 503
Article Alex Woodhead · Jun 19, 2025 3m read

Audience

Those curious in exploring new GenerativeAI usecases.

Shares thoughts and rationale when training generative AI for pattern matching.

Challenge 1 - Simple but no simpler

A developer aspires to conceive an elegant solution to requirements.
Pattern matches ( like regular expressions ) can be solved for in many ways. Which one is the better code solution?
Can an AI postulate an elegant pattern match solution for a range of simple-to-complex data samples?

Consider the three string values:

  • "AA"
  • "BB"
  • "CC"

The expression: "2 Alphabetic characters" matches all these values and othe








2
0 153
Announcement Daniel Cole · Jul 25, 2025

#InterSystems Demo Games entry


⏯️ Healthcare AI Agent Platform

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:

  • HIPAA/Regulatory compliance - Data quality & accessibility - Embedding AI into current clinical workflows, i.e. integrating AI in such a way that it does not require clinicians to re-orient their processes. It should complement existing workflows, not disrupt them.
  • Implementation cost/high technical barrier of entry – staff needed to build and maintain AI processes can become expensive
  • Ambiguous ROI calculation – careful considerations must be made to properly measure and understand the efficacy of AI integrations. InterSystems is uniquely positioned to address these challenges, enabling healthcare organizations to implement AI with minimal burden.

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

0
0 149
Article Mihoko Iijima · Oct 3, 2024 3m read

InterSystems FAQ rubric

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.

Dumping result #1
DatabaseName
1
1 339
Question Jonathan Lent · Jul 24, 2025

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? If not, what would be a good approach that would not invol

4
0 103
Job Mohammad Ali · Jul 25, 2025

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.

🔹 Requirements:

  • Strong experience with InterSystems IRIS for Health
  • Solid understanding of HL7, FHIR, and healthcare integration workflows
  • Proficiency in ObjectScript, and Python/Java/SQL
  • Prior experience with EHR, LIS, or other clinical systems is a big plus
  • Must be based in the United States

Interested candidates can DM here or email on: ali.ceo@softhawker.com
 

0
0 119
Article Vachan C Rannore · Jul 24, 2025 1m read

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.

Exiting the Shell:

>>> quit()

This will exit the Py

4
1 181
Question Scott Roth · Mar 8, 2023

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

7
2 588
Question Elisa Pischedda · Jul 17, 2025

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. We tried exporting the production environment

3
1 108
Article Guillaume Rongier · Jul 24, 2025 5m read

img

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.

What is a Module?

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?

First because file names should be in snake_c

0
2 186