#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 Anastasia Dyubaylo · May 13, 2020

Hi Community!

We are glad to invite all the developers to the upcoming  InterSystems IRIS Native API Contest Kick-Off Webinar! The topic of this webinar is dedicated to the 3rd IRIS Programming Contest.

Date & Time: Monday, May 18 — 9:00 AM EDT

Speakers:  
@Bob Kuszewski, InterSystems Product Manager
@Evgeny Shvarov, InterSystems Developer Ecosystem Manager

  

What awaits you? Please check the agenda below:

1
0 383
Article Murray Oldfield · Apr 1, 2016 2m read

Previously I showed you how to run pButtons to start collecting performance metrics that we are looking at in this series of posts.


##Update: May 2020.

Since this post was written several years ago, we have moved from Caché to IRIS. See the comments for an updated link to the documentation for pButtons (Caché) and SystemPerformance (IRIS). Also, a note on how to update your systems to the latest versions of the performance tools.


pButtons is compatible with Caché version 5 and later and

2
0 1735
Article Evgeny Shvarov · Nov 21, 2019 7m read

Hi Developers!

As discussed in previous parts of Package Manager stories to turn your IRIS application into a deployable package you just need to introduce the module.xml file into the root folder of the repository and describe all the resources.

I’m pleased to introduce you to a new project template on Open Exchange which contains examples of how to make different types of resources of your InterSystems IRIS application a part of the ObjectScript package and so make the deployable ObjectSctipt package.

Let's see how you can describe your application resources using this template project as an example.

See the details below.

2
7 671
Announcement Rob Tweed · May 15, 2020

I've created a new repository that I will use for providing examples of various scenarios and use cases for QEWD

https://github.com/robtweed/qewd-microservices-examples

Initially it contains a example of a scenario I'm often asked about: a set of REST APIs, with JWT support, implemented as a set of QEWD MicroServices, each of which uses Cache or IRIS running on a Windows system.

What I've provided is a detailed, step-by-step guide (with detailed explanations) of how to set up such a system.

The example shows a use case of REST APIs to:

- authenticate / login

- thereafter use a set of CRUD APIs to

0
1 502
Article Robert Cemper · May 14, 2020 1m read

Allow limited durability for demo and development IRIS-Docker-micro-Durability During development of a container based demo I found the need to access a fresh docker
an instance of IRIS image (e.g intersystems/iris-community:2020.2.0.199.0) over and over.
To bypass loading my code repeatedly, I developed this workaround.

Docker support

The principle of a persistent IRIS database outside the container is unchanged.
But now the whole setup is moved into Dockerfile and docker-compose.yml

Prerequisites

Make sure you have git and Docker desktop installed.

Installation

Clone/git pull the repo into any local

0
1 377
Article Robert Cemper · May 14, 2020 3m read

Using the IRIS native API for Node.JS was the opportunity to present
a MicroService operating in a Docker container.
A demo video is now also available to watch the demo in operation.

Instead of a utility you call directly on your IRIS host you now send a work-packages
to the MicroService as would typically do with System Interoperability (aka.ENSEMBLE):
of course, you have the option of more than one WebSocket Server.
Once the WebSocket Client Service has done its job you get back the result from it.

The advantage over the built-in WebSocket Client is, that all Network, Security,
Firewall issues are

0
1 1246
Announcement Derek Robinson · May 14, 2020

As promised, here is Part 2 of our interview with Russ Leftwich! In this half, Adam Coppola talks with Russ about some of the InterSystems technologies that play a part in the concepts from Part 1, as well as some specific discussions about modern FHIR applications. After the interview with Russ, we were also joined by Jenny Ames to talk about the upcoming FHIR Dev Days. Check it out, and make sure to go subscribe to Data Points!

0
0 253
Announcement Anastasia Dyubaylo · May 4, 2020

Hi Community!

We're pleased to invite you to the Online Meetup with the Winners of the 2nd IRIS Programming Contest! It's a virtual Meetup with some of the winners of the past InterSystems IRIS Online Programming Contest

Date & Time: Friday, May 8, 2020 – 11:00 EDT

What awaits you at this virtual Meetup? 

  • Our winners' bios.
  • Short demos on their applications.
  • A short interview with all the winners about the past contest. Plans for the next contests.

 

5
0 416
Article Sergey Kamenev · May 11, 2020 8m read

Introduction

In the first article in this series, we’ll take a look at the entity–attribute–value (EAV) model in relational databases to see how it’s used and what it’s good for. Then we'll compare the EAV model concepts to globals.

Sometimes you have objects with an unknown number of fields, or perhaps hierarchically nested fields, for which, as a rule, you need to search.

Take, for example, an online store with diverse groups of products.Each product group has its own unique set of properties and has common properties as well.

0
4 4433
Question Nagarjuna Reddy Kurmayyagari · May 6, 2020

After I loaded the intersystems/iam:0.34-1-1 image in local, I am trying to do the next step of configuration.

2) Configure your InterSystems IRIS instance

  2a) Enable the /api/IAM web application
  2b) Enable the IAM user
  2c) Change the password for the IAM user

Do we need to change these settings in iris.cpf file? any inputs where we have to configure? I have IRIS 2019.1.1 installed in my machine.

Thanks,

Nag.

2
0 315
Question Michael Gosselin · Apr 30, 2020

Hi again!

I logged into the demo IRIS again, and for some reason, today, I had an "Classpath is incomplete" warning message. The classpath is defined under quickstarts-multimodel-java.  Here is the contents of the file :

<?xml version="1.0" encoding="UTF-8"?>

<classpath>

    <classpathentry kind="src" path="src"/>

    <classpathentry kind="lib" path="lib/intersystems-jdbc-3.0.0.jar"/>

    <classpathentry kind="lib" path="lib/intersystems-xep-3.0.0.jar"/>

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>

3
0 236
Article Allyson Gerace · Feb 6, 2019 8m read

See Part 1 here.

Part 2: Index Handling

Now you have a good idea of what kind of indices you need for your class and how to define them. Next, how do you handle them?

Query Plan

(REMEMBER: Like any modifications to a class, adding indices in a live system has its risks – if users are accessing or updating data while an index is populated, they may encounter empty or incorrect query results, or even corrupt the indices that are being built.

1
0 1922
Announcement Ken Earl · May 5, 2020

I have just started to experiment with Using IRIS in Docker.

My first objective was to be able to enable global persistence within a Docker container. Using the following command I have managed to achieve this:

docker run --detach --publish 52773:52773 --volume /data/dur:/dur --env ISC_DATA_DIRECTORY=/dur/iconfig --name iris21 store/intersystems/iris-community:2020.1.0.199.0

Within this container, I have created a simple global:

for i=1:1:10 set ^tmp(i)=""

I then stopped and removed the container. On reloading and restarting the container the global has persisted.

However, I have just discovered

7
0 442
Announcement Guillaume Rongier · May 5, 2020

objectscript-json-patch

alt text

An implementation of JSON-Patch in ObjectScript.

Why you should use JSON-Patch

JSON-Patch (RFC6902) is a standard format that allows you to update a JSON document by sending the changes rather than the whole document. JSON Patch plays well with the HTTP PATCH verb (method) and REST style programming.

Install

With zpm :

USER>zpm
zpm:USER>install objectscript-json-patch

How-To use it

Use it with this call :

Do ##class(Grongier.JSON.Utils).Patch(tDoc,tPatch)

Where :

  • tDoc is a %DynamicObject (JSON)
  • tPatch is a %DynamicArray of the patches (the JSON Patch).

The result will be tDoc p

2
1 487
Announcement Evgeny Shvarov · Mar 27, 2020

Hi Developers!

We are going to establish a series of InterSystems IRIS Online Programming contests this year.

In March we started with ObjectScript CLI and here is the schedule of topics for the next few months:

  • April - InterSystems IRIS with REST API
  • May - InterSystems IRIS Native API application: use Python, JS, .NET, Java native APIs in your application to use IRIS
  • June-July - InterSystems IRIS AI/ML solutions. IntegratedML as a bonus
  • August - InterSystems IRIS for Health FHIR application
  • September - InterSystems IRIS Full-stack application: IRIS as a server and UI on any framework and any form: and web, desktop, mobile UI
  • October - Interoperability solutions for InterSystems IRIS and InterSystems IRIS for Health
  • November - Analytics Solution using InterSystems IRIS
  • December - Multi-model solution using InterSystems IRIS

All applications should be runnable with InterSystems IRIS in a docker container.

11
1 1001
Question Nagarjuna Reddy Kurmayyagari · May 5, 2020

I am trying to install IAM in my local and I downloaded IAM-0.34-1-1.tar.gz and extracted. I went to the location where iam_image.tar is available and run below command in the command prompt. 

C:\ESB\HC\IAM-0.34-1-1.tar\IAM-0.34-1-1\IAM>docker load -i iam_image.tar
unsupported os linux

Getting unsupported os Linux issue. Kindly let me know if anyone had this issue. Thanks!

5
0 445
Article Zhong Li · May 1, 2020 10m read

Keywords: Deep Learning, Grad-CAM, X-Ray, Covid-19, HealthShare, IRIS

Purpose

Over the Easter Weekend I touched on some deep learning classifier for Covid-19 Lungs.  The demo result seems fine, seemingly matching some academic research publications around that time on this topic. But is it really "fine "? 

Recently I happened to listen to an online lunch webinar on "Explainability  in Machine Learning", and Don talked about this classification result at the end of his talk:

The above figure is also presented in this research paper: “Why Should I Trust You?” Explaining the Predictions of Any

1
2 1607
Announcement Evgeny Shvarov · May 3, 2020

Hi Developers!

This is the digest of new solutions and applications submitted to InterSystems OpenExchange in April 2020!

19 New applications in April 2020

FHIR Server and API Manager for MIT COVID-19 Challenge by Steven LeBlanc

This demo shows how InterSystems API Manager (IAM) can be used to view and test FHIR resources with InterSystems IRIS for Health. It comes pre-configured with a FHIR server, pre-populated with synthetic patient data. The new InterSystems API Manager (IAM) includes OpenAPI Swagger specs to quickly generate REST client code to work with many common FHIR resources.

Production Manager by Nikolay Soloviev

REST API to manage IRIS Interoperability Productions.

rest-api-contest-template by Evgeny Shvarov

Template repository for InterSystems IIRS REST API Programming Contest

JSON-Filter by Lorenzo Scalese

ObjectScript server-side JSON filter.

objectscript-openapi-definition by Guillaume Rongier

The objectif of this library is to generate the ObjectScript Class from an OpenApi definition.

FHIR-HL7v2-SQL-Demo by Guillaume Rongier

Ready to use a demo of an FHIR Server and HL7v2 transformation to the FHIR Server on IRIS For Health Intersystems The FHIR repo can be a query in SQL.

CloudWatch-IRIS by Anton Umnikov

Configuring AWS CloudWatch with InterSystems IRIS

0
0 172
Announcement Anastasia Dyubaylo · Apr 27, 2020

Hi Community!

The registration phase for the second InterSystems Online Programming Contest has already ended, and now the voting week begins! 

We have 7 applications - so you have a set of applications to choose from!

How to vote?

This is easy: you will have one vote, and your vote goes either in Experts Nomination or in Community Nomination.

6
0 478
Article Lorenzo Scalese · Apr 27, 2020 1m read

Hi community,

This article to give a description of my small library JSON Filter.

Why JSON Filter?

Search, sort data are common operations.

But … How to do this with JSON data?

You can use a %DocDB, It’s a good way for storing JSON and index the main properties.

However, JSON document is very flexible. It isn’t always possible (and not recommended) to index each properties to process the wished queries. A manual processing on a data subset is may be required.

In my opinion, this is not a funny part of the job. It’s a repetitive code with many loops etc...

JSON filter allows to process these

1
1 593
Question Eduard Lebedyuk · Apr 1, 2020

During runtime I build an object which is essentially a wrapper over in-memory table:

col1 ... colN
val11 ... valN1
val12 ... valN2

I want to use this object as a part of INSERT or UPDATE queries, based on a value of some column (the main use case one of the columns is an ID value)

What's the best way to expose the object to SQL?

I have complete control over object class, so if I need  to add something (or even change runtime internals), it's no problem.

Object may have different columns depending on runtime situation, but during one query execution the fields are

13
0 792
Announcement Anastasia Dyubaylo · Apr 28, 2020

Hi Community,

We're pleased to invite you to join the upcoming InterSystems IRIS 2020.1 Tech Talk: API-First Development on May 5 at 10:00 AM EDT!

In this week's InterSystems IRIS 2020.1 Tech Talk, we'll discuss API-first development and how InterSystems is embracing this industry trend with our API Manager, and specifically with our FHIR offerings. First, we'll talk about InterSystems API Manager. This tool controls your web-based API traffic in a single location. You can throttle throughput, configure payload sizes and whitelist/blacklist IPs, among many other features.

FHIR stands for Fast Healthcare Interoperability Resources. Release 4 brings this HL7 standard to maturity, and the FHIR R4 support in InterSystems IRIS for HealthTM is big. You'll learn how to work with FHIR data in InterSystems IRIS, and see our developer portal in action, where you can access FHIR resources using the OpenAPI specification.

   

0
0 452