Hello All,
No matter what I try in Business Process Logic (BPL), I am unable to calculate the patient's age in days or years.
Has anyone ever built logic in a Business Process (BPL) to calculate a person's age in days?
Thank you!
InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.
Hello All,
No matter what I try in Business Process Logic (BPL), I am unable to calculate the patient's age in days or years.
Has anyone ever built logic in a Business Process (BPL) to calculate a person's age in days?
Thank you!
In my last article I've talked about returning values with Python. But returning them is simple, what can make it harder is what I'm going to talk about today: where the value is treated.
Following the example of the last aricle, we have the method:
Class python.returnTest [ Abstract ]
{
ClassMethod returnSomething(pValue... As %String) As %Integer [ Language = python ]
{
return pValue
}
}
Then, we'll have as a return a Python object, that IRIS interprets as the class %SYS.
Hi,
Can anyone please tell me how to append a string using a update query.
For eg : "Hello" is the string . I need to append the string world and it needs to be "Hello world".
Thanks
Jude
During the realization of some required functionality, I discovered that I need to use Deflate compression, and found, that IRIS does not offer any options, $system.Util.Compress, works one way open (GZIP/COMPRESS) totally different, even for the same algorithms, I see that what I would expect as a result for Deflate somewhere there, but Compress returns something more. Is there any way to get a correct result using just ObjectScript without a need to use external tools? Was it really so difficult to have Deflate implemented in the first place?
Hi,
We're getting a string sent to us by a client that was compressed using a java deflater (the zlib algorithm) and when trying to use $System.Util.Decompress() I get an "illegal value" error. I gather from other community posts that this is because the raw compressed string is missing the customized wrapper Iris automatically adds. I know this has been a longstanding issue for a while...just wanted to check if there'd been any updates to this functionality, or successful workarounds for decompressing raw zlib compressed data. Thanks in advance!
Hi Community,
Our Project Managers created a series of videos to highlight some of the interesting features of the new 2025.1 release. Please welcome the first one of them:
MonLBL is a tool for analyzing the performance of ObjectScript code execution line by line. codemonitor.MonLBL is a wrapper based on the %Monitor.System.LineByLine package from InterSystems IRIS, designed to collect precise metrics on the execution of routines, classes, or CSP pages.
The wrapper and all examples presented in this article are available in the following GitHub repository: iris-monlbl-example
|
Advisory ID
|
Product & Versions Affected
|
Risk Category & Score
|
Explicit Requirements
|
|
DP-439649
|
Products:
Versions:
|
Operational:
System Stability:
This issue does not constitute a security vulnerability. It does not allow users to bypass permissions checks or access data outside their authorized namespace. |
I have a Task that I am trying to write the output to a file. How do I check for if the Output File has been included in the Task Schedule, so I can direct my output of my class to that output file?
Thanks
Scott
Hi Guys,
How can I create Python pages instead of CSP or Zen pages, not familiar with Python and the only way I know is using embedded Python as methods as attached below?
.png)
Thanks
Let's suppose two different routines use one and the same chunk of code. From the object-oriented POV, a good decision is to have this chunk of code in a separate class and have both routines call it. However, whenever you call code outside of the routine as opposed to calling code in the same routine, some execution speed is lost. For reports churning through millions of transactions this lost speed might be noticeable. Any advice how to optimize specifically speed?
P.S. Whenever someone is talking about the best choice for whatever, I am always tempted to ask: "What are we optimizing?".
To enable Interoperability functionality after creating a namespace, use the EnableNamespace method of the %EnsembleMgr class:
do ##class(%EnsembleMgr).EnableNamespace()
Hi Community,
Enjoy the new video on InterSystems Developers YouTube:
⏯ Migrating 20TB to InterSystems IRIS with Near 0 Downtime @ Global Summit 2024
How would you go about creating an SQL Stored Procedure that would result in the same output as "IN LIKE"?
For example...
CustomersTable
| RecordId | CustomerName |
| 123 | Mark Stevens |
| 456 | Betty Johnson |
| 789 | John Stevens |
| 321 | Brian Smith |
| 654 | John Markson |
| 987 | Tom Obrian |
select *
from CustomersTable
where inLike('%Mark%', '%John%')Would return:
| 123 | Mark Stevens |
| 456 | Betty Johnson |
| 789 | John Stevens |
| 654 | John Markson |
Hi Developers!
As you know the concept of ObjectScript Package Manager consists of ZPM client - client application for IRIS which helps you to install packages from the registry. And the code which works "on the other side" is ZPM Registry - server which hosts packages and exposes API to submit, list and install it. Now when you install the ZPM client it installs packages from community package registry, which si hosted on pm.community.intersystems.com
But what if you want your own registry? E.g. you produce different software packages for your clients and you want to distribute it via private registry? Also, you may want to use your own registry to deploy solutions with different combinations of packages.
Is it possible? The answer is YES! You can have it if you deploy ZPM registry on your server with InterSystems IRIS.
To make it happen you would need to set up your own registry server.
How to do that?
Hi IRIS experts!
I have a parameter in a class that stores a global name:
Parameter GlobalName = "^AGlobal";
then I'm trying to call it as:
set gn=$name(..#GlobalName)
to use it later as:
set @gn@("index")="value"
But! I'm having syntax at set gn=$name(..#GlobalName)
What am I doing wrong?
Hello,
I have a class with a "Unique" index (pxfactidIndex) on a %Numeric property (pxfactid) (partially-edit code snippet below):
Property pxfactid As %Library.Numeric(MAXVAL = 9223372036854775807, MINVAL = -9223372036854775808, SCALE = 0) [ SqlColumnNumber = 7 ];
Index pxfactidIndex On pxfactid [ Unique ];
Storage Default
{
<Data name="FactDefaultData">
<Value name="1">
<Value>pysubjectid</Value>
</Value>
...
<Value name="6">
<Value>pxfactid</Value>
</Value>
...
</Data>
<DataLocation>^CRMBI.FactD</DataLocation>
<DefaultData>FactDefaultData</DefaultData>
<ExtentLocation>I want to add a database to a mirror.
Is this the correct way to do so:
set status=##Class(SYS.Mirror).AddDatabase("/db/iknow")
Is the status=0 if it worked and anything else means it failed?
Thanks for any help
Hi Community,
i'm trying to figure out how to pass a string to a routine from Powershell:
####
ROUTINE ImplUtil
Say(pSomething = "hello, i'm the ROUTINE") public{
w !,pSomething,!
}
####
call: irissession healthconnect -U user 'Say^ImplUtil(12345)'.png)
what's the right way to pass in text?
Join our next in-person Developer Meetup in Cambridge to explore the latest trends, tools, and features for innovating on data. This time we will dive into Building and Evaluating Agentic Generative Retrieval Systems.
Talk 1
Agentic Retrieval: Techniques beyond Vector Search
Speaker: Suprateem Banerjee, Sales Engineer - AI Specialist
Talk 2
Setting up testing frameworks to quantitatively measure improvements in agentic systems
This talk with cover how open source libraries such as langfuse and deepeval can be leveraged to see how improvements to prompts, llm models and tools change an agent / RAG system's performance. We will briefly cover how these systems work before delving into how they can be combined together.
Speaker: @Jayesh Gupta, Solutions Developer, InterSystems
⏱ Day and Time: July 9, 5:30 p.m. to 7:30 p.m.
NEW VENUE ALERT:
📍Amazon Boston Office, 55 Pier 4 Blvd, Boston, MA 02210
In the previous article, we told you about python and dashboard, and in this article I will compare them with each other.If you are just about to get started with visualization in Python, the number of libraries and solutions will definitely amaze you:
A visualization in some libraries, such as Matplotlib, is a simple static image, which is good for explaining concepts (in a document, on slides, or in a presentation).
George James Software is excited to share a new release of Deltanji source control, version 8.1. This new release introduces a Git Location Driver along with several other functionality and usability improvements.
Highlights of this release include:
I have a stream that I read out until the end. I then append more content to the stream and want to read out only what has been added. How do I only read out the new contents of the stream? Essentially, I want to read a stream, record the end position, then once the stream is updated read the contents from that recorded position until at the new end. This stream needs to be kept intact for historical reference so cannot be cleared between reads.
For a long time I have wanted to learn the Django framework, but another more pressing project has always taken priority. Like many developers, I use python when it comes to machine learning, but when I first learned web programming PHP was still enjoying primacy, and so when it was time for me to pick up a new complicated framework for creating web applications to publish my machine learning work, I still turned to PHP.
Is a layer before the internal HTTP of Caché/IRIS, such as a Reverse Proxy or API Gateway, a good option?
Example: I have an API using %CSP.REST, and I am using the internal port for development. But for production and approval, I put a reverse proxy using NGINX. Is this recommended? Is it an alternative?
Diagram..png)
Hi Community,
I have created global with below values , now I want to iterate programatically.
^Book("Auto1","Properties","Color")="Red"
^Book("Auto1","Properties","Color1")="Yellow"
^Book("Auto1","Properties","Model")="SUV"
^Book("Auto2","Owner")="Prashanth"
^Book("Auto2","Properties","Color")="Green"
^Book("Color")="Red"
^Book("Color1")="Red"
i have used below method but only printing last2 elements properly
{
set subscript = ""
for {
set subscript = $order(^Book(subscript))
quit:(subscript = "")
write !, "subscript=", subscript, ", value=", ^Book(subscript)
}
}
Thanks,
Prashanth
We're planning to use Production Validator for validating our system upgrade (2016.2.3 to 2024.2) , and we are trying to understand what kind of benchmarking or performance metrics others have observed during similar efforts.
Specifically, we are looking for a case study or real-world example that includes details like:

You know that feeling when you get your blood test results and it all looks like Greek? That's the problem FHIRInsight is here to solve. It started with the idea that medical data shouldn't be scary or confusing – it should be something we can all use. Blood tests are incredibly common for checking our health, but let's be honest, understanding them is tough for most folks, and sometimes even for medical staff who don't specialize in lab work. FHIRInsight wants to make that whole process easier and the information more actionable.

Hello,
I am currently trying to install InterSystems IRIS for Health and specifically the Ensemble integration tool, but I am facing issues.
Here are the details of my setup:
IRIS supports CCDA and FHIR transformations out-of-the-box, yet the ability to access and view those features requires considerable setup time and product knowledge. The IRIS Interop DevTools application was designed to bridge that gap, allowing implementers to immediately jump in and view the built-in transformation capabilities of the product.