Announcement Larry Finlayson · Apr 21, 2025
  • 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
0
0 55
Question Richard Prouvot · Apr 17, 2025

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

3
0 131
Discussion Oliver Wilms · Apr 20, 2025

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:

oliverwilms/ollama-ai-iris
 

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

0
0 130
Question Patrik Spisak · Apr 19, 2025

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.

2
0 150
Question Oliver Wilms · Apr 19, 2025

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 =

0
0 86
Article Eduard Lebedyuk · Apr 18, 2025 8m read

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.

0
2 232
Question Rushi Chandel · Apr 14, 2025

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

3
0 135
Announcement Andreas Dieckow · Apr 17, 2025

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

0
0 146
Question Stuart Byrne · Jun 23, 2020

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
4
0 515
Discussion Hannah Sullivan · Apr 16, 2025

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)
2
0 148
Announcement Larry Finlayson · Apr 16, 2025
  • 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
0
0 70
Article Patrick Jamieson · Apr 15, 2025 6m read

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

2
2 426
Question Raj Singh · Jun 9, 2020

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

18
2 2107
Question Ashok Kumar T · Sep 2, 2024

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
}

7
0 288
Article José Pereira · Aug 2, 2024 28m read

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 pd
9
5 713
Article Ariel Glikman · Apr 15, 2025 4m read

If you look at the values.yaml of the IKO's Helm chart you'll find:

useIrisFsGroup:false

Let'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:

1) initContainers

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.

0
0 213
Discussion Alex Woodhead · Apr 12, 2025

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.

7
0 229
Question Ashok Kumar T · Apr 15, 2025

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 =
2
0 128
Discussion Benny Verhamme · Apr 11, 2025

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.

4
0 256
Question Bransen Smith · Oct 1, 2024

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

8
0 250