Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
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.
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 |
![]() |
![]() |
![]() |
![]() |
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"orderby2descIf 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.
required input
Hi, I'm wondering what are the diferences between a method or classmethod with the language set at tsql and a querry writen in sql.
If anyone know if there is some difference and what they are, I would be glad to learn. 😊
Hi,
I have a code that copy a method to another class for analysis purpose.
I also want this method to appear first in the source code to easily use it in VSCode with the classmethod debug button and not search it in the numerous method of the modified class.
Is there a way to do such a thing?
I tried the placeAfter keyword but I can't find a way to make it really work as I want. Is their other ways to control the order of methods?
Hi Community!
Welcome to Issue #23 of the InterSystems Ideas newsletter! These have been very busy two months, so let's look at the latest news from the Ideas Portal, such as:
✓ General Statistics
✓ Results of InterSystems Ideas Contest
✓ Community Opportunity Ideas
.png)
Imagine you’re walking down the street on a nice summer’s day, and someone walks up to you and says “Hey, you work at InterSystems, right? I’ve been hearing more and more about InterSystems IRIS lately. I know IRIS has its own programing language called ObjectBook? or InstaScript? OK, I admit it, I know it’s called ObjectScript! I know IRIS also supports Python. I’m a Python developer, so that sounds great to me. But I’m also interested in ObjectScript. For example, Python and other languages support collections. Does ObjectScript support collections?”
You’d answer “Of course!”
And then your new friend might get excited and start firing off more questions:
How would you answer? Well, you don’t have to worry about answering. All you’d have to do is send your new friend the URL of this long page.
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. It supports:
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?
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
Here are the technology bonuses for the InterSystems Developer Tools Contest 2025 that will give you extra points in the voting:
See the details below.
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’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.
#InterSystems Demo Games entry
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
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}/"
/>What is the minimum version to use the DTL AI Generator
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)
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? ;)
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.
This will be a short article about Python dunder methods, also known as magic 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:
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/...etc) but I'm getting this error: "fetch failed unable to verify the first certificate".
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
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