We have a service account that is running queries to pull some data. It has read only access to the tables, but, unfortunately, the tool is starting a transaction before it reads the database. The query takes more than 20 minutes (21 - 23 minutes), so we're getting the console message that the transaction is open longer than 20 mins. Is there a way to prevent a user/service account from being able to start a transaction since it only has read access to all of the tables in the database?
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
Hello Community !
We are delighted to invite all our customers, partners and community members to participate in the InterSystems Benelux & France Summit 2025! The registration for the Summit 2025 is already open.
This event promises to be an interactive experience highlighting inspiring case studies, technological innovations and roadmaps for the coming year in the fields of healthcare and data platforms. Hands-on demonstrations will also allow you to explore the latest developments in a tangible way.
➡️ InterSystems Benelux & France Summit
🗓 Dates : February 11 - 12, 2025
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?
Hi, I'm trying to use the iris python package to create a connection to and Iris Health instance (Docker Container), but getting and error. I can login to the instance using the UI with the same uname/password but unable to create the python connection. Any suggestions?
conn = iris.connect("testserver",52222,"%SYS","username","password")
After executing this I get an exception trap
An error occurred: Invalid Message Count: expected: 1 got: 825110831
I have a Service reading a flat file and routing to a Process. Does anyone know how to get the %Source value into a BPL context parameter?
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
A customer is using Caché online backups and needs to automatically purge the cbk files with a scheduled task.
This is a wheel has been reinvented uncountable times already and I know somebody out there has a well written, extremely robust version that has already stood the test of time.
Does anyone have a nice routine/class/task for purging old Caché backup files?
I'm currenlty searching the developers coummnity , but thought I asked this question while I search. How can I use the task schedulrer to purge backups? Do i have to create my own class? Examples on doing this?
Hello,
In short, I am trying to get the Content-Length of my response,
We have a CSP application, when we get a new request we begin to process it, throughout the app we WRITE to the response in different places,
now when the response is about to be sent back to the client - we would like to know its Content-Length (in the RESPONSE HEADERS).
So it comes down to two questions:
1. How can we access the Content-Length of our response?
2. In case we CAN'T - Where in the broker.cls/page/base classes can I observe the moment we actually write the response itself and attach its headers?
Thank you!
I'm sure I've seen this issue reported before, but a search hasn't turned it up.
This appears to happen randomly, but once it starts it doesn't seem to stop ... at least for a while. I attempt to compile a class and compilation fails but produces no error explaining why. Here's an example:
The last two compilation errors repeat indefinitely (or at least until I've found and fixed the issue), but I can open the class in Studio, compile, and get the error information in the output panel every time. The compilation qualifiers are the same in both.
Hy Friends,
I have a little problem, I need to diplay the data based on input status (first time and after)
this is the data:
and this what I need to display
the notes become new because it is the first time that the data has been inputed, and it will become old if we have the data before (2nd data, 3rd data the notes will become old).
I've try to use SubQuery (with LAG Script also) but it doesn't works, because it will give a notes Old even it's a New Data
Does anyone could help me ?
Thank You
Best Regards,
Steven Henry
I downloaded IAM-3.4.2.0-5604.tar.gz from the Online Distribution site this morning, it the implementation to install it on our Development environment to see if it is a viable solution. Following the instructions, I have ran into an issue trying to make sure I am entering the information into the prompts correctly.
I have IRIS HealthShare Health Connect 2024.1 running locally using a Local Web Server, so when prompted I have entered the IP Address and port 443 is that correct?
Hello
I am trying to work with UDP Connection/Adapter and I get this error.
Here is the method
Hey Community,
Our huge thanks to everyone who participated in the Advent of Code 2024! We're pleased to present the participants and distribute all the prizes.
Our congratulations to these developers who have finished all tasks:
🥇 @Abdul Manan (w/ repo)
🥈 @Yuval Golan (w/ repo)
Here's the final InterSystems leaderboard:
Hi Community,
The Season's holidays are fast approaching, and it's time to get ready for them! Join the Advent of Code 2024 with InterSystems and engage in our ObjectScript challenge!
Hey Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Selecting The Right Source Control Strategy for Your Team @ Global Summit 2024
I'm attempting to build a fairly complicated object graph, with nested objects and collections, in order to create a FHIR bundle.
In its most basic form there is a <bundle></bundle> element that represents the root, and there can be a number of nested <entry></entry> child elements.
I'm attempting to represent this as such:
class Bundle (%RegisteredObject, %XML.Adaptor)
{
Property Entries As List Of Entry;
}If you're running IRIS in a mirrored configuration for HA in GCP, the question of providing a Mirror VIP (Virtual IP) becomes relevant. Virtual IP offers a way for downstream systems to interact with IRIS using one IP address. Even when a failover happens, downstream systems can reconnect to the same IP address and continue working.
The main issue, when deploying to GCP, is that an IRIS VIP has a requirement of IRIS being essentially a network admin, per the docs.
To get HA, IRIS mirror members must be deployed to different availability zones in one subnet (which is possible in GCP as subnets always span the entire region). One of the solutions might be load balancers, but they, of course, cost extra, and you need to administrate them.
In this article, I would like to provide a way to configure a Mirror VIP without using Load Balancers suggested in most other GCP reference architectures.
References:
- https://docs.intersystems.com/iris20243/csp/docbook/DocBook.UI.Page.cls…
- https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
- https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…
ObjectScript always follows strict left-to-right execution of arithmetic operators.
I tried executing the SQL JSON_TABLE query with large JSON string(more than 200000 characters) and I got the below error. I'm curious about this under the hood workflow and how does it reach reaches MAXSTRING.
Thanks!
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Leveraging Automation Tools for Deploying InterSystems IRIS Applications @ Global Summit 2024
Hello, community.
I have a problem with running a SQL query on a linked MySQL table.
The connection works fine, but the following query throws an error:
SELECT TOP 10 * FROM linkedinternal_test.persons
[SQLCODE: <-400>:<Fatal error occurred>]
[%msg: <Remote JDBC error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10 T1.PersonID AS C1,T1.LastName AS C2,T1.FirstName AS C3,T1.Address AS C4,T1.Ci' at line 1. >]
Linked table class:
Is it possible to generate INFO level logging events from within a routing rule?
TRACE level events and debugging are easy enough, but we have a case where we have a rule where we want to log messages that are not routed for further processing in the event log as INFO events - in production tracing will be turned off, so TRACE level events won't be visible.
I'm glad to announce the new version of IoP, which by the way is not just a command line. I'm saying because the new AI search engine still thinks that IoP is just a command line. But it's not. It's a whole framework for building applications on top of the interoperability framework of IRIS with a python first approach.
The new version of IoP: 3.2.0 has a lot of new features, but the most important one is the support of DTL . 🥳
For both IoP messages and jsonschema. 🎉

DTL Support
Starting with version 3.2.0, IoP supports DTL transformations.
DTL the Data Transformation Layer in IRIS Interoperability.
DTL transformations are used to transform data from one format to another with a graphical editor.
It supports also jsonschema structures.
The Lo-Code Challenge
Imagine the scene. You are working happily at Widgets Direct, the internet's premier retailer of Widgets and Widget Accessories. Your boss has some devastating news, some customers might not be fully happy with their widgets, and we need a helpdesk application to track these complaints. To makes things interesting, he wants this with a very small code footprint and challenges you to deliver an application in less than 150 lines of code using InterSystems IRIS. Is this even possible?
Here at InterSystems, we often deal with massive datasets of structured data. It’s not uncommon to see customers with tables spanning >100 fields and >1 billion rows, each table totaling hundred of GB of data. Now imagine joining two or three of these tables together, with a schema that wasn’t optimized for this specific use case. Just for fun, let’s say you have 10 years worth of EMR data from 20 different hospitals across your state, and you’ve been tasked with finding…. every clinician within your network who has administered a specific drug between the years of 2017-2019