We are using a DTL transformation to take HL7 and transform into custom XML. But the nodes in the resulting XML are appearing out of sequence - and therefore failing validation against the schema.
The XSD schema for the XML looks fine when imported into Ensemble: root node in the XSD looks like this:.png)
And shows in Ensemble like this:
The transformation looks like this, and we can see the text from the trace elements at lines 5, 12 and 19 appear in the correct order in the event log:
HOWEVER, the resulting XML has the <allergies> nodes before the <patientNotes> nodes....:
Any ideas about why this is
We are using a DTL transformation to take HL7 and transform into custom XML (XML is a virtual document, held in an EnsLib.EDI.XML.Document object). The schema specifying the format of the XML says one element should occur no more than 24 times (maxOccurs="24" in the XSD schema). However, the transformation to produce one such element always produces 24 elements, all but the last one blank, when tested stand-alone. And when the sub-transform producing one element is incorporated into the full transformation to produce the whole XML object, it produces the wrong output.
Is this a bug in the
Hi,
We are currently switching from Studio to VSCode and central GIT with Serverside Development and have a few start problems.
I have set up a system with Git.
The baseline commit including remote push works.
But now I have a problem with the VSCode. When I create and compile a new class, it saves it correctly. But if I want to make further changes to the class, it saves the class and loads it again with the previous status. So the changes I made are gone again.
I have deactivated CompileOnSave without success.
The log shows the following
Hi Community!
We hope you know that when you have an interesting idea about InterSystems products or services, you should publish it on the Ideas Portal. And those Developer Community members who implement the proposed ideas are added to the "Hall of Fame". Want to get accepted to the InterSystems Ideas Hall of Fame? Read on to learn how you can get on the list.
Hi All,
I don't know if I am doing something wrong or maybe a setting is off.
But while in Cache Studio, under the Edit menu, when I use "Find in Files . . ." nothing is returned, regardless of what I am trying to find.
Weird.
Hello,
Very much keen if we could gather the per namespace and business component utilization of InterSystems cache server.
For e. I have a PRD server where its CPU utilization is at max all the time and I want to know which namespace and its business process (service/Operation/Process) is utilizing what number of CPU and memory.
** I can get the CPU and Memory utilization per Cache.exe and PID, but not able to get the Namespace and ConfiguratioName to which that particular PID belongs.
Thank you,
Our target system requires a blank ROL segment whenever the ROL segment does not exist in an A08 from our source system. I'm not sure if this can be done with the DTL gui tools or if some sql or other code is required (coding is not in my wheelhouse). Here is what I've tried, but this does not yield the "ROL|1|" I'd like to create. Any help would be greatly appreciated.
.png)
Here is the input message that I'd like to add the ROL segment to:
MSH|^~\&|EPIC|MWH|||20250103094903||ADT^A08|175519|T|2.3
EVN|A08|20250103094903||REG_VIS_CHANGE|100503^MICHAEL^JENNIFER^J^^^^^MWHC^^^^^MWH
PID|||22600117^^^EPI
I am a volunteer at a nonprofit that is attempting to connect to a product that uses InterSystems Cache (Clinisys LIMS). I have not used this database before, but I have used many others (MS-SQL, Oracle, etc.). I am hoping IRIS is compatible enough with Cache for this project.
I downloaded IRIS. I learned about Terminal [IRIS]. Using it I was able to create a new table, insert data, and retrieve it. I also used the Management Portal to query the new table. It also returned the data.
Next I attempted to connect with Visual Studio (MS VS 2022 Profesional).
HealthShare Patient Index – Virtual February 19-21, 2025 9:00am-5:00pm US-Eastern Time (EST)
- Configure, tune, and work with HealthShare Patient Index, an Enterprise Master Patient Index.
- This 3-day course teaches the installation, configuration, and use of HealthShare® Patient Index.
- Day one focuses on patient identification issues, and the tools that can be used for reviewing records identified by the system for human attention.
- This session is appropriate for both technical staff and administrative staff who manage patient identification issues.
- Day two starts with installation,
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
I'm looking for a new position. Part time/full time/temp. I'm flexible.
I have 20 years healthcare IT background - most recently with a startup where I built/supported interfaces in Mirth.
Even a temp project that needs someone to test or help with workflow. I have a background in end-to-end integration between systems (Saas/APIs, etc)
We have a vendor that can only send us a uu-encoded PDF. Is there a way to decrypt it in Ensemble?
Thanks
Scott Roth
The Ohio State University Wexner Medical Center
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Creating an InterSystems IRIS Cross Functional App in 150 Lines of Code @ Global Summit 2024
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.
When you deploy code from a repo, class (file) deletion might not be reflected by your CICD system.
Here's a simple one-liner to automatically delete all classes in a specified package that have not been imported. It can be easily adjusted for a variety of adjunct tasks:
set packages = "USER.*,MyCustomPackage.*"set dir = "C:\InterSystems\src\"set sc = $SYSTEM.OBJ.LoadDir(dir,"ck", .err, 1, .loaded)
set sc = $SYSTEM.OBJ.Delete(packages _ ",'" _ $LTS($LI($LFS(loaded_",",".cls,"), 1, *-1), ",'"), "/generated=0", .err2)The first command compiles classes and also returns a list of loaded classes. The second command deletes all classes from specified packages, except for the classes loaded just before that. Any generated classes are also skipped since they won't be in the loaded list.
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;Authenti
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
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:
#; containsHey, So the title pretty much describes the question:
Where and How can i see the Stream that contains the response back to the client of a CSP application.
When the request is being processed and finished we return a response to the client - We do that by writing the data to a stream and that stream is sent back to the client.
I wanted to know how i can access the point right before that Data is actually written to the client back (meaning the place where the response is actually being send back, the last point of contact).
And was not able to find about it in the DOCS so would love to get a
Hi, I am currently setting up a new API using %CSP.REST - I've gotten swagger spec generation to work like such:
Class Api.DispatchRouter Extends%CSP.REST
{
XData UrlMap
{
<Routes>
<Map Prefix="/test" Forward="Api.Controllers.TestController"/>
<Route Url="/swagger" Method="GET" Call="SwaggerSpec"/>
</Routes>
}
ClassMethod SwaggerSpec() As%Status
{
Set tSC = ##class(%REST.API).GetWebRESTApplication($NAMESPACE, %request.Application, .swagger)
Do swagger.info.%Remove("x-ISC_Namespace")
Set swagger.basePath = "/csp/myapi"Set swagger.info.title = "My API"The latest extended maintenance releases of InterSystems IRIS, InterSystems 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
Hi Developers!
Welcome to Issue #18 of the InterSystems Ideas newsletter! This edition highlights the latest implemented ideas:
✓ Ideas brought to life during the "Bringing Ideas to Reality" programming contest
✓ Ideas implemented by InterSystems in Q4 2024
✓ New article featuring an idea realized by the talented Musketeers team

InterSystems is proud to sponsor NUS Health Hack 2025 and invite innovators, developers, startups and health tech professionals to join this exciting digital health tech hackathon!
Organized by the National University of Singapore - Yong Loo Lin School Of Medicine, this hackathon will take place from February 8th to March 29th, 2025, and will bring together an incredible mix of healthcare professionals, developers, students, startups and tech companies driving innovation in the industry.
Why Join?
• Make an Impact: Solve real-world healthcare challenges.
• Network: Collaborate with like-minded professionals, innovators, and industry leaders.
• Get Support: Access guidance from mentors throughout the 4-week development phase.
InterSystems is providing access to our Vector Search technology, which participants can leverage for their projects. Plus, our tech mentors will be available to offer support throughout the event. Learn more about the InterSystems challenge and prizes here.
How It Works
Hi, I am coming unstuck with a current mapping from HL7 to XML using the DTL editor with an XML schema (imported by XSD).
My output keeps prefixing the elements with "xsd_2" despite this not being defined in the targetnamespace within my XSD file.
Would anyone have any idea as to where this is creeping in? Any advice would be greatly appreciated.
My XSD namespace etc are setup as follows:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://voicetechnologies.co.uk/winvoice/importation"
xmlns="http://voicetechnologies.co.uk/winvoice/importation"
Hello all! We fully tested our system http://DataAI.link on InterSystems Cache database and on old IRIS. We cannot find a free download of IRIS for developer as it was before. We are looking for help from the community to test our system from the http://DataAI.link by register a user with connection to your testing IRIS database and play with our reports, analytics, AI. Another way is to trust us with connection string to your testing IRIS database and we will test our system and report results to you. Thanks for your help! Irina Yaroshevskaya PhD, Yanbor LLC http://DataAI.link
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
- Online Program: Getting Started with InterSystems IRIS for Health for Coders(21h)
- Classroom Training: Developing with InterSystems Objects and SQL and Building and Managing HL7 Integrations(5 days each)
System Administrators
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 a
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.
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

