New
Announcement Celeste Canzano · 1 hr ago

Hello community,

The Certification Team of InterSystems Learning Services is excited to announce the release of our new InterSystems EMPI Technical Specialist exam. This release is a fully refreshed and updated version of our previous HealthShare Patient Index Technical Specialist exam.

It is now available for purchase and scheduling in InterSystems exam catalog. Potential candidates can review the exam topics and the practice questions to help orient them to exam question approaches and content.

0
0 5
InterSystems Developer Community is a community of 26,589 amazing developers
We're a place where InterSystems IRIS programmers learn and share, stay up-to-date, grow together and have fun!
Contestant
Article Andre Larsen Barbosa · 1 hr ago 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 9
New
Article Kate Lau · 16 hr ago 3m read

Hi, every one. Again, it's me!!😀😀

Recently I was trying to organize some learning materials for InterSystems IRIS😆, and realized that the resources are actually quite scattered.🤐

So I put together a list here—grouped by categories—for anyone who:

  • is new to InterSystems
  • or wants to go deeper into specific areas

Also adding some of my own experience on what worked (and what didn’t, may be only not work for me🤫🤐).


1. For starters

If you don’t know where to begin, start here:

5
0 61
New
Announcement Lynn Wu · 3 hr ago

#North American Demo Showcase entry


⏯️ HL7 Validation Error Profiler: Rapid Insights into Batch HL7 Data Quality Issues

This demo highlights how HL7 validation logs can be transformed into scalable, actionable data quality insights using a lightweight application built on top of Health Connect.

  • Batch ingestion and parsing of HL7 validation error logs into structured data
  • Aggregation of errors by segment, field, and type to reveal systemic issues
  • Interactive dashboard (Streamlit) for filtering, exploration, and root cause analysis
  • Rapid identification of top error patterns across entire data feeds
  • Natural language chatbot for intent-driven data investigation and querying
  • PDF report generation for sharing clear, evidence-based feedback during data source onboarding 

Special thanks to @Henry Wojnicki for his contributions to designing and refining the application workflow.

🗣 Presenter: @Lynn Wu, Sales Engineer at InterSystems

1
0 11
Article Vachan C Rannore · Aug 18, 2025 3m read

While starting with Intersystems IRIS or Cache, developers often encounter three core concepts: Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together. 

1. Working with Dynamic Objects:

Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. They are especially useful for modern applications that need to parse, transform or generate JSON.

5
7 350
Question Sergey Pavlov · Aug 25, 2017

Is there a way to omit or skip rollback of some data changes during a transaction rollback? Maybe some sort of "autonomous transaction"?

The issue is with error logging in transaction. For example we may have in nested calls the following structure:
TS
<some code>
<error happens>
TRO 1
<error log to database>

but if this code is in another transaction, and that rolls back we lose error data.

Is there a way to do something like
TS
<some code>
<error happens>
TRO 1

<autonomous transaction start\flag>
<error log to database>

so error log will be stored anyway?

9
0 1072
New
Announcement John Murray · 4 hr ago

Over the past year there have been a few DC articles offering MCP servers designed to connect to IRIS and help the AI features of VS Code and its cousins do a better job. For example:

0
0 11
Article Hiroshi Sato · Aug 28, 2025 1m read

InterSystems FAQ rubric

There is data, such as execution log data, that you do not want to return to its previous state even if a rollback occurs during a transaction. The above requirement can be met by placing that data in the IRISTEMP database, which will not be rolled back.

Temporary Globals and the IRISTEMP Database

By mapping the table entities you do not want to roll back to this database, you can retain the information after the rollback.

1
0 128
New
Question Norman W. Freeman · 8 hr ago

I use cspa24.so Apache module to connect to IRIS. I have notified that idle Apache processes will always result in connections being kept open to the IRIS server, and thus some amount of IRIS processes being kept alive (and dedicated to those apache processes) because of those connections.

Eg: if I have 50 idle Apache processes, I will have 50 IRIS processes being kept alive in IRIS even if there is no client connection being made at that time. 

It's even worse with multiple Apache nodes and a load balancer.

5
0 36
Article James Li · Aug 28, 2025 4m read

Disclaimer: the following tutorial attempts to install qpdf-12.2.0 and libreoffice-25.8.1 for HSCV2025.8

Examples for Installing qpdf

Linux & Ubuntu

# 1. Download qpdf-12.2.0 AppImage programatically, or manually from https://github.com/qpdf/qpdf/releases/tag/v12.2.0
wget -O qpdf-12.2.0.AppImage https://github.com/qpdf/qpdf/releases/download/v12.2.0/qpdf-12.2.0-x86_64.AppImage

# 2. Make the AppImage executable
chmod +x qpdf-12.2.0.AppImage

# 3. Add executable to system PATH as “qpdf”
sudo mv qpdf-12.2.0.AppImage /usr/local/bin/qpdf

# 4. Verify you’re now running version 12.2.
1
0 159
New
InterSystems Official Daniel Palevski · 6 hr ago

Summary

Advisory ID

Product & Versions Affected

Risk Category & Score

Explicit Requirements

IF-9396

InterSystems IRIS® for Health

InterSystems Health Connect™

versions 
2026.1.0

System Stability Concern: 3

Deployments with non-default path-prefixes will not serve FHIR Server UIs.

Issue

  • Deployments do not serve FHIR Server, bulk FHIR, FHIR SQL, or associated security user interfaces when using a non-default path prefix. For example, when using logical path configurations with Windows IIS, Apache, or other web servers.
0
0 19
Article Iryna Mykhailova · Oct 19, 2020 3m read

Updated 14/04/26

Before you can start building with InterSystems IRIS, you need a working local or server installation. This guide walks through downloading the distribution and installing IRIS on Windows in a straightforward way, focusing on the steps and decisions that matter in a development setup.

I’ll cover where to get the appropriate version, what prerequisites to check before installing, and how to run through the installer on your platform. The goal is to get you to a clean, usable environment with minimal friction, so you can move on to writing code, exploring the data platform, and integrating with your existing tools.

To download a Community version, please read this article: How to get InterSystems IRIS Community Edition. It explains the different ways to obtain InterSystems IRIS Community Edition, highlighting options for local, containerized, and cloud-based setups. It shows how to use Docker to quickly pull and run a ready-to-use IRIS instance. You can also learn how to deploy IRIS in the cloud via marketplaces like AWS to avoid local installation. What's important here, this guide walks through downloading an install kit from the InterSystems Evaluation Service and selecting the right version and platform.

9
3 10388
Article Sammy Lee · Aug 28, 2025 1m read

As part of a recent documentation technical project to optimize the search, I needed to use Embedded Python in my ObjectScript code. The main blocker was passing a Python list from a Python class method to a ObjectScript method. Sending the list by reference to the python method, populating it with the Insert() method, and returning the reference to the ObjectScript method resulted in an list with type %SYS.Python, a process that was straightforward but not efficient.
I explored an alternative method: converting a Python list to an ObjectScript list using JSON as the intermediary format.

1
2 163
New
Question Scott Roth · Apr 13

This past weekend we ran into something odd. When we failed over our mirror from 2022.1.3 to 2025.1.3 the one of the Business Rules that was on what became the Primary (2025.1.3), had a rule within it that was removed back in January. When the Failover occurred, we had to scramble to backup, disable, and remove the Rule that shouldn't have been there. 

Both the Data and Code live within the same IRIS.dat that is the main MIRROR database for that Namespace. 

If this happened to one Class file, could it happen to others we do not know about?

4
0 78
New
Question Mark Charlton · Apr 13

I'm starting to play more with AI enabled coding. 
I've been using Github Copilot inside Visual studio code, which is very good at coming up with autocomplete suggestions that are accurate and useful. (Along with some utter rubbish, naturally).
For web development I'm starting to use Claude Code in VS Code to help create web sites and integrations. I want to see how it can help with IRIS development. 

However I can't get claude to read any iris code directly as I'm connected to my server via isfs server connections.

5
0 79
Discussion Anastasia Safronova · Mar 30

READY 2026 is almost here, and we’re really curious to hear what everyone is looking forward to this year 🚀

What are you most excited about? It could be a topic you want to explore, a question you’re hoping to get answered or something you’re simply curious about.

Share your thoughts below! We’d love to hear what’s on your mind and see what others are excited about too 💬

Feel free to read through the replies and like the ones you relate to! 😊

8
0 178
New
Article Jinyao · Apr 2 2m read

Motivation

Why do we need this?

  1. Lack of Compiled Context: AI tools only see source code; they don't know what the final compiled routine looks like.

  2. Macro Hallucination: Because AI doesn't see our #include files or system macros, it often makes them up, wasting time during debugging.

  3. The Documentation Gap: Deep logic optimization often requires understanding internal macros that aren't fully covered in public documentation.

  4. Manual Overhead: Currently, the only way to fix this is to manually use the IRIS VS Code extension to find the "truth" in the routine.

4
0 89
New
Article Muhammad Waseem · 13 hr ago 10m read

Hi Community,

In our two preceding articles, we explored the fundamentals of the Interoperability Embedded Python (IoP) framework, including message handling, production setup, and Python-based business components.

In this third piece, we will examine advanced methodologies and practical patterns within the IoP framework that are pivotal for real-world interoperability implementations.
We will explore the following topics: 

DTL (Data Transformation Language) in IoP
✅ JSON Schema Support
✅ Effective Debugging Techniques

Collectively, these features help us create maintainable, validated, and easily troubleshootable production-grade interoperability solutions.

0
0 24
Announcement Anastasia Dyubaylo · Feb 26

Hey Community!

Have you attended one of the Global Summits or a previous READY 2025? We’d love your help to inspire others to join InterSystems READY 2026!

We’re inviting community members to record a short video (less than 1 minute) answering one or more of these questions:

  • What did you find most valuable about attending?
  • What surprised you?
  • Why should others join READY 2026?
  • Who would benefit most from attending?

Your authentic perspective helps future attendees understand the real impact of these events, beyond the agenda.

🎥 To record a short video, follow the link. No preparation needed.

13
0 262
New
Article Anastasia Dyubaylo · Apr 13 3m read

Every great community is enriched by those who work tirelessly behind the scenes, crafting the knowledge and resources that help others grow. In the InterSystems Developer Community, one such person is @Derek Robinson — a dedicated educator, whose passion for teaching has helped shape how developers everywhere learn to work with InterSystems technologies.

👏 Let's take a closer look at Derek's journey in the InterSystems ecosystem.

1
0 35
Contestant
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
3 34
Announcement Irène Mykhailova · Mar 10

Hi Community!

We’re building a series of short, hands-on Instruqt tutorials to help newcomers get up to speed with InterSystems technologies faster and more effectively. To kick things off, we’ve just released a new tutorial, “Data Models of InterSystems IRIS,” covering the fundamentals of the IRIS multimodel approach. This is exactly the type of focused, concise, practical learning experience we want to expand. And this is where you come in!

We’d love to hear your ideas for other tutorial topics to help developers new to InterSystems IRIS take their first steps with confidence. Please welcome the new sweepstakes:

💡 Topics for hands-on Instruqt Tutorials 💡

20
2 401
New
Question Mauricio Sthandier · Apr 12

hi 😊,

i'm able to LOAD DATA in IRIS from a rather complex, say Oracle's, query. It works pretty well but requires a target table created aforehand:

LOAD DATA FROM JDBC CONNECTION SOME_OTHER_SERVER QUERY 'complex query here' INTO TargetTable

is there a way to base such target table on the same query ? 
CREATE FOREIGN TABLE seems to require a column definition which I would prefer to be taken from the query
CREATE TABLE AS SELECT seems to be for local queries and other methods, like Linked Table Wizard or %SYSTEM.SQL.Schema.

1
0 31
New
Question Jainam Shah · Apr 12

Hello,

I am working on integrating a CELL-DYN Ruby hematology analyzer (Abbott) with InterSystems Ensemble using the ASTM E1394 protocol over TCP/IP via a Digi One SP serial-to-TCP converter. I am facing a persistent issue where the Link Test keeps failing on the CDRuby side and the Transmit button remains greyed out. I have overridden EOTOptional=1 in the service class file as Ensemble was not able to send ACK after ENQ. Now I am getting below logs like Machine sends ENQ, Ensemble sends back ACK and Machine sends EOT instead of STX.

1
0 21
Announcement Olga Zavrazhnova · Mar 16

Hey Developers,

Thank you for being part of the InterSystems Developer Ecosystem! 
We truly appreciate your participation across the Developer Community, Open Exchange, Global Masters, and the Ideas Portal.

Each year we run a short survey to understand how we can improve our platforms and better support developers like you. Your feedback helps us shape the future of the ecosystem.

Please take a few minutes to complete the survey:

👉 InterSystems Developer Ecosystem Annual Survey 2026 (3-5 min, 12 questions)

Note: The survey takes less than 5 minutes to complete.

2
0 136