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

Announcement Dmitry Maslennikov · Oct 28, 2022

A new release of ZPM has been published 0.5.0

New in this release

  • Added support for Python's requirements.txt file
  • Using tokens for publishing packages
  • Fixed various issues

Python's requirements.txt

Now, if your project uses Python embedded and requires some Python's dependencies, you can add requirements.txt file to the project, as usual for any Python project, file have to be in the root of a project next to module.xml. And with load command or install command, ZPM will install dependencies from that file with using pip.

2
1 310
Article Guillaume Rongier · Oct 28, 2022 4m read

1. iris-dollar-list

PyPI - Status PyPI GitHub Coverage

Interpretor of $list for python named DollarList.

This interpretor was made because :

  • I wanted to use $list in python.
  • Embedded Python do not support $list.
  • The native API version do not support embedded $list in $list.

This is a work in progress. For now, it only support embedded $list in $list, int and string.

WIP float,decimal,double

This module is available on Pypi :

pip3 install iris-dollar-list

It is compatible with embedded python and native api.

2
0 750
Question David Hockenbroch · Oct 28, 2022

In Cache 2018, we were using a macro in a query that looked like this:

select $$GetExtraSQL^GetExtra('B',bddtl.odnumb,bddtl.odsnum,bddtl.oddsc1) as "Description", * from sqluser.bddtl

We could save that query as a view, and there was no problem with it.

In IRIS, if we put that query into SQL in the management portal, it still works, but if we save that query as a view, when we try to run a query on that view, we get a big error message:

ERROR #5540: SQLCODE: 400 Message: Process 604526 failed to compile Cached Query Class %sqlcq.R001.

1
0 337
InterSystems Official Fabiano Sanches · Oct 26, 2022

This is the tenth in a series of releases that are part of the developer preview program for 2022.2. Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better product together.

As usual,  CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format.  For a complete list, refer to the Supported Platforms document.

2
0 313
Question Julian Matthews · Oct 25, 2022

Hi all.

I have a scenario where I am receiving NACKs and I'd like to adjust the error handing of the operation based on the content of the NACK.

For example, I could receive the following and want to move onto the next message:

MSH| ^~\&|||||20221025083135.489+0100||ACK ^A02^ACK|9271|D|2.5.1
MSA|AE|1664378390234
ERR|||207 ^Application internal error ^HL70357^^^^^^Cannot transfer patient, encounter is cancelled.|E

However, I could also receive the following and want to keep retrying:

MSH| ^~\&|||||20221014103828.043+0100||ACK^A03^ACK|1049|D|2.5.
1
0 439
Article Nicholai Mitchko · Apr 15, 2022 3m read

Adding VSCode into your IRIS container

One of the easiest ways to setup repeatable development environments is to spin up containers for them. I find that when iterating quickly, it was very convenient to host a vscode instance within my development container. Thus, I have created a quick container script to add a browser-based vscode into an IRIS container. This should work for most 2021.1+ containers.

5
0 1069
Announcement Olga Zavrazhnova · Sep 20, 2022

Hi Community, 
Let's meet virtually at our first Community Roundtable! This will be a 45-min friendly discussion on a given topic: VSCode vs Studio. 
Imagine that we just gathered together to share our thoughts, experiences, tips, and tricks. If you want to discuss specific questions within a given topic - please share them in the comments.
Watch recording:

10
0 856
Announcement Laurel James (GJS) · Oct 27, 2022

Hi developers!

If you missed our presentation at the InterSystems UK&I Summit and our demo during the Source Control roundtable, but you still want to find out more about source control for Interoperability Productions... there’s another chance to see it at our User Group Session next Thursday, November 3rd at 3pm (GMT)

The new driver enables highly granular management of Interoperability Productions with tight integration into the InterSystems IRIS management management portal. 

Sign up via eventbrite here >> https://bit.ly/3yqzfvS

0
0 235
Question Patty Aguirre-Romero · Oct 24, 2022

Hello,

I need to add an NTE segment after the OBX segment. I'm not a programmer so, I'm hoping to do this on the DTL Editor. Is it possible? If yes, how?

Some ORU messages from my EMR come in to Iris without NTE after the OBX. Thus, I need to add it in Iris For Health. 

Thank you!

2
0 539
InterSystems Official Fabiano Sanches · Oct 12, 2022

This is the ninth in a series of releases that are part of the developer preview program for 2022.2 Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better product together.

As usual,  CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format.  For a complete list, refer to the Supported Platforms document.

2
1 348
Article Murray Oldfield · Oct 25, 2022 4m read

YASPE is the successor to YAPE (Yet Another pButtons Extractor). YASPE has been written from the ground up with many internal changes to allow easier maintenance and enhancements.

YASPE functions:

  • Parse and chart InterSystems Caché pButtons and InterSystems IRIS SystemPerformance files for quick performance analysis of Operating System and IRIS metrics.
  • Allow a deeper dive by creating ad-hoc charts and by creating charts combining the Operating System and IRIS metrics with the "Pretty Performance" option.
  • The "System Overview" option saves you from searching your SystemPerformance files for system details or common configuration options.

YASPE is written in Python and is available on GitHub as source code or for Docker containers at:


1
5 895
Article Yaron Munz · Jul 12, 2022 5m read

Overview

We started to use Azure Service Bus (ASB) as an enterprise messaging solution 3 years ago. It is being used to publish and consume data between many applications in the organization. Since the data flow is complex, and one application’s data is usually needed in multi applications the “publisher” ---> ”multiple subscribers” model was a great fit. The ASB usage in the organization is dozens of millions of messages per day, while IRIS platform is having around 2-3 million messages/day.

3
3 864
InterSystems Official Fabiano Sanches · Oct 24, 2022

InterSystems is pleased to announce that the extended maintenance releases of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect 2022.1.1 are now available. These releases provide a few selected features and bug fixes for the 2022.1.0 releases.

You can find additional information about what has changed on these pages:

0
0 269
Article Yuri Marx · Oct 24, 2022 8m read

Introduction

This is the fifth part of the series of articles on migrating from the main databases on the market to InterSystems IRIS. In this part, the procedures for migrating from Oracle Database 21c will be detailed. As described in previous articles, there are currently a few options for how to do the migration, but the two most popular ones include the use of DBeaver (https://openexchange.intersystems.com/package/DBeaver) or SQLGateway.

0
5 782
Article Lorenzo Scalese · Apr 22, 2022 8m read

Apache Web Gateway with Docker

Hi, community.

In this article, we will programmatically configure an Apache Web Gateway with Docker using:

  • HTTPS protocol.
  • TLS\SSL to secure the communication between the Web Gateway and the IRIS instance.

image

We will use two images: one for the Web Gateway and the second one for the IRIS instance.

All necessary files are available in this GitHub repository.

Let’s start with a git clone:

git clone https://github.com/lscalese/docker-webgateway-sample.
15
8 2178
Question Evgeny Shvarov · Oct 21, 2022

Hi developers!

Those who code IRIS solutions in VSCode using Docker often use the convenient ObjectScript menu, which contains links to Management Portal, Class Reference, Unittest portal, Productions, etc.

While drilling down to a Dev Container to code Embedded Python there is no such option, at least within my settings:

So I don't know how to connect to it. 

Thoughts?

6
0 430
Article Evgeny Shvarov · Oct 24, 2022 4m read

Hi developers!

Let me share with you a minimal embedded python template, that I can recommend as a starting point for any general project with InterSystems IRIS that will use embedded python.

Features:

  • Embedded Python ready;
  • Examples of 3 ways of Embedded python development;
  • VSCode development ready;
  • Docker enabled;
  • Online demo enabled;
  • ZPM First development ready.

Let's discuss the features below!

0
0 1160
Announcement Laurel James (GJS) · Oct 20, 2022

The new production component driver for Deltanji enables highly granular management of InterSystems Interoperability Productions with tight integration into the management portal. We presented it at the InterSystems UK&I summit this week and it received a great reception. 

It solves the current pain-point of Interoperability Productions being defined in a single monolithic class definition. Deltanji source control increases the granularity with which items can be managed. Instead of versioning a single class definition containing all the configuration items, this new component driver allows individual configuration items to be managed separately. Each configuration item has its own versioning and revision history and can be checked-out, checked-in, and deployed independently of any other items in the same Production.

Because each configuration item within a production class is managed by Deltanji as a first-class component in its own right, Deltanji provides all the source control, versioning, and workflow capabilities that it provides for any other component.

Watch the below clip to see it in action. 

 

We'll be talking about this new feature in more detail at our User Group Session on November 3rd at 3pm (GMT). Register your attendance on Eventbrite here - https://bit.ly/3yqzfvS

To find out more about Deltanji, visit our website georgejames.com or drop us an email info@georgejames.com 

13
0 411
Question Evgeny Shvarov · Oct 20, 2022

Hi, devs!

What's the way to call the methods of %SYSTEM class from python?

I tried this way:

print(iris.cls('_SYSTEM.OBJ').Version())

and getting an error:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
RuntimeError: iris.class: error finding class

Here is how it works in ObjectScript:

USER>w ##class(%SYSTEM.OBJ).Version()
InterSystems IRIS Version 2022.1.0.209
USER>

Thoughts?

4
1 372
Question Tom Philippi · Dec 13, 2017

Recently viewed a demo on the new Dynamic Objects in InterSystems (we are still running 2016.1); together with the upcoming IRIS data platform I started thinking about possibilities of building dynamic databases. That is, I can imagine some projects were it might be really nice to store dynamic objects and then run sql queries on them without ever defining the fields of the dynamic objects (i.e. not at storage, but only if you run your sql query). If there is any system where this might be possible it is InterSystems Cache.

3
0 860
Question Evgeny Shvarov · Oct 20, 2022

Hi folks!

I'm playing with Embedded python with IRIS trying to do some 'hello-world' exercises.

I'm running IRIS in container and have the following python code:

# Program to test coding with IRIS

print('Hello World')

# Run IRIS Class Method 

import iris
print(iris.cls('dc.sample.ObjectScript')).Test()

So, when I execute it, I get the following:

$ /usr/irissys/bin/irispython /irisrun/repo/python/app.py
Hello World
Traceback (most recent call last):
  File "/irisrun/repo/python/app.py", line 7, in <module>
    import iris
  File "/usr/irissys/lib/python/iris.
5
0 688
Article Lucas Enard · Aug 17, 2022 9m read

In this GitHub based on this InterSystems community rest api template Guillaume and I have created this example of all the import CRUD operations usable using ONLY Python on IRIS and using Flask.

Using the IRIS ORM or by simply doing SQL requests as both methods are seen in the GitHub.

1. intersystems-iris-docker-rest-template

This is a template of a REST API application built in python in InterSystems IRIS. It also has OPEN API spec, can be developed with Docker and VSCode.

13
0 934
Question Shane M Elliott · Oct 17, 2022

I have installed Iris in Docker container with the above version.  I need to create an additional user to log in via ssh.  I have created a user and put in both the irisuser and irisowner groups, and created a user in iris with permissions.  But, when I run "iris session iris" I originally got an error about permissions: /usr/irissys/bin/irisdb: Permission denied.
I looked @ the /usr/irisys directory and the permissions was only (r-x------).  I changed to (dr-xr-xr-x.)and now I get a different error:
Invalid ownership for ./irisdb
Any suggestions? 

8
0 704
Question prashanth ponugoti · Oct 20, 2022

Hello,

I’m creating a REST API service but I need to convert my object in JSON.

Class message_B Extends Ens.Request 

Property ClientId As %String(MAXLEN = "");

Property mesagge As %Stream.TmpBinary;
}

set pRequest = ##Class(message_B).%New()
​do ##class(Ens.Util.JSON).ObjectToJSONStream(pRequest, .content)

it is ignoring message property in json dueto its data type %Stream.TmpBinary

Could you please help me to resolve it?

2
0 303
Article Pete Greskoff · Jun 27, 2018 8m read

NB. Please be advised that PKI is not intended to produce certificates for secure production systems. You should make alternate arrangements to create certificates for your productions.
NB. PKI is deprecated as of IRIS 2024.1: documentation and announcement.

In this post, I am going to detail how to set up a mirror using SSL, including generating the certificates and keys via the Public Key Infrastructure built in to InterSystems IRIS Data Platform. I did a similar post in the past for Caché, so feel free to check that out here if you are not running InterSystems IRIS. Much like the original, the goal of this is to take you from new installations to a working mirror with SSL, including a primary, backup, and DR async member, along with a mirrored database. I will not go into security recommendations or restricting access to the files. This is meant to just simply get a mirror up and running. Example screenshots are taken on a 2018.1.1 version of IRIS, so yours may look slightly different.

3
4 1840
Question prashanth ponugoti · Oct 19, 2022

 

Hi Friends,

I have a requirement to convert pdf from URL to Base64 format. I have created one utility method and used in the DTL.

Working fine for small pdf files , we got one pdf with size 4MB , this method is failing (creating corrupted base64 content).

Could you please suggest me the way to convert big pdfs?

set encodedData = ""
set request=##class(%Net.HttpRequest).%New()
    do request.Get(httpUrl)
    if request.HttpResponse.StatusCode = 200
    {
//set len = request.HttpResponse.Data.SizeGet()
    set content = request.HttpResponse.Data.Read()
    set encodedData = $system.Encryption.

6
0 2307