#InterSystems IRIS

19 Followers · 5.6K Posts

InterSystems IRIS is a Complete Data Platform
InterSystems IRIS gives you everything you need to capture, share, understand, and act upon your organization’s most valuable asset – your data.
As a complete platform, InterSystems IRIS eliminates the need to integrate multiple development technologies. Applications require less code, fewer system resources, and less maintenance.

Article Hiroshi Sato · May 9, 2024 2m read

InterSystems FAQ rubric

If you change the system date, InterSystems Data Platform (IRIS) may not start properly.

IRIS performs a journal file deletion process when it starts, but if the system date is changed, a journal file with an incorrect date is created.During journal file deletion processing, the process proceeds by referring to the information of the previous and subsequent files recorded inside the journal file.

0
0 265
Announcement Olga Zavrazhnova · Apr 9, 2024

Hi Developers,

Join us at the upcoming Developer Roundtable on April 25th at 9 am ET | 3 pm CET. 📍
We will have 2 topics covered by the invited experts and open discussion as always.

Tech Talks:
➡ Practical Usage of Embedded Python - by Stefan Wittmann Product Manager, InterSystems

▶ Recording: 

 

1
0 238
Question Rochdi Badis · May 9, 2024

Hi Guys,

We are migrating from Ensemble 2018 to the latest IRIS, and while compiling we get many of these errors in our queries:

and this a sample of one our queries:
&sql(select CASE WHEN StarterKitName != "" THEN Kit->Name || ' - ' || StarterKitName ELSE Kit->Name END into :KitName from MSDS_Serenity.KitLabelAssoc where Label = :Label and Status = 1
I've also heard that the &sql syntax also has changed, I've download the How to Migrate to InterSystems IRIS but couldn't find changes related to the above? 

Thanks

5
0 222
Question James Rutledge · Apr 25, 2024

I'm trying to learn M programing for an Epic db class prerequisite. They said to download the IRIS Studio software to do the testing. I'm having a very difficult time finding information the language. I'm trying to run some examples that Epic has provided (like in below) but the compiler complains that it isn't valid. Of course, it doesn't tell you why it isn't valid.

r !,"Enter the hour: ",hr  
 r !,"Enter the minute: ",min 
 r !,"Enter the second: ",sec 
 s Mtime=$$ConvertToMTime(hr,min,sec)
 w !,"Equivalent M time: ",Mtime  
 q
ConvertToMTime(h,m,s)
 q (h*3600)+(m*60)+(s)

I get these errors:

ERROR:

8
0 321
InterSystems Official Bob Kuszewski · May 8, 2024

An updated developer preview of InterSystems IRIS 2024.2 and InterSystems IRIS for Health 2024.2 has been posted to the WRC developer preview site.  This release contains a few noteworthy changes:

  • Containers – we skipped containers for the previous preview, but we’re including them this time.  In a future preview, we’re planning to switch these to use the Ubuntu 24.04 base image.
  • Ubuntu 24.04 support – this preview includes support for the brand-new Ubuntu 24.04 operating system.  We will be dropping support for Ubuntu 20.04 in a later preview.
  • Windows Installer upgrades – this preview
0
0 457
Article Robert Cemper · Apr 26, 2024 2m read

Geographic use of vector search

The basic idea is to use Vectors in the mathematical sense.
I used geographic coordinates. These are of course only 2-dimensional
but much easier to follow as vectors in text analysis with >200 dimensions.

The example loads a list of worldwide capitals with their coordinates
The coordinates are interpreted as vectors from geographic point 0°N/0 W
(some very wet spot in the Gulf of Guinea, >400 km from the African Coast)
Finding common directions from that spot is a quite theoretical case.
So adjustment to your preferred starting point is implemented.
Now finding similar 

3
1 337
Question Sylvie Greverend · May 7, 2024

I have an angular UI communicating with a iris rest api. Now I need to authenticate (to federated) before accessing the UI, and for a better solution  as the users are using the healthshare clinical viewer 2023, find a way to use the clinical viewer authentication / user to go to the UI.

The angular way would be to do an angular guard and have a function 'am I authenticate to federated', but I never found a function like this and how to get my username.

At the other end, creating a csp page in my csp folder that is either
- a csp including the angular html page outside the csp folder and passing

0
0 151
Question Scott Roth · Apr 22, 2024

I am trying to setup a OAuth2.0 configuration to connect to a server within our Network using OAuth2.0. My previous attempt worked, however forgot to capture the steps before I had whipped the System so please bear with me. 

I have an SSL/TLS Client configuration setup as we use the setup for our LDAP configuration. 

When I go through the following steps within the Terminal, I am getting the following error...

%SYS>kill^ISCLOG%SYS>set scope="openid fhirUser"%SYS>set jwt = ##class(%SYS.OAuth2.Authorization).GetAccessTokenJWT("EpicFHIRPOC","1fd8f5cc-18ee-4eff-990d-4606037b932e",scope,.properti
7
0 490
Announcement Shane Nowack · May 6, 2024

Hi Community,

InterSystems Certification Program officially changed exam delivery platforms from Questionmark to Certiverse on May 6, 2024. We have made this decision in hopes of providing a better experience for our certification candidates. To take an exam on this new platform, you will be required to sign in with an InterSystems account, the same one that is used for the Developer Community, Online Learning, etc. If you do not have one, please register for an account.

Find more information about Taking InterSystems Exams on Certiverse here, and reach out to certification@intersystems.com if

0
0 157
Question Antonio Souza · Apr 1, 2024

On IRIS version 2024.1.0.262.0 I have a table that store streams as %GlobalCharacterStream.
But depeding on the blob being saved I get the error: [Error: <<MAXSTRING>]

I had that with Caché, but to solve that I'd just enable the long strings on the page System Administration > Configuration > System Configuration > Memory and Startup > Enable Long Strings.
But for Iris I can't find that configuration, I looked on every config page from the portal and couldn't find it.

Btw this blobs are stored on Caché and the system using IRIS is reading from Caché and saving on IRIS.
Where, on IRIS, can I make

15
1 794
Article Robert Cemper · May 4, 2024 3m read

Most examples I've seen so far in OEX or DC left the impression that VECTORs
are just something available with SQL with the 3 Functions especially around VECTOR_Search.
* TO_VECTOR()
* VECTOR_DOT_PRODUCT ()
* VECTOR_COSINE ()
There is a very useful summary hidden in iris-vector-search demo package.
From there you find everything you need over several links and corners.

1
2 393
Article Macey Minor · May 3, 2024 6m read

Introduction

Accessing Amazon S3 (Simple Storage Service) buckets programmatically is a common requirement for many applications. However, setting up and managing AWS accounts is daunting and expensive, especially for small-scale projects or local development environments. In this article, we'll explore how to overcome this hurdle by using Localstack to simulate AWS services. Localstack mimics most AWS services, meaning one can develop and test applications without incurring any costs or relying on an internet connection, which can be incredibly useful for rapid development and debugging. We used ObjectScript with embedded Python to communicate with Intersystems IRIS and AWS simultaneously.Before beginning, ensure you have Python and Docker installed on your system. When Localstack is set up and running, the bucket can be created and used. 

0
2 543
Article Keren Skubach · Jan 22, 2024 2m read

Did you know that you can get JSON data directly from your SQL tables?

Let me introduce you to 2 useful SQL functions that are used to retrieve JSON data from SQL queries - JSON_ARRAY and JSON_OBJECT
You can use those functions in the SELECT statement with other types of select items, and they can be specified in other locations where an SQL function can be used, such as in a WHERE clause

The JSON_ARRAY function takes a comma-separated list of expressions and returns a JSON array containing those values.

SELECT TOP 3Name,
JSON_ARRAY(%ID,%TABLENAME,UCASE(Name),Age,Home_State) "JSON data" 
FROM
11
4 1157
Question Anna Golitsyna · May 2, 2024

I am trying to locate a method that would allow me to differentiate between InterSystems preinstalled/system namespaces and "our own" namespaces. I am interested both in Cache and Iris answers if they are different. Yes, I can list what to disregard, like if not HSLIB or if not DOCBOOK but hoping for a more universal and elegant answer.

3
0 252
Article Luis Angel Pérez Ramos · May 3, 2024 6m read

In our previous article we presented the general concepts as well as the problem that we wanted to solve by using the task engine integrated in InterSystems IRIS, in today's article we will see how we configure an interoperability production to provide a solution.

Workflow Engine Configuration

First we are going to define the roles of the tasks that we are going to manage, in our example we are going to define two types:

  • AutomaticBloodPressureRole: to create automatic tasks that will have no intervention from the user.
  • ManualBloodPressureRole: to create those tasks that the user must manually
0
2 324
Article Alex Woodhead · Mar 24, 2024 8m read

BPL from 10,000 feet

BPL stands for Business Process Language.
This is an XML format for describing complex information orchestration interactions between systems.
InterSystems Integration engine has for two decades, provided a visual designer to build, configure, and maintain, BPL using a graphical interface.
Think of it like drawing a process flow diagram that can be compiled and deployed.

An example: Make a cup of tea

BPL components are added to Integration productions like any other built-in or custom business component.

Test example input and output

There can be a mixed reception to using BPL

4
0 554
Article Tomoko Furuzono · May 2, 2024 1m read

InterSystems FAQ rubric

After upgrading your system, you may receive the error below when you try to open the Management Portal:

ERROR #5001: Server version of object does not match version sent from the client: %ZEN.Component.vgroup

This error is caused by outdated information remaining in your browser's cache.

You can resolve the error by clearing your browser's cache.

1
0 332
Article Eyal Levin · Apr 9, 2024 1m read

Hi, I hope this post helps.

The bottom line: MAXLEN is relevant mostly for odbc/jdbc connections and you need to specify an appropriate value within your  tables (classes), otherwise the data might be truncated when you query it, or even fail when you try to insert data.

Long story:

the sql GUI in the portal is very lenient in reference to the MAXLEN  , for example you can insert data into a table where there is data longer then the size of a column, if you're using fhir sql the columns in the tables are mostly MAXLEN =50 even if there is much larger data, additionally if you create a table from

7
0 500
Question David Greer · Apr 30, 2024

I'm trying to configure an SSL/TSL configuration in our test environment so we can send ADT messages to an external server. I've verified connectivity/firewall to the external server.

type is set to Client, Server certificate verification is set to Require.

I have received a certificate from the external supplier and linked that in the "File containing trusted Certificate Authjority certificate" field. (I've also imported it into the cert store and tried using %OSCertificateStore).

My client certificate is in PEM format, the decrypted key was extracted using SSLOpen.

2
1 488
InterSystems Official Bob Kuszewski · Apr 30, 2024

Alert: SQL Query using “NOT %INLIST” fails to return results

InterSystems has corrected an issue that can cause a small number of SQL queries to return incorrect results.  See below for the specifics on impacted queries.

This issue exists in the listed versions of the following products:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

As well as:

  • Other InterSystems products based on the above products.

Impacted versions:

  • 2021.1.3, 2021.1.4
  • 2022.1.3, 2022.1.4
  • 2023.1.0, 2023.1.1, 2023.1.2, 2023.1.3
  • 2024.1.0

Only queries with the following

0
1 240
Article Rob Tweed · Apr 30, 2024 3m read

A few weeks ago I posted an announcement about a JavaScript-based interface for our mg_web WebServer interfacing addon module.  mg_web isn't just restricted to use by JavaScript developers though.  Many readers will be ObjectScript developers who are more used to using CSP as their web gateway.  Some may even have much older legacy WebLink-based applications (and be wondering how to support them given that IRIS does not support WebLink).

This article aims to provide some more information on mg_web and to explain why it's worth a look for ObjectScript developers.

The first thing to understand is

0
2 399
Question Feng Wang · Apr 24, 2024

hi there,

I recently created a shell script to run the integrity check.

I used this as reference - Introduction | InterSystems IRIS Data Platform 2023.3

I found the example from above url having a line - "

kill ^IRIS.TempIntegrityOutput(+$job)

it isn't working when I used in a script. it returns the pid of my iris session instead.

I had to simplify the example to run following lines instead - 

Do CheckList^Integrity(,,,,5)
do Display^Integrity(,1,)
 

script runs fine and can see integrity check results as expected.

however, the output seems cumulative, and output includes all historical run results as

5
0 298
Article Otto Medin · Apr 21, 2024 1m read

Hi all,

When making a Business Process reusable, I needed to make the target of a <call> configurable as a business host setting. This can be done through indirection. Here's how:

Property TargetConfigName As Ens.DataType.ConfigName;
Parameter SETTINGS = "TargetConfigName:Basic";
/// BPL Definition
XData BPL [ XMLNamespace = "http://www.intersystems.com/bpl]
{
<process language='objectscript' request='Ens.Request' response='Ens.Response' height='2000' width='2000' >
<sequence xend='200' yend='450' >
<call name='Call configurable target' target='@process.TargetConfigName' async='1' xpos='200' ypos='2
5
0 382
Article Robert Cemper · Apr 26, 2024 3m read

Technical surprises using VECTORs
>>> UPDATED

Building my tech. example provided me with a bunch of findings htt I want to share.
The first vectors I touched appeared with text analysis and more than 200  dimensions.
I have to confess that I feel well with Einstein's 4 dimensional world.
7 to 15 dimensions populating the String Theory are somewhat across the border.
But 200 and more is definitely far beyond my mathematical horizon.

4
0 344
Question Virat Sharma · Apr 29, 2024

Hi Everyone,

We are using SQL based KPI's to display reports in IRIS dashboards. We have applied the filter functionality in these SQL based KPI reports.

I need your help for below scenario.

Below is my full report. Filter is applied on Name and Subject Name in this report.

Now I have used filter on Name and selected values 'Virat' and 'Big Show'

2 entries were displayed from 5 records.

Now when I look in Subject Name Filter, it still display all the distinct values of Subject Name.

I want this to display only Chemistry and Social (as Name filter got applied).

In documentation, it is mentioned that

1
0 210
Question Shiraz Shakil · Apr 27, 2024
While performing the IRIS upgrade on our backup test server I noticed the following error in the messages log after restarting IRIS:

04/26/24-16:28:36:788 (5701964) 1 [Utility.Event] (HSHCPRT) Failed to retrieve journal file #9567 from FCHHSHCPRTTX02/PRT: Failed to allocate a 33686036 byte tcp buffer for zlib compress.

Stumped on this one, I logged a WRC and looked at some things with support but was not able to resolve the issue.  Any help would be greatly appreciated.

3
0 149