#InterSystems IRIS

19 Followers · 5.5K 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 Eduard Lebedyuk · Mar 24, 2017 9m read

In my previous article, we reviewed possible use-cases for macros, so let’s now proceed to a more comprehensive example of macros usability. In this article we will design and build a logging system.

Logging system

Logging system is a useful tool for monitoring the work of an application that saves a lot of time during debugging and monitoring. Our system would consist of two parts:

  • Storage class (for log records)
  • Set of macros that automatically add a new record to the log
6
10 3510
Question Michele De Chiffre · Mar 11, 2021

I'm trying to setup a REST server with CORS support. I have created a class that handles a specific part of the service (printer control). This class I have referenced in my main REST class by adding <Map Prefix="/print" Forward="myClass.PrintAPI" />

My main class does have its own <Route>s and handles CORS requests perfectly. But in my subclass OnHandleCorsRequest() is only run when requesting from same origin and never run when making a CORS request. I have set Parameter HandleCorsRequest = "true" in both my main REST class and the subclass.

Can anyone point me in the right direction on

4
1 611
Question Alexey Maslov · Feb 6, 2021

During some consulting activity, I found at the client's site CACHEAUDIT database of more than 100 GB size. The reason was simple: several processes produced a great amount of %System/%System/OSCommand audit records due to frequent external calls ($zf(-100,...)). As it is well-known, those events can be easily disabled systemwide, while this can be hardly considered secure enough. Reducing the number of days before audit cleanup from default 62 to some reasonable figure (e.g. 15) seems to be a better solution, but...

This case inspired a dream: we have a facility to switch off journaling on t

2
0 387
Article Tomohiro Iwamoto · Mar 15, 2021 13m read

Purpose

Most CloudFormation articles are Linux-based (no wonder), but there seems to be a demand for automation for Windows as well. Based on this original article by Anton, I implemented an example of deploying a mirror cluster to Windows servers using CloudFormation.I also added a simple walk through.
The complete source code can be found here.

Update: 2021 March 1 I added a way to connect to Windows shell by public key authentication via a bastion host as a one-liner.

0
0 705
Question Joey McClammy · Feb 25, 2021

We have multiple NTE segments in the ADT message.  I need to loop through all of the NTE segments looking for "NAVIRADTHPT" in the NTE-4 field.  I have yet to get this to work using the following code.  

HL7.(NTE:4()) Contains "<NAVIRADTHPT>"

Here's how the segments look.

NTE|1||This patient is currently being seen for radiation therapy.|AHRADTHPT||20210223093342
NTE|2||This patient is currently being seen for radiation therapy.|NAVIRADTHPT||20210223113634

I've also tried it this way with no luck.

HL7.(NTE():4) Contains "<NAVIRADTHPT>"

Any help would be greatly appreciated!

2
0 542
Question Daniel Bertozzi · Mar 9, 2021

Hi all

I've been looking into how to convert some images with IRIS and saw some recommendations on the forums around using image magick.

However I can't seem to get this working using ZF100 and on windows server and I'm wondering if I'm missing something really obvious as I've not used IRIS to call third party applications before.

If I run via a Windows CLI on the server, it works fine, e.g:

magick "D:\1221701739_20190716134351965_1_0.jpg" -resize 640x480 "D:\1221701739_20190716134351965_1_TEST.jpg

But I keep getting NOTOPEN when I attempt this in IRIS. I'm admin on my dev box so I thin

8
1 519
Announcement jingqi LIu · Mar 2, 2021

Bulid REST API application built with ObjectScript in InterSystems IRIS. It also has OPEN API spec,  can be developed with Docker and VSCode, can be deployed as ZPM module. can be used as Overbooking System data REST api.

What's Hotel Overbooking Management System?

The overbooking management system combines the unique conditions of the hotel, such as room prices, order channels, customer needs (etc...). System uses machine learning algorithms (such as: KNN/ES-RNN...) to accurately predict the daily no-show and occupancy rate of the hotel, and further combines with the revenue equation to

10
0 452
Question Alex Kogan · Mar 5, 2021

I have a quick question regarding swizzled objects.

I have an original object, say Object a, I am working with.

I set a property a.something.somethingother.somethingelse.myNewProperty  to some value x.

Then at some point I am saving a and continuing to work with it.  I assume here by saving a, I saved myNewProperty as well. (as it should work)

At some point  I would like to make certain that I have correct value in my myNewProperty, so since I happen to know it's ID I 
open it directly:
Set ref=##class(somethingelse).%OpenId(Id)
but when I try to look at my ref.myNewProperty it seem to be dis

5
0 482
Article Yuri Marx · Mar 1, 2021 3m read

I'm participating in the Developing with InterSystems Objects and SQL with Joel Solon. The course is very nice and I will share with you some tips I got during the training. Tips presented in the day 4:

  1. All data are stored in Globals and Global names start with ^. Example of global: ^animal. Global can have multiples locations to the data ("sub data"). Example: ^animal(1).
  2. ^%* globals are accessible from any system-wide (from any namespace).
  3. Globals enables IRIS to support multimodel data (object, relational, document, multidimensional, etc).
  4. To see globals go the Management Portal > Exp
12
2 652
Article Dmitry Maslennikov · Mar 3, 2021 4m read

What do you think If I will say you, that very soon you will be able to connect to IRIS from the application written in Rust.

What is Rust

Rust is a multi-paradigm programming language designed for performance and safety, especially safe concurrency. Rust is syntactically similar to C++, but can guarantee memory safety by using a borrow checker to validate references. Rust achieves memory safety without garbage collection, and reference counting is optional. (c) Wikipedia

Most loved language for the last five years by the time of StackOverflow survey 2020.

What is possible right now.

It

example

5
2 773
Article Robert Cemper · Mar 5, 2021 3m read

Migration from Caché to IRIS can be quite a challenge if your code is grown over many years
and probably not so clean structured as you may like it. So you face the need to check your
migrated code against some reference data. A few samples might not be a problem,
but some hundred GB of data for testing might be.  

A possible step could be to have your fresh code in IRIS but leave your huge datastore on Caché and connect both environments over ECP.  I have created a demo project that gives you the opportunity to try this based on 2 Docker images with IRIS and with Caché connected over ECP.

2
0 928
Discussion Evgeny Shvarov · Mar 4, 2021

Hi Developers!

Thank you for using ZPM Package Manager and contributing more and more useful packages to the public registry!

But as you already aware ZPM packages are always deployed with source code.

Do you think we need to add the option to deploy without source code - e.g. if you want to deploy a commercial package?

Will you develop commercial modules if there will be an option and deploy it with ZPM?

How do you deploy commercial applications today?

10
0 355
Article Yuri Marx · Mar 5, 2021 3m read

Organizations around the world lose an estimated five percent of their annual revenues to fraud, according to a survey of Certified Fraud Examiners (CFEs) who investigated cases between January 2010 and December 2011. Applied to the estimated 2011 Gross World Product, this figure translates to a potential total fraud loss of more than $3.5 trillion (source: https://www.acfe.com/press-release.aspx?id=4294973129).

The most efficient way to reduce frauds is to collect and unify the transactions, assets and target data to identify patterns, produce anti fraud reports and algorithms to validate th

2
2 668
Article Mihoko Iijima · Mar 5, 2021 3m read

This article is a continuation of this post.

The purpose of this article is to explain how the Interoperability menu works for system integration.

The left side of the figure is the window for accepting information sent from external systems.

There are various ways to receive information, such as monitoring the specified directory at regular intervals to read files, periodically querying the database, waiting for input, or directly calling and having it passed from applications in other systems.

In the system integration mechanism created in the IRIS Interoperability menu, the received infor

image

1
0 1219
Article Mihoko Iijima · Mar 5, 2021 6m read

This article is a continuation of this post.

In the previous article, how the Interoperability menu works for system integration was explained.

In this article, I would like to explain how to develop a system integration using the Interoperability menu.

To begin with, what kind of process do you want to create? While thinking about this, make the following content.

  • Production
  • Message
  • Components
    • Business Services
    • Business Processes
    • Business Operations

Production is a definition used to specify the components required for system integration and to store the component settings, which are con



0
0 783
Article Mihoko Iijima · Mar 5, 2021 4m read

This article is a follow-up to this post.

In the previous article, [What is a Production?], we checked the production contents. We ran the sample code and checked the flowing messages' contents into the production on the Visual Trace page.

This article will review the concept and the definition of the messages used to send and receive data between components from the required development content for system integration.

Before creating a message, let's review the case study.

A company





0
0 674