Article Sean Connelly · Jun 7 7m read

AI is going to change healthcare, but only if clinicians can trust it and developers can build it without reinventing the plumbing every time. FHIR Agent Studio is my attempt at both: a place to build AI agents for FHIR workflows from reusable building blocks, run them on a real InterSystems IRIS for Health backend, and inspect exactly what each one did at every step.

It is my entry in the InterSystems AI Agents for FHIR contest, and it ships with twelve working agents over a synthetic FHIR repository of around 1,000 patients and 20,000 resources.

1
0 80
New
Article Mainza Kangombe · Jun 12 6m read

1. The End of "Pay-and-Chase": A New Era of Payment Integrity

For decades, healthcare payers have been trapped in a reactive cycle known as "pay-and-chase." Traditional payment integrity relies on retrospective audits—reviewing claims months after disbursement to claw back overpayments. This inefficiency costs the industry billions in unrecovered fraud, waste, and abuse.

ClaimAuditAI introduces a fundamental paradigm shift by moving the audit to the point of submission.

1
0 29
New
Article Yuri Marx · Jun 11 2m read

The successful construction and implementation of AI agents to address diverse use cases in the healthcare sector depend on high-quality data and APIs, effective governance, and management. The InterSystems IRIS FHIR server delivers all of this and is also fluent in Python, Vectors, and Interoperability. Combined with a strong LLM, patients, physicians, caregivers, and managers gain access to state-of-the-art technology for personal and public health.

1
1 52
Discussion Evgeny Shvarov · Jun 5

Hi folks!

Suppose a new version of your amazing software solution built on IRIS needs some persistence change: some data needs to be converted, some classes get new properties or even renamed, and some data should be prepopulated for newly introduced persistent classes to keep the whole application data consistent.

What are your approaches? 

SQL-based scripts? ObjectScript, or Python? for both directions of migration, up and down? 

Do you autogenerate it with Claude/Codex? What about data-consistency tests?

COuld you please share your thoughts? or libraries?

10
1 136
New
Question José Pereira · Jun 12

Hi!

I'm trying to compiling a class with an Embedded Python and got this error:

Compilation started on 06/12/2026 11:44:17 with qualifiers 'cuk'
Compiling class User.VectorSearch
ERROR #7802: Worker job/s '749:33' unexpectedly shut down in group '#Default:(446070926892):0'.
ERROR #7812: Work queue unexpectedly removed, shutting down.
ERROR #5002: ObjectScript error: <THROW>WaitForComplete+215^%SYS.WorkQueueMgr *%Exception.StatusException ERROR #7802: Worker job/s '749:33' unexpectedly shut down in group '#Default:(446070926892):0'.
ERROR #7812: Work queue unexpectedly removed, shutting down.
Detected 3 errors during compilation in 1.020s.
3
0 43
New
Question Patrick Fleming · Jun 10

 Hello Community,

I am learning more about InterSystems IRIS administration and would like to understand the recommended approach for monitoring performance in a production environment.

What tools, metrics, or dashboards do you typically use to monitor system health, database activity, and application performance?

I am particularly interested in learning which indicators are most useful for identifying potential bottlenecks before they affect users.

Thank you for sharing your experience and recommendations.

2
1 60
New
Article Antor Chowdhury · Jun 12 8m read

Most "AI agent + FHIR" projects end up with the same shape: a FHIR server over here, a vector database over there, and a Python service in the middle whose job is to call an embedding API, marshal float arrays back and forth, and keep two datastores in sync. Three moving parts, two network hops, and an embedding client you now own forever.

Triage Park: our entry for the InterSystems Programming Contest: AI Agents for FHIR, doesn't have any of that. The agent never computes an embedding. It never imports an OpenAI embeddings client. There is no vector database.

0
0 33
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
New
Article sween · Jun 11 9m read


Virginia's got BIGDATA in IRIS and Iowa wants it

This distraction, "Meshing IrisClusters" with Cilium ClusterMesh, provides database access using the Enterprise Cache Protocol (ECP) from the Eastern Seaboard of the United States to the MidWest on Google Cloud Platform.  Ridiculously powerful setup for national/multi-national setups and though the use cases are a plenty, this particular one is a simple example on how to send ETL/ELT the unemployment office.

0
1 44
Article Yuri Marx · May 25 12m read

The rise of distributed systems and cloud-native architectures within large institutions has redefined hosting for InterSystems IRIS interoperability applications (productions). In modern environments, the standard layout involves at least two production instances operating on distinct nodes under a load-balancing configuration to handle requests.

The benefits are clear: you can now scale dynamically based on request volume, increasing the number of active productions during peak demand and going down when traffic subsides.

4
1 361
Article Robert Cemper · Oct 18, 2025 1m read

As in the previous package, all is running from a CSP page.
And it is all classic CSP written with InterSystems ObjectScript, JavaScript, HTML
Besides the graphic, you also get concrete numbers freshly collected from your local
instance or from remote instances that also installed the package. 

The final result

The processing steps 

  • A CSP page is called by its URL
  • In method OnPreHTTP
    • The System Query fills the temp table from %SYS
    • If the correct URL parameter is provided 
3
2 234
New
Article Developer Community Admin · Jun 11 12m read

Overview 

This article explains how InterSystems IRIS Data Platform handles both transactional and analytic workloads without sacrificing performance. It also covers how the platform manages memory and scales under peak load, what its security model looks like, and how global banks and brokerages are using it in production today.

InterSystems IRIS Data Platform for Financial Services

InterSystems IRIS data platform is a technology for mission-critical financial services applications.

0
0 235
New
Question Norman W. Freeman · Jun 11

I would like to create a generic error handler defined somewhere in a class (or if not possible a routine that calls a class). 
This should not be page specific but for the whole app (as I have lots of CSP pages inside a legacy app). Obvisouly this will not be a single try catch block but rather something setup at system level (or web application level if not possible). The same way it's possible to handle sessions in a global way (by having aclass that inherit from %CSP.SessionEvents).

1
0 44
New
Article Johannes Heikkonen · Jun 11 1m read

Hi everyone, 

I created a short demo and reference repository showing how to configure Auth0 as an OAuth provider for an InterSystems IRIS FHIR server, and how to call protected FHIR resources from a Python Flask application. 

The links below include a video walkthrough and a github repo with the sample application used in the video 

Links 

Video walkthrough

GitHub repository: https://github.com/MarshyKid/iris-fhir-oauth-demo

0
1 52
Article Sylvain Guilbaud · Oct 6, 2016 2m read

to dismount/mount a database, use Dismount() and Mount() methods in SYS.Database class available in %SYS namespace.
NB: the database ID is its Directory

You'll find  some examples of how to dismount/mount and check if a database is mounted (Mounted=1) or not (Mounted=0), and quickly see all the attributes of a database (via zwrite)


%SYS>set db="/opt/irisapp/data" 

%SYS>w ##class(SYS.Database).%OpenId(db).Mounted                     
1
%SYS>w ##class(SYS.Database).%OpenId(db).Dismount()
1
%SYS>w ##class(SYS.Database).%OpenId(db).Mounted   
0
%SYS>w ##class(SYS.Database).%OpenId(db).Mount()   
1
%SYS>w ##class(SYS.Database).%OpenId(db).Mounted
1
%SYS>zw ##class(SYS.Database).%OpenId(db)
+----------------- general information ---------------
|      oref value: 3
|      class name: SYS.Database
|           %%OID: $lb("/opt/irisapp/data","SYS.Database")
| reference count: 2
+----------------- attribute values ------------------
|       %Concurrency = 0  <Set>
|        BlockFormat = 2
|          BlockSize = 8192  <Set>
|             Blocks = 780288
|       BlocksPerMap = 62464
|   ClusterMountMode = 0  <Set>
|     ClusterMounted = 0  <Set>
|        CurrentMaps = 13
|          Directory = "/opt/irisapp/data/"  <Set>
|     DirectoryBlock = 3
|        EncryptedDB = 0  <Set>
|    EncryptionKeyID = ""
|          Expanding = 0
|      ExpansionSize = 0  <Set>
|               Full = 0
| GlobalJournalState = 3  <Get,Set>
|     InActiveMirror = 0
|  LastExpansionTime = "09/06/2023 20:00:01"
|            MaxSize = 0  <Set>
|MirrorActivationRequired = 0
|    MirrorDBCatchup = 0
| MirrorDBCreatedNew = 0
|       MirrorDBName = ""
|     MirrorDBPaused = 0
|   MirrorFailoverDB = 0
|      MirrorNoWrite = 0
|     MirrorObsolete = 0
|      MirrorSetName = ""
|           Mirrored = 0
|            Mounted = 1
| NewGlobalCollation = 5  <Set>
|NewGlobalGrowthBlock = 50  <Set>
|    NewGlobalIsKeep = 0  <Set>
|NewGlobalPointerBlock = 16  <Set>
|   NumberOfConfigDB = 0
|       ROReasonCode = 0
|       ROReasonText = ""
|           ReCreate = 0
|           ReadOnly = 0  <Set>
|    ReadOnlyMounted = 0
|       Reinitialize = 0
|        RequestSize = 0
|       ResourceName = "%DB_IRISAPP-DATA"
|RunCatchupDBOnCreate = 1
|                SFN = 6
|               Size = 6096  <Set>
|           Skeleton = 0
|           SparseDB = 0
+----------------------------------------------------- 
%SYS>
5
1 3011
New
InterSystems Official Bob Kuszewski · Jun 10

We released the x64_64 Ubuntu 26.04 build back on May 21st.  At the time we said that we were holding off on releasing ARM support due to come occasional network problems we found in testing.  We've worked with Ubuntu to resolve those issues - a bug in a vendor's network driver - and are pleased to say...

 InterSystems announces the general availability of:

  • InterSystems IRIS Data Platform 2026.1.0.237.3
  • InterSystems IRIS for Health 2026.1.0.237.3
  • HealthShare Health Connect 2026.1.0.237.3

This release adds support for the Ubuntu 26.04 operating system for both ARM and x86_64 processors

1
0 56
Question Don Martin · Sep 5, 2025

We have a task that runs objectscript code to load data into a linked external table.  After upgrading from 2024.1 to 2025.1, the load is throwing an error, with error code -400, and no error message.  The data DOES get loaded into the external table in its entirety, so with no meaningful error message, its hard to determine what the issue is.  The result is the same with and without the USING clause, so don't let that confuse you.

3
0 158
Article Robert Cemper · Oct 14, 2025 3m read

To better understand Streams in IRIS I'll start with a short

History

In the beginning (before IRIS), there was just basic access to external devices.
The 4 commands OPEN, CLOSE, READ, WRITE still work and are documented 
by  Introduction to I/O in detail.
Especially for files, this is a direct access to your actual file system.
You have to take care of any status or other signal in your code.  
Also, any code conversion or similar is up to you. 

Class %Library.File aka %File offers a large collection of methods and queries 
for standard operations on directories and files.

3
4 282
Question Anderson Negreli · Mar 25, 2021

Hi,

I'm doing a query in SQL and I need to sort my data by some non-repeated field.

Unfortunately, my data is grouped in a way that I cannot guarantee that any column will not have repeated data, so one solution would be to take the row number.

Also, the Cache is not accepting Row_Number () in my querry and I would like to know if there is another solution to return line numbers or some way to add this function to the Cache.

Best regards.

9
0 4000
Question Tani Frankel · Feb 1, 2024

Is it possible to authenticate an xDBC (ODBC/JDBC) connection to InterSystems IRIS via (a 3rd party) OAuth server?

For REST APIs this is possible, but could this be achieved with OAuth? 

Out-of-the-box the ODBC/JDBC Drivers don't seem to have this option, but maybe some custom code could enable this? perhaps via Delegated Authentication and some OAuth classes customization, or some other way?

Has anyone done this already and can share how it was implemented, or someone with some guideline suggestions?

2
0 265
New
Article Luana Machado · Jun 9 12m read

1. Introduction

Epidemiological surveillance is one of the foundational pillars of public health. Régis Júnior et al. (2026) define it as a continuous system of data collection, analysis, interpretation and dissemination of health events — a function whose effectiveness depends critically on the quality of information systems, data analysis capacity, and coordination between different levels of care.

2
2 46
New
Article Dmitry Maslennikov · Jun 10 7m read

FHIR REST APIs are powerful and standardized, but they are not a general-purpose query engine.

They are great for operations such as reading resources, searching by supported parameters, following links, and working with Bundles. But many real-world questions require orchestration across multiple resources.

For example:

  • Show diabetic patients with A1c above 9 in the last 6 months.
  • Find diabetic patients whose HbA1c is getting worse despite active insulin therapy.
  • Find patients with abnormal HbA1c and no follow-up encounter within 90 days.
  • Find patients with overlapping anticoagulant and NSAID prescriptions.
  • Build an evidence timeline for a patient.
  • Explain why this patient matched the query.
0
1 22
Article Carlos Eduardo Dias Duarte · Jun 7 7m read

Hospital readmissions cost the US healthcare system $17 billion annually. A significant portion of those readmissions are preventable — but only if the right information reaches the right clinician at the right moment: at discharge.

That's the problem I set out to solve with Smart Discharge Navigator, my entry for the InterSystems Programming Contest: AI Agents for FHIR 2026.


2
0 66