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

InterSystems Official Bob Kuszewski · Aug 11, 2023

InterSystems Kubernetes Operator (IKO) 3.6 is now Generally Available.  IKO 3.6 adds significant new functionality along with numerous bug fixes.  Highlights include:

Follow the Installation Guide for guidance on how to download, install, and get

0
0 271
Question Colin Brough · Aug 9, 2023

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!

  • Are
3
0 250
Question Pavan Kumar Rayudu · Aug 10, 2023

Web Server Type: Microsoft Web Server: Microsoft-IIS/10.0 .

Error from Gateway  - IRISCONNECT : Error Writing to InterSystems IRIS
Cannot Write Data : IRISconnectSend(): 0 Error Code: 0 (IRISconnectErrorString="SSL/TLS error in SSL_write(), SSL_ERROR_SYSCALL: I/O error (10053)")
lencoded
Accept: text/html,application/xhtml+xml,application/xml;q=0.

Error from HOST System to CSP Gateway : 403 Forbidden Error.

Error from IIS Logs : 403 16

What could be the Root Cause and Resolutions ??

1
0 219
Article Megumi Kakechi · Aug 10, 2023 2m read

InterSystems FAQ rubric

※Use this method if you want to compare databases that have been replicated using mirroring, shadowing, or some other mechanism.

You can use the DATACHECK utility to compare global variables. Please refer to the document below.
Overview of DataCheck [IRIS]

***

Routine comparisons use the system routine %RCMP or the Management Portal.

Below is how to use it in the Management Portal.

0
2 462
Question Niklas Thilmont · Jul 30, 2021

Hey ISC Community!

For a small automation feature I would like to login to the IRIS shell non-interactively, skipping the whole username and password prompts, providing the credentials through other means. Something in the fashion of "iris session <instance-name> --user myuser --pass mypass" would be great, but the session tool itself doesn't seem to be capable of doing this.

Does anyone know a way to accomplish this? It need not be through "iris session", any way that can be automated would be fine. Disabling authentication for the terminal is not an option, though. 

6
0 1235
Article Robert Cemper · Aug 10, 2023 3m read

This question originally appeared in the comments of the post: Download globals from a particular server
 

This article was inspired by a recent question from @Evgeny Shvarov 
Download globals from a particular server
It is not a click-and-run code but a draft that requires adjustments for your special needs
you have  to add 

  • your credentials for server access
  • your level of error handling
  • Global name
  • the first set of subscripts as  %LB() block default=""
  • the last set of subscripts as  %LB() block default=""
  • a new global name if required default="" >> name not changed

If nothing than the

1
0 340
Article Evgeniy Potapov · Aug 9, 2023 6m read

In this article, we will analyze the intricacies of setting up tables and graphs to improve the readability of data.

Logi offers a rich set of data visualization tools. You can find anything from a wide variety of chart templates to custom CSS styles. Understanding the assortment of settings and options can be quite difficult. First, we will create a chart and a table with default settings, and give them a presentable look using InterSystems Reports (powered by Logi Report).

Graphic

Suppose we need to display three directions of data at once on one chart.

0
1 426
Question Julio Rodriguez · Jul 10, 2023

Hello,

I have a EnsLib.HL7.Operation.FTPOperation that uses SFTP protocol and public/private key to connect to an external vendor moveitcloud.

Issue: The vendor is planning to enable Multi Factor Authentication for this file transfer account.

Question: Have you configured a SFTP operation to use Multi factor Authentication? If not, is there another way?

Thank you,

1
0 459
Question Pedro Lopes · May 12, 2023

If I had:
________________________________________
Class MN.Student Extends %Persistent
{
Property Name As %String;
________________________________________
Class MN.Course Extends %Persistent
{
Property TeacherName As %String;
Relationship StudentName As MN.Student [ Cardinality = one, Inverse = Name ];
________________________________________

For "Cardinality = one" the SQL line below would be sufficient for archiving
INSERT INTO MN.Course (TeacherName, StudentName) VALUES ('Pierre','3')"

________________________________________

But if I had "Cardinality = many"
Relationship StudentName As MN.Student [

1
0 184
Question Scott Roth · Jul 25, 2023

I am working on my first REST operation to send a API Request to an internal server within our Network. I have finally got past the point of being able to connect using a SSL/TLS Configuration, but I am getting a ERROR <Ens>ErrHTTPStatus: Received non-OK status 403 from remote HTTP server: 'HTTP/1.1 403 Forbidden'.

I have tried using $$$TRACE within my operation to capture the different elements that are being sent to verify the Server, URL, SSL Configuration, and payload. Is there a way that I can see the entire RAW request message that is being sent to see why I might be getting a 403 error

16
1 1134
Article Heloisa Paiva · Jun 12, 2023 11m read

Introducing Django

Django is a web framework designed to develop servers and APIs, and deal with databases in a fast, scalable, and secure way. To assure that, Django provides tools not only to create the skeleton of the code but also to update it without worries. It allows developers to see changes almost live, correct mistakes with the debug tool, and treat security with ease.

To understand how Django works, let’s take a look at the image:

9
3 990
Question Menno Voerman · Aug 4, 2023

Hi All,

If I remember it correctly there is a functionality in IRIS to make this possible.

I've got two incoming Business Services of files from different sources.

BS1: An Ens.StreamContainer with some info and metadata which point to a specific file. Ens.StreamContainer will be send to a BP.

BS2: The files where the metadata points to. It's in the Ens.StreamContainer

But dependent on the flow the file could be later available on BS2. So I want the BPL to wait for the file to arrive at BS2. 

Then in the BPL I want to do some merging stuff with the 2 Ens.StreamContainers

So i'm looking for a

4
0 262
Question Menno Voerman · Jul 13, 2023

Hi All,

We're doing our first babysteps with embedded Python and IRIS with an interoperability solution. We want to convert a CSV file to an Excel xlt file.

As service we've got a EnsLib.File.PassthroughService which picks up a csv file

As operation we've got a EnsLib.File.PassthroughOperation which writes the Excel file.

In the middle:

We've created an Business Process with an %Stream.GlobalCharacter in the Request and a %Stream.GlobalCharacter  in the Response.

But how do we get the %Stream.GlobalCharacter in the Python ClassMethod?

3
0 566
Question Lorenzo Scalese · Aug 7, 2023

Hi!

Currently, I'm working on a script using %SYS.Journal API.

My journal files are compressed, following the documentation the compression is zstd.

I tried to unzip a file with zstd tool, ex: 

apt-get update
apt-get install zstd

zstd -d 20230806.001z -o 20230806.001

20230806.001z        : 92.03%   (909312 => 836859 bytes, 20230806.001) 

Unfortunately, the unzipped file is invalid:

Write##class(%SYS.Journal.File).IsValidJournal("/usr/irissys/mgr/journal/20230806.001")
2
0 573
Question Norman W. Freeman · Jul 27, 2023

There is several classes that allow to create TCP/IP connections (eg: to connect to a service).

Example : %Net.FtpSession (port 21), %Net.HttpRequest (usually port 80 or 443)

AFAIK connection will stay open unless closed explicitly or if variable that hold the instance is garbage collected.

Is there a way to get a list of all active (open) TCP/IP connections IRIS is maintaining so far ?

I took a look at Portal (eg: in dashboard, "System Resource Statistics") but couldn't find anything.Web Gateway panel provide information about connections but this is incoming connections for CSP pages.

6
0 703
Question Pierre LaFay · Aug 3, 2023

Hi,

I try to initialize some properties of a %DynamicObject during his creation.

I Try to use InitialExpression this way :

Property refDate As %Date [InitialExpression = $piece($horolog,",",1)];

But it doesn't compile

I don't found if %DynamicObject can have a constructor to initialize properties by a calculated value, like other languages.

4
0 281
Question Ties Voskamp · Aug 3, 2023

Hi,

Using Interoperability, I can't figure out how to create separate XML's files from a CSV-file using the GUI-features Record Maps/Complex Record Mapper -> Data Transformations. I'm familiar with reading/writing the files using File Service/Operation, but don't understand the processing-steps. The preferred method by my colleagues is to do this without any Objectscript or Embedded Python coding, but if this can only be done by some coding that's fine as well.

See example below. Any help is appreciated!

Kind regards, Ties Voskamp

Example CSV:

PONumber;PODate;ArticleID;ArticleName;MeasureOfUnit;Uni
2
0 335
Article Hao Ma · Mar 5, 2023 2m read

I asked the question in email and get answers from those colleagus.

Question:

I failed to change time zone on latest iris container(Ubuntu), because:

  • I am irisowner, no root password

  • There is no sudo command

I used to use below Dockfile setting to change time zone while creating a new docker image. However, those commands doesn’t work from non-root user.

FROM $IRIS_IMAGE:$IRIS_VERSION
USER root
RUN export DEBIAN_FRONTEND=noninteractive; \
    export DEBCONF_NONINTERACTIVE_SEEN=true; \
    echo 'tzdata tzdata/Areas select Asia' | debconf-set-selections; \
    echo 'tzdata
1
0 423
InterSystems Official Fabiano Sanches · Aug 4, 2023

The 2023.2 releases of InterSystems IRIS Data Platform, InterSystems IRIS for Health, and InterSystems IRIS Studio are now Generally Available (GA).

RELEASE HIGHLIGHTS

2023.2 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in 2023.2:

Private Web Server

Starting with this release:

0
0 366
InterSystems Official Fabiano Sanches · Jul 26, 2023

InterSystems announces its seventh preview, as part of the developer preview program for the 2023.2 release.  This release will include InterSystems IRIS and InterSystems IRIS for Health.

Discontinuation of the Private Web Server (PWS)

A major topic in this release is the discontinuation of the Private Web Server (PWS) from the installers.  This feature has been announced since last year and it's removed from InterSystems installers, starting with this developer preview.

See this note in the documentation. Additional information related to this topic can be found here.

--> If you are facing any

11
0 341
Discussion Eduard Lebedyuk · Jul 28, 2023

Our previous code golf ended with an overwhelming win, so now it's time for another one. Parenthesis Hell is a Lisp-like esoteric programming language(esolang). As a Lisp-like language, the code consists only of nested matched pairs of opened and closed parenthesis. Your task is to write a method that receives a string of parenthesis and returns 1 if the order of the parenthesis is valid. For example, the string of parenthesis (())() is valid because it contains a matched pair of opened and closed parenthesis at each position. The string ()((()))) is not valid because it contains one unmatched parenthesis.

37
0 803
Question Warren Oyco · Aug 3, 2023

Hi,

Any recommendations on how i can add a logic if an incoming record that is already existing in the table but different total amount value. I need to subtract the totalamt value on the input file vs the totalamt value on the table and update the table with the difference of totalamt. Any help is much appreciated. Thanks!

Set tSC = $$$OKTry {
tEntEpicMoopRecord = ##class(MC.Data.EntEpicMoopFile).MemberIDIndexOpen(pRequest.MemberID)
if $ISOBJECT(tEntEpicMoopRecord) {
tEntEpicMoopRecord.DateUpdated = +$h
tSC = tEntEpicMoopRecord.%Save()
}
else {
tEntEpicMoopRecord = ##class(MC.Data.EntEpicM

1
0 259
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 804
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