Hi, Community!
Ready to go beyond built-in utility functions in your HealthShare® Health Connect Cloud™ integrations?
👉 Learn how to Add Custom Utility Functions in Health Connect Cloud!
Hi, Community!
Ready to go beyond built-in utility functions in your HealthShare® Health Connect Cloud™ integrations?
👉 Learn how to Add Custom Utility Functions in Health Connect Cloud!
I'm trying to deploy a python/flask application to an Iris4Health container (2025.1) but running into some issues with packages and where they should be installed.
First one if the flask packages themselves. I tried to installed the flask packages into the python external language server virtual environment, but even doing this when configuring the WSGI application in the web application section, it would complain about not having a WSGI framework. Once I created a custom container and added the flask package at the OS level, I was able to configure the web application without it complaining
We’re issuing a point release for InterSystems IRIS, IRIS for Health, and Health Connect 2025.1 — version 2025.1.0.225.1 — to address a critical interoperability issue affecting users who leverage System Default Setting enabled business hosts.
What’s the issue?
In certain configurations where a Business Host is marked as System Default Setting enabled, applying new settings via the UI may incorrectly indicate that changes were applied, even though the necessary restart did not occur. This could result in settings not taking effect and lead to confusion or unexpected behavior in production envi
For 15 over years I have been playing with ways to speed up the way I use InterSystems systems and technology via AutoHotkey scripting. As a power keyboard user (I avoid my mouse when possible) I found it very helpful to set up hotkeys to get to my most frequently accessed systems and research utilities as quickly as possible. While I have used this approach for many years, this is the first time that I am introducing my approach and a customer-facing hotkey script to the D.C. and OEx...
ISCLauncher is a hotkey program based on AutoHotKey (Windows scripting language) which provides quick ac
.png)
WSDL for a CDC vendor was provided with a URL using a custom socket (non 443). Everything generated fine, but when making calls to their https:// URL that has their custom port in the URL - no response comes back. The assumption is, their server isn't even processing the request, as Postman does using the custom https://path.to.server:NNNN port in the URL.
I see with a normal web operation that uses %Net.HttpRequest overriding the port property is easily done - but no animal seems to exist for any generated SOAP Operation class. Is there a way to make a call in a SOAP operation using HTTPS bu
We're excited to announce the first-ever UI update for CCR Client Tools. The Client Tools UI has been upgraded to match the modern CCR UI, aiming to create a more seamless experience across both applications. The color scheme, fonts, and style elements have all been updated accordingly in the new UI:
All functionality has been preserved through the update, and the new changes are fully compatible with all major browsers, VSCode, and the legacy Studio IDE. For the best experience we recommend using VSCode or any modern browser, but Studio is still supported and will also reflect the new UI c
.png)
Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
InterSystems IRIS versions 2022.2 and newer feature the ability to authenticate to a REST API using JSON web tokens (JWTs). This feature enhances security by limiting where and how often passwords transfer over the network in addition to setting an expiration time on access.
The goal of this article is to serve as a tutorial on how to implement a mock REST API using InterSystems IRIS and lock access to it behind JWTs.
NOTE I am NOT a developer. I make no claims as to the efficiency, scalability, or quality of the code samples I use in this article. These examples are for educational p

I'm creating a Business Process that:
The Business Process is created with BPL, and objects are stored in BP context. When I execute this Process, in the 3rd point the object obtained in first transformation doesn't exist. It's empty.
I have tried to make transformation before making CALL's, I mean:
I have a local testing environment using VSCode.
I'm trying to create a routine %Test.mac, but keep getting permission error.
I have enabled write permissions to percent globals in the Admin Portal.
I'm connecting to Iris with superuser.
How do I give myself permissions?
Thanks
i got a particular application where i want that a user could only write to a DB without the reading permission. is this possible?
Just like a knockout punch, without giving the opponent a chance, Kubernetes, as an open source platform, has a universe of opportunities due to its availability (i.e., the ease of finding support, services and tools). It is a platform that can manage jobs and services in containers, which greatly simplifies the configuration and automation of these processes.
But let's justify the title image and give the tool in question the “correct” name: InterSystems Kubernetes Operator.
The principle is basic, you choose the services and define the rules for the game (here referring to Knockout again),

Hi Guys,
I'm a newbie running IRIS in a container (IRIS for UNIX (Ubuntu Server LTS for x86-64 Containers) 2024.3 (Build 217U) Thu Nov 14 2024 17:30:43 EST) and trying to setup Python so I can start working on ML & Autosklearn,my understanding is that IRIS already comes with embedded Python but unable to do something like "import pandas as pd" in VSCode which looks like I need install a more complete version of Python or packages, so what I'm missing?
And how can I go to embedded Python editor in my VSCode because my understanding you can find under explorer option in VScode but I can
.png)
Hi, I am unsure how to remove this restriction; when I am performing dynamic SQL using ##class(%SQL.Statement).%ExecDirectNoPriv(, .query, args...)
It works fine, but the moment I add specific properties from the persistent class I am performing the select on into the WHERE clause, I get: ERROR #5540: SQLCODE: -99 Message: User UnknownUser is not privileged for the operation. Despite using %ExecDirectNoPriv, I've tried with prepared statement as well, exact same situation.
I have read that it is possible to set privileges on individual properties on a persistent class, but I have no clue whe
I'm sure most of you are familiar with utility %SYS.MONLBL that is crucial when analysing code performance bottlenecks. It allows you to select a number of routines that you want to monitor at runtime and also specify what process(es) you want to watch. BUT, what if you do not know exactly, what process would execute your code? This is true with many web based (CSP/REST) applications today. You want to minimize the resource utilization on your production system that needs analysis. So, how about doing a small tweak?
1. Define an INC file with these macros:
#define START(%level) try { ##contiHi all,
I'm exited to announce a GitHub Action to do direct deploy code from a github repository direct to a IRIS Instance.
Pleas visit https://openexchange.intersystems.com/package/Github-Action-IRIS-Deployer
I have a widget that uses "choose Data source" control option. Termlist for the control consist of the two data sources and i want to set one of them by default. For example: I have two data sources, one is grouped by month, the other by year. I need to set the one that is grouped by year by default
Using default value at the bottom return an error
How can i achive that?
Hello. Currently, we are developing using Cache 2018 version.
Our team is working on improving an existing legacy program so that it can also be used on the web.
Before asking my question, here is the development environment.
Currently, we are successfully mapping global data through the %PERSISTENT class and able to query it with SQL. However, the problem is that the retrieved "Korean" data is all broken. It definitely seems like an encoding issue, but I don’t know where to
Hello community,
The Certification Team of InterSystems Learning Services is excited to announce the release of our new InterSystems IRIS Development Professional exam. It is now available for purchase and scheduling in InterSystems exam catalog. Potential candidates can review the exam topics and the practice questions to help orient them to exam question approaches and content. Candidates who successfully pass the exam will receive a digital certification badge that can be shared on social media accounts like LinkedIn.
If you are new to InterSystems Certification, please review our program pages that include information on taking exams, exam policies, FAQ and more.
Over the past couple of months, I have been working on the SMART on FHIR EHR Launch to test the capabilities of IRIS for Health using two open-source apps from CSIRO: SMART-EHR-Launcher and SMART Forms App. This journey has been incredibly interesting, and I’m truly grateful for the opportunity to work on this task and explore more of IRIS for Health’s potential.
After successfully demonstrating the seamless launch of multiple external SMART apps at the HL7 AU FHIR Connectathon, I’m excited to share what I’ve learned with the community. I hope my insights can help others get a faster start on

Hey Developers,
Watch this video to learn how Personal Community can be leveraged to enhance your digital front door strategy:
⏯ HealthShare Personal Community and Your Digital Front Door @ Global Summit 2024
As part of a process to generate FHIR XML bundles from HL7 messages, I have a subtransform transforming segments of an MDM_T02 message into a section of XML (EnsLib.EDI.XML.Document). So far this has worked well although I've encountered strange behaviour when making use of an xmlns attribute, whereby the attribute's name is duplicated despite the schema and DTL editor displaying it correctly.
Here's a snippet of the div.xmlns definition from the XSD schema used
.png)
Has anyone else encountered this? Any help is much appreciated
In the previous article we have reviewed how to install our EMPI in standalone, so we are ready to start the basic configuration of our EMPI.
First of all we have to do an initial basic configuration, we can access to the configuration from the Configuration menu of our Registry.
Selecting that option will allow to us to edit the basic configuration table of the Registry:
In this menu we have to add the following parameters and update the value of one of them:
| KEY | VALUE | DESCRIPTION |
| \HSPI\LinkageDefinition | Local.Linkage.Definition | Main class responsible of the management |
.png)
Reviewing the different articles that I have published, I realized that I needed to explain a very practical functionality within our EMPI (Enterprise Master Patient Index) and it is none other than the notification of registrations and links to systems external to the EMPI.
This functionality is frankly useful in a tool such as EMPI and especially in environments such as healthcare in which it is very common for the same patient to have their data duplicated in different systems and in the end it is necessary to uniquely identify it. The solution to reduce this amalgamation of records is to
.png)
Hello,
We had a weird behavior of task manager in mirror async backup-failover pair:
1. server 1 was primary, server 2 backup for over a month, as there was no automatic failover (switch) both had IRIS up for over a month
2. We manually switched making server 2 primary
3. The tasks that had this issue were set to "run on Primary only"
4. Task manager started to execute tasks every minute: we noticed that "Next scheduled time" is always calculated in past date, and progressing by the task interval (e.g. a task that supposed to run every hour will have "Next scheduled time" in the past e.g. 2025-
I have a rest API Class used for getting data from Cache 2018 version.
I have single route '/callfuntions'
I send the following parameters to the API :- className, methodName, params
I use $CLASSMETHODto execute and send the result back to the client.
If I make more that 10 to 12 requests in quick succession, then it stops sending data.
if I wait for over 10 seconds it allows me to send more requests to the API. How do I resolve this?
Question:
How can I create, change etc. Security entities (like Users and Roles) programmatically?
Answer:
You can use the Security package classes in the %SYS namespace. For example Security.Roles or Security.Users.
Of course in order to perform these actions the user will require the needed authorization.
Here's a small example using Security.Roles:
// Create a Role
%SYS>Set status = ##class(Security.Roles).Create("testRole","a test Role","%Development:U,%DB_USER:R")
// Creation was successful
%SYS>Write status
1
// Now lets examine the Role created
%SYS>Set status =I am writing to express my interest in the "IRIS Ensemble Integration . I have 2 years of experience as an Ensemble IRIS Developer, working with Ensemble and IRIS for integration, server management, and application development. Looking for more opportunites to work under Iris Cache Objectscript
Hi community,
The aim of this article is to explain how to create messaging between IRIS and Microsoft Teams.
In my company, we wanted to monitor error messages, and we used the Ens.Alert class to redirect those error messages through a Business Operation that sent an email.
The problem was that we sent those error messages to a support account where there were many emails. We wanted something specific for a specific team.
So we investigated how to make these messages reach the development team directly and they could have, in real time, a notification of an error in our production.
In our company we use Microsoft Teams as a corporate tool, so we asked ourselves: How could we make these messages reach the IRIS development team?