Article Robert Cemper · Jun 13, 2023 2m read

Technology Strategy

When I started this project I had set myself limits:
Though there is a wide range of almost ready-to-use modules in various languages
and though IRIS has excellent facilities and interfaces to make use of them
I decided to solve the challenge "totally internal" just with embedded Python, SQL, ObjectScript
Neither Java, nor Nodes, nor Angular, PEX, ... you name it.
The combination of embedded Python and SQL is preferred. ObjectScript is just my last chance.

I was especially impressed how easy reading an HTTPS page with Python was.
On the other hand, I left Unit Test and Global M



0
0 247
Question Nick Hershberger · Jun 13, 2023

We've implemented SAML authentication for our application where we are the service provider and various other entities are the identity providers. We've done successful connections with several identity providers including Okta, Duo Mobile, Ping Identity, and Azure. Validating the SAML response with signed assertions has been working great. Now, I am trying implement support for the SAML assertions in the response being encrypted for a new identity provider and struggling to understand procedurally how to go about this. From the sample XML below, I assume I need to decrypt the <CipherData> ele

0
0 482
Announcement Benjamin De Boe · Jun 13, 2023

Last week at the InterSystems Global Summit, we announced our new Foreign Tables capability, which was introduced as an experimental feature with the 2023.1 release earlier this year. We're now inviting you to join the Early Access Program for Foreign Tables and kick the tires on this new capability, so you can let us know whether it suits your needs and what capabilities we should prioritize next.

No alt text provided for this image

So what are Foreign Tables, really? -- In case you don't have the time or popcorn to watch this nice overview video, Foreign Tables help you project data to IRIS SQL that is physically stored els

0
0 379
InterSystems Official Fabiano Sanches · Jun 13, 2023

InterSystems has corrected a defect that causes increased process memory usage.

Specifically, the increased consumption of local process partition memory occurs when executing $Order,  $Query, or Merge on local variables.  While this will have no detrimental impact for most running environments, environments that support a large number of processes or closely limit Maximum Per-Process Memorycould be impacted.  Some processes may experience <STORE> errors.

The defect exists in 2023.1.0.229.0 but it is reposted as 2023.1.0.235.1 with the fixes included, to expedite the correction without clie

0
0 386
Question Smythe Smythee · Jun 13, 2023

Hi Community,

I am new to CDA to CDA transformation in ensemble, Can anyone explain how  Match,Select,Varibel,Attribute,Copy,Method Will work in CDA transformation using xslt stylesheets

Smythee

0
0 214
Announcement Developer Community Admin · Jun 8, 2023

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 Cemperex Senior Sales Engineer from InterSystems, Austria
🥈  @Luis Angel Pérez RamosSales Engineer, InterSystems, Spain
🥉 @Pietro Montorfano Systems Management Specialist, InterSystems, Italy

 

 Learn more about the competition and our awesome winners below.

5
0 406
Announcement Anastasia Dyubaylo · Jun 2, 2023

Hi Community,

We're pleased to invite all the developers to the upcoming kick-off webinar for the Grand Prix Contest 2023!

During this webinar, we will describe how you can win up to $10,000 in prizes! We'll talk about the topics we expect from participants and show you how to develop, build and deploy applications on InterSystems IRIS data platform. Let us remind you, this contest allows you to use any element of our data platform - IntegratedML, FHIR SQL Builder, Embedded Python, Interoperability, etc - in your project.

Date & Time: Monday, June 12 – 12 pm EST | 6 PM CEST  

2
0 357
Article Cristiano Silva · May 26, 2023 5m read

Who has never been through in the following situation:

I have an application/global configuration that is not and cannot be mapped to a class, but it is necessary to provide a stored procedure so that a report tool using ODBC/JDBC or even using the resultset of IRIS itself, can access the data and generate the report.

In IRIS we have a functionality that allows us to create a query that can be accessed internally and also be exposed as a stored procedure, with our own logic. That functionality is Custom Class Query.

To define a Custom Class Query we must follow these steps (which we can m

1
0 310
Question Yone Moreno · May 12, 2023

Good morning,

I was wondering:

Given the following scenario where we have a string where each two items are being splitted by "|" as follows: "squadName|initialLetter"

"Alfa|A|Bravo|B|Charlie|C|Delta|D|Echo|E|Foxtrot|F|Golf|G|Hotel|H|India|I|Juliett|J|Kilo|K|Lima|L|Mike|M|November|N|Oscar|O|Papa|P|Quebec|Q|Romeo|R|Sierra|S|Tango|T|Uniform|U|Victor|V|Whiskey|W|X-ray|X|Yankee|Y|Zulu|Z"

And we would need to generate a String structure like:
 

[
    {
        "number": "number 1",
        "squad": "Alfa",
        "answer": [
            {
                "initialLetter": "A"
4
0 393
Article Evgeny Shvarov · Jun 8, 2023 2m read

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 Solovyev 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!

8
1 727
Article Alex Woodhead · Jun 10, 2023 5m read

Written in reply to community post for can Python create HL7 Message dynamically.

Pre-requisites and setup

Use an integration enabled namespace.
Note: USER namespace is not enabled for interoperability by default.
If following suggest create a new interoperatibility namespace to explore functionality.

# Switch to
ZN "[Interoperability Namespace Name]"

# Launch interactive Python shell:
Do $SYSTEM.Python.Shell()

Script start

#Load dependencies

import datetime as dt
import uuid

# Cache current time in CCYYMMDDHHMMss format
hl7_datetime_now=dt.datetime.now().strftime('%Y%m%d%H%M%S')

0
2 659
Question Evgeny Shvarov · Jun 5, 2023

Hi folks!

Is it possible to use Environment variables for production settings?

E.g. I have a telegram adapter for which I need to setup token(part of the production below):

<ItemName="shvarov.i14y.ChatOperation"Category="Reddit"ClassName="Telegram.BusinessOperation"PoolSize="1"Enabled="true"Foreground="false"Comment=""LogTraceEvents="false"Schedule=""><SettingTarget="Adapter"Name="SSLConfig">default</Setting><SettingTarget="Adapter"Name="Token">"some-telegram-token"</Setting></Item>

Is it possible to point the expression for Token setting "some-telegram-token" which will

7
0 384
InterSystems Official Bob Kuszewski · Jun 2, 2023

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…

2
0 610
Article Luis Angel Pérez Ramos · Jun 9, 2023 15m read

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.

Customization of patient data

Muy bien, continuemos con la configuración de nuestro EMPI en e

0
1 405
Question Norman W. Freeman · Jun 9, 2023

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

I understand this is something that can considerably slow down IRIS, but it's intended to be used only for debbuging and under no load.

As la

2
0 380
Question Dominic Chui · Apr 6, 2022

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.

set statement = ##class(%SQL.Statement).%New()
set status = statement.%Prepare("select top 0 0 from Example.Testing")
set

8
0 769
Question Evgeny Shvarov · May 13, 2023

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? 

25
0 805
Article Mihoko Iijima · Jun 8, 2023 1m read

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.

DECLARE CURSOR C1 IS
SELECT Name FROM Person WHERE Name LIKE 'A%' FOR UPDATE
OPEN C1
LOOP FETCH C1 INTO name 
... show name
... EXIT the LOOP when finished
END LOOP
CLOSE C1

The above SQL statement can be substituted with the followi

0
0 396