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

Question Scott Roth · Jul 21, 2023
First time setting up a SSL/TLS connection, and I am running into issues when I call it from within a Business Operation.I used openssl to generate a RSA 4096  SHA512 key/csr request for our Active Directory Certificate Service to generate a Certificate Chain for me to use within RedHat.able to connect to our Web Service server using a generic request from terminal, however when I try it from our Business Operation I am running into issues.I tested the SSL/TLS connection using the following commands from the terminal...
1
0 806
Question Scott Roth · Jul 25, 2023

Recently I started moving some of our JDBC Gateway configurations over to using the Microsoft JDBC Gateway driver instead of using the jTDS open source driver. I have noticed since then that those Objects that are using Microsoft JDBC Driver are throwing a lot more errors than the jTDS driver ever did, which I can understand however I am puzzled that I keep running into an issue with the Java Gateway Service within the Interoperability engine.

Every so often I will start seeing "Gateway Server failure timeout on 127.0.0.1:55550" followed by "Gateway Server did not respond to PING request..." Ev

1
0 512
Article Megumi Kakechi · Aug 3, 2023 1m read

InterSystems FAQ rubric

You can set individual error pages for the following Web Gateway error messages/system responses:

  • server error
  • server busy
  • server unavailable
  • server timeout
  • connection closed

Settings are made on the Web Gateway Management screen ([Management Portal] > [System Administration] > [Configuration] > [Web Gateway Management] > [Configuration] > [Default Parameters]).

In the Error Page section of the Default Parameters menu, set the filename of the html page to display or the URL to redirect to when an error occurs.

  

0
1 371
Article Jimmy Xu · Jul 7, 2023 2m read

Hi Developers, I'm currently doing a demo about building a front end UI doing data analytics and setup a performance test with large data objects, therefore using "Populate Utility" could help me auto generate some sample data that I can play with.

Within this post I would like to share my experience of using Populate Utility, including using POPSPEC Parameter.

1.

6
1 612
Question Armin Gayl · Jul 28, 2023

Hello,

I need AES ECB with PKSC7 padding for an interface.
Unfortunately, the %SYSTEM.Encryption.AESEncode cannot do this.

Therefore I wanted to include the following python lib.
PyCrptydome -> https://pycryptodome.readthedocs.io/en/latest/index.html

We need to install the package offline on the system. So I downloaded it and put it in the MGR/Python/ directory.

However, when I try to install it, I get the following error message:

E:\HealthConnect\20201\bin>irispip install E:\HealthConnect\20201\Mgr\python\pycryptodome-3.18.0.tar.gz --target E:\HealthConnect\20201\Mgr\python pycryptodomex

11
0 380
InterSystems Official Fabiano Sanches · Aug 1, 2023

InterSystems has corrected two defects.

The first defect can cause an ECP application server to hang. This defect is only relevant to ARM and IBM Power processors; it is present in version 2022.1.2 and 2022.1.3 of InterSystems IRIS®, InterSystems IRIS for Health™, and HealthShare® Health Connect. The correction is identified as DP-423661. The defect is addressed in all future versions. 

The second defect can, in rare circumstances, cause dejournaling to hang. This defect is present in versions 2020.4, 2021.x, 2022.x, and 2023.1 of InterSystems IRIS®, InterSystems IRIS for Health™, and

0
0 282
Article Mihoko Iijima · Jul 20, 2023 4m read

InterSystems FAQ rubric

You can search for a specific global variable in the journal file using the ByTimeReverseOrder query of the %SYS.Journal.File class and the List query of the %SYS.Journal.Record class.

The role of each query is as follows.

A) %SYS.Journal.File query of the ByTimeReverseOrder class

You can get the journal file name. Results are returned in descending order of journal file name. 

USER>set stmt=##class(%SQL.Statement).%New()

USER>set status=stmt.%PrepareClassQuery("%SYS.Journal.File","ByTimeReverseOrder")

USER>set rs=stmt.%Execute()

USER>while rs.%Next() { write rs.%Ge
1
1 522
Article Eduard Lebedyuk · Aug 3, 2020 3m read

InterSystems IRIS currently limits classes to 999 properties.

But what to do if you need to store more data per object?

This article would answer this question (with the additional cameo of Community Python Gateway and how you can transfer wide datasets into Python).

The answer is very simple actually - InterSystems IRIS currently limits classes to 999 properties, but not to 999 primitives. The property in InterSystems IRIS can be an object with 999 properties and so on - the limit can be easily disregarded.

13
1 887
Question Phil Burkhalter · Jul 28, 2023

I like to add documentation to the top of every class I write. Is there a way to modify or create a template that would automatically add the lines below to the top of the class? I primarily use Studio IDE but would like to be able to do this using VS Code as well. 

/// Organization:
/// Version 1.0
/// Author/Co-author:
/// Project: 
/// Date: 
/// Description: 
/// Change Log:
/// Notes:

Thanks. 

4
0 297
Question Dmitry Maslennikov · Jul 26, 2023

So, I needed to start Java Gateway, and found, that it does not want to work with the latest Java versions, I tried 20, 18, 17

Start External Language Server %Java Server:

Please wait...result will show below:

2023-07-26 19:46:24  Starting Java Gateway Server '%Java Server'
2023-07-26 19:46:24  *ERROR* Return from RunStartCmd: ERROR #5049: Java version '18.0.1.1' is not supported.
2023-07-26 19:46:25  An error occurred while trying to start the Gateway Server External Language Server failed to Start:
ERROR #5049: Java version '18.0.1.1' is not supported.

Error, only says, that it will not work, and say nothing, about which version it wants to see

6
0 1462
Article sween · Jul 5, 2022 4m read
        

How to include IRIS Data into your Google Big Query Data Warehouse and in your Data Studio data explorations.  In this article we will be using Google Cloud Dataflow to connect to our InterSystems Cloud SQL Service  and build a job to persist the results of an IRIS query in Big Query on an interval. 

If you were lucky enough to get access to Cloud SQL at Global Summit 2022 as mentioned in "InterSystems IRIS: What's New, What's Next", it makes the example a snap, but you can pull this off with any publicly or vpc accessible listener you have provisioned instead.

Prerequ

3
0 1195
Question John Nurmi · Jul 27, 2023

In an HL7 Business rule I am trying to block ONLY ORM messages that have a PV1:3.4 of 105 or 205 and a OBR:4 value of EP22 or CATH01.

I created the logic below but it appears to be evaluating the two fields independently instead of combined?

Here is what I had.

(((HL7.{MSH:SendingApplication.NamespaceID}="Epic_Cupid")&&(HL7.{ORCgrp(1).ORC:OrderControl} IN "NW,CA")))&&(((HL7.{PIDgrp.PV1grp.PV1:AssignedPatientLocation(1).Facility.NamespaceID} NotIn "105,205")&&(HL7.{ORCgrp(1).OBRuniongrp.OBRunion.OBR:UniversalServiceIdentifier.Identifier} NotIn "CATH01,EP22")))

I ended up getting it to work

1
0 271
Question Pietro Di Leo · Jul 24, 2023

Hi everyone,

I'm trying to figure out how to automatically resend a message using a business operation.

I'm working on a production where HTTP messages are sent from a Business Component to the URL of a Postman Mock Service and I'd like to understand what I can do when the server doesn't respond within a certain timeout.To test this situation, I created a Business Operation component called "Sender", with an "EnsLib.HTTP.OutboundAdapter", which is sending an HTTP message via a POST request to the Mock Server.

8
0 550
Article Satoshi Hosoi · Jul 27, 2023 1m read

InterSystems FAQ rubric

Whether the value of a local variable is an OREF or not can be determined using $IsObject(). Let v be the variable you want to check,

$IsObject(v)=1// v is an OREF$IsObject(v)=0// v is not an OREF$IsObject(v)=-1// v is an OREF but does not point to a valid object

Note that $IsObject(v) will give an UNDEFINED error if v is undefined.

To avoid UNDEFINED errors, it is recommended to use $Get like this:

$IsObject($Get(v))
0
0 461
Question Rafael Bikkin · Jul 25, 2023

This question originally appeared in the comments of the article: Git for Shared Development Environments

Hi, @Timothy Leavitt 
You wrote:

  • Concurrency control for multiple users working in the same environment at the same time. Once you make changes to a class/routine/etc., it's yours until you discard or commit your changes. (We do have ways around this when needed, though!)

I'm trying to find any documentation about "(We do have ways around this when needed, though!)" part, and it looks like it's never mentioned anywhere else apart from the quoted paragraph.

1
0 243
Question Jason Jones · Jul 26, 2023

This question originally appeared in the comments of the article: Git for Shared Development Environments
 

I am trying to implement this for my Department of Veterans Affairs development group, the problem I have is, there seems to be no way to keep each package's repo separate.For projects in VA, it is very important (and it's also much more practical from a working perspective) to have a separate GitHub repo for each project, and for us in IRIS a project is a package more or less.

1
0 232
Question Kevin Kindschuh · Jul 26, 2023

Visual Studio Code, like Atelier, connects to IRIS through the Web Server and a web service, unlike Studio that connect to the SuperServer port.

What about the VS Code terminal?  Does that open a shell with SSH or does it also use a web service?

In other words, does an IRIS developer using VS Code need direct access to the IRIS instance with SSH or the SuperServer port, in addition to the external or private web server to execute terminal commands?

Is that different with linux vs. Windows?

1
0 466
Question Fabio Care · Jul 24, 2023

After installing IRIS 2023.1 on a live copy of our production machine our REST Service now consumes a CSP Session with every request. The request is handled as expected, but uses one of the 5 CSP Session per license. So after 25 requests, the license is used up. The Grace time always shows 0 and the session stay for very long. (Maybe the 900 Seconds timeout). 
On Caché 2018, we had the same settings for the Webapp and there, only a single Session was set for all requests. The Caché request didn't use any cookies. 
Here we also used $system.License.PublicWebAppUser() which I think is not

7
0 572
Article Yuri Marx · Mar 30, 2022 9m read

There are several ways of classifying cryptographic algorithms: 1) Secret Key Cryptography (SKC) - Uses a single key for both encryption and decryption. It is also called symmetric encryption. Primarily, it was used for privacy and confidentiality; 2) Public Key Cryptography (PKC) - Uses one key for encryption and another one for decryption. It is also called asymmetric encryption. Initially, it was utilised for authentication, non-repudiation, and key exchange; 3) Hash Functions - Uses a mathematical transformation to irreversibly "encrypt" information, providing a digital fingerprint.

6
1 505
Announcement Henry Pereira · Mar 27, 2020

SQLBuilder is a flexible and powerful SQL query string builder for InterSystems IRIS,

With SQLBuilder you have nice and clean object oriented methods, instead of having to use concatenation and substituition to generate dynamic queries.

A Dynamic SQL without SQLBuilder

A Dynamic SQL with SQLBuilder

If you like it, don't forget to vote in the IRIS Programming Contest

18
5 813
Announcement Larry Finlayson · Jul 24, 2023

Managing InterSystems Servers - Virtual  August 14-18, 2023   9:00am-5:00pm US-Eastern Time (EDT)

  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.

Self Register Here

0
0 116
Article Yuri Marx · Jul 19, 2023 8m read

Hibernate is the most popular framework to do ORM (Object Relational Mapping) projects.With Hibernate a software can use the main DBMS in the market, including the capability to change the database vendor any time, without source code impact.This is possible because the Hibernate supports dialects.Each database product has a different dialect that can be assigned into a configuration file.So, if a software is using Oracle and is looking to evolve to InterSystems IRIS, just change the configuration file with connection and dialect information.

7
3 1045