#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.

Question Mark OReilly · Feb 4, 2025

When removing a segment in DTL for hl7 using foreach the segment doesn't actually get removed and leaves a blank segment. 

i.e. 

MSH|^~\&|SendingSystem|ReceivingSystem|202301241000||ADT^A01|12345|P|2.4
EVN|S|202301241000
PID|1|MRN12345|1^^^^KEEP~2^^^^Remove~3^^^^Keep|M|19800101|  
PD1|PatientAddress^Street^City^State^Zip
PV1|I|INPATIENT|BED123|DoctorID|202301241000|202301241000

This blank segment to be removed

I read the notes and thought it might be about swizzling at https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

2
0 236
Question Prasanth Annamreddy · Mar 23, 2024

Hi,

I found an issue while fetching records from FHIR DB, I am getting below error thou FHIR repository have the records with the corresponding id

{

    "resourceType": "OperationOutcome",

    "issue": [

        {

            "severity": "error",

            "code": "not-found",

            "diagnostics": "<HSFHIRErr>ResourceNotFound",

            "details": {

                "text": "No resource with type 'Appointment' and id '21'"

            }

        }

    ]

}

5
0 221
Question Phillip Wu · Feb 3, 2025

Hi,

I have Objectscript routine stored in an external Linux file which I've called /my/home/DisplayDB.int

This file does not include any Class definitions and is simply a set a Object script routines. I think this is called INT objectscript

The file looks like this:

set db=##class(Config.Databases).DatabasesByServer("",.dbList)
for i=1:1:$LENGTH(dbList,",") {
  set dbName= $PIECE(dbList,",",i)
  write dbName,!
}

How do I load and compile the Objectscript code?
Do $system.OBJ.Load("/my/home/DisplayDB.int", "ck")
How would I run the code?
do ^DisplayDB
Thanks in advance for any help

3
0 148
Announcement Larry Finlayson · Feb 3, 2025

*** This is our first in person public course scheduled in the new InterSystems One Congress Street training rooms! ***

  • Building and Managing HL7 Integrations – In PersonFebruary 24-28, 2025 9:00am-5:00pm EST
    • 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, bus
0
0 75
Article Ariel Glikman · Feb 2, 2025 3m read

All pods are assigned a Quality of Service (QoS). These are 3 levels of priority pods are assigned within a node.

The levels are as following:

1) Guaranteed: High Priority

2) Burstable: Medium Priority

3) BestEffort: Low Priority

It is a way of telling the kubelet what your priorities are on a certain node if resources need to be reclaimed. This great GIF below by Anvesh Muppeda explains it.

If resources need to be freed, firstly pods with Best Effort QoS will be evicted, then those with Burstable, and finally those with Guaranteed. The idea is that hopefully by evicting the pods that ar

0
2 379
Question Marc Mundt · Jan 31, 2025

I have VS Code with extensions connected to IRIS for Health. One top-level ObjectScript package is not displayed in the workspace for this namespace. This package exists in the namespace and is visible in SMP. If I create a new class with a different top-level package name (package that didn't previously exist) it will immediately appear in the workspace.

Is there any debug logging I can enable to look for errors or do any other troubleshooting?

Forgot to mention: the missing package is custom, not a system package.

5
0 226
Article Sylvain Guilbaud · Jan 31, 2025 1m read

In a containerized environment, you can manage your container time via the TZ variable or via the /etc/timezone and /etc/localtime directories:

environment:
      - TZ=Europe/Paris
volumes:
    - "/etc/timezone:/etc/timezone:ro"
    - "/etc/localtime:/etc/localtime:ro"

You can find complete examples here:

IRIS Community

IRISHealth_Community

IRIS production

IRISHealth production

0
0 141
Article Daryl Flaming · Jan 31, 2025 9m read

My main goal of this article was to prove the use of InterSystems IRIS for Health for REST FHIR interoperability between multiple applications. In this use case, some initiating application makes a REST call to IRIS for Health (which is merely a passthrough for REST calls) to retrieve FHIR data from an Oracle Health R4 FHIR repository. Ideally, it simplifies the syntax for calling the Oracle Health APIs. 

In this article, I will demonstrate a means for implementing a REST Dispatch Class in InterSystems IRIS, where multiple endpoints can have an optional number of arguments, and all endpoints

0
2 345
Announcement Guillaume Rongier · Mar 16, 2022

Iris Healthtoolkit Service

Easy to use HL7v2 to FHIR, CDA to FHIR, FHIR to HL7v2 as a Service.

The aim of this project is to provide an REST API that can convert easily various health formats. Post the desire format in the REST body, get the answer in the new format.

Install

Clone this repository

git clone https://github.com/grongierisc/iris-healthtoolkit-service.git

Docker

docker-compose up --build -d

Usage

gif sda pivot

9
1 1583
Article shan yue · May 15, 2024 2m read

You need to install the application first. If not installed, please refer to the previous article

Application demonstration

After successfully running the iris image vector search application, some data needs to be stored to support image retrieval as it is not initialized in the library.

Image storage

Firstly, drag and drop the image or click the upload icon, select the image, and click the upload button to upload and vectorize it. This process may be a bit slow.

This process involves using embedded Python to call the CLIP model and vectorize the image into 512 dimensional vector d

3
1 308
Question Phillip Wu · Jan 28, 2025

Is it possible to get the length of queue for a production using Python code?

I'm using embedded Python at the moment.

I'd like to use the Python external language server later - the Python external server will not start in my environment.

If it is possible to query the production queue length programmically, please advise how?

It would also be nice to show the number of messages processed per second, if IRIS keeps track of this.

2
0 115
Question Scott Roth · Jan 22, 2025

I am currently experiencing frustration with trying to Authenticate an Active Directory account through JDBC as the Hospital System moves from OnPrem SQL Server to using Azure SQL Server with Microsoft Entra Authentication.

Microsoft cannot give me a straight answer of what is required from a JDBC standpoint to authenticate from a Linux environment.

I am working with WRC, but we are both struggling to find the specific answer for JDBC. If I use my local desktop and JDBC to connect through DBeaver I don't have an issue. So, I am thinking the issue is with not having a java keystore, or keys s

2
0 151
Question Scott Roth · Jan 8, 2025

We connect to MS SQL Databases using the Microsoft JDBC Driver 12.2 using the following URL

jdbc:sqlserver://<server>:<port>;database=<database name>;trustServerCertificate=true;integratedSecurity=true;authenticationScheme=NTLM;domain=osumc;authentication=NotSpecified

They want to migrate the databases to the Azure Cloud and in doing so we need the Authentication to change to go through Microsoft Entra. I was given the following URL

jdbc:sqlserver://<server>:<port>;user=<user>;password=<password>;encrypt=true;trustServerCertificate=true;hostNameInCertificate=<certificate>;loginTimeout=30;Au


5
0 253
Article Scott Roth · Jan 24, 2025 3m read

Not sure there are many that connect to MS SQL to execute queries, stored procedures, etc, but our Healthsystem has many different MS SQL based databases we use within the Interoperability environment for various reasons.

With the push to moving from on-prem to the Cloud we ran into some difficulties with our SQL Gateway connections and knowing how to config them to use Microsoft Entra for Active Directory Authentication.

There are many articles out on the web, but there was not one that could give us the full answer to what we needed to do, and Microsoft wasn’t much help.
I figured I would w













0
1 659
Article Ariel Glikman · Mar 4, 2024 4m read

We now get to make use of the IKO.

Below we define the environment we will be creating via a Custom Resource Definition (CRD). It lets us define something outside the realm of what the Kubernetes standard knows (this is objects such as your pods, services, persistent volumes (and claims), configmaps, secrets, and lots more). We are building a new kind of object, an IrisCluster object.

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: simple
spec:
  licenseKeySecret:
    #; to activate ISC license key
    name: iris-key-secret
  configSource:
    #; contains C

1
2 634
InterSystems Official Daniel Palevski · Jan 24, 2025

The latest extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect are now available.

✅ 2024.1.3

Release 2024.1.3 provides bug fixes for any of the previous 2024.1.x releases, including the fix for the following alert recently issued - Alert: Invalid Data Introduced to Database and Journal files with Specific....

You can find the detailed change lists & upgrade checklists on these pages:

How to get the software

The software is available as both classic

0
1 184
Article Kristina Lauer · Jan 23, 2025 2m read

Updated 12/10/25

Hi Community,

Looking for a way to onboard your team with InterSystems IRIS® for Health? Unlock the full potential of this platform by using these InterSystems learning resources. With a mix of online and in-person training, you can support various roles in your organization and equip your team for success.

Onboarding Resources for Every Role

Developers

System Admi

certification badge

0
5 506
Announcement Larry Finlayson · Jan 23, 2025

Developing with InterSystems Objects and SQL – VirtualFebruary 10-14, 2025

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems® development environment.
  • Students develop a database application using object-oriented design, building different types of IRIS classes.
    • They learn how to store and retrieve data using Objects or SQL, and decide which approach is best for different use cases.
    • They write code using ObjectScript, Python, and SQL, with most exercises offering the choice between ObjectScript and Python, and some exercises requiring
0
0 69
Question Moussa SAMB · Feb 6, 2025
 

Hi,

A SFTP server on which we connect has increased its security level by disabling the use of the ssh-rsa algorithm
Since then, SFTP connections with ssh keys are no longer made through Intersytems but through tools such as FileZila and Putty. Looking at the Logs I see that the generated ssh key of type RSA supports other modern algorithms such as rsa-sha2-256 / rsa-sha2-512 ... I wanted to know if the Intersystems SFTP client supports modern algorithms? Or is there an ssh configuration that excludes rsa-sha2 algorithms that will need to be disabled? Here's a section of the error we get in

1
0 166
Question Phillip Wu · Jan 21, 2025

The question I have is if I run an External backup this library rotuine is called:
##Class(Backup.General).ExternalFreeze()

Is there a command I can run that shows me the Iris system is frozen due to the call to ##Class(Backup.General).ExternalFreeze()?

If the system is frozen I cannot sign into Iris terminal session.

I backup the IRIS server using Veeam. Veeam calls the "freeze" script, snapshots the server in VMWare, then calls the "thaw" script.
Veeam then backs up the VMWare snapshot.

I have had cases where Iris was frozen and I'm guessing this could be caused by a call to ##Class(Backup

4
0 215
Announcement Celeste Canzano · Jan 22, 2025

Hi Everyone!

The Certification Team of InterSystems Learning Services is currently developing an InterSystems ObjectScript Specialist certification exam, and we are reaching out to our community for feedback that will help us evaluate and establish the contents of this exam.   

Please note that this is one of two exams being developed to replace our InterSystems IRIS Core Solutions Developer exam. You can find more details about the other exam, InterSystems IRIS Developer Professional exam, here

How do I provide my input? Complete our Job Task Analysis (JTA) survey! We will present you wi

3
0 243
Job Isabella Nolen · Jan 16, 2025

Hi everyone! I am hiring an InterSystems IRIS Engineer. If you or anyone you know has a qualifying skillset and is interested, please email me your resume and I will give you a call. Thanks!! email: isabella.nolen@insightglobal.com You can also apply to my posting on LinkedIn: https://www.linkedin.com/jobs/view/4125879698/?alternateChannel=search&… 

Position: IRIS Engineer

Location: REMOTE in the United States - must work EST time zone

Working Hours: Monday-Friday 8am-5pm EST

Duration: 6-month contract (extensions

1
0 268
Question Phillip Wu · Jan 16, 2025

Hi,

I'm using embedded Python as follows:

AUMHTESTTC01:%SYS>do ##class(%SYS.Python).Shell()
Python 3.6.15 (default, Sep 232021, 15:41:43) [GCC] on linux
Type quit() or Ctrl-D to exit this shell.
>>> import iris
>>> mirror=iris.cls('SYS.Mirror')
>>> pri=[]
>>> alt=[]
>>> status=mirror.GetFailoverMemberStatus(pri,alt)
>>> print(status)
1>>> print(pri)
[]
>>> print(alt)
[]
>>> exit()

However the equivalent ObjectScript works:

%SYS>set sc=##class(SYS.Mirror).GetFailoverMemberStatus(.pri,.alt)
%SYS>zw pri
pri=$lb("SERVERA.FOO.BAR.ORG/STAGE","SERVERA.foo.bar.org|2188","Primar
4
0 159
Question Andre Ribera · Jan 21, 2025

I'm working on some code that would benefit from being able to see whether or not a project file has been saved in Studio.
I can see when I make changes, that the project name has an asterisk added to it:

In searching for it, however, I haven't been able to find any methods or calls to access the property/check that controls that asterisk.
My question is whether anyone out there knows if that is accessible and if so then how can it be accessed.
I'd like to add a check in my code that enforces that the project file must be saved prior to proceeding with the intended action. (alerting in case the

2
0 119
Article Ashok Kumar T · Sep 13, 2024 7m read

In the previous article. Practices of class members and their execution within embedded Python. We will now turn our attention to the process of switching namespaces, accessing global variables , traversing and routine executions within embedded Python.

Before proceeding to the other functions. let us briefly review the execute function within the iris package. This function is exceptionally beneficial for executing the arbitrary ObjectScript functions and class invocation.

>>> b = iris.execute('return $Piece("test^aaaa","^",2)')
>>> b
'aaaa'
>>> b = iris.execute('return $Extract("123456",2,5)'







6
1 579
Question Oliver Wilms · Jan 19, 2025

I inherited some legacy MUMPS / ObjectScript code. A code review identified an exclusive NEW and that is not allowed per our coding standards.

The original code contains:

RUN(CALL,DRVNAME)
 S $EC=""
 S ^TMP($J,"RMPV","DRVNAME")=DRVNAME
 N TMPFILE,OLDIO
 S OLDIO=$IO
 I $G(^TMP("RMPV","SILENT"),1) S IOP="NULL",%ZIS=0 D ^%ZIS I '$G(POP,1) U IO
 D INIT^@DRVNAME
 D  ; scope variables
 .N (DUZ,CALL) ; Protect %response
 .S IOF="""""",IOM=80,U="^"
 .D @CALL
 U OLDIO
 Q

I attempted to replace Exclusive NEW with a ClassMethod in a procedure block as follows:

RUN(CALL,DRVNAME) ;primary entry point
 Set ^O

3
0 147