- HealthShare Unified Care Record Overview – Virtual May 15-16, 2025
- The HealthShare Unified Care Record Overview course is a great way for anyone to become familiar with Unified Care Record, but especially those who need to understand its capabilities but not how to configure HealthShare Unified Care Record.
- This is a non-technical, instructor-led in person training course providing a comprehensive introduction to HealthShare Unified Care Record.
- This course is for anyone who needs to know about the functionality and architecture of HealthShare Unified Care Record. (If you need
i have a line in my *.scr file like this:
send: s rlt=##class(%SYS.Namespace).ListAll(.rlt)<CR>
wait for:USER>
send: S A="" F S A=$O(rlt(A)) q:A="" I A["USER"!(A["CLIE") F I=1:1:$L(L,",") S G="^["""_A_"""]"_$P(L,",",I) S B="" F S B=$O(@G@(B)) Q:B="" F J=1:1:$L(B) S V=$A($E(B,J,J)) I (V<48!(V>57))&&(V<65!(V>90))&&(V<97!(V>122)) W A,?10,G,?30,B,!<CR>
wait for:USER>
it errors out with this <SYNTAX> error where the "<" or ">" are not accepted.
I (V057))&&(VA90))&&(Va122)) W A,?10,G,?30,B,!
How do I escape these characters so that my script works??
Thanks
I read the article by @Rodolfo Pscheidt:
https://community.intersystems.com/post/ollama-ai-iris
I forked his app and copied selected files from @Guillaume Rongier iris-rag-demo to make it containerized:
I ran load_data.py and I got this output:
irisowner@e10968e4da42:/irisdev/app$ python3 load_data.py
Document ID: cbfa2f20-6627-407b-bbad-31722d18ca13
modules.json: 100%|█████████████████████████████████████████████████████████████| 349/349 [00:00<00:00, 778kB/s]
config_sentence_transformers.json: 100%|████████████████████████████████████████| 123/123 [00:00<00:00, 447kB/s]
RE
Hi all,
I can't find the list of business host setting sections and (crucially) how to refer to them in the SETTINGS parameter, as marked in purple here:
Parameter SETTINGS = "MySetting:Basic";
Does anyone know where this list lives?
Otto
After upgrading from 2024 to 2025 Im not able to compile any class.
I was using ZPM and git-source-control.
Now Im getting
Compilation started on 04/19/202520:53:00 with qualifiers 'cuk /checkuptodate=expandedonly'
ERROR #5002: ObjectScript error: <CLASS DOES NOT EXIST>OnAfterSave+4^SourceControl.Git.Extension.1 *SourceControl.Git.Utils
Detected 1 errors during compilation in 0.209s. class '%Studio.SourceControl.Interface', method 'OnBeforeTimestamp': <CLASS DOES NOT EXIST> 150 I disabled SourceControl in Management portal and nothing happen.
I cloned iris-rag-demo from Open Exchange and issued docker-compose up -d. I went to the front end and type in the chat message:
Who was the 46th President of United States of America?
I got a run time error:
RuntimeError: ERROR <Ens>ErrBPTerminated: Terminating BP ChatProcess # due to error: ERROR #5002: ObjectScript error: <PYTHON EXCEPTION> *<class 'RuntimeError'>: <PYTHON EXCEPTION> <class 'ValueError' > ERROR #5002: ObjectScript error: <PYTHON EXCEPTION> *<class 'RuntimeError'
Traceback:
File "/irisdev/app/src/python/rag/app.py", line 28, in process_input agent_text =
I cloned @Yuri Marx's langchain-iris-tool repo and typed docker-compose up -d. I see error message:
Error response from daemon: could not select device driver "nvidia" with capabilities: [[gpu]]
I added extra OBX segments and I need to renumber OBX 4 so they are sequential.
.png)
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
For my hundredth article on the Developer Community, I wanted to present something practical, so here's a comprehensive implementation of the GPG Interoperability Adapter for InterSystems IRIS.
Every so often, I would encounter a request for some GPG support, so I had several code samples written for a while, and I thought to combine all of them and add missing GPG functionality for a fairly complete coverage. That said, this Business Operation primarily covers data actions, skipping management actions such as key generation, export, and retrieval as they are usually one-off and performed manually anyways. However, this implementation does support key imports for obvious reasons. Well, let's get into it.
Hello Developers,
I have MacBook Pro M3 and I'm new to the IRIS for Health setup / installation with all pre-requisite / requirements so someone could please help me with detailed instructions on how to setup IRIS for Health (HL7 & FHIR) from scratch along with SQL Server? I have Windows 11 installed in parallel desktop if that's required and complete installation / setup is not possible on MacBook.
Thank you in advance.
Rushi
InterSystems IRIS 2025.2.0 introduces several features to improve the user experience of configuring OAuth2.
- OAuth2 is now a native authentication type and can be easily enabled for your services and web applications. Previously, OAuth2 was a type of delegated authentication.
- You can now create resource servers with the new OAuth2.ResourceServer class, which simplifies resource server configuration significantly. Previously, resource servers were instances of OAuth2.Client.
- The OAuth2.ResourceServer class and provides a sample authenticator for determining user permissions which, for
Hi, Community!
Looking to get actionable insights from your healthcare research? See how InterSystems OMOP can help:
Hey Community,
We're excited to invite you to the next InterSystems UKI Tech Talk webinar:
⏱ Date & Time: Thursday, April 24, 2025 14.30-15.30 UK
👨🏫 Speaker: @Kinshuk Rakshith, Sales Engineer, InterSystems

Looking to download IRIS for health 2024.1 software
Dear Community,
I need to collect a file from an FTP server over FTPS.
I have the :
- credentials saved correctly
- correct host and port informatoin
- correct filepath I am trying to collect from
- I have setup the SSL configuration in System > Security Management > SSL/TLS Configurations and this tests sucessfully
When I run the business service to connect it connects, but soon after connecting it fails to open the directory:
| Type | Time | Text | ID |
|---|---|---|---|
| Error | 2020-06-23 14:42:06.542 | ERROR <Ens>ErrFTPListFailed: FTP: Failed List for *.txt (msg='PROT P required',code=521) | 36581958 |
| Inf |
I have written a new script for csv file export, which writes lines to a %Library.File file based on a SQL query.
The code is simplified into the following as
try {
// set up file as %Libary.Fileset f = ##class(%Library.File).%New()
set f.Name = "export.csv"if (##class(%File).Exists(f.Name)) { $$$ThrowOnError(##class(%File).Delete(f.Name)) }
$$$ThrowOnError(f.Open("WUN"))
$$$ThrowOnError(f.LineTerminatorSet($C(13,10)))
// Write lines from SQL
&sql(DECLARE cur CURSORFORSELECT a, b into :a, :b FROMtable)
&sql(OPEN cur)
&sql(FETCH cur)Hey Community!
We're happy to share the next video in the "Code to Care" series on our InterSystems Developers YouTube:
⏯ How to Build a Scalable Network for Seamless Healthcare Data Exchange
- Building and Managing HL7 Integrations – In PersonMay 5-9, 2025 9:00am-5:00pm EDT
- Build, configure, and manage HL7® V2 interfaces using InterSystems integration technologies.
- This healthcare-focused 5-day course teaches implementation partners, integrators and analysts how to rapidly build HL7 integration solutions.
- Students build a production that processes and routes HL7 messages.
- Students learn how to work with the pre-built HL7 business services, business processes and business operations to receive and send HL7 messages.
- Students also learn how to transform HL7 messages
Hi all,
I noticed today that when adding a namespace (localhost) to the Workplace in VS Code, it is being created as read-only.
I haven’t encountered this issue before - previously, I was able to add the namespace with full access and could edit files without any problems. The settings appear to be the same as before.
.png)
Interested in sharing your thoughts? Sign up to participate here.
I know that people who are completely new to VS Code, Git, Docker, FHIR, and other tools can sometimes struggle with setting up the environment. So I decided to write an article that walks through the entire setup process step by step to make it easier to get started.
I’d really appreciate it if you could leave a comment at the end - let me know if the instructions were clear, if anything was missing, or if there’s anything else you'd find helpful.
The setup includes:
✅ VS Code – Code editor
✅ Git – Version control system
✅ Docker – Runs an instance of IRIS for Health Community
✅ VS Code REST Client Extension – For running FHIR API queries
✅ Python – For writing FHIR-based scripts
✅ Jupyter Notebooks – For AI and FHIR assignments
Before you begin: Ensure you have administrator privileges on your system.
In addition to reading the guide, you can also follow the steps in the videos:
For Windows
Say I have an ObjectScript object called Book. It has 2 properties title and author. It extends JSON.%Adaptor, so I can call book.%JSONExport() and get this output:
{ "title": "For Whom the Bell Tolls", "author": "Hemmingway" }In my web service I want to have a search function that returns an array of Books along with the total number of responses, like this:
{
"results": 3,
"items": [
{ "title": "For Whom the Bell Tolls", "author": "Hemmingway" },
{ "title": "The Invisible Man", "author": "Ellison" },
{ "title": "Tender is the Night", "author": "Fitzgerald" }
]}
W
Hello Community,
I got the PROTECT error while running functions. But, I could able to call the classmethods and methods in class definition with classMethodObject, classMethodValue etc.. from python. without any errors
python code
irispy.functionString('fnString','IRISPython',14)
irispy.function('fnString','IRISPython',14)raise RuntimeError(error_message) RuntimeError: <PROTECT> *Function not allowed
IRISPython.mac
fnString(fn1) public {
quit"Hello "_fn1
}
An experiment on how to use the LangChain framework, IRIS Vector Search, and LLMs to generate IRIS-compatible SQL from user prompts.
This article was based in this notebook. You can run it with a ready to use environment with this application in OpenExchange.
Setup
First, we need to install the necessary libraries:
!pip install --upgrade --quiet langchain langchain-openai langchain-iris pandas
Next, we import the required modules and set up the environment:
import os
import datetime
import hashlib
from copy import deepcopy
from sqlalchemy import create_engine
import getpass
import pandas as pdIf you look at the values.yaml of the IKO's Helm chart you'll find:
useIrisFsGroup:falseLet's break down what it is and in what situations you may want to set it to true.
FsGroup refers to the file system group.
By default, Kubernetes volumes are owned by root, but we need IRIS to own its files (IRIS in containers is installed under irisowner user). To get around this we employ one of two methods:
The initContainers run before app containers (like IRIS) in a pod.They generally set up the environment for the application and then run to completion/terminate.
There is a list of numbers from 1 to 190.
AllList="1,2,3,4,5,6,7,8,9,.....,187,188,189,190"
There is a collection of sets of these values:
List(1)="3,5,6,7,9"
List(2)="1,2,6,9"
List(3)="5,8,9"
List(4)="2,4,6,8"
List(5)="4,7,9"
What is an elegant approach in Object Script to pick the least number of list items:
- List(1)
- List(5)
- List(n)
That together would cover as many numbers as possible from the AllList.
Interested in best coverage over efficiency.
Hello Team,
I got xDBC protocol is not compatible while executing python script. How to fix this error
C:\Users\ak\Desktop\lpyth\iris>C:/Users/ak/AppData/Local/Programs/Python/Python312/python.exe c:/Users/ak/Desktop/lpyth/iris/irisconn.py
An error occurred: connection failed: IRIS xDBC protocol is not compatible
py -m pip list
Package Version
------------------ ---------
intersystems-iris 3.9.2
import intersystems_iris as iris
args = {'hostname':'127.0.0.1', 'port':1972,'namespace':'LEARNING', 'username':'_SYSTEM', 'password':'SYS'}
try:
conn = iris.connect(**args)
irispy =Hello
We are pretty new to Ensemble and we are considering on using a default setup for our production. Let me explain the situation. We have one sender that sends HL7 ADT messages to our system. We have 60+ other systems that need to recieve ADT messages. We where thinking on a few ways on how to do the setup.
Setup1:
We create one big ADTRouter that contains a first mapping.The result is send to another big ADTRouter that contains all the filters/expressions and mappings for the recieving systems.
I have the class ConfigUtils.ConfigSettingsTable, which is a persistent object. I know I need to map packages from the original namespace. In this case, I have mapped ConfigUtils.ConfigSettingsTable from the originating namespace (IRISTST database) across all other namespaces.
With this, I am able to see the table ConfigUtils.InstanceSettings in SQL Explorer in each namespace, but the same data is not shared across environments. For example, in the MAINTENANCE namespace, I can see the table, but I don't see the same information that I see in the table in the original IRISTST namespace.
I am
