Question Damiano Porrovecchio · Jan 6

Hi everyone,

I am currently setting up InterSystems API Manager (IAM) 3.4.3.11 using Docker. The installation is successful, the license is active, and I can access the Manager (port 8002).

I am now trying to secure the Administration Portal using basic-auth. I've found some documentation stating that I should:

  1. Go to the Teams section in the UI.
  2. Click on Invite Admin to create the first user.
  3. Only then, enable KONG_ENFORCE_RBAC and KONG_ADMIN_GUI_AUTH in the docker-compose.yml.
1
0 66
Question Anderson Negreli · Mar 3

I am currently managing environments running InterSystems IRIS and Caché on Windows servers.

I’m reviewing storage optimization best practices and I have a question regarding a specific Windows drive setting: "Allow files on this drive to have contents indexed in addition to file properties."

Based on my research, everything indicates that it is better to disable this option, especially on drives used by databases. However, I couldn't find a specific "official" stance in the documentation explicitly mentioning this checkbox.

3
0 101
Question Malaya Acharya · Mar 1

I have installed IRIS community edition on a local directory in Redhat Linux 9.4.

Created a 10G database on a separate mount point directory  which comes out of a storage volume of 50G.

Also placed Journal and WIJ on 2 separate mount point directories  which comes out of two different storage volume of 50G each.

I want to take a snapshot and recover the snapshot on a secondary host and check the consistency of the database. 

As Storage snapshot will be taken, only Data, Journal and WIJ file placed on Storage volumes will be snapshotted.

7
0 120
Question Malaya Acharya · Mar 5

Is there any Cache setting that needs to be checked while configuring IRIS Community Edition 2025.2 and does it impact WIJ recovery.

Also I have kept Database, WIJ and JOURNAL on the same snapshot group with Consistency . Is it the recommended settings? Am I getting the WIJ mismatch error due to this setting?

1
0 57
Question Norman W. Freeman · Feb 25

I have a global with multiple nodes : 

^A("ABC") = ""
^A("DEF") = ""
^A(123) = ""

How to create a new single node in that global, in a way it's always at the end of the global (eg: this will be the very last node being enumerated)

I end up with this code but maybe there is a cleaner and simpler approach : 

set ^A($char(65535)) = "" //should be bigger than any character inserted
set ^A($char(255)) = ""   //some systems does not seems to support >255 characters, this might be safer

I only need to write it once, this code is not intended to be used in a loop or something, just to add something at the end (like a footer).

6
0 169
Question Scott Roth · Mar 2

I am stuck at a crossroad and was wondering if I could get a second pair of eyes to help with a query that I am sending from a Task to a Service to process some data.

I have a Linked Table (view) that points back to a MS SQL View that I am trying to query. However, my execution keeps either failing or not returning any rows. When I take the SQL Query and execute it within the Management Portal I get results, however Cache is not seeing it when trying to execute this code.

4
0 107
Question Scott Roth · Feb 27

I am trying to create a task that has a variable property that a user can specify DaysBack but it keeps coming up blank when I ask the system to get the date as of DaysBack from the CURRENT_DATE. Can someone tell me why I am not getting a value back in my tDate variable?

Class OSU.Workday.TerminationsTask Extends %SYS.Task.Definition
{

Parameter TaskName As STRING = "OSU - Workday Termination Update";

Property DaysBack As %Integer [ InitialExpression = 1 ];

Method OnTask() As %Status
{
	Set tSC=$$$OK
	#Dim tException as %Exception.SystemException
    try{
        set tDate = ""
        &sql(SELECT DATEADD('day', -:daysBack, CURRENT_DATE) INTO :tDate)
        ZWRITE tDate
        set tSC = ..SelectTerminations(tDate)
        $$$ThrowOnError(tSC)
    }Catch (tException) {
		Set tSC = tException.AsStatus()
	}
	Return tSC
}

Method SelectTerminations(pDate As %DateTime) As %Status
{
    Set tSC=$$$OK
    #Dim ex as %Exception.SystemException
    try
    {
        set sqlQuery = "SELECT EMPLID, MedCtrID, LastName, FirstName, EFFDT FROM OSU_Workday_SQL.PDMTerminations WHERE EFFDT > ?)"
        set tStatment = ##class(%SQL.Statement).%New()
        Set qStatus = tStatment.%Prepare(sqlQuery)
        $$$ThrowOnError(qStatus)
        set rset = tStatment.%Execute(pDate)
        $$$ThrowOnError(rset)
        #Dim tTermService As OSU.DataSource.Workday.TermService
        set tTermConfigName="OSU.DataSource.Workday.TermService"
        $$$ThrowOnError(##class(Ens.Director).CreateBusinessService(tEIDEMPIDConfigName,.tEIDEMPIDService))
        if rset.%ROWCOUNT > 0       
        {
            set tTerm = ##class(OSU.Workday.Messages.WorkdayTerminations).%New()
            while rset.%Next()
            {
                set tTerm.EMPLID = rset.%Get("EMPLID")
                set tTerm.MedCtrID = rset.%Get("MedCtrID")
                set tTerm.Lastname = rset.%Get("LastName")
                set tTerm.Firstname = rset.%Get("FirstName")
                set tTerm.EFFDT = rset.%Get("EFFDT")
                set tSC = tTerm.%Save()
                $$$ThrowOnError(tSC)
                set (tTermOutput,tHint) = ""
                $$$ThrowOnError(tTermService.OnProcessInput(tTerm,.tTermOutput,.tHint))
            }
        }
    }
    Catch ex
    {
        Set tSC = ex.AsStatus()
    }
    Return tSC
}

ClassMethod TestTask() As %Status
{
   
    Set tSC=$$$OK
	set tTask = ##class(OSU.Workday.TerminationsTask).%New()
	$$$ThrowOnError(tTask.OnTask())
    Return tSC
}

/// Location and Revision of this file in Perforce (Auto-updating)
Parameter SrcVer = "$Id: //custom_ccrs/us/OSUM/OSUMHSCUSTOM/UAT/cls/OSU/Workday/TerminationsTask.xml#3 $";

}
5
0 97
Question Yone Moreno Jiménez · Feb 24

Hello, how are you?

Using Healthshare for Interoperability, we often see a wide variety of encoding issues. Some happen when transforming XML to HL7. Some happen the other ay around transforming HL7 to XML.

Is there a valid way to understand which encoding needs to be used?

I ask, because we use SOAP or REST or TCP HL7 services.

And we deliver messages with TCP HL7, SOAP, HTTP Operations.

And we often face this issue where special characters like ñ or á, are not encoded correctly.

Thanks for your replies.

5
0 90
Question Hour Abdellatif · Feb 26

Hello everyone,

I’m trying to find a way to manage globals from our Java application. We have two separate features:

  • Managing tables normally using SQL

  • Managing globals, since some globals exist without class or table definitions

Cache version : Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2016.1.1 (Build 108U_SU), Thu Jul 7 2016 09:39:04 EDT

I tried to retrieve the globals tree, update node values, and append nodes using SQL by calling stored procedures, but I couldn’t find any procedures for adding, updating, or deleting nodes.

I also tried using cacheextreme.jar

0
0 54
Question Mark OReilly · Feb 25

When using VS code with multiple workspaces it requests "The extension 'InterSystems ObjectScript' wants to sign in using InterSystems Server Credentials. 

Other than having multiple workspaces per environemnt (which never really works for me in principle as i end up code comparing in one manner or another) is there a way to only have intersystems log in to VS code whenever you open an actual workspace itself i.e. click on dev not on loading vscode. 

This would also get around errors of "unauthenticated access rejected by" errors as VS code tries to log in without the password first. 

8
0 102
Question Jainam Shah · Feb 25

Hi Team,

I am working on an ASTM interface using EnsLib.EDI.ASTM.Service.TCPService.

Environment

InterSystems Ensemble / IRIS (please specify your exact version)

Service class extending:

Class Custom.ASTM.Service.TCPService
Extends EnsLib.EDI.ASTM.Service.TCPService
{
Parameter EOTOPTIONAL = 1;

Parameter ADAPTER = "Custom.EDI.ASTM.Adapter.TCPAdapter"
}

Custom Adapter:

Include EnsEDIASTM
Class Custom.EDI.ASTM.Adapter.TCPAdapter Extends EnsLib.EDI.ASTM.Adapter.

0
0 42
Question Enrico Parisi · Feb 19

I need to reproduce a table (in fact a view, but let's start with a simple table 😊) in IRIS as the currently used in Oracle.

I need to expose/project one column to JDBC as CLOB, in my class I have the corresponding property defined as:

Property GlobStream As %Stream.GlobalCharacter;

In JDBC this column is projected as LONGVARCHAR, this is compliant with the documentation but I need to project it as CLOB.

In addition, I'm no expert in JDBC but wit seems that LONGVARCHAR has a Maximum Length 32,700 characters in JDBC, not quite enough for an arbitrary stream.

8
0 111
Question Hannah Sullivan · Aug 24, 2023

I have a persistent class (GetOrgUpdatesResponse) that has a property which is a list of another persistent class (Organization).

What would be the best way to cascade deletes so that on deletion of a parent row each object in the list property is then also deleted? 

I have included a sample of my classes here for clarity

ClassExtends%PersistentAs

Where Organization is defined as the following class 

As
12
1 722
Question Jainam Shah · Feb 22

Hi everyone,

I am currently integrating a Sysmex analyzer with InterSystems Ensemble/IRIS using a Moxa NPort 5110. I have successfully verified the physical and serial layers, but I am facing two specific issues: a protocol sync error and a persistent TCP connection state.
Environment:
Interface: ASTM.

Gateway: Moxa NPort 5110 (TCP Client Mode).

Server: Ensemble Business Service (EnsLib.ASTM.Service.TCPService).

Port: xxxx.

Current Status & Observations:
Serial Layer: Verified. The Moxa "Async Monitor" shows RxCnt increasing when the instrument sends data. Hardware pins (DSR/CTS) are ON.

1
0 59
Question Pietro Di Leo · Feb 12

Hi everyone, 

This is the first time I'm dealing with a request of modifying a variable value in a UDF OnSQLTrigger on InterSystems TrakCare.

I can't find any documentation to address this issue, but basically, my goal is to modify the value of one of the fields in a table when it is first inserted. 

This is basically what the code should do, namely, to change the content of the %d variable at a specific key.

10
0 114
Question Nuno Almeida · Aug 31, 2025

Greetings,

As a long time Cache developer is there a way to get a copy of the Cache Studio that supports IRIS 2024.3? I do not have a WRC account? I need Studio just to experiment, not to build commercial software.

Thank you,

Everardo

6
0 251
Question Thomas Wuppermann · Feb 19

We use local containers  a lot for evaluation and development with Health Connect and other IRIS based applications.

When evaluating Podman Desktop on Windows as replacement for Docker Desktop, we are experiencing an issue with the durable %SYS:

The only way it works is when we use a named volume which then is located inside the WSL-Podman-Machine under /var/lib/containers/storage/volumes/.

1
0 62
Question Jainam Shah · Feb 17

Hello Team,

I am currently working with the CD Ruby machine, which is connected through DIGI. When I click on the “Test Link” option on the instrument, I can see the following behavior in Wireshark logs:

Ensemble sends an ACK (06) after receiving ENQ (05), followed by EOT (04) (somewhat like above photo). However, when another ENQ is received, Ensemble does not send an ACK in response. As a result, the instrument displays a failure message.

Also attaching the Ensemble settings:

I am using a TCP service with an inbound adapter configured for the ASTM protocol.

0
0 69
Question Carl Deitrich · Feb 17

We are attempting to "Repoint" old class data to new class data to save disk space and data redundancy across multiple tables. This works to a point.  In essence the two classes are sharing the same data / Index / stream globals.  But if an ID in the Old_Class is opened, a property is modified, and saved the property that is in the New_Class (but not in the Old_Class) is NULLed / blanked.

Simplified explanation of data and what’s occurring.

10
0 98
Question Yann Simons · Feb 16

Hi,

I'm having a problem with %JSON.Adaptor and "list of" binding.

For exemple, this class with a property "oazisCode As list of %String".

Class User.ADGroup Extends (%Persistent, %JSON.Adaptor)

{
/// Code interne
Property code As %String;

/// Libellé
Property text As %String(MAXLEN = "");

Property oazisCode As list Of %String;

}

The first time call to %JSONImport works properly

s r = ##class(User.ADGroup).%New()
s json = {"code": "123", "text":"456", "oazisCode": ["1","2"]}
d r.%JSONImport(json)
w r.oazisCode.Size
2
5
0 85
Question Dmitrii Baranov · Jan 20

Why do these clauses affect SQL performance?

select ID from some_table where row_status in ('I','U') order by ID limit 5 - makes the query infinite select top 10 ID from some_table where row_status in ('I','U') order by ID - the same select ID from some_table where row_status in ('I','U') order by ID - is fast

Actually there are no rows in the table having row_status 'I' or 'U'.

15
0 188