#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 Punit · Apr 14, 2023

I'm trying to create a SOAP service between two systems (one client and one server) to transfer files from the client to the server.

I'm reading through the documentation available at https://docs.intersystems.com/iris20223/csp/docbook/DocBook.UI.Page.cls… but wanted to look at an actual example of code (preferably a small example for both systems).

If anyone has such an example or could create one, it would greatly help me understand how SOAP services work.

Thank you!

1
0 735
Article Yuri Marx · Apr 18, 2023 4m read

According to the Cambridge dictionary, tokenize data is "to replace a private piece of data with a token (= a different piece of data that represents the first one), in order to prevent private information being seen by someone who is not allowed to do so" (https://dictionary.cambridge.org/pt/dicionario/ingles/tokenize).Today, several companies, especially in the financial and healthcare sectors, are tokenizing their data as an important strategy to meet cybersecurity and data privacy (GDPR, CCPA, HIPAA and LGPD) requirements.But, why not use encryptation?

0
0 439
Question Jon Astle · Apr 18, 2023

I have updated some legacy VB/ASP.NET code and changed the references of InterSystems.Data.CacheClient to InterSystems.Data.IRISClient.  I am struggling with the code as I am not a .NET expert and there is little or no documentation.

I have published the code on several test IIS sites and on some the code works fine but on others I get the below error.  The error doesn't appear to be O/S specific as I have it working on some Windows 2016 servers and not working on other Windows 2016 servers.

0
0 359
Question Jeffrey Drumm · Apr 16, 2023

When an object is created in memory, the object reference (OREF) is represented as a string value when displayed with the Write command:

HICG>Set pat=##class(JD.Sample.patient).%OpenId(70)
HICG>Write pat
1@JD.Sample.patient ; "stringified" OREF
HICG>Zwrite pat
pat=1@JD.Sample.patient  ; <OREF>
+----------------- general information ---------------
|      oref value: 1
|      class name: JD.Sample.patient
|           %%OID: $lb("70","JD.Sample.patient")
| reference count: 2
+----------------- attribute values ------------------
|       %Concurrency = 1  <Set>
|            address = "
14
1 698
Article Alex Woodhead · Apr 16, 2023 4m read

Overview

Cross-Skilling from IRIS objectScript to Python it becomes clear there are some fascinating differences in syntax.

One of these areas was how Python returns Tuples from a method with automatic unpacking.

Effectively this presents as a method that returns multiple values. What an awesome invention :)

out1, out2 = some_function(in1, in2)

ObjectScript has an alternative approach with ByRef and Output parameters.

Do ##class(some_class).SomeMethod(.inAndOut1, in2, .out2)

Where:

  • inAndOut1 is ByRef
  • out2 is Output

The leading dot (".") in front of the variable name passes ByRef and for Output.

The

0
0 595
Question Jack Boulton · Mar 16, 2023

Hi all,

I'm trying to use LOAD DATA to insert 11k (11,377) rows of data. LOAD BULK DATA is not available for the version of IRIS I am using.

After calling LOAD DATA it says only 5,500 rows has been inserted. The LOAD DATA docs says any error rows are skipped and a count of skipped rows can be found in %SQL_Diag.Result however there are no results here. There are no errors in the xDBC error log either.

Why have over half the rows been skipped?

3
0 472
InterSystems Official Bob Kuszewski · Apr 14, 2023

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

  • Simplified setup of TLS across the Web Gateway, ECP, Mirroring, Super Server, and IAM
  • The ability to run container sidecars along with compute or data nodes – perfect for scaling web gateways with your compute nodes.
  • Changes to the CPF configmap and IRIS key secret are automatically processed by the IRIS instances when using IKO 3.5 with IRIS 2023.1 and up.
  • The initContainer is now configurable with both the UID/GID and
0
0 407
Question andrey mikov · Apr 14, 2023

Does anyone have any idea why there is such an error during model training? How can I change providers if my application does not have a management portal?

[S1000][400] [SQLCODE: <-400>:<Fatal error occurred>] [Location: <ServerLoop>] [%msg: <ERROR #8104: Gateway Exception: <GATEWAY> java.lang.RuntimeException ai.h2o.automl.AutoML.inferDistribution(AutoML.java:572) Number of domains is equal to 1.>]

2
0 377
Article Benjamin De Boe · Sep 13, 2022 8m read

In the vast and varied SQL database market, InterSystems IRIS stands out as a platform that goes way beyond just SQL, offering a seamless multimodel experience and supporting a rich set of development paradigms. Especially the advanced Object-Relational engine has helped organizations use the best-fit development approach for each facet of their data-intensive workloads, for example ingesting data through Objects and simultaneously querying it through SQL. Persistent Classes correspond to SQL tables, their properties to table columns and business logic is easily accessed using User-Defined Functions or Stored Procedures. In this article, we'll zoom in on a little bit of the magic just below the surface, and discuss how it may affect your development and deployment practices. This is an area of the product where we have plans to evolve and improve, so please don't hesitate to share your views and experiences using the comments section below.

6
0 1213
Article Mihoko Iijima · Apr 13, 2023 6m read

InterSystems FAQ rubric

In this article, we will introduce how to deal with the situation: "I accidentally deleted a global!"

Backup files and journals are used to recover specific globals that have been accidentally deleted. Restoration is performed by specifying conditions and restoring journal records using the ^ZJRNFILT utility. In this way, you can apply a point-in-time backup of the database up to and including deleting a specific global for journal records that contain deletions. For more information on the ^ZJRNFILT utility, please refer to the document below:

Filter Journal Records

2
1 763
InterSystems Official Fabiano Sanches · Apr 13, 2023

InterSystems is pleased to announce that the extended maintenance release of InterSystems IRIS, InterSystems IRIS for Health, and HealthShare Health Connect 2022.1.3 is now available. This release provides a few selected features and bug fixes for the previous 2022.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 both classic

0
0 303
Article Developer Community Admin · Apr 13, 2023 8m read

What is InterSystems IRIS?

InterSystems IRIS is a high-performance data platform designed for developing and deploying mission-critical applications. It is a unified data platform that combines transaction processing, analytics, and machine learning in a single product.

InterSystems IRIS provides a comprehensive set of data management and development tools that enable developers to build, integrate, and deploy applications with ease.

0
2 652
Question Robert Cemper · Mar 17, 2023

There is an example on JSON XDATA.
But it only describes Name mapping.

Is it possible to define somehow also a structural mapping
e..g an Array of Arrays Structure: without property names

[
     [12,33], [88,44]

1
0 590
Question Evgeny Shvarov · Apr 9, 2023

Hi folks!

When I launch IRIS as a docker container instance, e.g. like this one:

docker run --name iris-sql -d --publish 9091:1972 --publish 9092:52773 intersystemsdc/iris-community

And then try to connect to it e.g. via irissqlcli it says I need to change the password:

irissqlcli iris://_SYSTEM:SYS@localhost:9091/USER

Password change required

I know that I can open Management portal http://localhost:9092/csp/sys/UtilHome.csp and change password manually, but is there a programmatic way?

Say if I have a password in a file and I can just provide it to docker instance for the change?

Can anyone

9
0 559
InterSystems Official RB Omo · Apr 10, 2023

InterSystems has corrected a defect that can result in Enterprise Cache Protocol (ECP) client instability under rare conditions.

The defect exists in the following products and any InterSystems offerings based on them.

Impacted versions are 2022.1.x, 2022.2, and 2022.3:

InterSystems IRIS®

InterSystems IRIS for Health

HealthShare® Health Connect

Impacted version is 2022.2 (only for customers deploying ECP):

InterSystems HealthShare®

The issue can only occur on ECP client systems.When this issue is triggered, processes may experience a <SYSTEM> or <DATABASE> error.

0
0 360
Question Dmitry Maslennikov · Apr 10, 2023

Trying to make some scripts to do some IRIS initialization during startup, I noticed that iris start and particularly stop takes too much time, and it starts to many processes in the background.

nostu is mostly useless for system initialization but could help in some scenarios, such as setup passwords, but it is still too slow

irisowner@4ea1bfb50b7f:~$ time iris start iris nostu
Starting IRIS
Using 'iris.cpf' configuration file

Starting Control Process
Global buffer setting requires attention.  Auto-selected 25% of total memory.
Allocated 7417MB shared memory
6002MB global buffers, 600MB routine buffers
Creating a WIJ file to hold 99 megabytes of data
InterSystems IRIS is started in single user mode.
To log into InterSystems IRIS, type:
    iris session IRIS -B

real    0m0.513s
user    0m0.090s
sys     0m0.207s

For instance, I have no idea why it starts so many AUX processes, even during NOSTU. With a normal start with no extra volumes attached, just plain start, I see no reasons to have so many AUX processes as well.

2011 pts/0    S      0:00 /usr/irissys/bin/irisdb -s/usr/irissys/mgr/ -w/usr/irissys/mgr/ -cc -B -Enostu -C/usr/irissys/iris.cpf*IRIS
 2052 pts/0    S      0:00 /usr/irissys/bin/irisdb WD                                                                                 
 2053 pts/0    S      0:00 /usr/irissys/bin/irisdb GC                                                                                 
 2054 pts/0    S      0:00 /usr/irissys/bin/irisdb JD                                                                                 
 2055 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX2                                                                               
 2056 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX1                                                                               
 2057 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX5                                                                               
 2058 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX7                                                                               
 2059 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX4                                                                               
 2060 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX3                                                                               
 2061 pts/0    S      0:00 /usr/irissys/bin/irisdb AUX6                                                                               
 2062 pts/0    S      0:00 /usr/irissys/bin/irisdb DBXD
0
1 648
Question Raj Singh · Mar 1, 2023

My general question is how to convert to a %Library.ListOfObjects to a Python "array-like" structure for use in Matplotlib.

Specifically, I have a Line Object which is comprised of a list of Points (see classes below). I want to pass the line to Python to create a Matplotlib Path.

Bonus points for converting the Point to a Python tuple!

Class geo.model.Point Extends %SerialObject
{
  Property latitude As %Float(MAXVAL = 90.0, MINVAL = -90.0, SCALE = 6);
  Property longitude As %Float(MAXVAL = 180.0, MINVAL = -180.0, SCALE = 6);
}
Class geo.model.Line Extends %SerialObject
{
  Property
13
0 589
Question Norman W. Freeman · Apr 4, 2023

I use the following code to grab 509 certificate and show private key :

set x509 = ##class(%SYS.X509Credentials).GetByAlias("foo")
write x509,!
write x509.OwnerList,!
write x509.PrivateKey,!

It works perfectly fine under Studio (eg: when called from output window) :

29@%SYS.X509Credentials
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKC...

However, it fails when called in the context of a CSP request. I got a stack trace when displaying content of PrivateKey :

6@%SYS.X509Credentials
0??%Admin_Secure:USE MYNAMESPACE?-e^zPrivateKeyGet+2^%SYS.X509Credentials.1^1e^^User.www.1^1B^zOnPage+7^User.www.

5
0 506