InterSystems Developer Community is a community of 14,141 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 5
0 49

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 6
0 49

Hi colleagues!

InterSystems Grand Prix 2023 unites all the key features of InterSystems IRIS Data Platform!

Thus we invite you to use the following features and collect additional technical bonuses that will help you to win the prize!

Here we go!

  • LLM AI or LangChain usage: Chat GPT, Bard and others - 6
  • InterSystems FHIR SQL Builder- 5
  • InterSystems FHIR - 3
  • IntegratedML - 4
  • Native API - 3
  • Embedded Python - 4
  • Interoperability - 3
  • Production EXtension(PEX) - 2
  • Adaptive Analytics (AtScale) Cubes usage - 3
  • Tableau, PowerBI, Logi usage - 3
  • InterSystems IRIS BI - 3
  • Docker container usage - 2
  • ZPM Package deployment - 2
  • Online Demo - 2
  • Unit Testing - 2
  • First Article on Developer Community - 2
  • Second Article On DC - 1
  • Code Quality pass - 1
  • First Time Contribution - 3
  • Video on YouTube - 3

0 0
0 16

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 128

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 8

Hello,

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

1 2
0 29

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 19

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:

HOW TO EARN POINTS ON GLOBAL MASTERS

Each published post on Developer Community

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

200
400

1st Comment on DC / Each comment*

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

300 / 30

60

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

800
400

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

10
20
40

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

600

Create a video about your OEX application 3000

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

9 13
4 581

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 289

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 71

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 280

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 46

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 138

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

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

1 1
0 49

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 838