Announcement Larry Finlayson · Sep 2, 2025

Managing InterSystems Servers – In-Person  September 29-October 3, 2025
  • Configure, manage, plan, and monitor system operations of InterSystems Data Platform technology
  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché.

0
0 32
Announcement Vishal Pallerla · Sep 1, 2025

#InterSystems Demo Games entry


⏯️ Health Evolve: Transforming Unstructured Data

Did you know that 80% of healthcare data is stuck in unstructured formats such as fax? If you take a walk down to Mass General in Boston, you'll literally see a state-of-the-art MRI machine next to a fax machine. Healthcare keeps building incredible new technology but can't let go of legacy technology. We call this the "legacy modernization paradox". This short film follows a care manager at Blue Plan who spends her days doing chart reviews, reading faxes line-by-line, struggling to provide her members the care they need. Everything changes when Blue Plan pilots InterSystems Health Evolve, a solution that transforms her faxes into machine-readable FHIR data ready for AI and analysis. To access our fully working Text-to-FHIR prototype, visit HealthEvolve.de.

Presenters:
🗣 @Vishal Pallerla, Sales Architect, InterSystems
🗣 @Erica Song, Sales Engineer, InterSystems
🗣 @Louis Kabelka, Sales Engineer, InterSystems
🗣 Zelong Wang, Sales Engineer, InterSystems
🗣 John Murtha, Health Plan Executive, InterSystems

1
1 168
Announcement Tani Frankel · Sep 1, 2025

#InterSystems Demo Games entry


⏯️ Being READY to Tackle Healthcare Enterprise Challenges in a Few Clicks

Managed Cloud Solutions to Help Streamline Your Health Services.

This demo showcases composing several InterSystems Managed Cloud Services to solve various use-cases.

The video is actually built of 6 short chapters (each ~2.5 minutes long) showing each part of the story, demoing a different service.

You can watch each "chapter" individually if you're interested in a specific service, but there is value in viewing the whole composition and observing the full flow.

  • 0:00Health Connect Cloud - Medical Device MQTT - HL7v2 for Hospital Operation Systems
  • 2:29FHIR Server & FHIR Transformation Service - HL7v2 to FHIR & Repository for Regulation & Exchange
  • 5:21FHIR SQL Builder - Providing standard relational access to FHIR data
  • 7:22 "FHIR IntelliChat" (see note below) - Natural human language chat with FHIR Server
  • 9:37OMOP Solution - FHIR to OMOP transformation & OMOP database with OHDSI tools compliance
  • 12:54InterSystems Data Studio for Health - Creating a multi data/app sources fabric 

[Note the "FHIR IntelliChat" part is not an actual formal InterSystems service, it is just a demonstration of a possibility (based on this solution by @José Pereira) ]

Presenters:
🗣 @Tani Frankel, Sales Engineer Manager, InterSystems
🗣 @Keren Skubach, Senior Sales Engineer, InterSystems
🗣 @Ariel Glikman, Sales Engineer, InterSystems

0
0 90
Article Anastasia Dyubaylo · Aug 13, 2025 3m read

Among the many contributors shaping the InterSystems Developer Community, some bring not only deep technical knowledge but a long-term vision and passion for empowering others. One of these exceptional voices belongs to @John Murray, a veteran of InterSystems technologies, an open-source advocate, and a founding member of the Developer Community.

👏 Let’s take a closer look at John’s remarkable journey and his continuing legacy in the InterSystems ecosystem.

22
1 387
Article Robert Barbiaux · Sep 1, 2025 9m read

InterSystems IRIS interoperability production development involves using or writing various types of components. They include services (which handle incoming data), processes (which deal with the data flow and logic), and operations (which manage outgoing data or requests). Messages flowing through those components constantly require being adapted to consuming applications. Therefore,Data transformations are by far the most common component in interoperability productions.

In the early stages of data transformation development, thetest tool from the Management Portal becomes quite handy.

0
0 139
Article Alberto Fuentes · Sep 1, 2025 7m read

Customer support questions span structured data (orders, products 🗃️), unstructured knowledge (docs/FAQs 📚), and live systems (shipping updates 🚚). In this post we’ll ship a compact AI agent that handles all three—using:

  • 🧠 Python + smolagents to orchestrate the agent’s “brain”
  • 🧰 InterSystems IRIS for SQL, Vector Search (RAG), and Interoperability (a mock shipping status API)
0
2 205
Question Eduard Lebedyuk · Jan 27, 2022

I have defined a class with a dynamic object property:

 

My class

Class test.Dyn Extends %Persistent
{

Property json As %DynamicObject;

/// do ##class(test.Dyn).test()
ClassMethod test()
{
  do ..%KillExtent()
  for len = 100, $$$MaxStringLength - 1, $$$MaxStringLength, $$$MaxStringLength+1, $$$MaxStringLength *2 {
    set sc = ..save(len)
    write "Len: ",len, " Result: ",$case($$$ISERR(sc), $$$YES: $System.Status.GetErrorText(sc), : "OK"),!
  }
}

ClassMethod save(len)
{
  set json = {}
  set stream = ..getStream(len-8) // -8 because {"a":""}
  do json.%Set("a", stream, "stream")
 
  set obj = ..%New()
  set obj.json = json
  quit obj.%Save()
}

ClassMethod getStream(len)
{
  set stream = ##class(%Stream.TmpCharacter).%New()
 
  if len<$$$MaxStringLength {
    do stream.Write($tr($j("",len)," ","A"))
  } else {
    for i=1:$$$MaxStringLength:len {
      do stream.Write($tr($j("",$$$MaxStringLength)," ","A"))
    }
    do stream.Write($tr($j("",len-i)," ","A"))
  }
  quit stream
}
}

The issue I encounter is that if a length of a serialized json property is more than 3641144 symbols, the object fails to save with the following error (either MAXSTRING or STRINGSTACK):

Length: 100 Result: OK
Length: 3641143 Result: OK
Length: 3641144 Result: OK
Length: 3641145 Result: ERROR #5002: ObjectScript error: <MAXSTRING>%GetSerial+1^%Library.DynamicAbstractObject.1
Length: 7282288 Result: ERROR #5002: ObjectScript error: <STRINGSTACK>%GetSerial+1^%Library.DynamicAbstractObject.1

Is there a workaround? I need to store moderately large jsons (10-15 Mb) and dynamic object properties allow for a very convenient access.

$ZSTORAGE is set to -1.

8
0 1261
Question Anna Golitsyna · Aug 28, 2025

Studio's Find In Files finds nothing if CLS routines are included. The error is WIDE CHAR. After using ##class(%Studio.Project).FindInFiles programmatically and then ZW after the same error I strongly suspect that CodeWalkopdatecopyopt in EnsLib.InteropTools.HL7.Cloverleaf.Parser.cls  is to blame. I cannot even open this class, unlike other classes from EnsLib.InteropTools.HL7. This error prevents searching even if System Items are excluded and I would peg EnsLib as System. Any remedy besides updating IRIS? Assuming this is fixed in later IRIS versions.

2
0 97
Article Sammy Lee · Aug 28, 2025 1m read

As part of a recent documentation technical project to optimize the search, I needed to use Embedded Python in my ObjectScript code. The main blocker was passing a Python list from a Python class method to a ObjectScript method. Sending the list by reference to the python method, populating it with the Insert() method, and returning the reference to the ObjectScript method resulted in an list with type %SYS.Python, a process that was straightforward but not efficient.
I explored an alternative method: converting a Python list to an ObjectScript list using JSON as the intermediary format.

0
1 93
Announcement Tomo Okuyama · Aug 28, 2025

#InterSystems Demo Games entry


⏯️ Autonomous Business Intelligent Clerk (ABiC) - Combining InterSystems BI and Generative AI

Our Autonomous Business Intelligent Clerk, or ABiC for short, is a prototype revolutionizing how companies process data and make decisions. Normally, to get insights from data, you’d need IT knowledge or expertise in statistics. But with ABiC, that’s no longer necessary. All you have to do is ask your question in plain language. ABiC understands your interests and intentions, then shows a clear dashboard to guide your decisions. With ABiC, complex data is autonomously analyzed and turned into answers that support users, helping to accelerate business processes. This demo sends the metadata of InterSystems BI cubes to LLM. How does it work? Check out the video for more details!

Presenters:
🗣 @Tomo Okuyama, Sales Engineer, InterSystems
🗣 @Nobuyuki Hata, Sales Engineer, InterSystems
🗣 @Tomoko Furuzono, Sales Engineer, InterSystems
🗣 @Mihoko Iijima, Training Sales Engineer, InterSystems

0
0 97
Question Scott Roth · Aug 28, 2025

I had a need for a Filter, but did not want to recreate the wheel by creating another Data Lookup Table, so instead I created a Linked Table that points to a MS SQL Table outside of IRIS.

Once I had the Linked Table, I created a Class Method Function that would query the Linked Table and return a 1 if a result came back.

ClassMethod CheckPDMProviderType(pInput As%String) As%Boolean
{
    set ExtDisplay = ""
 		&sql(SELECT SecurityGroup_k INTO :ExtDisplay
        FROM osuwmc_CPD_SQL.Ref_SecurityGroup WHERE PDMExtDisplay = 1AND SecurityGroup_k = :pInput)
    if ExtDisplay = "" {
        q
1
0 109
Article Hiroshi Sato · Aug 28, 2025 1m read

InterSystems FAQ rubric

There is data, such as execution log data, that you do not want to return to its previous state even if a rollback occurs during a transaction. The above requirement can be met by placing that data in the IRISTEMP database, which will not be rolled back.

Temporary Globals and the IRISTEMP Database

By mapping the table entities you do not want to roll back to this database, you can retain the information after the rollback.

However, the contents of this database will be cleared when IRIS is restarted, so if you want to keep it permanently, you will need to copy it to a

0
0 68
Announcement Larry Finlayson · Aug 27, 2025

HealthShare Unified Care Record Fundamentals – Virtual* September 15-19, 2025

*Please review the important prerequisite requirements for this class prior to  registering.

  • Learn the architecture, configuration, and management of HealthShare Unified Care Record.
  • This 5-day course teaches HealthShare Unified Care Record users and integrators the HealthShare Unified Care Record architecture and administration tasks.
  • The course also includes how to install HealthShare Unified Care Record.
  • This course is intended for HealthShare Unified Care Record developers, integrators, administrators and
0
0 29
Article Ariel Glikman · Nov 10, 2024 3m read

IAM - InterSystems API Manager is a great tool for monitoring your traffic. If you are trying to use it in your Kubernetes cluster you may have tried doing a deployment similar to this one:

apiVersion: intersystems.com/v1alpha1
kind: IrisCluster
metadata:
  name: iris
spec:
  licenseKeySecret:
    name: iris-key-secret
  configSource:
    name: iris-cpf
  imagePullSecrets:
    - name: intersystems-pull-secret
  topology:
    data:
      image: containers.intersystems.com/intersystems/iris-arm64:2024.1
      compatibilityVersion: "2024.1.2"
      mirrored: false
2
1 312
Article Evgeny Shvarov · Aug 27, 2025 3m read

Hi folks!

It is very easy to import CSV data into IRIS. But what if we want to preserve the original IDs in CSV?

Recently I came across with the situation when I needed to import two csv's into IRIS which were linked by one column referencing  to another csv's col: a typical Foreign Key and Primary Key situation, where csv1 contains this column as Primary Key, and csv2 as Foreign key with id's related to csv1.

The image is generated by ChatGPT so don't blame it - it tried its best to generate countries as primary keys with countries.csv-cities.csv relationship :)

0
1 121
Question Scott Roth · Aug 26, 2025

I have a need to create a specific Search Table outside of the EnsLib.HL7.SearchTable specifically for HL7 MFN messages in HealthShare Provider Directory.

Our Code is created in a different namespace then the main HSPD namespace and is mapped within the HSPD namespace mapping. 

I created a copy of EnsLib.HL7.SearchTable, named OSU.HL7.SearchTable what all needs mapped to make this new search table available in HSPD namespace?

If I go to Global within the Custom Code Namespace, I cannot see my new Search Table being created.

What am I missing to make sure that the OSU.HL7.SearchTable available

1
0 67
Question Rebecca Johnson · Aug 25, 2025

I'm trying to catch some WorkQueue errors that are happening on 2019 but not on more recent versions.

I'm getting an error when trying to call a class method via a workQueue. It functions properly in 2024.1. When calling the method, it immediately errors. I have logging at the top of the method that never gets set. 

The error being returned by Iris is simply an "ERROR #5039: An error occurred while calling function  s %sc=##class(|"NS"|Path.To.Class).ClassMethod(.%p1,.%p2)"

The parameter counts match and are appropriate for the method.

When I catch the full stack, it's erroring on the WorkQueue

7
0 107
Question Chris Lambert · Aug 21, 2025

Hello,

I'm trying to get the Reply Action Code to work with the error message text.

I have this ACK:

MSH|^~\&|APP|FACIL|||20250821143621||ACK|CUEACK_20250821143621|P|2.4
MSA|AE||Failed to queue message

This is some of the Action Codes I've tried:

  • E*Failed to queue message=S
  • E*Failed=S
  • E*"Failed to queue message"=S
  • :E*Failed to queue message=S
  • :?E*Failed to queue message=S

It's not suspending the message however.

What am I doing wrong?

Thank you

2
0 101
Announcement Larry Finlayson · Aug 25, 2025

Developing with InterSystems Objects and SQL – In PersonSeptember 15-19, 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
0
0 29
Announcement David McCaldon · Aug 18, 2025

I’m pleased to announce the release of tree-sitter-objectscript, a new open-source tree-sitter grammar that brings first-class ObjectScript support to modern editors. If you caught the preview at READY ’25, you’ll be glad to know it’s now up on Github:

https://github.com/intersystems/tree-sitter-objectscript

What Does It Provide?

  • Fast & Precise Parsing: A powerful grammar for ObjectScript, enabling real-time syntax parsing, smart highlighting, and structural editing in modern code editors.
  • Polyglot-Awareness: ObjectScript .cls files often embed SQL, HTML, Python, JavaScript, JSON, CSS, XML, and
12
4 427