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

Announcement Mario Sanchez Macias · Oct 9, 2019

Hi, 

If you like to play and test with mirroring, now you can do it very easily with dockers and these simple mirror scripts.

  • The docker-compose.yml will create 2 containers with the preferred version. 
  • The installer.sh script will start the ISCAgent, load the Installer.cls class into Iris and call it. 
  • The interesting part is inside the Installer.cls class, you will find some methods to create a mirror,  join and create databases in mirror.  The scripts are quite simple and you can borrow them to create your own mirrors.

Note that this script is just valid for 2019.3 and newer, if you

4
1 788
Article Eduard Lebedyuk · Oct 10, 2019 7m read

This series of articles would cover Python Gateway for InterSystems Data Platforms. Execute Python code and more from InterSystems IRIS. This project brings you the power of Python right into your InterSystems IRIS environment:

  • Execute arbitrary Python code
  • Seamlessly transfer data from InterSystems IRIS into Python
  • Build intelligent Interoperability business processes with Python Interoperability Adapter
  • Save, examine, modify and restore Python context from InterSystems IRIS

Other articles

The plan for the series so far (subject to change).

0
1 747
Question Aaron Vail · Oct 9, 2019

I'm trying to convert a CSV inbound to an HL7 MFN^M16 outbound.  I know I'm using book information as the CSV but I don't think that matters.  Please let me know if that's incorrect. 

My service is reading the file in just fine and when I don't have a DLT transformer the raw message passes through to outbound file folder just fine.  However, when I include a basic DLT that simply copies a couple of fields over I get the "Ens.StreamContainer" error.  Everything also seems to be good in the Record Mapper.

I've been working through the documentation but I don't see anything that helps with this

4
0 4287
Article Ben Spead · Sep 30, 2019 2m read

Every developer has made the mistake of accidentally leaving temporary debug code in place when they meant to remove it after debugging is complete.  The great thing about writing in ObjectScript is that there is a way to make temporary code be truly temporary and automatically self-destruct!   This can also be done in such a way that the code has no change of making it into your source control stream, which can be helpful as well.

The secret to this lies in making use of the "Intermediate code" (.INT) which is generated when you compile classes (.CLS), routine code (.MAC) or CSP pages (.CSP).

1
0 494
Question Aaron Vail · Oct 8, 2019

I'm trying to read in a CSV file and map to MFN^M16.  The first problem I'm having is getting the Service to read the file without causing errors (see below).  I'm using EnsLib.File.PassthroughServicebecause (as I understand it) it allows for anything.

ERROR <Ens>ErrBPTerminated: Terminating BP CSVtoHL7M16 # due to error:

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

1
0 564
Article Rubens Silva · Oct 8, 2019 2m read

Hello again and welcome to the next tutorial on this series: Part 5 - Errors. Here we are going to learn how Frontier handles unexpected errors and how we can force them.

  1. Core concepts
  • Getting started
  • Creating a simple request
  • Query parameters
  • Aliasing query parameters
  • Changing output format
  • Rest query parameters
  • Inferring object instances
  • Using literal notation
  • Seamlessly mixing instances with literals
  • Returning streams
  1. Handling payloads
  • ​​How it works
  • Making it useful
  • Unmarshalling payloads into instances
  • Using the unmarshaller to EDIT an existing object
  1. Using the SQL API
  • ​​Creating
0
0 410
Article Erik Hemdal · Jul 22, 2019 3m read

One of my colleagues at InterSystems encountered an unexpected issue when running InterSystems IRIS on a Macintosh in a container using Docker for Mac.  I’d like to share what we found, so you might avoid running into similar issues.

The Problem

The task at hand was running a Java application with XEP to do a large data load into IRIS.  When running the data load, the write daemon hung soon after starting the job, with messages like these in messages.log:

05/21/19-14:57:50:625 (757) 2 Process terminated abnormally (pid 973, jobid 0x00050016) (was a global updater)

05/21/19-14:58:52:990 (743) 2

2
0 1101
Announcement Anastasia Dyubaylo · Oct 3, 2019

Hi Community!

We are pleased to invite you to the upcoming webinar in Spanish "Desarrollar y gestionar APIs con InterSystems IRIS Data Platform" / "Developing and managing APIs with InterSystems IRIS Data Platform" on October 15 at 16:00 CET!

Are you a backend developer? Or a Systems integration specialist? If so… this webinar is for you!

0
0 256
Article Gevorg Arutiunian · Apr 27, 2019 2m read

Here is an ObjectScript snippet which lets to create database, namespace and a web application for InterSystems IRIS:

	set currentNS = $namespace
	
	zn "%SYS"
	
	write "Create DB ...",!
	set dbName="testDB"
 	set dbProperties("Directory") = "/InterSystems/IRIS/mgr/testDB"
 	set status=##Class(Config.Databases).Create(dbName,.dbProperties)
	write:'status $system.Status.DisplayError(status)
	write "DB """_dbName_""" was created!",!!
	
	
	write "Create namespace ...",!
	set nsName="testNS"
	//DB for globals
	set nsProperties("Globals") = dbName
	//DB for routines
	set nsProperties("Routines") = dbName
	set status=##Class(Config.Namespaces).Create(nsName,.nsProperties)
	write:'status $system.Status.DisplayError(status)
	write "Namespace """_nsName_""" was created!",!!
	
	
	write "Create web application ...",!
	set webName = "/csp/testApplication"
	set webProperties("NameSpace") = nsName
	set webProperties("Enabled") = $$$YES
	set webProperties("IsNameSpaceDefault") = $$$YES
	set webProperties("CSPZENEnabled") = $$$YES
	set webProperties("DeepSeeEnabled") = $$$YES
	set webProperties("AutheEnabled") = $$$AutheCache
	set status = ##class(Security.Applications).Create(webName, .webProperties)
	write:'status $system.Status.DisplayError(status)
	write "Web application """webName""" was created!",!
	
	zn currentNS
3
6 1859
Question Eduard Lebedyuk · Oct 1, 2019

I need to know the current rss memory consumption. On earlier Cache versions I used this method:

set sc = ##class(%Net.Remote.Utility).RunCommandViaZF("smem -u cacheusr | grep cacheusr | awk '{print $6}'",,.rss)

It doesn't work because we use $zf(-100) on IRIS 2019.1.

New version:

ClassMethod Test()
{
set cmd = "smem"
set args = 8
set args(1)="-u"
set args(2)="irisusr"
set args(3)="|"
set args(4)="grep"
set args(5)="irisusr"
set args(6)="|"
set args(7)="awk"
set args(8)="'{print $6}'"
set sc = ##class(%Net.Remote.Utility).RunCommandViaZF(cmd,,.rss,,,.code,.args)
//set sc = $zf(-100,
2
0 452
Article Murray Oldfield · Mar 25, 2016 14m read

This week I am going to look at CPU, one of the primary hardware food groups :) A customer asked me to advise on the following scenario; Their production servers are approaching end of life and its time for a hardware refresh. They are also thinking of consolidating servers by virtualising and want to right-size capacity either bare-metal or virtualized. Today we will look at CPU, in later posts I will explain the approach for right-sizing other key food groups - memory and IO.

So the questions are:

  • How do you translate application requirements on a processor from more than five years ago to
10
2 5360
Article Evgeny Shvarov · Sep 29, 2019 2m read

Hi Developers!

When you prepare your modules for ZPM (InterSystems Package Manager) it expects the certain directory structure for ObjectScript source files.

ObjectScript in your source folder need to be stored by types in the following subfolders. E.g. if you have the source folder named as /src the structure should be as follows:

/src

        /cls - for classes

         /inc - for include files

         /mac - for mac files

         /int - for interpretable files

         /gbl - for globals

And the ObjectScript should be in CLS (a.k.a UDL) and not in XML.

Example.

Ok!

0
1 859
Announcement Evgeny Shvarov · Sep 27, 2019

Hi Developers!

Just want to share the information with you that we support TechCrunch Disrupt Hackathon 2019 this year!

It will take place from 2-4 of October in San Francisco, CA.

We introduced InterSystems special prizes for participants which solutions will use InterSystems IRIS $4,000 and InterSystems IRIS for Health 4,000.

Learn more here.

If you happen to participate we wish you luck and hope you'll leverage InterSystems IRIS data platform functionality to win Disrupt Hackathon 2019!

0
0 330
Announcement Anastasia Dyubaylo · Sep 6, 2019

Hey Developers!

Please join the upcoming InterSystems Developers Meetup in Boston which will be held on September 25th, 2019! 

It will take place in Boston Marriott Copley Place from 5:30 p.m. to 9 p.m.

We meet to discuss solutions development on InterSystems IRIS. Come to tell your stories and share experience with InterSystems data platforms, for networking and developer conversations. Drinks and snacks will be provided.

The format is usual: 15 min for a session, 5 min for Q&A. 

8
0 605
Announcement Amir Samary · Sep 23, 2019

Hi everyone,

I am pleased to announce that the Evaluation Service is now LIVE!

If you are an InterSystems End User or an InterSystems Partner and you want to try the latest version of IRIS with all its enterprise features (mirroring, ECP and sharding), and you want it NOW, this is for you.

The Evaluation Service allows you to get your hands on an IRIS kit and a very powerful IRIS license for evaluation purposes in less than 1 minute. No paperwork. No need to talk to anyone. Fully self-service.

This service is only for IRIS and IRIS for Health and it is very easy to use.

4
4 2020
Question Cristiano Silva · Sep 18, 2019

Hi folks,

I started to play with docker and InterSystems products, it's amazing, but I got the error when try to load the IAM-0.34-1-1.tar.gz image to docker:


[root@CONF-RHEL-DOCKER-IRIS-API admconf]# docker load -i IAM-0.34-1-1.tar.gz
open /var/lib/docker/tmp/docker-import-547148651/IAM/json: no such file or directory

Bellow docker and docker-compose version:

[root@CONF-RHEL-DOCKER-IRIS-API admconf]# docker --version
Docker version 19.03.2, build 6a30dfc

[root@CONF-RHEL-DOCKER-IRIS-API admconf]# docker-compose --version
docker-compose version 1.18.0, build 8dd22a9

OS version (Azure VM)

[root@CONF-RHEL-

4
0 391
InterSystems Official Pete Greskoff · Sep 19, 2019

InterSystems has corrected a defect in applications that use Unicode character 223 (ß). This defect can result in incomplete query results, class compilation errors, and removal of custom SQL privileges.

This problem occurs on systems that are running or have previously run on:

  • Caché and Ensemble 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect (HSAP) 15.032 on Core versions 2018.1.0, 2018.1.1, and 2018.1.2
  • HealthShare Health Connect 2019.1
  • InterSystems IRIS data platform – all currently released versions
  • InterSystems IRIS for Health – all currently released versions

The defect is triggered by data and component names containing Unicode character 223 (ß). In the versions listed above, an uppercase conversion incorrectly maps that character to Unicode character 7838 (ẞ).  Applications perform this uppercase conversion using features such as $ZCONVERT and %SQLUPPER.

Problems can occur when accessing data or classes created or modified on a product with a different uppercase conversion than the one currently in use.

0
0 292
Article Evgeny Shvarov · Jul 13, 2019 2m read

Hi guys!

Was coding today with InterSystems IRIS in a docker container and decided to share with you the commands you may find useful in everyday coding.

# docker-compose build

command to build a container. Remember, it is useful if you have dockerfile in the repo.

if the build is successful call the following to launch it:

# docker-compose up -d

Find IRIS management portal on:

localhost:port/csp/sys/%25CSP.Portal.Home.zen?$NAMESPACE=%25SYS

where the port is what you set in docker-compose.yml - 52775 in this case.

Run the following if you want to launch a terminal session inside IRIS container:

# docker-compose iris iris session iris

gfhj gj 


sdfdsfsdf





USER>

And run the following to shut down the container:

# docker-compose down

Troubleshooting

4
4 733
Announcement Luca Ravazzolo · Sep 17, 2019

Hi Everyone,

Are you ready yet? Have you packed all you'll need for the summit? And don't forget the needed power-socket adapters if you come from outside the US! 

Have you signed up for the Container Bootcamp on Sunday? Or one of the various Experience Labs, the many informative sessions and one of the symposia on Wednesday afternoon?

Again, there is a mobile app for attendees that should help you keep it all under control and even allow you to book time with InterSystems personnel for a one-on-one deep-dive on whatever you need.

I just wanted to highlight some of the Containers, Kubernetes &

1
0 390
Article Evgeny Shvarov · Sep 6, 2019 2m read

Hi Developers!

InterSystems Package Manager (ZPM) is a great thing, but it is even better if you don't need to install it but can use immediately.

There are several ways how to do this and here is one approach of having IRIS container with ZPM built with dockerfile.

I've prepared a repository which has a few lines in dockerfile which perform the download and install the latest version of ZPM. 

Add these lines to your standard dockerfile for IRIS community edition and you will have ZPM installed and ready to use.

To download the latest ZPM client:

1
1 1058