Hi Community,
Are you looking for resources to help your team onboard? Use these guides to get started!

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.
Hi Community,
Are you looking for resources to help your team onboard? Use these guides to get started!

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.
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
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.
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.
The latest extended maintenance releases of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect are now available.
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:
Updated 02/27/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.
Once you and your team members have gained enough training and experience, get certified according to your role!
💬Engage in learning on the Developer Community: Chat with other developers, post questions, read articles, and stay updated with the latest announcements. See this post for tips on how to learn on the Developer Community.
Developing with InterSystems Objects and SQL – VirtualFebruary 10-14, 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.
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.
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
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:
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:.png)
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.
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:
In your Interoperability Production you could always have a Business Operation that is an HTTP client, that uses OAuth 2.0 for authentication, but you had to customize the Operation for this authentication methodology. Since v2024.3, which was lately released, there is a new capability, providing new settings, to handle this more easily.
Hello everyone! This is my first post into the developer community and one that I hope is fairly simple to answer. In our environment we currently have 3 different Test environments for testing before migrating code to our Prod environment. Currently we are working on establishing a source control method using Git in house which has been a bit of a struggle. We have also had developers that had used different test and migration methods in the past which has caused some issues with keeping the different test environment in sync.
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
Hi,
I want to use IRIS Report Designer please anyone knows do we have community edition and where we can get license for it - Thanks.
The IKO documentation is robust. A single web page, that consists of about 50 actual pages of documentation. For beginners that can be a bit overwhelming. As the saying goes: how do you eat an elephant? One bite at a time. Let's start with the first bite: helm.
What is Helm?
Helm is to Kubernetes what the InterSystems Package Manager (IPM, formerly ObjectScript Package Manager - ZPM) is to IRIS.
Hi Community,
I need to remove first tag from a XML file in service and send file to the process ,how do i remove line from the File and process it
Thanks,
Smythee
I need to use a context variable in my code block for the table to query. When I use :content.table, it does not work. When using the literal, it does. How do I get the :context to work?
An X12 / 271 message shows "Completed" on the BO. However, it did not reach its destination. I searched for more information on what the error means but, couldn't find much. See error enclosed below. Any idea what it means and how to fix it?
More info...
While working with GET request I encountered this situation where FHIR Server return a responseStatusHTTP "HTTP/1.1 200 200" instead of "HTTP/1.1 200 OK" (as highlighted in the attached screenshot).
Although the response code seems valid, these bundles have a total value of 0.
Could anyone clarify what "200 200" signifies in this context? Is there an issue with my setup, or does this indicate a specific condition related to the empty bundle search?
Thank you in advance for your help!
As part of a migration project from a bunch of java classes to IRIS, we need to maintain a few jar files due to some external dependencies.
The problem I am seeing is that I cannot pass a byte array ( byte[] ) from ObjectScript to the Java Class. I have tried a number of different ways
I have reproduced in a java class and Objectscript class:
Java Class:
I'm attempting to streamline a process for renaming PDF documents received from multiple vendors to conform to a specification provided by an EMR vendor for ingestion. Things like Document ID, Document Type, Date of Service, Account Number, MRN, etc. all must be included in the filename at defined offsets and lengths. Most of the required values can be extracted from the inbound file's name and the few remaining are static values that would be the same (or handled via a lookup table based on source) for all documents. The inbound and outbound filenames are essentially fixed-width records with
InterSystems has corrected a defect that causes invalid database and journal records to be introduced when using a specific $LIST syntax. The likelihood of encountering this defect is very low but the operational impacts can be significant.
Products Affected
I am hoping for some guidance.
I am new to creating a new chart in Trakcare for use with Clinical Viewer. My organization only has LDAP users, (we don't have the ability to use local users), that dictate what role/group a user is in, they are all the same across our Prod, Test, and Dev environments.
In tracking down some of our Orphaned message issues, I was wondering if setting our EnsLib.SQL.Snapshot variable equal to "" was the same as calling the .Clean() method on EnsLib.SQL.Snapshot? Are they the same?
should I be possibly using ##class(EnsLib.SQL.Snapshot).%Delete() instead?