Over the last couple of weeks the Solution Architecture team has been working to finish off our 2019 workload: this included open-sourcing the Readmission Demo that was brought to HIMSS last year, so we could make it available to anyone looking for an interactive-way of exploring the tooling provided by IRIS.


0 2 392

Like hardware hosts, virtual hosts in public and private clouds can develop resource bottlenecks as workloads increase. If you are using and managing InterSystems IRIS instances deployed in public or private clouds, you may have encountered a situation in which addressing performance or other issues requires increasing the capacity of an instance's host (that is, vertically scaling).

0 1 72
Guillaume Rongier · Nov 23, 2020 1m read
Iris key uploader


This is iris-key-uploader a frontend in Angular with it's rest API.

The aim of this project is to easily import key file to Iris from a web ui.

Why this project

Unfortunatly the IRIS panel to change key doesn't give the opportunity to upload the license.


As you can see, you can only browse from the server side.

What if, you don't have a direct access to it ?

0 6 198
Laurel James · Apr 20, 2021 3m read
Why gj :: locate?

You may think it isn’t too difficult to get from label+offset^routine to the actual source line responsible for the error.  For an expert it isn't that hard... most of the time.  But there are enough oddities and special rules that even an expert can get it wrong, whilst spending a lot of time trying to get there.

gj :: locate is the latest tool from George James Software – it debugs any error, class or routine by converting the location of an error in compiled .int code to the corresponding location in your source, and then taking you right there.

Image this scenario…

1 0 47

In Studio you could open a class directly via it's name, without having to traverse the package tree with multiple clicks until arriving at the desired class.

You would Ctrl + O or (File -> Open) and be able to simply type in the class name, for example:

You press Enter, and viola - the class is opened.

How do you achieve this in VSCode?

0 1 122
Timothy Leavitt · Jul 8, 2020 7m read
Tips for debugging with %Status


If you're solving complex problems in ObjectScript, you probably have a lot of code that works with %Status values. If you have interacted with persistent classes from an object perspective (%Save, %OpenId, etc.), you have almost certainly seen them. A %Status provides a wrapper around a localizable error message in InterSystems' platforms. An OK status ($$$OK) is just equal to 1, whereas a bad status ($$$ERROR(errorcode,arguments...)) is represented as a 0 followed by a space followed by a $ListBuild list with structured information about the error. $System.Status (see class reference) provides several handy APIs for working with %Status values; the class reference is helpful and I won't bother duplicating it here. There have been a few other useful articles/questions on the topic as well (see links at the end). My focus in this article will be on a few debugging tricks techniques rather than coding best practices (again, if you're looking for those, see links at the end).

8 6 563


InterSystems has recently completed a performance and scalability benchmark of IRIS for Health 2020.1, focusing on HL7 version 2 interoperability. This article describes the observed throughput for various workloads, and also provides general configuration and sizing guidelines for systems where IRIS for Health is used as an interoperability engine for HL7v2 messaging.

2 3 609


Most CloudFormation articles are Linux-based (no wonder), but there seems to be a demand for automation for Windows as well. Based on this original article by Anton, I implemented an example of deploying a mirror cluster to Windows servers using CloudFormation.I also added a simple walk through.
The complete source code can be found here.

Update: 2021 March 1 I added a way to connect to Windows shell by public key authentication via a bastion host as a one-liner.

0 0 64
Dmitry Maslennikov · Mar 3, 2021 4m read
Access to IRIS from Rust

What do you think If I will say you, that very soon you will be able to connect to IRIS from the application written in Rust.

What is Rust

Rust is a multi-paradigm programming language designed for performance and safety, especially safe concurrency. Rust is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references. Rust achieves memory safety without garbage collection, and reference counting is optional. (c) Wikipedia

2 5 137

Hello, developers!

In this article, I will show you how to configure FHIR repository + OAuth2 authorization server/resource server on IRIS for Health following the previous article.

In Part 1, we introduced the preliminary preparations, configuring the OAuth2 authorization server, and obtaining the access token.
Part 2 will show you how to build an FHIR repository and configure an OAuth2 client/resource server.

1 2 122

Hi Community! 

I'm sharing a little tool (REST service) to download interoperability messages from your browser.

You only need to:
1. Create a web application in Management Portal (e.g. /downloadmsg) and set DispatchClass=Util.DownloadMsg.
2. Call the tool using your browser passing the namespace and the message header id to download.

0 0 68

Hey everyone!

I recently learnt something new while working with WRC on an issue, and I wanted to share with everyone on the off chance it could help someone else.


Files are being inexplicably written to a folder on your server and, due to the number of files in the folder and general system throughput, it is not possible to work through the files to track down the source.

0 0 68
Robert Cemper · Feb 8, 2021 3m read
WebSocket Client with embedded Python

This is a demo to make use of a simple WebSocket Client with Embedded Python in IRIS.

To continue my series of WebSocket Client I have added an example written in Python.
The most impressive experience was how easy the writing and testing of the client was
which happened total offline from IRIS.
Embedding, running and feeding the client with data from IRIS was also incredibly simple.

0 3 85
Robert Cemper · Apr 4, 2020 2m read
WebSocket Client IRIS internal
This is a coding example working on Caché 2018.1.3 and IRIS 2020.2 
It will not be kept in sync with new versions 
It is also NOT serviced by InterSystems Support !

IRIS 2020.1 brought us a new feature: %Net.WebSocket.Client

As a continuation of my series of WS Clients I just couldn't resist trying it.
Well, this is the result and it was rather simple in the end.

After I succeeded in my personal fight against Windows Firewall ;-)

0 4 312

Hi all,


I want to share a quick little method you can use to enable ssl with a self signed certificate on your local development instance of IRIS/HealthShare. This enables you to test https-specific features such as OAuth without a huge lift.



1. Install OpenSSL

Windows: https://slproweb.com/download/Win64OpenSSL_Light-1_1_1g.exe

Debian Linux: $ sudo apt-get -y install openssl

RHEL: $ sudo yum install openssl


4 3 326