#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 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 1147
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 888
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 653
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 663
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 896
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 1083
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.
  • Asymmetric Keys: the parts conducting encrypt and decrypt
3
3 1686
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 577
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,
12
5 1470
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.

 W

3
0 528
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. If I do the same command line with IRIS executable, I got an error : 

Invalid argument to IRIS : -s

I have

5
0 809
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 2286
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.urlParameters = parameters

business operation:

Access data from the multidimensional array that is being passed in the property g

3
0 485
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
Announcement David Underhill · Jun 27, 2022

Couldn't see this on the community, not sure why...

UK & Ireland Summit 2022
Leading Through Innovation

18-19 October 2022 – The VOX, NEC, Birmingham

Join us for a true community event, once again bringing together InterSystems customers and partners – to learn, inspire, and share innovation challenges with each other. To register, please complete the form below.

A wide range of prominent speakers will provide a wealth of knowledge and expertise, with the event entirely focused on making sure you have the information required to not only help you within your own role but to positively impact on

0
0 234
Question Tom Bruce · Jun 20, 2022

Hi, I tried the following exercise from the IRIS documentation. I updated the username, password and IP address, but receiving this error;

A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. --->

I can use the same credentials and IP address to connect ok via VSCode to my local IRIS...

Any pointers much appreciated.

https://docs.intersystems.com/irisforhealth20211/csp/docbook/DocBook.UI…

To connect Visual Studio to

3
0 441
Question Joseph Tsang · Jun 27, 2022

Has anyone here been successfully populating a %Persistent object from calling %LoadFromMemory() with a temp. global?

I have tried using Sample.Person in the SAMPLES namespace. It worked EXCEPT that I have no way to set the id into that Sample.Person objec.

SAMPLES>Merge array(1) = ^Sample.PersonD(1)
 
SAMPLES>Set obj = ##class(Sample.Person).%LoadFromMemory(1,.array)
 
SAMPLES>zw obj
obj=1@Sample.Person  ; <OREF>
+----------------- general information ---------------
|      oref value: 1
|      class name: Sample.Person
| reference count: 2
+----------------- attribute values
1
0 263
Announcement Dmitry Maslennikov · Jan 13, 2022

I think it's a known fact that Populate Utility has very limited functionality. It supports only one language and one country. The list of possible values does not have so many options. 

There is a kind of tool that now can help with it, named Faker. It has implementations in different languages, including Python. Since IRIS has now had the Embedded Python feature, Python faker can be implemented in IRIS.

3
0 345
Article Lucas Enard · May 3, 2022 44m read


This formation, accessible on my GitHub, will cover, in half a hour, how to read and write in csv and txt files, insert and get inside the IRIS database and a distant database using Postgres or how to use a FLASK API, all of that using the Interoperability framework using ONLY Python following the PEP8 convention.

This formation can mostly be done using copy paste and will guide you through everystep before challenging you with a global exercise.
We are available to answer any question or doubt in the comment of that post, on teams or even by mail at lucas.enard@intersystems.com .

We would

1
1 834
Announcement Evgeny Shvarov · Jun 22, 2022

Hi developers!

Here are the bonus points for the experts voting for your applications in the Fullstack contest 2022:

Here we go!

  • Climate Change  - 5
  • isc.rest package - 2
  • isc.ipm.js package - 2
  • Embedded Python - 3
  • Adaptive Analytics (AtScale) Cubes usage - 3
  • Docker container usage - 2 
  • ZPM Package deployment - 2
  • Online Demo - 2
  • Unit Testing - 2
  • First Article on Developer Community - 2
  • Second Article On DC - 1
  • Code Quality pass - 1
  • Video on YouTube - 3<--break->
0
0 280