#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 Dominic Chui · Jul 14, 2022

Let's say I have two lists of connected data where elements of listTwo only make sense if given an item of listOne as context:

listOne = ["A", "B", "C"]

listTwo = ["x", "y", "z"]

Tuples like ("A", "y") and ("C, "x") make sense, but "A" or "x" by themselves don't. I would like to pass in a list of such tuples into a method and have it handle each tuple in the list. So what would be the best way to format them given that ObjectScript does not have specialized tuples? Would it be nested $LISTBUILD lists or something else?

1
0 374
Question Peter Smit · Jul 13, 2022

Hi

I'm trying to migrate a database from cache to iris but i get this from one of the classes on compiling.

ERROR #9101: Global name 'Jobcosting.JobActivityGroupGroupD' for 'IDLocation' is too long, must be no more than 31 characters in length.
  > ERROR #5030: An error occurred while compiling class 'Jobcosting.JobActivityGroup'

2
0 502
Question Oliver Wilms · Jul 12, 2022

Hello,

I work on deploying IRIS using Kubernetes operator and Red Hat OpenShift. I encouraged another team working on Java application to consider using IRIS as database. My team deployed IRIS cluster using two mirrored data pods for the other team. The other team asked me for the connection information.

To learn how to use Java with IRIS, I attempted to deploy two apps from Open Exchange:

https://openexchange.intersystems.com/package/CRUD-GLOBALS-IRISNATIVEAP…

Here I got errors like this:

package com.intersystems.jdbc does not  exist

https://openexchange.intersystems.

1
0 378
Article Pravin Barton · May 12, 2022 1m read

Say I have a persistent class in IRIS with an optional property EmailOptIn:

Class Person Extends %Persistent
{
Property Name As %String;
Property EmailOptIn As %Boolean;
}

I later realize that I'm doing a lot of null-checking on this property where I shouldn't need to. The solution is to make this a required property:

Class Person Extends %Persistent
{
Property Name As %String;
Property EmailOptIn As %Boolean [ Required ];
}

When I make this change I'll need to update all the existing data to set a reasonable default where it is null.

7
0 594
Discussion Eduard Lebedyuk · Jul 1, 2022

Leet (or "1337"), also known as eleet or leetspeak, is a system of modified spellings used primarily on the Internet. It often uses character replacements in ways that play on the similarity of their glyphs via reflection or other resemblance. Additionally, it modifies certain words based on a system of suffixes and alternate meanings. There are many dialects or linguistic varieties in different online communities. Wikipedia

You'll have to translate a string into a LeetSpeak. As usual shortest solution wins.

8
0 674
Article Oliver Wilms · Jul 10, 2022 1m read

As I was thinking what I could develop for InterSystems Full Stack Contest, I saw this post:

https://community.intersystems.com/post/how-access-production-items-through-objectscript

I developed ProductionManager.csp. It displays items in the active production. It also displays the Class in use and the date and time of last message. I believe these data points can help you make decisions which items to remove from the production.

I read that contest asked for apps which insert, update, or delete data in InterSystems IRIS.

0
0 292
Question Oliver Wilms · Jul 10, 2022

I am still working on iris-for-money app: https://github.com/oliverwilms/iris-for-money

Account.csp posts a rest call with _SYSTEM username and the password.

xhttp.open("POST", "/restapi/sql/" + query, true,"_SYSTEM","SYS");
xhttp.send();

/restapi web application has Password Authentication Method enabled.

SYS is the correct password for _SYSTEM user.

I do not understand why I see login failure in Audit database.

1
0 384
Question Oliver Wilms · Jul 9, 2022

I am working on iris-for-money app: https://github.com/oliverwilms/iris-for-money

Account.csp posts a rest call with _SYSTEM username and the password.

xhttp.open("POST", "/restapi/sql/" + query, true,"_SYSTEM","SYS");
xhttp.send();

The error is logged in Riches.REST for this line:

Set tSC = tStatement.%Prepare(pQuery)

ClassMethod PostSQL(pQuery As %String = "", pIndex As %String = -1) As %Status
{
    Do ..DebugTEST("Riches.REST - PostSQL")
    Do ..DebugTEST("pQuery = "_pQuery)
    Set tSC = ..TestQuery(pQuery,.pQuery)
    Do ..DebugTEST("TestQuery = "_pQuery)
    Set tStatement =

3
0 1150
Question tom whalen · Jun 29, 2022

I had a customer the other day ask how GREFs are measured and how the relationship of the host, storage, and DB engine all influence that number measured in hundreds of thousands or millions.  Is there any good documentation that explains this and/or assists with calculating a GREF count?

3
0 892
Article Eduard Lebedyuk · Jul 4, 2022 3m read

InterSystems Native SDK for Python is a lightweight interface to InterSystems IRIS APIs that were once available only through ObjectScript.

I'm especially interested in the ability to call ObjectScript methods, class methods, to be precise. It works, and it works great, but by default, calls only support scalar arguments: strings, booleans, integers, and floats.

But if you want to:

  • Pass or return structures, such as dicts or lists
  • Pass or return streams

You'll need to write some glue code or take this project (installs with pip install edpy). edpy package gives you one simple signature:

call(iris, class_name, method_name, args)

which allows you to call any ObjectScript method and get results back.

3
3 656
Article Evgeny Shvarov · May 4, 2022 2m read

Hi developer folks!

Thanks to all of you who start the development with InterSystems IRIS from the basic development template!

Recently, thanks to @Dmitry Maslennikov's contributions I've updated the Dockerfile to make the development simpler, images lighter and the building process faster. And it looks more beautiful too ;)

Here is what changed:

4
2 666
Question Marcel den Ouden · Jul 5, 2022

Hi,

I am in a situation where my container is on UTC time (as is the host). But I need to send a datetime to a machine in a specific time zone. Various languages have constructs for doing that, sometimes you need a library

C#: var today = TimeZoneInfo. ConvertTimeFromUtc(timeUtc, easternZone);

python has the pytz library.

import pytz
import datetime
now_utc = datetime.datetime.utcnow()
tz = pytz.timezone('Asia/Kuala_Lumpur')
now_kl = now_utc.replace(tzinfo=pytz.utc).astimezone(tz)

We prefer a solution which is ObjectScript only.

3
0 901
Question Yakov Berger · Feb 11, 2020

Hi,

I am using IRIS for Windows (x86-64) 2019.1.1

I have.

1. Created a BS with SQL Inbound Adapter which successfully connects and gets rows from DB .


2. Created a request message is populated with results of SQL query.

3  Created a BP with HL7 Router + Routing Rule + Transformation + Send to Target (BO).

4 . Created BO sending HL7 to file.

i am getting the following error.

ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnRequest+1^EnsLib.MsgRouter.VDocRoutingEngine.1 *DocType,Test.SQLtoHL7Req -- logged as '-' number - @''

What am i missing

Thanks.

8
0 1085
Article Yuri Marx · May 13, 2022 8m read


The InterSystems IRIS has excellent support for encryption, decryption and hashing operations. Inside the class %SYSTEM.Encryption (https://docs.intersystems.com/iris20212/csp/documatic/%25CSP.Documatic…) there are class methods for the main algorithms on the market.


IRIS Algorithms and Encrypt/Decrypt types

As you can see, the operations are based on keys and include 3 options:

  • Symmetric Keys: the parts running encrypt and decrypt operations share the same secret key.
3
3 1693
Question Sathish Devendran · Jun 28, 2022

Hi Everyone,

              I am a very new to IRIS Object Script Development. There is a  usecase where I have to execute a .sh file from the object script. I am looking for examples for that, but what I find is the ways to execute the shell commands. Can you please point me to some examples executing a .sh file. Thanks in Advance

7
0 579
Discussion Sergey Mikhailenko · Feb 21, 2021

Hi developers. I often miss the ZPM program on a clean system. Nothing complicated? Take and install. And in one line? Especially in a docker container. There is a solution. I'm very happy with it;) Maybe the line can be shortened?

set $namespace="%SYS", name="DefaultSSL" do:'##class(Security.SSLConfigs).Exists(name) ##class(Security.SSLConfigs).Create(name) set url="https://pm.community.intersystems.com/packages/zpm/latest/installer" Do ##class(%Net.URLParser).Parse(url,.comp) set ht = ##class(%Net.HttpRequest).%New(), ht.Server = comp("host"), ht.Port = 443, ht.Https=1, ht.
12
5 1476
InterSystems Official Fabiano Sanches · Jun 22, 2022

Developer Preview releases are now available for the 2022.2 version of InterSystems IRIS, IRIS for Health, and HealthShare Health Connect.

 This is the first in a series of releases that are part of the developer preview program. Future preview releases are expected to be updated biweekly and we will add features as they are ready.  This program allows us to get feedback on capabilities and enhancements as they're available.  You'll see below a list of enhancements that are targeted for 2022.2.  Some these are not included in the first developer preview.  Look for those over the coming weeks.

3
0 534
Question Norman W. Freeman · Jul 1, 2022

We recently migrated to IRIS. Before, the CACHE.EXE executable could be invoked from a batch file directly : 

C:\InterSystems\Cache\bin\cache.exe -s C:\InterSystems\Cache\mgr -U %SYS

This will display the following in console : 

Node: DESKTOP-8H4B321, Instance: CACHE

USER>

Additionally, the pipe instruction can be used to redirect some commands directly

echo write 50 | C:\InterSystems\Cache\bin\cache.exe -s C:\InterSystems\Cache\mgr -U %SYS

I am looking for the same thing in IRIS.

5
0 812
Article Timothy Leavitt · Jan 21, 2022 7m read

@Ming Zhou asked a great question in https://community.intersystems.com/post/how-get-all-properties-defined-… and the answer sums up exactly why ObjectScript is my favorite.

When I'm first describing ObjectScript or IRIS to someone I always explain that you can write a class, compile it, get a table, and work with your data from an object or relational perspective - whichever is most natural.

11
6 2291
Question Dan Goldman · Jun 16, 2022

I am trying to pass %request.Data from my rest dispatch class to a production so that I can use it in by business operation.  I have created a message that has a property:

Property urlParameters As%String [multidimensional];

to get the data to the production. I am new to intersystems and multidimensional arrays/globals

dispatch class:

Kill parameters
Merge parameters = %request.DataSet genericRequest = ##class(Core.API.V1.Msg.GenericRequest).%New()
Set genericRequest.
3
0 489
Announcement Anastasia Dyubaylo · Jun 24, 2022

Hi Community,

We are glad to invite you to the upcoming Climate change InterSystems Full Stack Contest Kick-off Webinarfocused on climate change issues! The topic of this webinar is dedicated to the Full Stack contest.

We'll discuss the key challenges and problems that Climate Change and Global Warming set up and how they can be probably solved. As always, our experts will answer the questions on how to develop, build, and deploy full-stack solutions using InterSystems IRIS.

Date & Time: Monday, June 27 – 09:00 AM EDT

Speakers:  
🗣 ​​​Ainar Abdrakhmanov, Climate change expert, co-author of 4 waves course, Co-Founder, SEO at Longevica
🗣 @Timothy Leavitt, InterSystems Development Manager
🗣 @Evgeny Shvarov, InterSystems Developer Ecosystem Manager

2
0 400