#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Question Touggourt · Nov 19, 2025

Hi,

We currently have a zen page we created to show all existing tasks and their states (Running or Stopped) as below, is the a way to do the same and create a page where we can list all Business Services of a production, state and to either Stop or restart them?  

Thanks

1
0 63
Article Iryna Mykhailova · Nov 20, 2025 4m read

For developers building external applications, especially those using familiar technologies like C#ODBC (Open Database Connectivity) is a crucial, standardized bridge to any relational database, including InterSystems IRIS. While InterSystems offers its own native ADO.NET provider, the ODBC driver is often the most straightforward path for integration with generic database tools and frameworks.

Here is a step-by-step guide to getting your C# application connected to an IRIS instance using the ODBC driver, focusing on DSN-less connection string.

Step 1: Install the InterSystems IRIS ODBC Driver

The InterSystems ODBC driver is installed by default when you install InterSystems IRIS on a Windows machine.

  • If IRIS is on the same machine: The driver is already present.
  • If IRIS is on a remote server: You must download and install the standalone ODBC client driver package for your client operating system (Windows, Linux, or macOS) and bitness (32-bit or 64-bit) from WRC website if you're a client or by installing Client components and copying ODBC driver.

Once installed, you can verify its presence in the ODBC Data Source Administrator tool on Windows (look for the InterSystems IRIS ODBC35 driver).

0
1 103
Question Arber Limaj · Nov 19, 2025

Hi everyone,
I'm getting prepared to take the following certification exam: "InterSystems IRIS Development Professional".

Can you give some advice on how to prepare (aside from the official course page: https://www.intersystems.com/certifications/intersystems-iris-development-professional/ )?
Do you have examples of quiz questions that simulate the real exam or any material that helped you getting prepared?

Thanks you in advance,

Arber

1
0 105
Question Matthias Thon · Nov 18, 2025

Hello 

I'm using from visual code. My routines are server-side files. If I try to search patterns in files (e.g find all routines containing the string "version=3") , the search runs but didn't find anything. If I do the same search from the management portal, it finds all routines including this pattern with a good performance.

regards Matthias

5
1 105
Article Yuri Marx · Nov 18, 2025 11m read

Modern data architectures utilize real-time data capture, transformation, movement, and loading solutions to build data lakes, analytical warehouses, and big data repositories. It enables the analysis of data from various sources without impacting the operations that use them. To achieve this, establishing a continuous, scalable, elastic, and robust data flow is essential. The most prevalent method for that is through the CDC (Change Data Capture)  technique. CDC monitors for small data set production, automatically captures this data, and delivers it to one or more recipients, including analytical data repositories. The major benefit is the elimination of the D+1 delay in analysis, as data is detected at the source as soon as it is produced, and later is replicated to the destination.

This article will demonstrate the two most common data sources for CDC scenarios, both as a source and a destination. For the data source (origin), we will explore the CDC in SQL databases and CSV files. For the data destination, we will use a columnar database (a typical high-performance analytical database scenario) and a Kafka topic (a standard approach for streaming data to the cloud and/or to multiple real-time data consumers).

Overview

This article will provide a sample for the following interoperability scenario:

 

0
4 215
Article Robert Cemper · Nov 16, 2025 2m read

In my previous article, I structured network communications
in these 3 possible layers, and covered the last

  • Client <---> Transport
  • Server <---> Transport
  • Client <---> Server

In fact, you have the most control over the last one.
The IRIS side as a server is yours and under your full control. 
Up to now, the Transport layer was assumed to be as passive as a bare wire.

This assumption should be verified. I once met a Windows environment with
a quite surprising setup where a Firewall-like filter was isolating internal
processes and causing a lot of trouble.

? What can you do about the  Transport

0
2 98
Article Robert Cemper · Nov 16, 2025 3m read

Chasing errors or misbehavior in the network can be quite a challenge.
Differently to  a local application on the DB server, you always have at least 3 players:

  • A client  to place a request 
  • some kind of transport layer
  • and a server to provide a reply.

This results in a minimum of 3 possible communication layers

  • Client <---> Transport
  • Server <---> Transport
  • Client <---> Server

The last one is probably the easiest  to check, while the other 
two deal with the same counterpart just from opposite sides.

?  Do both ends use the same communication protocol ?

I met more than once that one end

0
3 121
Discussion Dmitry Maslennikov · Nov 14, 2025

Over the past several years, the InterSystems Developer Community has accumulated more than 1,000 open-source projects. Many of them serve as examples and learning materials — but a significant number have become useful tools, libraries, integrations, and real-world components used in production.

Some of these projects are mine, and like many community developers, I’ve seen the same recurring problem:

  • It’s easy to create an open-source project.
  • It’s hard to maintain, support, and develop it sustainably — especially without funding.

Writing code is one thing.
Supporting it for years, keeping up with new IRIS versions, building CI pipelines, writing documentation, fixing issues, reviewing PRs — all of this demands both time and motivation, and the biggest motivator is often financial support.

This is not a new challenge.
The global open-source world has faced this for decades and has developed various models to support OSS ecosystems.

I believe it’s time for the InterSystems community to start a discussion about adopting a similar model.

7
0 210
Article Tani Frankel · Jan 14, 2025 6m read

Using embedded Python while building your InterSystems-based solution can add very powerful and deep capabilities to your toolbox.

I'd like to share one sample use-case I encountered - enabling a CDC (Change Data Capture) for a mongoDB Collection - capturing those changes, digesting them through an Interoperability flow, and eventually updating an EMR via a REST API.

2
2 638
Question Touggourt · Nov 13, 2025

Hi guys,

Is it bad to have too many Business Services in a production and what's the limit, I'm looking to convert our system tasks (around 30 of them) into Business Services and wondering if it's a better option?

Thanks

2
0 69
Question Touggourt · Nov 11, 2025

Hi guys,

I'm looking to mimic this Post request URL where I'm sending a token :

So I created the below code but I'm getting "HTTP/1.1 405 Method Not Allowed" error 

Url="myurl/confirmed?id="_token
Set Httprequest1=##class(%Net.HttpRequest).%New()
Set Httprequest1.SSLConfiguration="LS2"
Set Httprequest1.Server="myserver.com" 
Set Httprequest1.Timeout=30
Set Httprequest1.Https=1
Set Httprequest1.Port=7711
set Httprequest1.ContentType="application/json"
Do Httprequest1.SetHeader("Accept","application/json")
Do Httprequest1.SetHeader("Accept-Language","en_US")
//D Httprequest1.EntityBody.Write(token)
Set tSc

3
0 73
Question Jean Millette · Oct 15, 2025

Can someone help me understand what type of user error (?) is going on here please?

One one system, I write out a group of $c() values and get the expected results:

USER>for i=250:1:260 { write i," ", $c(i),! }
250 ú
251 û
252 ü
253 ý
254 þ
255 ÿ
256 Ā
257 ā
258 Ă
259 ă
260 Ą

USER>w $zv
IRIS for Windows (x86-64) 2023.1.4 (Build 580U) Fri Apr 19 2024 11:16:07 EDT
USER>

On another system, I get some unexpected results:

USER>for i=250:1:260 { write i," ",$c(i),!
4
1 142
Article Alberto Fuentes · Mar 4, 2024 2m read

I would like to share with you a little trick to customize how messages are displayed in the Message Viewer. In particular, how you can display messages as JSON (instead of the default XML representation).

image

Messages are objects that are used to communicate interoperability productions components. In my example I have defined a message that later I serialize as JSON to send to an external API. This message is defined as a regular message and also as a %JSON.Adaptor so I can export / import directly to or from JSON.

Class interop.msg.DeviceOrderReq Extends (Ens.Request, %JSON.Adaptor)
{

Parameter
3
6 634
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.

After a brief overview of the built-in message router classes in InterSystems IRIS and IRIS for Health, the article will demonstrate how to enhance their capabilities to achieve specific outcomes—without the need to develop a

0
1 193
InterSystems Official Bob Kuszewski · Jun 30, 2023

When IRIS 2023.2 reaches general availability, we’ll be making some improvements to how we tag and distribute IRIS & IRIS for Health containers.

IRIS containers have been tagged using the full build number format, for example 2023.1.0.235.1.  Customers have been asking for more stable tags, so they don’t need to change their dockerfiles/Kubernetes files every time a new release is made.  With that in mind, we’re making the following changes to how we tag container images.

Major.Minor Tags:  Containers will be tagged with the year and release, but not the rest of the full build number.   For

13
1 1198
InterSystems Official Dipak Bhujbal · Nov 10, 2025

Overview

This release introduces the FHIR Server 2025.10.0, delivering the latest standards compliance and performance improvements. It also enhances the Health Connect Cloud (HCC)upgrade process for greater reliability and adds new flexibility to Network Connect through prefix list support in VPN configurations.


New Features and Enhancements

Category

Feature / Improvement

Details

FHIR Server

Release of FHIR Server 2025.10.0

Introduces the latest version of InterSystems FHIR Server, featuring improved scalability, enhanced conformance with FHIR R5, and optimizations

0
0 108
Question Attila Toth · Nov 10, 2025

Hello!

I'm trying to create some foreign tables to a PostgreSQL database. In some cases, columns with certain datatypes cannot be consumed by IRIS and the following error is thrown:

 [SQLCODE: <-237>:<Schema import for foreign table did not return column metadata>]

  [%msg: <Unkown data type returned by external database>]

For example: serial4 typed ID columns are typical examples. Is it possible, what's the best way of resolving these datatypes, which- seemingly- don't have proper JDBC metadata mappings?

Of course, explicitely defining columns and types as part of the CREATE FOREIGN TABLE

0
0 61
Article Zion Amsalem · Nov 9, 2025 3m read

As a developer who uses Cache as DB for a couple of projects, I'm using REST API's every time, knowing how to consume a resource from REST API, in my opinion, it's crucial to know how to consume external REST Api's using %Net.HttpRequest because it enables integration with modern web applications and services, and it's a crucial skill for a backend developer who loves and uses Cache as a DB.

What and who is %Net.HttpRequest

its just a class but this is the proper way of making request outside of the framework, this is just a simple class who provide HTTP methods like GET, POST and PUT and all

0
1 109
Article Dmitry Maslennikov · Oct 5, 2025 5m read

Introduction

The InterSystems IRIS Data Platform has long been known for its performance, interoperability, and flexibility across programming languages. For years, developers could use IRIS with Python, Java, JavaScript, and .NET — but Go (or Golang) developers were left waiting.

Golang Logo

That wait is finally over.

The new go-irisnative driver brings GoLang support to InterSystems IRIS, implementing the standard database/sql API. This means Go developers can now use familiar database tooling, connection pooling, and query interfaces to build applications powered by IRIS.


Why GoLang Support Matters

GoLang is a language designed for simplicity, concurrency, and performance — ideal for cloud-native and microservices-based architectures. It powers some of the world’s most scalable systems, including Kubernetes, Docker, and Terraform.

Bringing IRIS into the Go ecosystem enables:

  • Lightweight, high-performance services using IRIS as the backend.
  • Native concurrency for parallel query execution or background processing.
  • Seamless integration with containerized and distributed systems.
  • Idiomatic database access through Go’s database/sql interface.

This integration makes IRIS a perfect fit for modern, cloud-ready Go applications.

25
0 380
Article Tani Frankel · Feb 13, 2024 3m read

Following 2 local Webinars we had focused on VS Code ["Intro" and "Beyond Basics"; in Hebrew], I prepared for the participants some related links of relevant resources which we sent as a follow-up. Sharing them here as well for the benefit of the Community.
You are all of course welcome to add more useful resources.

2
5 660
Article Andrew Sklyarov · Nov 8, 2025 4m read

When I started my journey with InterSystems IRIS, especially in Interoperability, one of the initial and common questions I had was: how can I run something on an interval or schedule? In this topic, I want to share two simple classes that address this issue. I'm surprised that some similar classes are not located somewhere in EnsLib. Or maybe I didn't search well? Anyway, this topic is not meant to be complex work, just a couple of snippets for beginners.

0
0 117
Article José Pereira · Nov 7, 2025 8m read

Window functions in InterSystems IRIS let you perform powerful analytics — like running totals, rankings, and moving averages — directly in SQL.
They operate over a "window" of rows related to the current row, without collapsing results like GROUP BY.
This means you can write cleaner, faster, and more maintainable queries — no loops, no joins, no temp tables.

In this article let's understand the mechanics of window functions by addressing some common data analisys tasks.


Introduction to SQL Window Functions in InterSystems IRIS

SQL window functions are a powerful tool for data analysis.
They

0
3 304