Announcement Jesse Reffsin · Jul 21, 2025

#InterSystems Demo Games entry


⏯️  Closing the Scientific Knowledge Gap with AI

For venture capitalists (VCs), evaluating research can be challenging. While researchers typically possess years of training and deep expertise in their field, the VCs tasked with assessing their work often lack domain-specific knowledge. This can lead to incomplete understanding of scientific data and an inability to direct organizational initiatives. To solve this problem, we have designed a solution that empowers VCs with AI-driven due diligence: ResearchExplorer. ResearchExplorer is powered by InterSystems IRIS and GPT-4o to help analyze private biomedical research alongside public sources like PubMed using Retrieval-Augmented Generation (RAG). Users submit natural language queries, and the system returns structured insights, head-to-head research comparisons, and AI-generated summaries. This allows users to bridge expertise gaps while securely protecting proprietary data.

Presenters:
🗣 @Jesse Reffsin, Senior Sales Engineer, InterSystems
🗣 @Lynn Wu, Sales Engineer, InterSystems

2
1 107
Discussion Laura Blázquez García · Aug 14, 2025

I would like to know which are the best practices of using Streams in Interoperability messages.

I have always use %Stream.GlobalCharacter properties to hold a JSON, or a base64 document, when creating messages. This is fine and I can see the content in Visual Trace without doing anything, so I can check what is happening and resolve issues if I have, or reprocess messages if something went wrong, because I have the content.

But I think this is not the best way of using Streams.

8
0 242
Article Vachan C Rannore · Aug 18, 2025 3m read

While starting with Intersystems IRIS or Cache, developers often encounter three core concepts: Dynamic Objects, Globals & Relational Table. Each has its role in building scalable and maintainable solutions. In this article, we'll walk through practical code examples, highlight best practices, and show how these concepts tie together. 

1. Working with Dynamic Objects:

Dynamic objects (%DynamicObject and %DynamicArray) allow developers to manipulate JSON-like structures directly in Objectscript. They are especially useful for modern applications that need to parse, transform or generate JSON.

Exam

2
4 195
Question MARK PONGONIS · Aug 18, 2025

Trying to create a new SQL Storage map on existing cache Global in the following format - ^MYGLO("R",rec)=data where the 'data' is built using $zel. e.g. $zel(data,1)="p1", $zel(data,2)="p2" etc... and the ^MYGLO("R",123)=data.

I'm having 2 issues. First, using the SQL Storage map wizard, I cannot figure out how to convey data in $zel format in the "Delimiter" field. 

Second, since I couldn't figure that out,  I tried to use the "Use Retrieval Code" option and entered the following line for the P1 property:

but get an error when compiling saying I cannot reference another field:

So my 2

9
0 176
Article Pietro Di Leo · Aug 21, 2025 3m read

Recently, I replaced my old laptop with a new one and had to migrate all my data. I was looking for a guide but couldn’t find anything that explained in detail how to migrate server connections from InterSystems Studio and Visual Studio Code from one PC to another. Simply reinstalling the tools is not enough, and migrating all the connections manually seemed like a waste of time. In the end, I managed to solve the problem, and this article explains how.

InterSystems Studio

Exporting Server Connections

Migrating Studio connections was the most challenging part.

0
2 153
Question Rutvik ISM · Aug 21, 2025

I try the Large data Save in FHIR server in Binary Resource but it's failed 

Methed: Post , URL: fhirservers/fhir/r4/Binary 

I hit the API but the record not save and same API but base64 data length is 3 lac than it's save without faile.

I pass data on this formet

{

  "resourceType" : "Binary",

  // from Resource: id, meta, implicitRules, and language

  "contentType" : "<code>", // R!  MimeType of the binary content

  "securityContext" : { Reference(Any) }, // Identifies another resource to use as proxy when enforcing access control

  "data" : "<base64Binary>" // The actual content

}

I got this

2
0 76
Article Irène Mykhailova · Aug 19, 2025 2m read

Hi Community,

Sometimes you may need to merge multiple accounts or simply update the email address you use across the different portals in the InterSystems Developer Ecosystem. Since each portal works a little differently, here’s a guide to help you through the process.

Change your email

If you’d like to use a different email (for example, use a work email instead of a personal one, or vice versa), here’s how to update it across the portals:

1. Update your email in InterSystems SSO. To do this:

  • follow the prompts on screen to change your email
2
1 114
Question PaulSomebody · Aug 19, 2025

Hello All,

  I have used github (outside of IRIS) for many many years and have no problem with it.  Also used SVN and other source control systems.

  I have a conceptual problem understanding the ISC github links and how they work via VSCode.

https://github.com/intersystems/git-source-control

 Our server is on Linux.

What I've done:

1. On Linux Server - d ##class(SourceControl.Git.API).Configure()

2. Create a local repo (we have a local git), say https://repo/myrepo

3. VSCode installed Object script addons, github Pull requests extension

4. VSCode Connect to namespace on server, all good

5.

3
0 154
Article Benjamin De Boe · Jun 19, 2025 10m read

This article describes a significant enhancement of how InterSystems IRIS deals with table statistics, a crucial element for IRIS SQL processing, in the 2025.2 release. We'll start with a brief refresher on what table statistics are, how they are used, and why we needed this enhancement. Then, we'll dive into the details of the new infrastructure for collecting and saving table statistics, after which we'll zoom in onto what the change means in practice for your applications. We'll end with a few additional notes on patterns enabled by the new model, and look forward to the follow-on phases of this initial delivery.

6
6 402
Question David Saunders · Aug 12, 2025

I am trying to use upload.csp as a template for choosing a CDV file to process. I am calling it from a zen page using this:
<button caption="Import Client Consultation Extract" 
       controlStyle="width:500px; height:100px; font-size:1.5em;"
         onclick="zenPage.importExtract();"/>

ClientMethod importExtract() [ Language = javascript ]
{
    // Open CSP popup to upload the CSV
    //alert('importExtract called.');
    zenPage.launchPopupWindow(zenLink('Upload.CSP'),'Upload Client Consultation extract',
                              'status,scrollbars,resizable,width=750,height=250');
}

I have

8
0 173
InterSystems Official Fabiano Sanches · Aug 19, 2025

Build 2025.1.0.1.24372U.f00326d.

Overview


This release delivers expanded Azure support for InterSystems Data Studio, enhanced subscription flexibility, major module updates, and multiple improvements to networking, security, and API responsiveness.

New Features and Enhancements

Category

Feature/Improvement

Details

Azure Support

Enhanced InterSystems Data Studio (IDFS) on Azure

Improved stability, compatibility, and performance for IDFS deployments in Azure environments. Deployment update required.

Subscription

More Granular Usage Options

Subscription model

0
1 125
Article Yuri Marx · Aug 8, 2025 11m read

This article outlines the process of utilizing the renowned Jaeger solution for tracing InterSystems IRIS applications. Jaeger is an open-source product for tracking and identifying issues, especially in distributed and microservices environments. This tracing backend that emerged at Uber in 2015 was inspired by Google's Dapper and Twitter's OpenZipkin. It later joined the Cloud Native Computing Foundation (CNCF) as an incubating project in 2017, achieving graduated status in 2019. This guide will demonstrate how to operate the containerized Jaeger solution integrated with IRIS.

Jaeger

2
5 223
Announcement Jess Jowdy · Aug 18, 2025

#InterSystems Demo Games entry


⏯️ Introducing InterSystems Go tHE DIStance

InterSystems Go tHE DIStance is a next-generation care management solution aimed at helping health plans address rising unmanaged healthcare costs and declining quality ratings, particularly in chronic condition management like diabetes. The platform integrates rich, real-time clinical data (rather than relying solely on delayed claims data) into interactive views that can track HEDIS performance, identify care gaps, and support targeted, personalized outreach through built-in communication tools. Care managers can access a unified clinical record, engagement history, and recommended next actions to improve both individual patient outcomes and broader population health.

Presenters:
🗣 @Jess Jowdy, Manager of Healthcare Sales Engineering, InterSystems
🗣 @Jimmy Carney, Team Lead of Emerging Markets & SMB Sales Engineering, InterSystems
🗣 @Clayton Lewis, Senior Technical Specialist, InterSystems

0
0 106
Article Iryna Mykhailova · Aug 15, 2025 3m read

The August Article Bounty on the Global Masters article caught my attention, and one of the proposed topics sounded quite interesting in regard to its future use in my teaching. So, here's what I'd like to tell my students about tables in IRIS and how they correlate with the object model. 

First of all, InterSystems IRIS boasts a unified data model. This means that when you work with data, you are not locked into a single paradigm. The same data can be accessed and manipulated as a traditional SQL table, as a native object, or even as a multidimensional array (a global). It means that when you create an SQL table, IRIS automatically creates a corresponding object class. When you define an object class, IRIS automatically makes it available as an SQL table. The data itself is stored only once in IRIS's efficient multidimensional storage engine. The SQL engine and the object engine are simply different "lenses" to view and work with the same data.

First, let's look at the correlation between the relational model and the object model:

Relational Object
Table Class
Column Property
Row Object
Primary key Object Identifier

It's not always a 1:1 correlation, as you may have several tables represent one class, for example. But it's a general rule of thumb. 

7
2 194
Article Iryna Mykhailova · Aug 12, 2025 7m read

Over the years, I’ve noticed that certain SQL questions come up repeatedly on the InterSystems Developer Community, especially about using the LIKE predicate in different contexts. Common variations include:

and many more derivatives. So, I decided to write an article that focuses on how LIKE works in InterSystems IRIS SQL, especially when used with variables in Embedded SQL, Dynamic SQL, and Class Queries, while touching on pattern escaping and special character searches.

First of all, I'd like to mention that InterSystems IRIS SQL offers most of the capabilities available in other relational DBMS that implement a later version of the SQL standard. But at the same time, it's important to mention that apart from relational access, in IRIS you can also use other models to get the same data, for example, object or document models. 

On this note, let's look at the LIKE predicate and how this tool is used in SQL for pattern matching. 

2
4 384
Question ha haha · Aug 13, 2025

In the Caché database, when calculating the total count based on the unique identifier of a record, the quantity is over 1.2 million. After removing duplicates based on the unique identifier and then calculating the total count, the quantity is over 400,000. When grouping by the unique identifier, it can be observed that the count for this identifier is not one. However, when performing a conditional query based on the identifier, only one record can be retrieved. Why is this the case?

7
0 114
Article Robbie Luman · Aug 15, 2025 8m read

Dynamic Entities (objects and arrays) in IRIS are incredibly useful in situations where you are having to transform JSON data into an Object Model for storage to the database, such as in REST API endpoints hosted within IRIS. This is because these dynamic objects and arrays can easily serve as a point of conversion from one data structure to the other.

Dynamic Objects

Dynamic Objects are very similar to the standard ObjectScript object model you get when you create a new instance of a class object, but with some key differences:

  • Dynamic objects have no real type, other than being a
1
3 229
Question Scott Roth · Aug 15, 2025

Is there a way to Remove specific all Addresses from a Provider.Individual.Address before reinserting the Addresses from an HL7 message in Provider Directory?

Most fields we can call %clearFields() however since Addresses come from multiple locations we need to isolate and treat Addresses from this HL7 source as a snapshot.

Thanks

Scott

0
0 72
Announcement Alberto Fuentes · Aug 15, 2025

#InterSystems Demo Games entry


⏯️ MyVitals: Connecting Wearable Health Data to EHRs with InterSystems

MyVitals is a Personal Health Device Hub that bridges the gap between wearable health devices and clinical workflows. In this demo, we show how healthcare organizations can enroll patients, collect real-time data from personal devices via mobile apps, and seamlessly integrate that information into EHR systems using FHIR, HL7, and InterSystems technology. Built on IRIS for Health and FHIR repositories, MyVitals turns disconnected wearable data into actionable clinical insights—securely, efficiently, and at scale.

Presenters:
🗣 @Alberto Fuentes, Sales Engineer, InterSystems
🗣 @Pierre-Yves Duquesnoy, Senior Sales Engineer, InterSystems
🗣 @Luis Angel Pérez Ramos, Sales Engineer, InterSystems

0
2 109
Question Aaron Laferty · Aug 14, 2025

Hi all,

I’m running into an issue with a %ZEN.Component.tablePane in a Zen page.

We have:

  • A fully styled table with all columns defined
  • A backend query (SearchMessages) that accepts multiple filter parameters
  • A set of input fields at the top of the page for filtering (text, date, and checkboxes)

We’re trying to run the query from a button click using a client-side method (runSearch()) that collects the filter values, sets them as parameters, and calls executeQuery().

The problem is that the table does not update at all. Old rows remain, or sometimes nothing appears.

0
0 83
Question Corentin Blondeau · Jul 3, 2025

Hello
I want to get the property of a class, sorted by order in storage.

I know we can use
 

Set definition = ##class(%Dictionary.ClassDefinition).%OpenId(className)
        Set listProperty = definition.Properties
        For ii = 1:1:listProperty.Count(){
                    write listProperty.GetAt(ii).Name

But using GetAt sorts the results alphabetically.

Example :

Class Test.classExtends (%SerialObject, %XML.Adaptor, %JSON.Adaptor)
{

    Property tiers As%String;Property journal As%String;
}

listProperty.GetAt(1).Name = "journal" and listProperty.GetAt(2).Name = "tiers"

Bu

13
0 240
Question PaulSomebody · Aug 9, 2025

I have the unfortunate job of installing IRIS and Healthshare (real Healthshare not Healthconnect) on 16 difference instances (tst, stg, prd with mirrors etc). the Dev was set up manually (mostly by me).

So I decided to create a class that installed the db's, namespaces, mappings and HSREGISTRY options , i then decided an installer manifest was a better idea, I keep changing my mind on which!.  I understanding manifest is "typically" for dockers to create the environment but have seen ISC use them for creating new setups aswell (outside docker)

As such I'm looking for opinions on which is the

2
0 107
Question Jonathan Lent · Aug 13, 2025

The operations manager in our company was using structured logging in IRIS to tail information to an on-prem monitoring tool and started to get concerned with the ever-growing size of the output file.He just leaned across the aisle here and informed me that the output file has no mechanism for rolling this file over at a certain point for archival or disposal.Sure enough, I can't find any documentation to refute this.

1
0 62