#InterSystems IRIS

19 Followers · 5.5K 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 Harry Tong · Feb 21, 2023 2m read

InterSystems IRIS 2022.2 has Native SDK for Python (https://docs.intersystems.com/iris20222/csp/docbook/Doc.View.cls?KEY=PA…).

We know how to traverse a global data structure using IRIS Object Script $Order function.

SET key=""FOR  {
     SET key=$ORDER(^myglobal(key)) 
     QUIT:key=""WRITE !,^myglobal(key)
   }

How to do the same from Python using IRIS Native SDK for Python? Here is a code example:

import iris

args = {'hostname':'127.0.0.1', 'port':51772,
    'namespace':'USER', 'username':'_SYSTEM', 'password':'SYS'
    }

conn = iris.connect(**args)
2
0 576
Question Elijah Cotterrell · Mar 6, 2023

I'm curious about how embedded Python is handled by %CSP classes, particularly in the case of defining REST endpoints on IRIS.
Here is a simple dispatch class for the endpoint /api/pythonapp on my local IRIS instance (2022.3):

Class Python.App.Dispatch Extends%CSP.REST
{

XData UrlMap [ XMLNamespace = "https://www.intersystems.com/urlmap" ]
{
<Routes>
    <Route Url="/test" Method="GET" Call="Hello" />
</Routes>
}

ClassMethod Hello() As%Status [ Language = python ]
{
    import iris

    print('Hello World!')
    return True
}

}

Making a GET request to <ip:webport>/api/p


4
0 336
Question Michael Davidovich · Feb 28, 2023

Any ideas on why my %session.Data array would be wiped out after setting %response.Redirect in OnPreHTTP()?

Context: trying to implement a SSO patter for authorization code flow.  I mention this because it's all I can really pinpoint as to what's changing.  Typically a user logs in by providing their username/password and we validate in our database and set the %session.Data property with the user info.  The only difference now is that we start at the SSO sign on page and are redirected back to our auth page where I'm calling our authentication server with the auth code provided to get an ID

8
0 1671
Question Kurt Hofman · Feb 10, 2023

Hello,

I'm starting testing embedded python and external libraries.

When I try to use the win32api-library I get the following error :

<THROW> *%Exception.PythonException  230 ^^0^ <class 'ModuleNotFoundError'>: No module named 'win32api' -

This is my code :

ClassMethod CreateDocument(path As %String) [ Language = python ]
{
import win32api

...
}
 

The librarie is visible in C:\InterSystems\IRIS\mgr\python\win32.

Am I doing something wrong ?

Regards,

Kurt Hofman,

ASCI nv.

7
0 704
Question prashanth ponugoti · Mar 3, 2023

Hi Friends ,

We have requirement to load data into chache tables from external database (ref data). This process will take 1 min to complete all data load.

Currently I have created Business Service  to trigger Business Operation with out bound db adapter to load data into cache tables.

process will be trigger when i restarted business service.

But requirement  is  , this business service should be triggered from outside ensemble environment i.e , this should expose as REST endpoint and share with the external team.

How to expose Business service as REST endpoint? I need help for this r

1
0 261
Question Phillip Wu · Feb 13, 2023

Hi,

I have a IRIS mirror set

. all running on SUSE Linux

. each on a separate server

consisting of

Primary

Backup

Arbiter

My arbiter is the ISCagent.

Question

=======

Is there a Linux command showing me the status of the ISCagent as arbiter?

The systemctl service command below shows if the service is running but not if it is acting correctly as an arbiter.

I'm looking for a command like iris list which you can run on the Primary or Backup

===

systemctl list-units --type=service|grep -i isc
ISCAgent.service                                                                        

11
2 739
Announcement Olga Zavrazhnova · Feb 14, 2023

Hi Community, 

We are gathering again for the next Community Roundtable. Many of you asked for a roundtable about AL / ML, and we are delighted to bring such a roundtable to you!

Our invited expert from InterSystems: @Thomas Dyar Product Specialist - Machine Learning.

Join our 60-min discussion, prepare your questions, and use cases! There will be a short demo as well.

UPDATE: the recording is available here.

5
0 408
Question Scott Roth · Feb 21, 2023

I am new to setting up a mirror environment....

We will have a Arbiter, Two Failover members (A,B), and a Async (DR) member (C). I have the two failover members in sync and are configured for Arbiter Control.

My question is about the Async member, when I initially set it up I pointed it to the mirror on the primary node A.

Is that correct?

What happens to the Async member (C) if we fail over the mirror to the secondary member B? Does there need to be a VIP just for the mirror outside of the VIP we have for our systems to connect too? So the Async member (C) is pointed to the VIP specifical

8
0 434
Article Heloisa Paiva · Mar 2, 2023 3m read

Introduction

This is a simple tutorial on the quickest way I found to create a sample database for any purposes such as testing, making samples for tutorials, etc.

Creating a namespace

  1. Open the terminal
  2. Write the command "D $SYSTEM.SQL.Shell()"
  3. Write "CREATE DATABASE " and the name you want for your namespace.

Now you have a new namespace in a faster way than creating it from the Management Portal - which of course offers way more configuration options.

To select it, quit the SQL Shell writing "q" and then typing 'zn "namespaceName"'. Now everything you do in the terminal is in t

5
1 528
Discussion Mark Niman · Mar 1, 2023

Hello everyone,

As someone who is new to the world of InterSystems technology, I have been looking for the best resources to learn more about it.

I have heard great things about InterSystems technology, particularly its speed and scalability, and I want to make sure I have a solid understanding of it before diving in further. From what I understand, the official InterSystems courses cover a wide range of topics and are taught by experts in the field.

I would appreciate any recommendations on which courses to take, particularly if there are any that provide a good foundation for beginners. I

3
1 269
Question Akshay Pandey · Mar 2, 2023

ZV = IRIS for UNIX (Red Hat Enterprise Linux for x86-64) 2021.1 (Build 215_0_21260U) Tue Nov 9 2021 19:32:21 EST

I have pdf documents stored in repo edge HS.IHE.XDSb.Repository.Documents. Is it possible that this can further compress this type of binary stream?

below is the code I can see but Is this applied on 2021.1?

Property Document As %Stream.GlobalBinary;

Class %Stream.GlobalCharacter Extends TmpCharacter [ System = 2 ]
{Parameter COMPRESS = 1;}

1
0 324
Question Paul Riker · Nov 7, 2022

Does anyone have insight into how the Stream Global Compression works in 2022? I'm particularly interested in the XDSb repository on the Edges. As I understand it anything new will be compressed. Is there a compression method that is used that can be utilized by other code? How are the retrievals aware that the contents are compressed in order to de-compress them? 

8
0 770
InterSystems Official Fabiano Sanches · Feb 28, 2023

InterSystems is pleased to announce that the extended maintenance release of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect 2021.1.3 is now available. This release provides a few selected features and bug fixes for the previous 2021.1.x releases.

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

Please share your feedback through the Developer Community so we can build a better product together.

 

How to get the software

The software is available as

2
0 246
Announcement Anastasia Dyubaylo · Feb 8, 2023

Community webinars are back!

And we're thrilled to invite you to the webinar of George James Software, partners of InterSystems:

👉 "Demo of Deltanji: source control tailored for InterSystems IRIS" 👈

Join this webinar to learn how the Deltanji source control can seamlessly integrate into your development lifecycle and see a demonstration.

🗓️ Date & Time: Thursday, February 23, 4 pm GMT | 5 pm CET | 11 am ET

5
0 469
Article Alberto Fuentes · Feb 28, 2023 2m read

Hi all!

I'm sharing a tool for data ingestion that we have used in some projects.

DataPipe is an interoperability framework for data ingestion in InterSystems IRIS in a flexible way. It allows you to receive data from external sources, normalize and validate the information and finally perform whatever operation you need with your data.

Model

In first place, you need to define a model. A model is simply a class that extends from DataPipe.Model where you need to implement some methods:

In the model you specify how are you going to serialize / deserialize the data, how you normalize and valida

0
1 764
Article Benjamin Thorne · Jul 17, 2018 1m read

The following code snippet uses GZIP to compress/decompress a file. Choose a file by specifying a file path in the "filename" variable.


Class objectscript.GZIP Extends %RegisteredObject
{
	classmethod test() {
		//Export Global(s) uncompressed
		set filename="C:\Temp\myglobal.xml"
		do $System.OBJ.Export("^oddEXTR.gbl",filename)
		//Open exported Globals
		set uncompressed = ##class(%FileBinaryStream).%New()
		set uncompressed.Filename=filename
		Set compressed = "C:\temp\mycomglobal.xml"
		//Open File Device over Gzip and Copy Uncompressed information to it
		Open compressed:("WUNK":::/GZIP=
6
1 2389
Article Vivian Lee · Feb 27, 2023 4m read

Setting the Scene

Suppose you have the following 2 persistent classes that are both JSON-enabled (i.e. extends %JSON.Adaptor or %pkg.isc.rest.model.adaptor)

Class Test.Employee Extends (%Persistent, %pkg.isc.rest.model.adaptor) { 
  Parameter RESOURCENAME = "employee";
  Parameter firstName As %String;
  Parameter lastName As %String; 
  Relationship projects As Test.Project [ Cardinality = many, Inverse = employee) ];
}

Class Test.Project Extends (%Persistent, %pkg.isc.rest.model.adaptor) {
  Parameter RESOURCENAME = "project"; 
  Parameter name As %String; 
  Relationship employ
0
1 357
Question Alecsandru Onac · Feb 26, 2023

Hello,


Could someone help me with a solution, for example "dump" to IRIS.DAT, I mention that it is difficult to manipulate a file of ~ 200 GB. I would be interested in generating an IRIS.DAT file containing the "schema" without any information.

Thanks !

2
0 323
Question Scott Roth · Sep 21, 2022

I am trying to pull down the webgateway from containers.intersystems.com and I am receiving the following errors... Please advise

[roth16@int-lxiris-vd02 tls-ssl-webgateway]$ docker pull containers.intersystems.com/intersystems/webgateway:2021.1.0.215.0
Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
Trying to pull containers.intersystems.com/intersystems/webgateway:2021.1.0.215.0...
Error: initializing source docker://containers.intersystems.com/intersystems/webgateway:2021.1.0.215.0: reading manifest 2021.1.0.215.0 in containers.intersystems.com/intersystems/webg

7
0 679
Question Michael Lundberg · Feb 24, 2023

Hello!

We have an integration that reads a file from labresults and needs to be transformed into another file format.

The transformation and incoming file correlate against a schema. In that schema there is a type declared as %xsd.double.
As these values ​​are labresults, we are not allowed to change the expression of the value in any way. For example, 1.0 must not become 1. And 2 must not be written as 2.0. As well as 0.3 must not be written as .3 and so on.
I am not allowed to change the type in the schema to %String. I am not allowed to change anything in the schema at all.

I've tried and

0
0 203