#InterSystems IRIS for Health

10 Followers · 2.4K Posts

InterSystems IRIS for Health™ is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data. It includes powerful out-of-the-box features: transaction processing and analytics, an extensible healthcare data model, FHIR-based solution development, support for healthcare interoperability standards, and more. All enabling developers to realize value and build breakthrough applications, fast. Learn more.

Article Sanjib Pandey · Mar 3, 2025 5m read

Background:

This guideline provides an overview of how to design and implement a REST API interface for querying patient demographic data from an Electronic Patient Record (EPR) system using HealthConnect. The process involves sending a query request with the patient's identification number, retrieving the response from the EPR system, extracting the required patient demographic data from the HL7 message, and sending it as a JSON response to the supplier. The high-level process diagram is shown below (Screenshot 1).

5
2 353
Article Muhammad Waseem · Apr 1, 2025 7m read

Hi Community,
In this article, I will introduce my application iris-AgenticAI .

The rise of agentic AI marks a transformative leap in how artificial intelligence interacts with the world—moving beyond static responses to dynamic, goal-driven problem-solving. Powered by OpenAI’s Agentic SDK , The OpenAI Agents SDK enables you to build agentic AI apps in a lightweight, easy-to-use package with very few abstractions. It's a production-ready upgrade of our previous experimentation for agents, Swarm.
This application showcases the next generation of autonomous AI systems capable of reasoning, collaborating, and executing complex tasks with human-like adaptability.

Application Features

  • Agent Loop 🔄 A built-in loop that autonomously manages tool execution, sends results back to the LLM, and iterates until task completion.
  • Python-First 🐍 Leverage native Python syntax (decorators, generators, etc.) to orchestrate and chain agents without external DSLs.
  • Handoffs 🤝 Seamlessly coordinate multi-agent workflows by delegating tasks between specialized agents.
  • Function Tools ⚒️ Decorate any Python function with @tool to instantly integrate it into the agent’s toolkit.
  • Vector Search (RAG) 🧠 Native integration of vector store (IRIS) for RAG retrieval.
  • Tracing 🔍 Built-in tracing to visualize, debug, and monitor agent workflows in real time (think LangSmith alternatives).
  • MCP Servers 🌐 Support for Model Context Protocol (MCP) via stdio and HTTP, enabling cross-process agent communication.
  • Chainlit UI 🖥️ Integrated Chainlit framework for building interactive chat interfaces with minimal code.
  • Stateful Memory 🧠 Preserve chat history, context, and agent state across sessions for continuity and long-running tasks.
0
0 365
Article janzai renato · Apr 1, 2025 1m read

# IRIS-Intelligent Butler
IRIS Intelligent Butler is an AI intelligent butler system built on the InterSystems IRIS data platform, aimed at providing users with comprehensive intelligent life and work assistance through data intelligence, automated decision-making, and natural interaction.
## Application scenarios
 adding services, initializing configurations, etc.

1
1 217
Article Sanjib Pandey · Apr 1, 2025 3m read

 JSON Web Token (JWT) Authentication

Hi Everyone,

I would like to share the code and step-by-step instructions/or guideline for generating a JWT (JSON Web Token) signature, as well as how to test it using Postman / HealthConnect.

JWT is an open standard (RFC 7519) that defines a compact, URL-safe method for securely transmitting information between parties in the form of a JSON object.

Structure of a JWT:

A JWT consists of three parts, separated by dots (.):

Header

.

Payload

.

0
5 225
Article Luis Angel Pérez Ramos · Apr 1, 2025 5m read

I just realized I never finished this serie of articles!

GIF de Shame On You Meme | Tenor

In today's article, we'll take a look at the production process that extracts the ICD-10 diagnoses most similar to our text, so we can select the most appropriate option from our frontend.

Looking for diagnostic similarities:

From the screen that shows the diagnostic requests received in HL7 in our application, we can search for the ICD-10 diagnoses closest to the text entered by the professional.

To speed up the search process, we stored the vectorized text of the diagnosis received at the time of capturing the HL7 message in our database.

0
0 207
Article Cecilia Yang · Mar 31, 2025 2m read

The complex record mapper can help you process text file data consisting of various types of records to persistent messages in IRIS. To gain a basic understanding of the complex record mapper and see an example implemented in the production, check out the learning services video below:

https://community.intersystems.com/post/video-using-complex-record-mapper

This article is going to help troubleshoot when you see <Method DOES NOT EXIST> when handling record objects.

0
0 189
Article Yuri Marx · Mar 31, 2025 13m read

Now it is possible ask your IRIS server using an AI Chat or compose other agent applications to get:

  1. List the server metrics
  2. Return intersystems iris server information
  3. Save the global value Hello to the global name Greetings
  4. Get the global value Greetings
  5. Kill the global Greetings
  6. List the classes on IRIS Server
  7. Where is intersystems iris installed?
  8. Return namespace information from the USER
  9. List the CSP Applications
  10. List the server files on namespace USER
  11. List the jobs on namespace %SYS

To do it, get and install the new package langchain-iris-tool (https://openexchange.

0
2 242
Question Dmitrii Baranov · Mar 31, 2025

I'd like to ask you for recommendations on how to properly use repository dependencies when using VSCode and Client-side editing. Suppose I have projects A, B and C, with A being independent, B depending on A, and C depending on A and B. I am currently working with the main project C, and I want to be able to contribute to all the other projects in a single VSCode window (instead of opening three instances). How do you solve this problem? Git submodules? ZPM? Something else?

1
0 127
Question Padmaja Konduru · Mar 29, 2025

We are receiving the report in text format and it has special characters like ', - like that in the text. Source system is using the UTF8 encoding format hence the text is showing as ' � ' . Is there a way to convert the utf8 to actual character in the DTL.

Thank you,

6
0 278
Question Dmitrii Baranov · Dec 17, 2024

I have a business service which is responsible for some batch operations with an SQL table. The process is generally slow but it is possible to scale the performance using multithreading and/or parallel processing and logical partitioning (postgres):


select id, col1, col2, mod(row_number() over (), 4) as partition from some_table;

Thus, a partition index will be assigned to each table row. The idea is to create several instances of my business service using pooling (e.g. Pool Size = 4) so each business service instance will be responsible to hande rows belonging to a certain partition, e.g.

6
0 194
Article Luis Angel Pérez Ramos · Jul 25, 2024 4m read

With the introduction of vector data types and the Vector Search functionality in IRIS, a whole world of possibilities opens up for the development of applications and an example of these applications is the one that I recently saw published in a public contest by the Ministry of Health from Valencia in which they requested a tool to assist in ICD-10 coding using AI models.

How could we implement an application similar to the one requested? Let's see what we would need:

  1. List of ICD-10 codes, which we will use as context for our RAG application to search for diagnoses within the plain texts.
2
3 444
Question Gary M Lusso · Mar 22, 2025

I need to make changes to  OBX 5 which shows as immutable

I have tried ConstructClone, ThrowOnError, and Streams but I can't get the syntax correct

Example

OBX|1|TX|2000.02^REASON FOR REQUEST^AS4|142|REASON FOR REQUEST:      Total Cost:           0.00||||||O
                                        ^^^^ remove "REASON FOR REQUEST"                                                                            ^^ add cr/lf so down stream reports can be formatted more easily

I have the code done to parse out the "REASON FOR REQUEST" but I need to make the OBX 5 show the change.

Before:

OBX|1|TX|2000.

27
0 292
Article Hiroshi Sato · Mar 27, 2025 1m read

InterSystems FAQ rubric

You can use the WriteToConsoleLog method of the %SYS.System class to write any message to the console log.

The following is an example:

%SYS>write##class(%SYS.System).WriteToConsoleLog("xxxxx log message",0,0)
1

For details on the parameters that can be specified in the WriteToConsoleLog method, please refer to the following document:

Class Reference (%SYS.System) 【IRIS】

Class Reference (%SYS.System)

0
2 307
Announcement Anastasia Dyubaylo · Mar 25, 2025

Hi Community,

Check out this new video that shows how to build the UI for InterSystems FHIR server from scratch using AI with no previous frontend experience:

📺 Building and Deploying React Frontend for the InterSystems FHIR server in 20 minutes with Lovable AI

🗣 Presenter: @Evgeny Shvarov, Senior Manager of Developer and Startup Programs, InterSystems

1
2 177
InterSystems Official Daniel Palevski · Mar 26, 2025

InterSystems Announces General Availability of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect 2025.1

The 2025.1 release of InterSystems IRIS® data platform, InterSystems IRIS® for HealthTM, and HealthShare® Health Connect is now Generally Available (GA). This is an Extended Maintenance (EM) release.

0
1 333
Announcement Larry Finlayson · Mar 26, 2025

Managing InterSystems Servers – In-Person  April 14-18, 2025

  • Configure, manage, plan, and monitor system operations of InterSystems Data Platform technology
  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.
0
0 46
Question Mauricio Aguirre · Mar 26, 2025

Hi!
I have installed IRIS 2024.1 in RHEL 9.5, using the following 

sudo ISC_PACKAGE_INSTANCENAME="IRISTEST01" ISC_PACKAGE_INSTALLDIR="/iris" \
ISC_PACKAGE_UNICODE="N"  ISC_PACKAGE_INITIAL_SECURITY="Normal" \
ISC_PACKAGE_INSTALL_INTEGRATEDML="N" ISC_PACKAGE_MGRUSER="irisowner" \
ISC_PACKAGE_MGRGROUP="irismgr" ISC_PACKAGE_USER_PASSWORD="**************"  \
ISC_PACKAGE_IRISUSER="irisusr" ISC_PACKAGE_IRISGROUP="irisgrp" \
ISC_PACKAGE_CSPSYSTEM_PASSWORD="**************" ISC_PACKAGE_WEB_CONFIGURE="Y" \
ISC_PACKAGE_WEB_SERVERTYPE="Apache" ISC_PACKAGE_WEB_APACHE_VERSION="2.
0
0 118
Article Adam Coppola · Mar 26, 2025 3m read

Hello interface engineers and app developers,     

Did you know that you can use Python in productions or integrations?

The production configuration user interface is low-code, but in many projects, you may reach a point where you need to write some code. As discussed in the Integration Architecture course, business processes are full of places for inserting code, specifically the BPL editor (for BPL business processes) and the DTL editor (for data transformations).

😯 As of InterSystems IRIS 2025.1, both Python and InterSystems ObjectScript are supported in the BPL and DTL editors.

0
0 287
Announcement Michelle Spisak · Mar 25, 2025

Are you a developer, data engineer, integration engineer, or data scientist who works hands-on with InterSystems products? 

We are conducting 30-45 minute interviews to understand your experience — how you started with InterSystems products, where you find helpful code samples, and how we can improve our products to better support your journey. 

If you’re interested, fill out a quick survey to share your contact info and experience.

If you're selected, we will schedule a session at your convenience between April 2 and May 8 for an interview based on the information you provide.

🎁 As a thank-you, interview participants will receive 10,000 Global Masters points!

Your feedback will directly help us improve your experience using InterSystems products and services.

Kindly note that the spots are limited. 

0
0 120
Question Darin Kurth · Mar 19, 2025

I have a HL7 DTL in which I'm doing a lookup to a table based on a code value in the IN1:3 field.  That incoming code may have a 1 to 1 mapping, or 1 to many mapping in a table.  If it's a 1 to many, the values in the lookup table are comma delimited.  If it's 1 to 1, that IN1 segment will map straight across.  If it's one to many, I need to create additional IN1 segments.  For example, if the incoming code maps to three, I need to map the original IN1 segment with one of the mapped codes, then create two additional IN1 segments with the other 2 codes for a total of 3 IN1 segments.

2
0 117
Job varsha Vijay · Mar 6, 2025

Role: Principal Architect and Integration Engineer

Employment Type: Full Time 

Note: Expertise in Rhapsody/Intersystems is Mandatory.

Main Responsibilities  

  1. Technology Strategy Key contributor to the technology strategy for the business, setting a north star, and driving excellence for our adoption and implementation of technologies to deliver Data Sharing/Integration, API Enablement, and Data Migration Services now and into the future.
1
0 247
Announcement Celeste Canzano · Mar 24, 2025

Hello again IRIS community,

We have officially released our InterSystems IRIS Developer Professional certification exam for beta testing. The beta test will be available until April 20, 2025. As a beta tester, you have the chance to earn the certification for free!

Interested in beta testing? See the InterSystems IRIS Developer Professional Beta Test Developer Community post for exam details, recommended preparation, and instructions on how to schedule and take the beta exam. 

Thank you!

0
0 153
Question Scott Roth · Mar 21, 2025

I was using VSCode to edit a DTL because it seemed easier to copy/paste code from parts of the DTL I was editing. I tried to add <sql> tag and code to call a SELECT statement, but when I compiled I got the following error...

ERROR <Ens>ErrInvalidDTL: Invalid DTL

  > ERROR #5490: Error running generator for method 'GetSourceDocType:osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'

ERROR: Ens.DataTransformDTL.cls(GetSourceDocType) of generated code compiling subclass 'osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'

    > ERROR #5030: An error occurred while compiling class 'osuwmc.Epic.MFN.

2
0 137
Article Megumi Kakechi · Jul 18, 2024 1m read

InterSystems FAQ rubric

This can be done with TRY-CATCH:

#dim ex As%Exception.AbstractExceptionTRY {
    //Code that causes an error
  }
  CATCH ex {
     do ex.Log()
  }

If you use ^%ETN, call it from the BACK entry (BACK^%ETN).

Please also take a look at the related article: How to get application errors (^ERRORS) using a command

1
0 306