#Performance

5 Followers · 201 Posts

Performance tag groups posts regarding software performance issues and the best practices on solving and monitoring performance issues.

Article Vachan C Rannore · Oct 21, 2025 3m read

Hello!!!

Data migration often sounds like a simple "move data from A to B task" until you actually do it. In reality, it is a complex process that blends planning, validation, testing, and technical precision.

Over several projects where I handled data migration into a HIS which runs on IRIS (TrakCare), I realized that success comes from a mix of discipline and automation.

Here are a few points which I want to highlight.

15
2 377
New
Article Tani Frankel · Jun 18 2m read

As part of a focus we are putting on improving the speed of ingestion of FHIR payloads, in v2026.2 (available as of now as a Developer Preview), we are introducing an option to skip structure validation of resources. This could save for example 25% of the time, which in large scale ingestions, could be significant.

1
0 30
New
Question Glenn Elliott · Jun 11

Hi All,

There is a steady increase in the amount of metadata that I need to build in the message flow (across BPs & DTLs) and I am interested on a good pattern to follow that allows for a mix of metadata types (e.g. json, xml list, etc) and is accessible quickly either within DTLs or BP.

One example for this would be adding various localised codesets to metadata during DTLs which would later be used to submit a FHIR translate request to a terminology server. Providing visibility in the DTL to which codesets are to be translated while batching up the translate request for performance.

0
0 25
Article Mainza Kangombe · Jun 6 4m read

Healthcare billing isn’t a pipeline. It’s a conversation about trust. 

Every day, millions of clinical transactions flow from doctors’ keyboards to insurance ledgers. Standard health IT systems are built to count these transactions. They store them. They organize them. 

They route them. But standard systems don't notice them. 

We’ve built faster and faster databases to process claims, but we forgot to ask: Does this claim make sense? 

Because we don’t ask in real-time, we’ve accepted a compromise. We pay first, wait six months, and then hire forensic auditors to find the mistakes.

0
0 60
Question Ashok Kumar Thangavel · May 28

Hi Community,

In traditional InterSystems SQL, I can use the %NOINDEX keyword during a bulk INSERT to improve performance and then run BUILD INDEX %ALL afterward to populate the indices.

I am looking to implement a similar strategy for an InterSystems FHIR Server.

  1. Is there a way to import/save FHIR resources while skipping the search table extraction (the FHIR version of %NOINDEX)?
  2. Once the data is loaded, what is the correct programmatic way to "rebuild" the search tables?

Thank you!

0
1 39
Question Ethan Calloway · May 20

 I’m looking for recommendations to improve interoperability performance in InterSystems IRIS, especially when handling large volumes of HL7 or healthcare-related messages.

What are the best practices for optimizing productions, business services, operations, and message processing performance? I’d also like to know if there are recommended monitoring tools or settings commonly used in production environments.

1
0 63
Question Ethan Calloway · May 20

 I’m looking for practical recommendations to monitor InterSystems IRIS performance in a production environment. What are the most useful built-in tools, metrics, or best practices to track system health, database performance, and possible bottlenecks?

I would also like to know if there are recommended dashboards, logs, or monitoring integrations commonly used by the community.

1
0 66
Job Victor Gordillo · May 14

Key Responsibilities & Requirements

Core Infrastructure & Cloud Management

  • Full-Stack Administration: Maintain and optimize both Linux (Ubuntu/RHEL) and Windows Server environments.
  • Cloud Orchestration: Take full ownership of VM cloud infrastructure, including provisioning, health monitoring, backup and resource scaling.
  • Policy Governance: Design and enforce comprehensive SysAdmin and Deployment policies (CI/CD pipelines, automated provisioning, and security hardening).

InterSystems Database Administration

  • Platform Expertise: Expert-level administration of both InterSystems IRIS and Caché.
0
0 52
Article Ben Schlanger · Apr 22 27m read

Table Partitioning Demo

This demo walks you through the new Table Partitioning feature in IRIS SQL, explaining what it does and how it works along the way. We'll only use a few dozen rows to prove the concept, but obviously the capability is focused on datasets many orders of magnitude larger.

If you'd like a shorter, higher-level introduction to Table Partitioning, check out the online learning module Managing Tables with Partitioning in InterSystems IRIS

 

ℹ️ Table Partitioning is included in IRIS 2026.1 as an experimental feature

1
0 88
Article Andre Larsen Barbosa · Apr 14 4m read

Before finding the best solution for Supply Chain, we need to understand what Supply Chain is. Well, regardless of the language used, the term is known by the name already mentioned. For your information, the translation in Brazilian Portuguese is "Cadeia de Suprimentos" (Supply Chain), sometimes also called "Cadeia Logística" (Logistics Chain), but we will not dwell on the nomenclature, but rather on the meaning.

0
0 60
Article Yuri Marx · Apr 13 5m read

The PACELC theorem was created by Daniel Abadi (University of Maryland, College Park) in 2010 as an extension of the CAP theorem (created by Eric Brewer - Consistency, Availability, and Partition Tolerance). Both help design how to architect the most suitable operation of data platforms in distributed environments under the aspects of consistency versus availability. The difference is that PACELC also allows analysis of the best option for non-distributed environments, making it the gold standard for considering all possible scenarios to define your deployment topology and architecture.

The CAP theorem states that in distributed systems, it is not possible to have consistency, availability, and partition tolerance simultaneously, requiring a choice of two out of three, according to the following diagram.


Source: https://medium.com/nerd-for-tech/understand-cap-theorem-751f0672890e

0
6 91
Article Jinyao · Feb 21, 2025 4m read

Motivation

I didn't know about ObjectScript until I started my new job. Objectscript isn't actually a young programming language. Compared to C++, Java and Python, the community isn't as active, but we're keen to make this place more vibrant, aren't we?

I've noticed that some of my colleagues are finding it tricky to get their heads around the class relationships in these huge projects. There aren't any easy-to-use modern class diagram tool for ObjectScript.

Related Work

I have tried relavant works:

- InterSystems class view:
1. https://github.

13
5 966
Article Sue O'Leary · Jan 16 6m read

Introduction

The recent addition of FIFO groups allows First-In, First-Out (FIFO) message processing to be maintained in an interoperability production even when a Pool Size is greater than 1, enabling higher performance without sacrificing correctness. This feature first appears in InterSystems IRIS® data platform, InterSystems IRIS® for Health, and InterSystems Health Connect™ in version 2025.3.

First-In, First-Out message processing is critical in many integration scenarios, especially in healthcare. Traditionally, FIFO ordering is enforced by configuring each business host to process only one message at a time (Pool Size = 1). While effective, this approach can limit throughput and underutilize system resources. FIFO groups preserve FIFO ordering where needed without requiring a Pool Size of 1.

2
2 115
Question Colin Brough · Mar 5

We have an HL7 feed that contains Lab Results. Each message contains a set of results, identified by a LabReportId. Some LabReportIds can get more than one message / set of results - these are updates, as new results become available, and must be processed in order. Results for different LabReportIds can be processed in any order.

As each message is used to build a PDF, which takes time, we want to run these through a production where the key business process has a Pool Size > 1, while still ensuring that messages for each LabReportId are processed in order.

3
0 109
Question Anderson Negreli · Mar 3

I am currently managing environments running InterSystems IRIS and Caché on Windows servers.

I’m reviewing storage optimization best practices and I have a question regarding a specific Windows drive setting: "Allow files on this drive to have contents indexed in addition to file properties."

Based on my research, everything indicates that it is better to disable this option, especially on drives used by databases. However, I couldn't find a specific "official" stance in the documentation explicitly mentioning this checkbox.

3
0 116
Article Davi Massaru Teixeira Muta · Feb 24 9m read

Global Guard AI

1 Introduction

In environments that use InterSystems IRIS, globals are the physical foundation of data storage. Although system queries and administrative tools exist for metric inspection, global growth analysis is usually reactive: the problem is generally only noticed when there is disk pressure or performance impact.

6
2 178
Article Ashok Kumar Thangavel · Feb 24 2m read

In the modern healthcare landscape, finding clinically similar patients often feels like looking for a needle in a haystack. Traditional keyword searches often fail because medical language is highly nuanced; a search for "Heart Failure" might miss a record containing "Congestive Cardiac Failure."

I am excited to share iris-medmatch, an AI-powered patient matching engine built on InterSystems IRIS for Health. By leveraging Vector Search, this tool understands clinical intent rather than just matching literal strings.

0
0 145
Article Ashok Kumar Thangavel · Feb 20 3m read

This is an excellent candidate for a developer community post (like Dev.to, Medium, or the InterSystems Community). It bridges the gap between high-level architecture and hands-on implementation.

Here is the summarized article format.


Building a Robust Asynchronous Queue Manager with InterSystems IRIS and Angular

As applications scale, handling heavy computational tasks synchronously becomes a bottleneck. Whether it's processing large data sets, sending high-volume emails, or managing API integrations, a decoupled architecture is essential.

0
0 111
Article Jorge Jaramillo Herrera · Jan 9 9m read

1-command only required for an entire IRIS instance for Data Science projects, and leveraging this to compare query methods' speed (Dynamic SQL, Pandas Query, and Globals).

Before joining InterSystems, I worked in a team of web developers as a data scientist. Most of my day-to-day work involved training and embedding ML models in Python-based backend applications through microservices, mainly built with the Django framework and using Postgres SQL for sourcing the data.

3
1 93
Article Ben Schlanger · May 7, 2025 4m read

Here at InterSystems, we often deal with massive datasets of structured data. It’s not uncommon to see customers with tables spanning >100 fields and >1 billion rows, each table totaling hundred of GB of data. Now imagine joining two or three of these tables together, with a schema that wasn’t optimized for this specific use case. Just for fun, let’s say you have 10 years worth of EMR data from 20 different hospitals across your state, and you’ve been tasked with finding….

3
6 449
Question Ashish Rathor · Jan 7

Hi Everyone!

We have an existing process (running in FIFO order), all business hosts having pool size=1.

Currently we are reading records from a file (one record at a time) then that record goes to business process for further processing and finally through the business operation. As of now we are using synchronous call in our existing code. Before processing the last record we are using hang of 50 seconds because we need to initiate a batch once the processing of last record is finished.

This process is taking too much time for a file having 0.1 million records (max records in a file).

5
0 137
Article Ashok Kumar Thangavel · Dec 28, 2025 3m read

Embeddedpy-bridge: A Toolkit for Embedded Python

Overview

Embedded Python is a game-changer for InterSystems IRIS, offering access to the vast Python ecosystem directly within the database. However, bridging the gap between ObjectScript and Python can sometimes feel like translating between two different worlds.

To make this transition seamless using embeddedpy-bridge.

This package is a developer-centric utility kit designed to provide high-level ObjectScript wrappers, familiar syntax, and robust error handling for Embedded Python.

1
2 121
Article Thomas Dyar · Dec 27, 2025 10m read

The Rut

Up until early this year, I haven't been not doing much coding at all -- I had gotten sick of it.

After many years as a hands-on software engineer and data scientist, I got burned out around 2015. I switched to business development roles focused on "external innovation," then joined InterSystems in 2019 as a product manager. I missed the creative aspects of coding, but not the tedium. The endless cycle of boilerplate, debugging, and context-switching had left me creatively depleted.

0
1 156
Article Tani Frankel · Dec 22, 2025 1m read

Looking at my database I see I have a very big ^rINDEXSQL global? Why is that? 😬

In the Management Portal SQL page, under "SQL Statements" I see a 'Clean stale' button - what does this do? 🤔

In the list of Statements some have a 'Location' value and some don't? How is that? 🤨

0
1 131
Article Ashok Kumar Thangavel · Nov 10, 2025 2m read

FastJsonSchema: High-Performance JSON Validation in IRIS

Validating JSON data against JSON Schema is a common requirement for modern applications. FastJsonSchema brings this capability natively to InterSystems IRIS, combining speed, simplicity, and full schema compliance.

Unlike traditional validation approaches, FastJsonSchema generates native ObjectScript code from your JSON Schemas and compiles it directly to iris object code, enabling idiomatic performance without relying on external libraries or runtimes.

1
0 146
Article José Pereira · Nov 26, 2025 11m read

In Part 1, we explored how window functions operate. We learned the logic behind PARTITION BY, ORDER BY, and such functions as ROW_NUMBER() and RANK(). Now, in Part 2, let's delve into more window functions with practical examples.


1. Aggregate-over-Window Functions

Overview

These functions compute an aggregate (e.g., sum, average, min, max, count, etc.) over the defined window frame but don’t collapse rows.
Each row remains visible, augmented with aggregated values for its partition.

Supported functions include the following:

  • AVG() — average of values in the window frame.
0
1 370
Article Luis Angel Pérez Ramos · Mar 11, 2025 53m read

Since the introduction of Embedded Python there has always been doubt about its performance compared to ObjectScript and on more than one occasion I have discussed this with @Guillaume Rongier , well, taking advantage of the fact that I was making a small application to capture data from public competitions in Spain and to be able to perform searches using the capabilities of VectorSearch I saw the opportunity to carry out a small test.

7
3 510
InterSystems Official Daniel Palevski · Nov 19, 2025

The 2025.3 release of InterSystems IRIS® data platform, InterSystems IRIS® for Health, and InterSystems Health Connect™ is now Generally Available (GA). This is a Continuous Delivery (CD) release.

Release Highlights:

  • Secure Wallet: A new encrypted framework for managing sensitive data, built on the IRISSECURITY database, improving system security and access control.
  • Expanded Observability & Cloud Integrations: Enhanced OpenTelemetry metrics, including new process and ECP metrics, plus journal archiving now supports Azure Blob Storage for cost-efficient retention.
1
0 197