What I find really useful about IRIS when teaching my subject of Postrelational databases is the fact that it is a multi model database. Which means that I can actually go into architecture and structure and all that only once but then show the usage of different models (like object, document, hierarchy) using the same language and approach. And it is not a huge leap to go from an object oriented programming language (like C#, Java etc) to an object oriented database.

However, along with advantages (which are many) come some drawbacks when we switch from object oriented model to relational. When I say that you can get access to the same data using different models I need to also explain how it is possible to work with lists and arrays from object model in relational table. With arrays it is very simple - by default they are represented as separate tables and that's the end of it. With lists - it's harder because by default it's a string. But one still wants to do something about it without damaging the structure and making this list unreadable in the object model.

So in this article I will showcase a couple of predicates and a function that are useful when working with lists, and not just as fields.

9 1
0 131

InterSystems announces its third preview, as part of the developer preview program for the 2024.1 release. This release will include InterSystems IRIS®, InterSystems IRIS® for HealthTM, and HealthShare® Health Connect.

1 0
0 151

I am trying to create a program to upload blob files from IRIS to Azure Blog Storage, but with no luck.

First, I am trying the APIs, but ##class(%Net.Cloud.Storage.Client).CreateClient() fails with the message "Cannot establish connection". Following the documentation, the parameters are like: CreateClient(, 1, credfile, , .tSC) where credfile specifies a file containing:

DefaultEndpointsProtocol=https
AccountName=aihpocsadicom
AccountKey=RealAccountKeyHere
EndpointSuffix=core.windows.net

0 1
0 150

Which process notify Web Gateway when to switch to secondary/mirror IRIS? I'm trying to debug a case when the web gateway doesn't know about primary IRIS failure and is trying to send request to that instance which is causing 500 error. Also, no clue why at the same time I see that GET request to /csp/bin/mirror_status.cxw will return 200 OK.

0 2
0 149
Question
· Oct 15, 2023
embedded Python over ECP

With ECP we have the option to have a collection of Frontend instances
All Frontend servers typically have a common Master in the background
Concentrating data on the Master server is the primary goal.

As a side effect, this applies also to Classes, Routines, .. anything stored in Globals.
This is probably not the most efficient setup. But rather common anyhow.

Is embedded Python code also stored in Globals?

What is the recommended solution for a similar installation?

1 2
0 149

Hi there,

I want to use regex in my code, and I saw that the %Regex.Matcher class contains a property "OperationLimit" that you can also set to a number of steps that the regex engine should take maximum in analysing a given string. So far so good.

I tried to set the property with the function OperationLimitSet() to a silly value like 3. In 3 steps only very few regex should be executed, right? But what I found is that my regex always comes up with a solution. Here is what I did:

First I initialised my %Regex.Matcher.

0 1
0 150

If you have system tables implementing the "VERSIONPROPERTY" functionality, you may encounter error 5800. This article explains how this error occurs and provides solutions to resolve the issue.

When version checking is implemented, the property specified by VERSIONPROPERTY is automatically incremented each time an instance of the class is updated (either by objects or SQL).

For example:

8 0
0 150
Question
· Aug 9, 2023
Reports roadmap

We are about to embark on a development where we'll be taking HL7 messages and generating PDF reports from them. We are wanting to future proof our development efforts within the constraints of our currently deployed platform and future upgrade options. We are currently running on Ensemble 2018, though an upgrade to Iris is anticipated - at some indeterminate point in the future. We are aware of Zen Reports and InterSystems Reports (Logi) as technology options, but are also unclear on some details. A roadmap and guidance from those who've done this kind of thing before would be great!

0 3
0 147
Question
· Apr 11
Delete the reference MEMORY

So as asked, I am not talking about KILL - KILL as stated in the docs:


This command removes the variable. If there are no further references to the object, this command also removes the object from memory,

I want to remove the object from memory even if it is still referenced in memory - I understand that cache is not a low-level programming language, But i was hoping there is a way.

Notice that have a RegisteredObject and it is a single reference, It is different than the UnSwizzles suggested in other posts.

0 6
0 143

Hello everyone,

I am working with InterSystems IRIS and seeking guidance on how to perform specific tasks related to the FHIR SQL Builder using commands or code, rather than the graphical user interface (GUI). The specific tasks I am trying to accomplish are:

1 4
1 145

I have tried many methods from super classes of %CSP.REST but I can't find a method I can override that will run after the %response object is created so I can set a header that is common to each implementation method. It's one line of code in each method to set the header but it would like to make it super easy, simple and just have a method that runs on, before, after the implementation method to set this common header (we want to return the API version in each responses HTTP headers.

0 2
0 147

So I am running IRIS 2023.3 via a Docker container on Windows 11 and when I go to System Administration > Connectivity > SQL Gateway Connections, I am able to connect to the iris container via jdbc. However, when I go to JBeaver and try connecting to IRIS via JDBC I am unable to do so. I know that this is a local laptop issue because when someone else runs it on t heir mac it works fine.

0 3
0 145

Hello,

First of all thanks for your help, time, and answers.

We would like to know what are we doing wrong and how could we improve it and fix it.

We need to convert the Api Monitor Metrics which are a String with this format:

iris_cache_efficiency 13449.122
iris_cpu_pct{id="CSPDMN"} 0
iris_cpu_pct{id="ECPWorker"} 0

[...]

iris_wdwij_time 11
iris_wd_write_time 8
iris_wij_writes_per_sec 0

To JSON.

We would expect them to look like a normal JSON as follows:

0 4
1 144

Enhanced Password Management: Edit Passwords Seamlessly

In the ever-evolving landscape of digital security, robust password management tools have become indispensable. Our password management application, designed to simplify and secure your online life, now comes with an enhanced feature – the ability to edit passwords with ease.

Why is this feature a game-changer?

2 0
0 148

Hey Community,

Watch the latest video on InterSystems Developers YouTube:

Using Vector Search for Generative AI

https://www.youtube.com/embed/IapbO3j1Qmw
[This is an embedded link, but you cannot view embedded content directly on the site because you have declined the cookies necessary to access it. To view embedded content, you would need to accept all cookies in your Cookies Settings]

6 0
1 147

Hi all,
Does anyone have experience with obtaining logs from Caché databases and parsing them now? Please leave me a message.

I ask because my project involves some hospitals that used Caché when creating databases over 10 years ago. Currently, we cannot replace the database, but we need to check and parse the database logs from the Caché.

Thanks.

0 12
0 135

Good morning, 🙂

I would like to ask a question, which has to do with how to manage %GlobalCharacterStream representing JSONS.

Thank you for reading this question, thank you for your help, and thank you for your time and attention.

Specifically, in a certain Process, we were querying 2 Operations, whose response we were converting to a Property called "informesAutorizadosRangoFechas" (reportsAuthorizedInRangeDates) which is %GlobalCharacterStream whose content is a JSON with the same structure.

0 5
0 141

Hi everyone,
I have this global with 2 informations in it: Reference (ex: 1329) and Code (ex: JMMK-G1D6).

^DataTest = 3
^DataTest(1) = $lb("","1329","JMMK-G1D6")
^DataTest(2) = $lb("","1516","AMEV-GVPF")
^DataTest(3) = $lb("","2333","4QC6-4HW3")

With ObjectScript, i want to test if Reference 1516 exists in the global.
In the InterSystems portal, i can do it with SQL (SELECT count(*) FROM DataTest where Reference = '1516'), but can we do the same in ObjectScript without SQL and manipulating the global directly ?

0 4
0 142