#InterSystems IRIS

19 Followers · 5.5K Posts

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.

Question Andrew McCrevan · Jun 5, 2025

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
5
0 120
Article Evgeny Shvarov · Feb 15, 2020 5m read

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?

2
1 1257
Question Evgeny Shvarov · Jun 5, 2025

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?

12
1 169
Question Jean Millette · Jun 3, 2025

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>^CRM

8
0 162
Announcement Liubov Zelenskaia · Jun 5, 2025

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

>> Register here

 

⏱ 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

0
1 111
Article Evgeniy Potapov · Feb 27, 2022 2m read

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:

  • matplotlib
  • Seaborn
  • Plotly
  • bokeh
  • Altair
  • Folium

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

Other libraries such as Altair, Bokeh, and Plotly allow you to create interactive plots that users can explore

1
0 925
Announcement Laurel James (GJS) · Jun 5, 2025

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: 

  • Git Location Driver, which enables Deltanji to integrate directly with Git repositories.
  • Additional signing methods for Task Server II.
  • DATA Component Driver proxy classes.
  • Add or remove from Work Lists incrementally. 
  • %ALL system definitions.
  • New Installation defaults. 
  • Improved file type classification for better granularity and flexi
0
1 124
Question Evan Gabhart · Jun 4, 2025

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. Also, it needs to be read out at these separate times in this context to provide progress updates to the user as the time between these reads could be

2
0 93
Article Alex Alcivar · Jul 28, 2024 6m read

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. For a while I have been using a framework called Laravel to build my websites, and this PHP framework introduced me to the modern Model-View-Controller pattern of web programm

2
1 441
Question prashanth ponugoti · Feb 24, 2022

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

ClassMethod Iterate()
{
set subscript = ""
for {
set subscript = $order(^Book(subscript))
quit:(subscript = "")
write !, "subscript=", subscript, ", value=", ^Book(subscript)
}
}

Thanks,

10
0 613
Question Satya Prasad Kalam · May 30, 2025

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:

  • How many messages were validated?
  • How long did it take to create the temporary database from the source system?
  • How long did it take to run the comparison on the destination system?

If anyone has done this recently and can share some stats or lessons learned, that wo

2
0 125
Article Henry Pereira · May 29, 2025 6m read

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.

FHIRInsight logo

🤖 Why We Built FHIRInsight

It all started with a simple but p

2
0 200
Question alon test · Jun 1, 2025

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:

  • Version of IRIS: 2025.1 (Community Edition)
  • Operating System: [Insert your OS here, e.g., Windows 10, Ubuntu 20.04, etc.]
  • Issue: I have downloaded IRIS for Health, but I cannot find Ensemble during the installation process. I have tried using the Early Access programs, but Ensemble is not included in the options I can choose. I have also tried installing various versions of IRIS, but still, Ensemble is missing.



5
0 134
Article Chi Nguyen-Rettig · Jun 1, 2025 3m read

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. 

In addition to the IRIS XML, XPath, and CCDA Transformation environment, the Interop DevTools package now provides:

  • FHIR-SDA Transformation setup
  • SDA-FHIR Transformation setup
  • Bubbling up of FHIR validation errors
  • Loading of required context fo

0
2 219
Article Yuri Marx · May 29, 2025 8m read

Google Forms is the most popular solution on the market for collecting data, answering questionnaires and quizzes. So, it is the ideal solution for collecting patient data and responses in a practical way, without the need to expand or develop systems. In this article, I will detail how to create an account on Google Cloud, register the application that will consume the Google Forms API, generate the service user necessary to consume the API and finally perform actions to create new forms and collect data filled in them in an automated way in embedded Python and IRIS.

Create your Google Cloud










2
2 266
Article Landon Minor · May 30, 2025 2m read

Profiling CCD Documents with LEAD North’s CCD Data Profiler
Ever opened a CCD and been greeted by a wall of tangled XML? You’re not alone. Despite being a core format for clinical data exchange, CCD's are notoriously dense, verbose, and unfriendly to the human eye. For developers and analysts trying to validate their structure or extract meaningful insights, navigating these documents can feel more like archaeology than engineering.


Introducing the CCD Data Profiler
LEAD North’s CCD Data Profiler is a full-stack tool built with Intersystems' technology that streamlines the import, parsing, vali

0
0 216
Question Henry Pereira · May 30, 2025

Hi all!

I want to create an %Embedding.Config to use with an %Embedding property. I followed the documentation for %Embedding.OpenAI, and it works fine after setting sslConfig, modelName, and apiKey.

However, I need to use AzureOpenAI. While the embedding process is similar to OpenAI's, Azure requires additional connection parameters, like an endpoint. My question is: is it possible to configure these extra parameters with %Embedding.Config, and if so, how?

documentation reference

2
0 88
Article Sylvain Guilbaud · May 30, 2025 3m read

Kong provides an open source configuration management tool (written in Go), called decK (which stands for declarative Kong)

  • Check that decK recognizes your Kong Gateway installation via deck gateway ping
deck gateway ping   
Successfully connected to Kong!
Kong version:  3.4.3.11
  • Export Kong Gateway configuration to a file named "kong.yaml" via deck gateway dump
deck gateway dump -o kong.yaml
  • After modifying the IP adcresses in kong.yaml file, show the differences via deck gateway diff
deck gateway diff kong.yaml

updating service test-iris  {
   "connect_timeout": 60000
1
0 217
Question Kurro Lopez · May 28, 2025

Hi community.

I was wondering if it was possible to use something like EnsLib.SQL.InboundAdapter with tables in IRIS.

This library monitors when a record has been inserted into a table in an external database, so it requires a DSN to connect to that database.

My goal is to make a call to an external API that takes a long time, it could spend nearly an hour (or more) completing its processes, but I don't want to block the main process.

That's why I was thinking about having the original production store the indicators it needs to process in a table, and from another production, monitor when

2
1 107
Question Oliver Wilms · May 29, 2025

My use case is I want AI to extract six pieces of key information from medical visit notes.

It works okay with notes from Epic patient portals. I am struggling with one of my own visit Summaries. So far I have not been able to instruct ollama to give me a JSON response where it gave me what I am asking for.

My original medical_progress_notes_prompt was:

Medical progress note:
---
(document)
---

You are an expert in analyzing medical progress notes. Please carefully read the provided progress note above and extract the following key information:

Extract these six (6) properties from the progr

1
1 109
Article Yuri Marx · May 29, 2025 4m read

Template engines are essential for producing customizable dynamic content, without the need for compilation and opening up great possibilities of extensibility for the template user. Especially if the template engine supports Python. A popular solution for template engine is Mko. It is is a template library written in Python. It provides a familiar, non-XML syntax which compiles into Python modules for maximum performance. Mako's syntax and API borrows from the best ideas of many others, including Django and Jinja2 templates, Cheetah, Myghty, and Genshi. Conceptually, Mako is an embedded Pytho

2
1 306
Question Ricardo Alves dos Santos · May 29, 2025

Hello everyone,

I’m using VS Code with the InterSystems ObjectScript extension and I want to keep my local folder (client-side) as the “source of truth” while still using the built-in Server Source Control features (diff, stage, commit, etc.) against my IRIS/Ensemble instance.

So far:

  • I have a local Git repository with my .cls and .mac files.
  • I’ve configured "objectscript.serverSourceControl.respectEditableStatus": true and "objectscript.serverSourceControl.disableOtherActionTriggers": false in my .vscode/settings.json.
  • I’m able to export and import code manually, and IntelliSense wor
1
0 143
Question Thembelani Mlalazi · May 29, 2025

I am trying to log in to the Web Gateway Management and I have missed placed the password to access the system I have tried 

changing the password under local settings in the CSP.ini  and that has managed to change the password to access the gateway but cannot log me into the management area I have followed a post here and read here and I seem not to get the answers that actual explain how I can get to the web gateway management.

I understand that changing the user in the management portal does not change the password set up in the installation to access the web management gateway if anyone

3
1 202
InterSystems Official Bob Kuszewski · May 21, 2025

We have a big update this quarter. 

  • RHEL 10 was released yesterday, read on for what that means for you
  • 2025.3 will use OpenSSL 3 across all operating systems SUSE 15 sp6 will be the minimum OS for orgs using SUSE
  • The minimum CPU standards are going up in 2025.3
  • Older Windows Server operating systems will no longer be supported in 2025.3
3
2 431
Question Scott Roth · May 28, 2025

I am struggling on how to pull out individual fields from a JSON. In a previous post someone had mentioned that I could...

If ((tHttpResponseIsObject) && ($ZCONVERT(tHttpResponseContentType,"L") [ "application/json"))
  {
    set responseData = {}.%FromJSON(tHTTPResponse.Data)
    set pResponse = ##class(osuwmc.COM.Response.StringResponse).%New()
    if responseData.count =1{
      set pResponse.COMPortalURL = responseData.items.%Get(0).portalUrl
      set pResponse.COMPureID = responseData.items.%Get(0).pureId
      set pResponse.COMTitle = responseData.items.%Get(0).titles.%Get(0).
6
0 150