#Key Question

0 Followers · 137 Posts

A tag that highlights questions on development, testing, deployment, management, etc using InterSystems Data Platform that are considered to be the most insightful, interesting, puzzling, or important. If a key question includes a best practice, it will also be tagged as such. More details.

InterSystems staff + admins Hide everywhere
Hidden post for admin
Question Colin Brough · Oct 3, 2025

Is there any way of saving a representation of the results of a query created in the Message Viewer to a file - most obviously CSV.

We are reasonably adept at creating queries. We'd like to be able to send the output to a file, rather than resorting to cut'n'pasting from the message viewer window...

Is this possible? (on any version of Ensemble/Iris?)

Desired output to file something like:

ID,TimeCreated,Session,Status,Error,Source,Target,Body_MSH_MessageControlId,.....
1,8888888,2025-08-20 05:03:14.324,8438123,Completed,OK,ICE ADT Validator,ICE ADT TCP,1z123456,20220822......
13
0 130
Question Matheus Augusto · Sep 23, 2025

Some languages ​​have the concept of a garbage collector for automatic memory management. I'd like to know if something like this exists in InterSystems Caché in the context of routines, %CSP.REST, or %CSP.Page.

The question arises from the %Close() method of the %RegisteredObject class. This indicates that I need to manually clear the object from memory if it's no longer in use, or in the web context, if the request has completed. Is this correct? Or am I completely wrong?

Thank you!

8
0 175
Question Jean Millette · Aug 14, 2025

Is there a better way (i.e., without string commands) to remove the fractions of seconds from a %Library.PosixTime value?

This works, but seems inefficient:

set posix = 1154669852181849976w##class(%Library.PosixTime).LogicalToTimeStamp(posix)
2025-05-2712:06:15.003set str = ##class(%Library.PosixTime).LogicalToTimeStamp(posix)
set stripped = $P(str,".",1)
w##class(%Library.PosixTime).TimeStampToLogical(stripped)
1154669852181846976set newposix = ##class(%Library.PosixTime).TimeStampToLogical(stripped)
w##class(%Library.PosixTime).LogicalToTimeStamp(newposix)
2025-05-2712:06:15
9
0 133
Question Scott Roth · Aug 4, 2025

I am trying to help another group within our organization access a SQL Table that I have created to populate Epic Department Data within our environment and came across the ability to use SQL Seach REST Interface using iKnow.

However, I am having issues trying to get it to work via POSTMAN before I hand off the solution...

the POST URL... https://<servername>/api/iKnow/latest/TESTCLIN/table/osuwmc_Epic_Clarity.DepartmentMaster/search

where osuwmc_Epic_Clarity.DepartmentMaster is the table

In the body...

15
1 174
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"

13
0 194
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.

6
0 136
Question Anna Golitsyna · Jun 2, 2025
    I like the Application Error Log functionality a lot. However, it becomes time consuming to inspect it date by date and directory by directory on a multidirectory server. Ideally, I would use an existing error class to write a custom error report by date, selected namespaces, etc. Does such a system class actually exist? Not that I found. The detail level on the screenshot below is enough.  
    Some Application Error Logs go back a couple of years and load for a long while. Is there any programmatic way to clean them? Deleting errors in GUI date by date and directory by directory is rather
10
0 157
Question Jeffrey Drumm · Jun 18, 2025

I seem to remember making this work before, but I'm not having any luck digging up examples.

I've defined some custom properties for a business operation that could definitely benefit from having popup descriptions available in the Production Configuration. I have triple-slash comments before each property that do just that in the source. I thought those provided the text for the popup descriptions when clicking on the property name, but apparently not.

Any thoughts?

10
0 102
Question TAZ.R · May 6, 2025

Hi everyone,

I’m new to this community and could really use some help with creating a production in InterSystems IRIS for Health Community 2024.3. I have deployed my instance using Docker.
Here’s what I’m trying to do:

  1. Input: I have an HL7 file that is processed by the standard EnsLib.HL7.Service.FileService.
  2. DTL Transformation: I’ve created a DTL to transform the HL7 content into a custom class like this:
5
0 185
Question Evgeny Shvarov · Apr 7, 2025

Hi devs!

Suppose I have an instance of a persistent class:

Set person = ##class(dc.Sample.Person).%OpenId(1)

Class is an ancestor of %JSON.Adapter.

How can I convert it to dynamic object with the properties that person.%JSONExport() provides?

{"Name":"Elon Mask","Title":"Associate Accountant","Company":"InterSystems","Phone":"799-933-5569","DOB":"1926-12-11"}

Couldn't find a right method. 

17
0 355
Question Anna Golitsyna · Feb 4, 2025

The task is to find all globals that are referenced in certain routines. I could search for ^ using class(%Studio.Project).FindInFiles  but that would also find ^ in comments and function calls. I can distinguish between a global and a function call visually, but it would be lovely to be able to skip function calls programmatically. Is it possible?

The Find and Replace screen in Studio has a capability of searching for ^ with Match Element Type set to Global Variable. Maybe I could use that but what is the ObjectScript function behind this screen if any?

16
0 229