InterSystems Developer Community is a community of 14,122 amazing developers
We're a place where coders learn and share, stay up-to-date, grow together and have fun!

Hi folks!

How can I change the production setting programmatically?

I have a production that is a solution that uses some api-keys, which are the parameters of Business Operations but of course cannot be hard-coded into the source code.

E.g. here is the example of such a production that runs a connection of Telegram and ChatGPT.

And it can be installed as:

zpm "install telegram-gpt"

But now one needs to setup the key manually before using the production, having the following setting:

I'd like to set up it programmatically so one could install it as:

zpm "install telegram-gpt -D Token=sometoken"

How can I make it work?

0 3
0 44

We often get questions about recent and upcoming changes to the list of platforms and frameworks that are supported by the InterSystems IRIS data platform. This update aims to share recent changes as well as our best current knowledge on upcoming changes, but predicting the future is tricky business and this shouldn’t be considered a committed roadmap.

With that said, on to the update…

1 2
0 122

As we said yesterday... our EMPI can receive data from multiple sources, REST, HL7 messaging, etc. But it is possible that the standard fields are not enough and we want to expand the patient information to help discriminate and uniquely identify them. How could we customize patient data? Modifying the standard classes to our liking? NOOOOO!!!! Well, a little yes, but not like crazy, because if we modify standard classes carelessly we may find that in a future update we lose all these modifications.

0 0
0 6


I would like to get a list of all globals that have been read or written during a given context. In Portal, there are counters in dashboard that give the number of read/write to globals in general.

What I am looking for :

- some handler (eg: like $ZTRAP) that will be called everytime something is read/written to a global.

- to activate a "global log mode" in Portal that will dump some information to a file (like ^ISCSOAP for SOAP requests).

0 2
0 25

I have a repository on github. I wanna setup that repo into my local IRIS instance and also I want to work on different branch and commit those back to the same repo.
Please help me through this.
I also have a .DAT file which i think contains code and data and not .git folder. So how can i sync that to my git repo for further development.

0 2
0 18

Hey Everyone!

Not a secret that InterSystems Global Masters Advocate Hub is connected to Developer Community via API. When you make a contribution to DC, it brings you points and badges on Global Masters.

We have prepared a short guide on how to best earn points on Global Masters:


Each published post on Developer Community

Published post on DC ES / PT / JP / CN / FR


1st Comment on DC / Each comment*

Comment on DC ES / PT / JP / CN / FR

300 / 30


1st answer marked as Accepted / Each accepted answer

1 000 / 150

Translate an article / a question

150 / 30

Publish 1 / 5 / 10 / 25 / 50 articles on DC

1 500 / 7 500 / 15 000 / 40 000 / 75 000

Publish 1 / 5 / 10 / 25 / 50 questions on DC

500 / 2 000 / 5 000 / 15 000 / 30 000

Each application on Open Exchange
Bonus points for each ZPM application
Publish 1 / 5 / 10 / 25 applications on Open Exchange


1 000 / 10 000 / 25 000 / 75 000

1 / 5 / 10 / 25 / 50 Accepted Answers on DC

1 000 / 4 000 / 8 000 / 20 000 / 40 000

Your DC post gathered 750+ / 2000+ / 5000+ / 15000+ views

600 / 2 500 / 7 000 / 20 000

Read an article on DC
Watch the video
Share an article / video in Social Networks


Write 1 / 2 / 3 / 4 / 5 Articles with Best Practices tag

1000 / 3000 / 7000 / 10 000 / 15 000

50 / 100 / 250 / 500 / 1000 your application's downloads on Open Exchange

2 500 / 5 000 / 7 500 / 12 500 / 25 000

Make a review for InterSystems / InterSystems products

2 000 - 3 000

Invite your colleague to Developer Community


Create a video about your OEX application 3000

*counted only comments that were published after registration on the Global Masters Advocate Hub.

8 12
4 577

Is there a reason why calling %ExecDirect() (or %Execute) won't set the %SQLCODE of the result set to 100 even when the query returns no data?

Here is the code in question with a bit of contrivance to force the issue:

set statement = ##class(%SQL.Statement).%New()
set result = ##class(%SQL.Statement).%ExecDirect(statement,"select top 0 0 from Example.Testing")
w result.%SQLCODE

The %SQLCODE is set to 0 in this case. The same happens if I use %Prepare and %Execute, e.g.

0 8
0 287

It's time to announce the Winners for May! Please welcome our awesome Global Masters Heroes!

The storm of applause goes to these developers and their great contribution to DC in May:

🥇 @Robert Cemper, ex Senior Sales Engineer from InterSystems, Austria
🥈 @Luis Angel Pérez Ramos, Sales Engineer, InterSystems, Spain
🥉 @Pietro Montorfano , Systems Management Specialist, InterSystems, Italy

Learn more about the competition and our awesome winners below.

4 3
0 66

Hi folks!

Those who actively use unittests with ObjectScript know that they are methods of instance but not classmethods.

Sometimes this is not very convenient. What I do now if I face that some test method fails I COPY(!) this method somewhere else as classmethod and run/debug it.

Is there a handy way to call the particular unittest method in terminal? And what is more important, a handy way to debug the test method?

Why do we have unittest methods as instance methods?

1 25
0 276

InterSystems FAQ rubric

Since SELECT ... FOR UPDATE is implemented in many RDBMS as a method of explicit row lock acquisition, I think there are many cases where this function is used.

This syntax is not an error for InterSystems products, but it does not acquire row locks as expected.

This article will show you how to achieve equivalent functionality.

1 0
0 44

InterSystems FAQ rubric

Using the Config.Configuration class and SYS.Database class methods, you can create and register a namespace database from the terminal.

Below is a series of execution examples that create database file /CacheDB/AAA/cache.dat and register database AAA and namespace AAA in the configuration file (cache.cpf).
* Execute in the %SYS namespace. *

* Make sure that this script runs as the user that is used for all IRIS processes to ensure that the directory has appropriate ownership and permissions *

4 3
0 135

Hi Community!

Just want to share with you an exercise I made to create "my own" chat with GPT in Telegram.

It became possible because of two components on Open Exchange: Telegram Adapter by @Nikolay Soloviev and IRIS Open-AI by @Kurro Lopez

So with this example you can setup your own chat with ChatGPT in Telegram.

Let's see how to make it work!

4 3
0 41

Hello Team,

please can someone help me in the below.

I'm trying to call a Rest API below specification working in postman, and receiving perfectly the response:

POST /PharmacyServices/api/Pharmacy/Upload?Key=aaaa&Username=bbb&Password=ccc HTTP/1.1
Host: abc:38440
Content-Length: 240
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

Content-Disposition: form-data; name="File"; filename="///xxxx/POC/CSV/20230607.csv"
Content-Type: text/csv

1 1
0 45

Hi Community!

We're pleased to invite all DC members to the InterSystems Global Masters Gamification Platform to get points and prizes for your contribution to the Community, learn with selected content about InterSystems technology, network with your peers and have fun!

▶️ What is Global Masters?

Global Masters is a gamification platform, where you learn technology, complete tech quizzes, watch videos, etc. You will be completing challenges (tasks) related to ISC technology, earning badges & points, and exchanging points for a variety of rewards.

8 6
1 834

Hi Guys,

I'm using the below code to download, extract files in a file directory then save data into a global, and remove the file directory as not needed anymore, but the issue is that the class(%File).RemoveDirectoryTree is not deleting, also tried class(%File).RemoveDirectory and same thing.

0 5
0 62