Question Victor Paredes · Jan 7

Hello,

We are accessing an InterSystems Cacha database from Microsoft SQL Server using a linked server over ODBC (ODBC35). Queries are executed using OPENQUERY.

On the SQL Server side, there is a linked server property called Query Timeout. By default it is set to 0 (no timeout). We are considering setting it to 15 seconds and would like to understand how Cache behaves in this scenario.

Specifically, I would like clarification on the following points:

  1. When SQL Server sets a query timeout (for example, 15 seconds), is this timeout visible to or enforced by Cache itself, or is it handled entirely
6
0 109
Article Jean Millette · Apr 23, 2025 7m read

I have a new project to store information from REST responses into an IRIS database. I’ll need to sync information from at least two dozen separate REST endpoints, which means creating nearly that many ObjectScript classes to store the results from those endpoints.

Could I use ChatGPT to get a headstart on creating these classes? The answer is “Yes”, which is great since this is my first attempt at using generative AI for something useful. Generating pictures of giraffes eating soup was getting kind of old….

Here’s what I did:

  • Get some sample JSON REST call output using “curl” to query the
3
1 356
Question Ruslan K · Dec 4, 2025

Hello. Here is  XDataReportDefinition

/// XML that defines the contents of this report.
XData ReportDefinition [ XMLNamespace = "http://www.intersystems.com/zen/report/definition]
{
<report xmlns="http://www.intersystems.com/zen/report/definitionname='bills' runonce="true">
<attribute name='runTime' expression='$ZDT($H,3)/>
    <attribute name='runBy' expression='..GetUserName()/>
    <attribute name='author' expression='..ReportAuthor'/>
<group name='bills' OnCreateResultSet="CreateRS">
<parameter name="MonthDt" expression="..Month"/>
<parameter name="Company" expression="..Company"/>
<parame

1
0 65
Question Ruslan K · Jan 8

Hello
How to hide a table completely in pdf generation when a row is empty?
A table has style with borders
<table group="services" removeEmpty="1" style="border:1px solid black;">
     <item field="TotalSum" suppressEmpty="1" />

     <item field="TotalAvSum" suppressEmpty="1" />
 </table>
With 
removeEmpty="1" and  suppressEmpty="1"  all data are hidden when a row is empty but top and bottom borders are remain on the page.
How to hide also table's top and bottom borders when a data row is empty?

3
0 66
Article Tani Frankel · Dec 28, 2025 6m read

Sometimes it is more convenient, more efficient, and more secure, to limit FHIR Searches per pre-defined "Lists" of Resources.

Since v2025.1 we support several List-related features in our FHIR Server.

I will highlight these here, and provide some samples.

2
1 93
Announcement Anastasia Dyubaylo · Jan 10
Hello and welcome to the December 2025 Developer Community YouTube Recap.
InterSystems Ready 2025
0
0 45
Announcement Anastasia Dyubaylo · Dec 26, 2025

Dear Community members,

We are currently performing technical work, and during this time, you may experience issues with the Developer Community portal, Developer Community AI, and search functionality:

🔹 Ask DC AI is temporarily unavailable
🔹 Search may take longer than usual or may not return results
🔹  You may experience problems with logging into the Developer Community and Open Exchange

We’re working to restore full functionality as quickly as possible. Thank you for your patience and understanding.

5
0 87
Question Michael Davidovich · Apr 17, 2025

I have see this discussed on the community but I'm not quite finding an answer. 

I have a method that is called in the OnPreHttp() method of a CSP page. That method returns a dynamic object and a set a new variable to the %ToJSON method of the object so I can use it in my JavaScript code later to init a table of data (using the #(variable)# syntax). This creates a MAXSTRING error. So I changed it to return a %Stream.TmpCharacter. But if I call Read($$$MaxStringLenght) I only get part of the data.

8
0 322
Question Ashish Rathor · Jan 7

Hi Everyone!

We have an existing process (running in FIFO order), all business hosts having pool size=1.

Currently we are reading records from a file (one record at a time) then that record goes to business process for further processing and finally through the business operation. As of now we are using synchronous call in our existing code. Before processing the last record we are using hang of 50 seconds because we need to initiate a batch once the processing of last record is finished.

This process is taking too much time for a file having 0.1 million records (max records in a file).

  
Now we

5
0 95
Announcement Larry Finlayson · Jan 8

Developing Custom Components for Integrations – In Person (Boston, MA) February 10-12, 2026

  • This 3-day course teaches implementation partners, integrators, developers, and analysts how to create custom interfaces using InterSystems integration technologies.
  • Students build a Production using InterSystems® Objects, graphical tools in the Management Portal, Business Process Language (BPL), the adapter library, and an IDE.
  • Students create business services, business processes, business operations, and messages.
  • This course is applicable for users of InterSystems IRIS® data platform,
0
0 38
Discussion Olga Zavrazhnova · Dec 10, 2025

As part of our holiday journey, it’s time to add a little cozy, fun energy to the community ✨
Welcome to the Holiday Jumper Challenge 🧣🎁

How to join:

✅ Share one festive photo in this thread. This can be:

  • you in a holiday jumper or sweater (selfies are optional, if you are not comfortable sharing!)
  • your desk / office / house decorations / tree or any cozy seasonal setup

✅ Get 50 points for participating (we will award manually on Global Masters) 🎁
Best photo win 100 extra points!
Let’s light up this thread with some cozy holiday vibe🎄💻

⬇️ Share your photo below! 

53
0 522
Question Scott Roth · Jan 7

I was trying to see if we could connect to another Server, we use to execute external scripts using %Net.SSH.Session.

TESTCLIN>set sshSession = ##class(%Net.SSH.Session).%New()

TESTCLIN>set user = <omitted>

TESTCLIN>set host = <omitted>

TESTCLIN>set privateKey = "/nfs/data/ssh/<omitted>"
TESTCLIN>set publicKey = "/nfs/data/ssh/<omitted>.pub"
TESTCLIN>Set statusConnection = sshSession.Connect(host)

TESTCLIN>set statusAuth = sshSession.AuthenticateWithKeyPair(user,publicKey, privateKey,)

TESTCLIN>zwrite statusAuth
statusAuth="0 "_$lb($lb(7510,-19,"SSH Error [80101013]: Callback
2
0 72
Question Evgeny Shvarov · Jan 4

Hi Developers!

Sometimes we need to deal with classes/tables where the primary key and the IdKey are something that is maintained by yourself.

What is the proper way to generate a new ID in case where ID is a %BigInt?

Property id As %Library.BigInt

Are there any system methods to provide it?

There is data already imported via SQL, so there is no last ID stored in ^myclassD, so I cannot do $I(^myclassD).

Thinking of:

set newid=$O(^myclassD(""),-1),newid=$I(newid)

What do you think?

34
0 203
Discussion Daniel Kutac · Dec 18, 2025

Hello community!
I have a small challenge for you :)

One of customers is sending quite a lot of messages between interoperability components, which mix standard request content and streams representing serialized JSON objects. As these JSON streams can be quite long (but not too long, just couple hundreds of characters) they would appreciate if the JSON content of stream was displayed in a nice-to-read way, using syntax highlighting by message trace view.

This picture illustrates the challenge - we are talking about the text framed by a red rectangle:
 I'd love to hear from anyone that you were

4
0 106
Discussion Eduard Lebedyuk · Dec 16, 2025

Time for another round of code golf!

Develop a function that performs a two-step encryption process on a given string:

  • First Step: Reverse Cipher

    • Reverse the entire input string.
    • Relocate the last character of the original string (now the first character of the reversed string) to the end.
  • Second Step: Alphabetic Index Binary Encoding

    • For each alphabetic character, determine its zero-based index in the lowercase alphabet (a-z).
    • Replace odd-indexed characters with '1' and even-indexed characters with '0'.
    • Preserve non-alphabetic characters unchanged.

Example:

encrypt("Hello World!")

17
0 298
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.

The Problem: When I access the Manager (with RBAC disabled), I do not see any "Invite Admin" button or "Teams"

0
0 33
Question Alina.Kanaeva · Jan 5

We are implementing delegated auth between Kong Gateway and IRIS. Kong is correctly configured to forward JWT authenticated requests with consumer headers (X-Consumer-Username, etc.) to IRIS, but the ZAUTHENTICATE routine (deployed in the %SYS namespace) never executes, leaving ZW ^ZAUTHLOG empty despite successful header delivery.

401 errors response:
...
* Request completely sent off
< HTTP/1.1 401 Unauthorized
< Content-Type: text/html; charset=utf-8
< Content-Length: 0
< Connection: keep-alive
< Date: Fri, 02 Jan 2026 16:03:48 GMT
< CACHE-CONTROL: no-cache
< EXPIRES: Thu, 29 Oct 1998 17:04:19 GMT
<

5
0 83
Announcement Larry Finlayson · Jan 5

InterSystems Change Control: Tier 1 Basics - Virtual January 21-23, 2026

  • This 3-day course is only for current users of the Change Control Record (CCR) application. 
  • Use InterSystems Change Control Record (CCR) to progress code changes and debug problems.
  • CCR users will learn how to safely progress changes to code and interfaces as well as troubleshoot common issues. 
  • The CCR application is primarily used by customers hosted or implemented by InterSystems. 
  • General use of Source Control with InterSystems products is not covered. 
  • This course is applicable to all developers and interface
0
0 44
Question Scott Roth · Jan 2

Defining my first REST API within InterSystems using iris-rest-Api-template as a basis and I am seeing if someone could provide me some guidance to see if I can make it work.  

In some of my other posts, I have been trying to come up with a way for our Enterprise Application Development team which works with .Net to build Applications to make a REST call to our instance of InterSystems to query some of the Cache Tables we have defined. 

Using the iris-rest-api-template, I have created the osuwmc.DataLookup.REST.Base.cls

Class osuwmc.DataLookup.REST.Base Extends%CSP.REST [ System = 3 ]
{

Para
4
0 79
Question Julian Matthews · Dec 31, 2025

Hey everyone.

I have been taking a look at the External Language Server functionality to hook into some Dotnet functions, and I am hitting a bit of a wall.

Based on the example in the documentation here I can get the same result doing:

ENV>Set netGate = $System.external.getDotNetGateway()
ENV>Set netProxy=netGate.new("System.DateTime",0)
ENV>Write netProxy.Now,!
2025-12-3114:37:58.6022705

However, if I then try another system class, I get an error:

ENV>Set netGate = $System.external.getDotNetGateway()
ENV>Set netProxy=netGate.new("System.Convert",0)
ENV>Write netProxy.ToBoolean(123)
<THROW>%
6
0 82
Article Pietro Di Leo · Sep 24, 2025 23m read

Table of Contents

  1. Purpose of the article
  2. What containers are and why they make sense with IRIS
     2.1 Containers and images in a nutshell
     2.2 Why containers are useful for developers
     2.3 Why IRIS works well with Docker
  3. Prerequisites
  4. Installing the InterSystems IRIS image
     4.1 Using Docker Hub
     4.2 Pulling the image
  5. Running the InterSystems IRIS image
     5.1 Starting an IRIS container
     5.2 Checking container status
     5.3 Executing code in the container terminal
     5.4 Accessing the IRIS Management Portal
     5.5 Connecting the container to VS Code
     5.6 Stopping or removing the container
     5.7 Setting a specific password with a bind mount
     5.8 Using durable %SYS volumes
      5.8.1 What gets stored with durable %SYS
      5.8.2 How to enable durable %SYS
  6. Using Docker Compose
     6.1 Docker Compose example
     6.2 Running Docker Compose
  7. Using a Dockerfile to run custom source code
     7.1 Dockerfile example
     7.2 Docker Compose example
     7.3 Understanding layers, image tagging and build vs. run time
     7.4 Source code and init script
     7.5 Building the image with Dockerfile
     7.6 Running instructions in the containerized IRIS terminal
  8. Conclusion and what’s next
9
10 479
Article Robert Cemper · Jan 4 2m read

If one of your packages on OEX receives a review, you get notified by OEX only of YOUR own package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you made a major change and expect a changed review, just let me know.
 

# Package Review Stars I
0
0 69