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

Article Peter Steiwer · Feb 25, 2020 1m read

Preview Mode was added to InterSystems IRIS Business Intelligence to give designers a quick view of what their resulting Pivot Table will look like without needing to wait for the results to fully execute. This can be beneficial when designing pivot tables because if you are dragging and dropping elements to see how they look/work in your pivot table and seeing if they have the desired data. Since you are exploring and designing, you don't necessarily care about the results at the moment, but you would still like to see how your table looks with the changes you have made.

0
0 438
Question Akshat Vora · Feb 22, 2020

I need to convert an array with an unknown number of indices to a JSON string for transmission (which is why it isn't possible to iterate through it using $ORDER). Does ObjectScript provide functionality to convert an array to a JSON string?

Edit 1: As Joel mentioned, the array is subscripted and has an arbitrary structure like:

a(1)="a"
a(3,4)="b"
a(3,6)="c"
a(5,6,7)="d"

which needs to be converted to

{"1":"a", "3":{"4":"b","6":"c"}, "5":{"6":{"7":"d"}}}

I had considered using a combination of $Query (to traverse the array) and $Order (to retrieve property names) but was wondering if a

6
0 1895
Question Mikael Toivonen · Feb 23, 2020

In a HTTP operation, which extends Ens.BusinessOperation, EnsLib.REST.Operation, one can read the component's AlertGroups property by simply referring to it with "..":

set AlertGroup =  ..AlertGroups//Do something with AlertGroup

 

"AlertGroups" is a property of Ens.Host. The above however  does not work in a business process which Extends Ens.BusinessProcessBPL which extends Ens.BusinessProcess which extends Ens.Host. Can this property be read from inside the business process and what would the syntax be? 

As the end result I would like to include the component's AlertGroups property's value

2
0 315
Announcement Andreas Dieckow · Jun 28, 2019

Conversion Sequence step 4 (see table below)

Over the last few months, we have made changes to InterSystems IRIS to make it easier for you to move from Caché/Ensemble (C/E) to InterSystems IRIS.The most significant adjustments are the re-introduction of non-Unicode databases and the in-place conversion.InterSystems IRIS now fully supports non-Unicode databases with all the functionally that already exists with Caché.The in-place conversion supports an upgradelike process to install InterSystems IRIS right on top of your existing C/E deployments.

10
1 1331
Announcement Derek Robinson · Feb 21, 2020

I wanted to share each of the first three episodes of our new Data Points podcast with the community here — we previously posted announcements for episodes on IntegratedML and Kubernetes — so here is our episode on InterSystems IRIS as a whole! It was great talking with @Jenny Ames about what sets IRIS apart, some of the best use cases she's seen in her years as a trainer in the field and then as an online content developer, and more. Check it out, and make sure to subscribe at the link above — Episode 4 will be released next week!

0
0 257
Article Evgeny Shvarov · Feb 21, 2020 1m read

Hi Developers!

Another way to start using InterSystems ObjectScript Package Manager is to use prebuilt container images of InterSystems IRIS Community Edition and InterSystems IRIS for Health Community Edition.

We deploy this IRIS images on DockerHub and you can run it with the following command:

docker run --rm -p 52773:52773 --init --name my-iris -d intersystemsdc/iris-community:2019.4.0.383.0-zpm

Launch a terminal with:

docker exec -it my-iris iris session IRIS

And install zpm-module as:

USER>zpm 

zpm: USER>install objectscript-math

[objectscript-math] Reload START

[objectscript-math] Reload SUCCESS

[objectscript-math] Module object refreshed.

[objectscript-math] Validate START

[objectscript-math] Validate SUCCESS

[objectscript-math] Compile START

[objectscript-math] Compile SUCCESS

[objectscript-math] Activate START

[objectscript-math] Configure START

[objectscript-math] Configure SUCCESS

[objectscript-math] Activate SUCCESS

zpm: USER>

And use same commands for InterSystems IRIS for Health using the tag: intersystemsdc/irishealth-community:2019.4.0.383.0-zpm

The images are being published on IRIS Community Edition and IRIS Community Edition for Health repositories of Docker Hub.

We will update tags with every new release of IRIS and ZPM.

Happy coding!

0
1 429
Article Mathew Lambert · Feb 21, 2020 1m read

I was searching for the most simple way to connect from visual studio code to my local instance via terminal without having to change any window.

I know this can also be achieved via telnet but seems a bit overhead if you're in your local machine.

For me the simplest sollution is to open a terminal window in VS Code, navigate to the /bin folder of your instance installation and run .\csession.exe INSTANCENAME

For simplicity you can just include your /bin folder in your path so you don't even need to navigate there

In fact if you've added some remote instances as remote conexions on your instance,

1
1 1369
Question David.Satorres6134 · Feb 20, 2020

Hi,

I'm trying to get the ECP status of 2 servers using $system.ECP.GetProperty("ServerStats") and $system.ECP.GetProperty("ClientStats"), but I'm not able to find the documentation of the values returned:

For example, on the server side I execute this:

USER>w $system.ECP.GetProperty("ServerStats")
14973692,14965389,15903851,2482140,12941,306696,0,0,613392,0,9767,7,10,0,2,0,896,0,180883896,1943934512,0,2444,0,0,12215838,8204,43,0,40,40,0,0,0,8585,82238,1,4,19825,4387,3926,3059,4813,3368,5456,37412,8204,12215838,2,8760,2,87963,0,3,2290946,180615,28945,0,18366,0,499250,128761,137048,1592639,0,306514

3
0 445
Article Anton Umnikov · Feb 11, 2020 19m read

InterSystems IRIS Deployment Guide for AWS using CloudFormation template 

Please note: following this guide, especially the prerequisites section requires Intermediate to Advanced level of knowledge of AWS. You'll need to create and manage S3 buckets, IAM roles for EC2 instances, VPCs and Subnets. You'll also need access to InterSystems binaries (usually downloaded via WRC site) as well as IRIS license key.
 

Aug 12, 2020
Anton Umnikov

Templates Source code is available here: https://github.com/antonum/AWSIRISDeployment

Table of Contents

InterSystems IRIS Deployment Guide – AWS Partner Network. 1

I

1
1 1843
Question Héctor Mancilla · Feb 6, 2020

Hi, I try to do a JS script into a csp page for a Workflow

The problem is that in Ensemble i don't had troubles but in Iris don't recognize even the console.log inside the script

I attach the code

   <form>
<table class="workflowtable">
<CSP:IF CONDITION='%task.%FormValues.IsDefined("montoDeposito")'>
<tr>
<td>
Monto Depositado:
</td>
</tr>
<tr>
<td>
<input type="text" 
name="montoDeposito"
value="#(%task.%FormValues.GetAt("montoDeposito"))#">
</td>
</tr>
</CSP:IF>
<CSP:IF CONDITION='%task.%FormValues.IsDefined("numFolio")'>
<tr>
<td>
Numero de Folio:
</td>
</tr>
<tr>
<td>
<input  type="text"
name="numFolio"
id="numFo

2
0 500
Question Evgeny Shvarov · Dec 26, 2019

Hi Developers!

I stuck with one interesting problem. 

For example, let's use this template repo. If you build this container A using docker-compose and then run the container it exposes REST-API  which is available on:

localhost:52773/person/all

The question is how to make this REST-API accessible from another docker container B running on the same machine? E.g. with IRIS 2019.4 Community from this repo?

The problem is that for the second container localhost it's something which belongs to container B.

I think I need to set up a network between containers somehow. E.g. using docker-compose. But is there any simpler way?

2
0 380
Announcement Neerav Verma · Feb 13, 2020

Class Queries in InterSystems IRIS (and Cache, Ensemble, HealthShare) is a useful tool that separates SQL queries from Object Script code. Basically, it works like this: suppose that you want to use the same SQL query with different arguments in several different places.In this case you can avoid code duplication by declaring the query body as a class query and then calling this query by name. 

They are declared as Query items in class definitions (similar to Method or Property) in the following way:

  • Type: %SQLQuery
  • All arguments of your SQL query must be listed in the list of arguments
  • Quer
6
0 785
Announcement Derek Robinson · Feb 18, 2020

Some of you on the Developer Community have probably interacted with @Luca Ravazzolo if you are interested in cloud and container topics... If so, you'll enjoy Episode 2 of our new podcast — we chatted with Luca about Kubernetes and the InterSystems Kubernetes Operator. He does a great job of explaining the technology and its benefits here!

0
0 247
Article Nikolay Solovyev · Feb 17, 2020 5m read

Dasha.AI is a platform that allows you to create and manage voice interfaces for your applications. One of Dasha’s distinctive features is that most users believe they are talking to a human, not a robot.

Voice is the most natural way for people to interact. Dasha allows to use voice interface to interact with your application as naturally as communication between people.   

The voice interface cannot completely replace the traditional user interface of the application, but some tasks could be perfectly solved with the help of the speech interface.

First of all, these tasks include well

0
3 377
Announcement Derek Robinson · Feb 14, 2020

You may have seen earlier this week that we launched a brand-new learning podcast called Data PointsThere are three episodes released, one of which was a really interesting discussion with Thomas Dyar — a product specialist here at InterSystems focused on machine learning. Take a listen and reach out if you're interested in exploring more about IntegratedML!

0
0 403
InterSystems Official Jeff Fried · Jan 27, 2020

Preview releases are now available for the 2020.1 version of InterSystems IRIS and IRIS for Health!

 Kits and Container images are available via the WRC's preview download site.

The build number for these releases is 2020.1.0.199.0.  (Note: first release was build 197, updated to 199 on 2/12/20)

 

 InterSystems IRIS Data Platform 2020.1  has many new capabilities including: 

  • Kernel Performance enhancements, including reduced contention for blocks and cache lines
  • Universal Query Cache - every query (including embedded & class ones) now gets saved as a cached query
  • Universal Shard Queue Manager
16
0 1540
Question Yone Moreno · Feb 11, 2020

Hello,

We would like some help:

We have found that in the following code:

Class Operaciones.SOAP.Gasometros.GestionPacientes.SeleneHL7Service Extends Ens.BusinessOperation [ ProcedureBlock ]
{

Method operacion(pRequest As Mensajes.Request.GestionPacientes.operacionRequest, Output pResponse As Mensajes.Response.GestionPacientes.operacionResponse) As %Library.Status
{
 Set ..Adapter.WebServiceClientClass = "WSCLIENTE.GestionPacientes.ConsultaCandidatos"
 Set MSH=pRequest.MSH,SFT=pRequest.SFT,QPD=pRequest.QPD,DSC=pRequest.DSC
 Set tSC =
6
0 382
Question Mathew Lambert · Feb 12, 2020

I've recently encountered a HS Caché that won't start informing that Collation 30 is not available, but I have not found an easy way of knowing what collation is 30.

I've found that the following command returns the ones from the current locale, but not from all locales:

Set Rset = ##class(%ResultSet).%New("%Library.Collate:CollationList")

d Rset.Execute()

While (Rset.Next()) {zw Rset.Number_": "_Rset.Name}

Thank you

2
1 465
Discussion Jeffrey Drumm · Feb 7, 2020

I'm not sure what the purpose of this is, but the Management Console causes the browser to refresh periodically. If you're in a form or an editor such as the DTL or Routing Rule editors, you may lose work unless you save frequently. This did not occur in Caché 2018 and earlier releases.

I've had a couple of incidents where I've created a number of rules in the DTL editor, answered the phone or stepped away for a few minutes, then come back to find any work since the last save erased.

I've noticed this in both 2019 and 2020 releases of IRIS.

Heads up!

4
1 598
InterSystems Official Pete Greskoff · Feb 11, 2020

InterSystems has corrected a defect that can result in skipping a transaction rollback. This can only occur after activation or addition of a mirrored database on a primary mirror member.

This problem exists for:

  • Caché and Ensemble 2018.1.3
  • InterSystems IRIS data platform 2019.1.1, 2019.3, and 2019.4
  • InterSystems IRIS for Health 2019.1.1, 2019.3, and 2019.4
  • HealthShare Health Connect 2019.1.1

The conditions necessary for this defect to be triggered are quite specific. All of the following must apply:

  • A database has been newly activated or added to a mirror on a primary mirror member.
  • The
0
0 283
Question Stefan Rieger · Feb 2, 2020

will InterSystems fix the Transaction-Handling for  the  .Net Connection Provider?

Nor the  Property IsTransactionAcvtive nor TransactionLevel is set on the  Connection  when using BeginTransaction.

Latest PreView will give me   problem as InterSystems removed removed the TStart() Option to create the Transaction that way which gave back a TransactionObject whith working versions...

2
1 404
Discussion Adel Elsayed · Feb 8, 2020

I'm looking into finding ways to  fetch data from cache efficiently and work with it with python - specially pandas.

i tried the following but i'm wondering if this is the most efficient way?

to run the stored procedure as %ResultSet inside cache in a classmethod and serialize the data to JSON

and then call that class method from python

Class User.RegObj Extends %RegisteredObject{ClassMethod runAlpha() As %Library.DynamicAbstractObject{set QHi=##class(%DynamicAbstractObject).%FromJSON("{}")set rs=##class(%ResultSet).%New("User.Person:alpha")set pr=rs.Execute("","")set idx=0while rs.
5
0 725