#InterSystems IRIS

19 Followers · 5.7K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Question Ashok Kumar Thangavel · Jun 27, 2025

Hello Community,

When handling a %CSP.REST API response for a custom endpoint, how can I capture or access the response content before it is written to the output buffer and sent through the Web Gateway to the UI?

In manually created REST services (for example, with a route like:<Route Url= ),
the response is typically written from within any class method in the execution flow.

Is there a way to intercept or log the response content before it is sent to the client?

Thanks!

4
0 155
Question Norman W. Freeman · Jun 27, 2025

I have notified that on several servers the IRISTEMP database is reported as only a few GB in size while on the disk where it's located, the IRIS.DAT file is much bigger (eg: 3GB reported in Portal (including free space) while file on the disk file is 121GB). The last modification date of IRIS.DAT is recent so I'm not looking into a location no more in use.

Is there an explanation for that difference in size ? 

I know temporary databases are special in a way they are not always stored on the disk, here is what InterSystems says about it :

Changes to temporary globals are not written to disk.

4
0 177
Question Norman W. Freeman · Jun 10, 2025

I have a database that is 2TB in size (from a LIVE system).

I would like to defragment it but I have some questions. I took a look at official documentation but it does not help.

  • Is is possible to get a measurement about how much database is fragmented ? (eg: a percentage). Most operating systems are able to give a an indication about how much a filesystem is fragmented before any operation.
  • The database is on a LIVE server, the IRIS service is restarted every night (around 1AM). Because of that I can't run defragment continuously. I don't think it will be able to complete under 24 hours.
10
0 227
Question Nezla · Jun 24, 2025

Hi Guys,

I'm trying to use %Net.WebSocket.Client to collect data from a sever,

and part of that I needed to implement Two classes (SX3.Production.HTTP.AdvCredenials  & SX3.Production.HTTP.AdvListener) as below for the purpose of Credentials & EventListener properties,   

Class SX3.Production.HTTP.AdvCredenials Extends %Net.WebSocket.ICredentials
{

Method GetPassword() As %String
{
""
}

Method GetUsername() As %String
{
""
}

Method GetSSLConfiguration() As %String
{
"MySSL"
}

}

Class SX3.Production.HTTP.AdvListener Extends %Net.WebSocket.IEventListener
{

Method OnMessage(pContent As %Stream.

7
0 166
Question Kurro Lopez · Jun 23, 2025

Hi all,

We're developing a medical appointment app that connects doctors' schedules to an appointment provider.

The provider is returning us the appointment in the following format:

Thu Jul 03 08:20:00 CEST 2025

It means, 03 july 2025 at 08:20:00 Central European Summer Time (UTC+2)

But we need the following format:

2025-07-03 08:20:00+02:00

Is there any option to convert zone time code (CEST) to a UTC+x ?

How to convert zone time code (CEST, CET, ET, EDT, etc..) in its zone time in UTC (UTC+2, UTC+1, UTC-5, etc..) ?

Best regards

4
0 157
Article Henry Pereira · Jun 11, 2025 15m read

Learn how to design scalable, autonomous AI agents that combine reasoning, vector search, and tool integration using LangGraph.

cover

Too Long; Didn't Read

  • AI Agents are proactive systems that combine memory, context, and initiative to automate tasks beyond simple chatbots.
  • LangGraph is a framework that enables us to build complex AI workflows, utilizing nodes (tasks) and edges (connections) with built-in state management.
4
4 825
Question Justin Millette · Jun 23, 2025

I have a class with a projection that creates some persistent classes (chunks) and a non-persistent "Daemon" class that I want to have running in the background, doing some processing. The daemon needs to look at the "chunk" classes, and I want it to be simple to start the daemon -- I am currently calling the daemon's start method at the end of the CreateProjection method. When I do this, I get a <CLASS DOES NOT EXIST> error from the daemon when it tries to query against one of the chunk tables. But, if I add a "HANG 5" at the beginning of the daemon start method, this runs fine.

8
0 143
Announcement Celeste Canzano · May 12, 2025

Hi everyone! 

We’re currently determining the passing score for this exam and expect to publish it in late March or early April. Pass / fail notification emails for beta testers will also be sent out around that time!

For candidates interested in taking the SQL Professional exam at Ready 2026, please see the preparation materials and exam topics below.


5
1 382
Article Hannah Kimura · Jun 23, 2025 19m read

INTRO

Barricade is a tool developed by ICCA Ops to streamline and scale support for FHIR-to-OMOP transformations for InterSystems OMOP. Our clients will be using InterSystems OMOP to transform FHIR data to this OMOP structure. As a managed service, our job is to troubleshoot any issues that come with the transformation process. Barricade is the ideal tool to aid us in this process for a variety of reasons. First, effective support demands knowledge across FHIR standards, the OHDSI OMOP model, and InterSystems-specific operational workflows—all highly specialized areas.

0
4 205
Announcement Larry Finlayson · Jun 23, 2025
  • Using InterSystems Embedded Analytics – Virtual July 14-18, 2025
    • Embed analytics capabilities in applications and create the supporting business intelligence cubes.
    • This 5-day course teaches developers and business intelligence users how to embed real-time analytics capabilities in their applications using InterSystems IRIS® Business Intelligence.
0
0 85
Question Nezla · Jun 23, 2025

Hi,

I'm trying to install NodeJs (javascript runtime environment) in IRIS container so I can execute JS files?
It was easy to install it outside the container but I got the attached error when trying in the container:  

Thanks

0
0 81
Question Pietro Di Leo · Jun 21, 2025

Hi everyone,

I'm preparing to move to a new PC soon and I'm trying to migrate the server connections I use in IRIS Studio to the new environment.

I’ve followed without success an old procedure I've found on a post on the community that involves exporting the registry key from:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Intersystems\Cache\Servers

But I’ve realized that this only includes the entries from the Server Manager and not the actual server connections used within IRIS Studio and shown within the "Server Connections" menu.

2
0 198
Question Nezla · Jun 19, 2025

Hi Guys,

below is a running a URL in a browser to connect and get live advertising packets data from Cassia AC server which keeps the connect live and keep going and population data. 

So now I'm doing the same in the below code but the issue I'm not getting anything and it gets stuck at Get(HttpURL) line because it hanging on that live connection I guess and not outputting, so how can I get the HTTP request to exit and get me only a snapshot of that data, maybe something like 20 sec worth of data?  

 BleMac="DC:0D:30:9E:3A:EC",GatewayMac="CC:1B:E0:E2:56:18"
Token=##class(SX3.Task.

1
0 106
Article Liam Evans · Jun 18, 2025 3m read

My intention is to show how simple it is to generate a lookup table taking into account the information received in our HL7 messaging. The HL7 message lookup table provided by IRIS is certainly sufficient for most of the searches we want to perform, but we always have that special field in our HIS, LIS, RIS, etc. that we'd like to search by. But that's in a segment outside of that lookup table. That field forces us to generate a specific search using the expanded search criteria. We'll likely have many messages, and we'll also have to filter by date and time so we don't timeout.

0
4 313
Question Alexey Maslov · Jun 10, 2025

Having been inspired with Shared code execution speed question/discussion, I dare to ask another one which is annoying me and my colleagues for several weeks.

We have a routine called Lib that comprises 200 $$-functions of 1500 code lines total. It was noticed that after calling _any_ function of another rather big routine (1900 functions, 32000 lines) the next call of $$someFunction^Lib(x) is getting 10-20% slower than previous call of the same function.

16
0 308
Question Scott Roth · Jun 6, 2025

I am having issues trying to send SOAP requests to a Cloud Based AWS Application that lives outside of our network. 

It is using a Basic Authentication, Key, Certificate Authority and Whitelist for Security. 

If I attempt the connection using wget from the command line I am able to connect,

:>wget --bind-address=10.95.129.245 --server-response https://xxxxxxxxxx/xxxxxxx/services/Mirth
--2025-06-06 15:54:51--  https://xxxxxxx/xxxxxxxx/services/Mirth
wget: /ensemble/.netrc:16: unknown token xxxxxxx
wget: /ensemble/.netrc:16: unknown token xxxxxxxx
Resolving xxxxxxx.com (xxxxxxx). 34.233.89.

3
0 181
Article Shuheng Liu · May 16, 2025 9m read

1. A Motivating Example

Embedded Python has been around for a while. You probably followed the tutorials and learned about it. However, if you've tried to combine Python and ObjectScript in real development work, you probably ran into situations where you get an error message like this:

USER>Do##class

It's a long string for limited information. All we know from this message is that a Python error occurred where (a) the error type is ZeroDivisionError; and (b)

4
7 519
Question Matjaz Murko · Jun 15, 2025

Hi.

I want to save and compile a class in VS Code, but I get the error:

Failed to save 'Utils.cls': Unable to write file 'isfs://mip:mz/API/Utils.cls?project=MZ' (Unknown (FileSystemError): Unknown Error).

Any ideas what is wrong?

Regards,
Matjaž

6
0 220
Discussion Harshitha · May 30, 2025

Hey everyone,

I'm diving deeper into Caché ObjectScript and would love to open a discussion around the most useful tips, tricks, and best practices you’ve learned or discovered while working with it.

Whether you're an experienced developer or just getting started, ObjectScript has its own set of quirks and powerful features—some well-documented, others hidden gems. I’m looking to compile a helpful set of ideas from the community.

3
4 262
Article Harry Tong · Jun 6, 2025 2m read

If you're migrating from Oracle to InterSystems IRIS—like many of my customers—you may run into Oracle-specific SQL patterns that need translation.

Take this example:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

In Oracle:

  • LEVEL is a pseudo-column used in hierarchical queries (CONNECT BY). It starts at 1 and increments by 1.
  • CONNECT BY LEVEL <= (...)
1
0 245
Question Norman W. Freeman · May 20, 2025

Hello,
I have created this script that does lot of writes to a single global. DB write performance is much slower than expected (compared to another similar systems).

set"..."//fill it with something

I have notified the following : 

  • CPU usage does not reach 100% on a single core (eg: 25% of total CPU usage should be seen on a 4 cores system). Instead, much lower CPU usage is shown (with some drops to 0% from time to time). It looks like process has to wait for I/O completion before proceeding. Removing the set
9
1 254