Article Ashok Kumar T · Jul 21, 2025 13m read

This article is a continuation of the IRIS JSON project and features additional methods and insights.

Let's continue with the instance methods

%GetTypeOf(Key)

This instance method is used to determine the JSON data type of the %DynamicObject or %DynamicArray.

It returns one of the following strings:

"null" - JSON null
"boolean" - Either "true" or "false"
"number" - Any numeric value
"oref" - An %ObjectHandle (an ObjectScript oref)
"object" - A nested object
"array" - A nested array
"string" - Normal text string
"unassigned" - The value is unassigned

USER>Set array = [1,"test",true,12.3256
1
4 310
Announcement Olga Zavrazhnova · Aug 12, 2025

Hey, Developer Community!

We’ve launched a brand-new activity on Global Masters — the Article Bounty!
It’s your chance to share your expertise, help fellow developers, and, of course, earn points while doing it.

👉 Join the August Article Bounty on Global Masters here

 

Earlier, we launched the Submit an Article Idea challenge — where Global Masters members could suggest new articles, tutorials, how-tos, and more. We received an overwhelming number of fantastic ideas! 
👉  Now, once a month, we’ll publish a list of 10 in-demand topics requested by the community.
You can choose a topic from the list, write an article about it, and earn bounty of 🏆 5,000 
points when the article is approved.

1
0 86
Question David Saunders · Aug 8, 2025

I have a personal copy of Cache which I use to help me with certain things.The instance resides on my Windows desktop.The apps I use a web enabled.It would be great if I could access my apps via web browser from my laptop without having to keep a copy of Cache on my laptop.It would make it difficult to keep the databases synced.So, if I restart my Cache instance, then I can use get to my apps by entering the url: http://ipadd:57772/csp/user/myapp.cls.but later, after having closed the browser on my laptop, if I try to open a browser session on my desktop I get license limit exceeded.

3
0 105
Question Andre Ribera · Mar 25, 2025

Been testing out the Production Validator toolkit, just to see what we can/not do with it. Seems really interesting and there seem to be some use cases for it that can really streamline some upgrades (or at least parts of upgrades) but I was running into so many hurdles with the documentation. I am curious if anyone else has used it.
Did you experience any issues getting it working? Any clarification that you would have liked in the documentation? any use cases that you worked through that made it particularly valuable? etc?
The hurdles I experienced included:

  1. The documentation stated that the
6
0 207
Announcement Laurel James (GJS) · Aug 12, 2025

Visual Studio Code releases new updates every month with new features and bug fixes, and the July 2025 release is now available.

Enhancements include revamped tool picker and expanded tool limits for MCPs, Chat GPT-5 integration and chat checkpoints, and multi-branch Git worktrees plus coding agent session management to improve productivity.

If you need help migrating from InterSystems Studio to VS Code, or want to advance your knowledge of VS Code, take a look at the training courses George James Software offers > georgejames.com/vscode-training/

Updates in version 1.103 include -

MCP:

0
0 149
Announcement Evan Gabhart · Jul 2, 2025

 

Any time a change is made to the configuration of a running Production, an update is needed to apply any changes in configuration or default settings to the running Production.This has historically been a manual step by the user.Now, if the CCR Client Tools cause a running Production to need update, the Production is updated automatically.This means users will no longer have to navigate to the Production Configuration page and click the 'Update Production' button every time they load an ItemSet.

3
0 153
Discussion Infant Livingston · Jul 10, 2025

Hello Community,

I'm currently planning a system upgrade from Caché (2018.1.8.766) to InterSystems IRIS (2024.1). The environment consists of one database server and three application servers connected via ECP.

I’m considering two possible upgrade approaches:

  1. Upgrade the application servers to IRIS first.
    Since IRIS is expected to be backward-compatible with Caché over ECP, the database server would remain on Caché temporarily.
  2. Upgrade the database server first,
    followed by upgrading the application servers, as they don’t store data.

Could you please advise on the recommended approach,

8
0 203
Announcement Simon Sha · Aug 11, 2025

#InterSystems Demo Games entry


⏯️ Auto-scaling made easy in GKE with InterSystems Kubernetes Operator (IKO)

Kubernetes horizontal pod auto-scaling (HPA) is the key to handle the unpredictable compute workload in healthcare systems. IKO helps orchestrating the IRIS container deployment in Kubernetes including the capability to configure HPA. This demo uses XSLT processing as an example to showcase this type of elasticity.

🗣 Presenter: @Simon Sha, Sales Architect, InterSystems

0
0 96
Question alon levi · Jul 31, 2025

Hi everyone,

I'm developing an Ensemble process that sends user data from a Business Process to a Business Operation using EnsLib.SQL.OutboundAdapter. The operation is supposed to call a stored procedure on a SQL Server.

The stored procedure expects 3 parameters:
@FirstName, @LastName, and @Email.

The procedure works fine when executed directly from SQL Server Management Studio.

However, when I trigger it via Ensemble, I get the following error:

[SQL Server] Incorrect syntax near 'email@domain.com'

hat is the proper way to use ExecuteProcedure or ExecuteUpdateParmArray to safely pass parameters to a

5
0 95
Article Timothy Leavitt · Aug 11, 2025 3m read

This great article sparked some recent private discussion, and I'd like to share some of my own thoughts from it.
The motivating concern boils down to: Why do we need coding rules or conventions at all? What happened to the wonderful era of the Renaissance artist-programmer forging their own path, prior to being supplanted by the craftsman and now (even worse) by AI?
In short, there are a few reasons why coding standards/guidelines are useful, and the Renaissance artist-programmer is not entirely gone.

Reason 1: These days, when you’re training a true novice artist, you start out by having them

1
1 133
Article Developer Community Admin · Aug 11, 2025 2m read

Data is at the heart of the digital transformation sweeping healthcare. Radical change requires a new foundation to handle the massive data demands of modern healthcare.

Time to market is crucial as you develop the next therapeutic breakthroughs, genomic insights, and intelligent clinical workflows. You need to deliver them now.

That’s why we’ve extended the power of our InterSystems IRIS Data Platform to address the unique characteristics of healthcare information. InterSystems IRIS for Health is the world’s first and only data platform engineered specifically for the rapid development of healthcare applications to manage the world’s most critical data.

IRIS Health diagram

0
1 167
Question JESUS (COGNOSANTE) BRAVO · Jun 24, 2025

I installed and configure CodeTidy in my local development environment, without InterSystems source-control (git-source-control) and only git for source control.

I would like to use only CodeTidy to stablish an automated  Linting and Code Style Validation for InterSystems ObjectScript code triggered by GitHub Actions.

Could you shed some light on how to accomplish that?

4
0 138
Question Dmitrii Baranov · Aug 8, 2025

I have a table with 5M rows, the table contains lab observation codes and display names, both columns have type varchar(2000) and both are indexed.

The query looks like:

select code_1_text, count(code_1_text)
  from demo.observation_lab
  group by code_1_text
  order by 2 desc

The table contains ~1000 distinct display names.

It takes 4 minutes for the query to complete on a VM with some pretty old Xeon, 4 cores, 32G RAM, NVME SSD and Linux on board.

Isn't it too slow?

4
0 125
Question Thomas Wuppermann · Jul 3, 2025

Hi,

sometimes we need more then one Iris container at the same time. Since as containers they always have the same instance name shown in the management portal, it is hard to distinguish the management-portals of the instances. Searching for a way to make it easier I thought I could change the instance name shown in the management portal. I tried "iris rename" in different ways but could only change the configuration name which is shown by "iris list", not the name in the management portal.

Does anyone know how to achieve this or do you have other means to distinguish between management-portals

6
0 175
Announcement Anastasia Dyubaylo · Aug 9, 2025
Hello and welcome to the July 2025 Developer Community YouTube Recap.
InterSystems Global Summit
By Jeff Fried, Alki Iliopoulou
By Scott Gnau
By Joe Gallant
By Benjamin De Boe, Fernando Ferreira, Adriano Basques, José Pereira
0
0 59
Question David Saunders · Aug 8, 2025

I am writing a little app where I press a button on a Zen form.It calls a ZenMethod that uses zenPage.launchPopupWindow() to provide me a way to choose a file.I then click on an upload button that calls a csp cache language script file that runs on the server, that grabs the contents of the file and stuffs it into a global.I want it then close and return to the parent window to continue processing the contents of the file.

1
0 100
Question Vachan C Rannore · Aug 1, 2025

Hello Community,

I’d like to know how I can update my login email address from the profile section.

When I click the "Edit" option in my profile, it redirects me to login.intersystems.com. However, even on that page, I don’t see an option to edit the login email address. [unable to edit]

Could someone please guide me on how to change my login email?

Thanks in advance!

8
0 135
Question Hannah Sullivan · Aug 6, 2025

I have a custom Buffer class which is designed to capture written/printed statements to the device, to be able to transform the captured text to string or stream type. I have used this in ObjectScript to capture ObjectScript write statements and return a string. I would like to try to use this with a [ Language = python ] method as follows. This class will be called by a scheduled task.

/// ObjectScript code which initializes buffer to capture statements written in nested method callClassMethod CollectStringFromBuffer() 
{
    set buffer = ##class(CustomClass.Buffer).%New()
    do buffer.B
4
0 101
Question Srinath Raghavendran · Aug 6, 2025

Trying to extract the narrative text from large CCDA files using EnsLib.EDI.XML.Document:GetValueAt method

Getting a MAXSTRING error from the GetValueAt method.. Tried alternate by using GetSubDocumentAt and put it to string. Still it is giving a Invalid OREF method. Is there any limitation on these OOB methods. Also looking for ideas to extract it

1
0 48