New
Article Robert Barbiaux · Mar 16 12m read

There are lessons we learned from developing and maintaining code for interoperability components within a healthcare institutional environment.

The plane is already flying

Be prepared to rebuild, improve, extend, and fix the plane mid-flight.
 

Maintenance windows for hospital systems are often very limited, with some required to be operational 24/7. While the critical health systems such as imaging modalities or registration kiosks — or at least their critical functions — must operate autonomously, efficiency and usability may be compromised when interoperability components malfunction.

0
0 83
Article Robert Barbiaux · Nov 12, 2025 8m read

Introduction

In this article, we will explore various approaches to extending and customizing the behavior of InterSystems IRIS (and IRIS Health) built-in interoperability message routers.

Message routers perform one of the core functions of Enterprise Application Integration (EAI) and are among the most frequently used business processes in interoperability productions.

0
1 211
Article Robert Barbiaux · Sep 1, 2025 9m read

InterSystems IRIS interoperability production development involves using or writing various types of components. They include services (which handle incoming data), processes (which deal with the data flow and logic), and operations (which manage outgoing data or requests). Messages flowing through those components constantly require being adapted to consuming applications. Therefore,Data transformations are by far the most common component in interoperability productions.

In the early stages of data transformation development, thetest tool from the Management Portal becomes quite handy.

0
0 155
Discussion Robert Barbiaux · Jun 27, 2024

When using VS Code client-side editing in combination with a file-based revision control system such as git, I find activities such as branch switching and moving/renaming classes and packages a bit tedious, since you to maintain the connected namespace in sync manually.
I am not aware of a built-in way to do this with VS Code Extension. Just added an idea to the portal that is about adding some kind of mechanism to do this automatically, please do not hesitate to comment, amend and vote for idea DPI-I-608  😊

0
0 213
Article Robert Barbiaux · Feb 2, 2024 4m read

Introduction

This article attempt to summarize and update on the exchanges in this post. Please feel free to comment.
ObjectScript is based on MUMPS, a programming language dating back to 1966. At the time, and for quite a long period, memory and cpu resources were scarce, as was terminal screen space, and a very concise (and easily decodable) syntax was preferred (as, for example in C). Nowadays,  we no longer have the same memory and screen limitations,  and code readability and maintainability is far more important.

4
1 439
Question Robert Barbiaux · Sep 15, 2023

Hi,
I am dealing with a very old code base (some routines date back to 1985 and were running on a M system 😉). It is rather huge and currently contains around 5000 compilable *.int routines.

My goal is to export all routine code as *.int UDL files and setup a git repository containing all routines.

The issue is, approximatively 200 of those routines have storage names that differ only in case. I am using Windows and when exporting those routines using vscode, files gets overwritten depending on routine export order, as Windows NTFS file system names are not case-sensitive.

5
0 341
Discussion Robert Barbiaux · Jul 7, 2023

Hi everyone,

This one had me breaking a sweat 😅

When a SOAP request has a %Stream.GlobalBinary property, it fails to serialize to base64 when stream is larger than ~43MB with 

ERROR #6301: SAX XML Parser Error: <MAXSTRING>xeWrite+7^%occXMLInternal

Unless you enable the following parameters :

Parameter BASE64LINEBREAKS = 1;
Parameter USEPPGHANDLER = 1;

The first one instructs %SOAP.

0
0 329