#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

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......
0
0 129
Question Matheus Augusto · Sep 23

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!

0
0 0
Question Jean Millette · Aug 14

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
0
0 0
Question Scott Roth · Aug 4

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

0
0 0
Question Corentin Blondeau · Jul 3

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"

0
0 0
Question Thomas Wuppermann · Jul 3

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.

0
0 0
Question Anna Golitsyna · Jun 2
    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
0
0 0
Question Jeffrey Drumm · Jun 18

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?

0
0 0
Question TAZ.R · May 6

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:
0
0 0
Question Evgeny Shvarov · Apr 7

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. 

0
0 0
Question Anna Golitsyna · Feb 4

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?

0
0 0
Question omer · Jan 14

Hello,

So i want to use the INSERT OR UPDATE command so i can update a COUNTER for a given name:

INSERT OR UPDATE myTable
SET name='Omer',  counter = counter + 1;


as you can see with the above code - if the row is non-existent then we get an error because COUNTER is NULL! 
I tried the following to fix this but all have failed:


INSERT OR UPDATE myTable
SET name = 'Omer', 
    counter = CASE 
        WHEN counter IS NULL THEN 1 
        ELSE counter + 1
    END


INSERT OR UPDATE myTable SET name='Omer',counter = COALESCE(counter + 1, 1)

0
0 0
Question omer · Jan 13

Hello! 
So my question is quite simple, Do the different data models of Intersystems all support the ACID properties?
I assume that for the SQL data model implementation it does, But does it also work for global (i.e the hierarchical  data model)?
I searched the docs and the different articles, It seems for example that here its implied that the different data models of
Intersystems  DO indeed support the ACID properties and allow for safe insertion, deletion etc... in concurrent operations to the server that is.

Would love to get a clarification, Thx!

0
0 0