Intro

If you ever wondered how to debug some requests that are being made to or from IRIS, well here is a little tutorial on how to do that.

During a complex project, usually you get the specifications and implement the communication between IRIS and other things based on that. But from the paper to the real world there's usually a huge gap and you need to know why you are receiving an error on a parameter, on a header, you are not receiving the data and so on.

6 1
2 313

This week I was able to demo a proof of concept for our FMS interface on traffic cop architecture to my team. We are working on modernizing an Interoperability production running on mirrored Health Connect instances. We deploy IRIS workloads on Red Hat OpenShift Container Platform using InterSystems Kubernetes Operator (IKO). We can define any number of replicas for the compute stateful set where each compute pod runs our Interoperability production. We introduced Horizontal Pod Autoscaler (HPA) to scale up the number of compute pods based on memory or CPU utilization.

5 0
0 310

Introduction

Not so long ago, I came across the idea of using Python Class Definition Syntax to create IRIS classes on the InterSystems Ideas Portal. It caught my attention since integrating as many syntaxes as possible gives visibility to InterSystems’s products for programmers with experience in many languages.

8 3
0 309
Article
· Feb 22 4m read
IRIS 2024.1 Preview - New Feature

There is an interesting new feature in the recently announced 2024.1 preview, JSON_TABLE. JSON_TABLE is one of a family of functions introduced by the 2016 version of the SQL Standard (ISO Standard, published in early 2017). It allows for JSON values to be mapped to columns and queried using SQL. JSON_TABLE is valid in the FROM clause of some SQL statements.

The syntax of JSON_TABLE is quite large, allowing for exceptional conditions where the provided JSON values don't match expectations, nested structures and so on.

9 4
3 308

InterSystems FAQ rubric

It can be retrieved using the schema INFORMATION_SCHEMA.

INFORMATION_SCHEMA is a system schema and is not displayed by default in the SQL menu of the Management Portal.

The method to display it is as follows.

  1. Open Management Portal → System Explorer → SQL menu.
  2. Check "System" on the left of the schema drop-down.
  3. Select INFORMATION_SCHEMA from the schema dropdown.

4 0
1 304

Written in reply to community post for can Python create HL7 Message dynamically.

Pre-requisites and setup

Use an integration enabled namespace.
Note: USER namespace is not enabled for interoperability by default.
If following suggest create a new interoperatibility namespace to explore functionality.

# Switch to
ZN "[Interoperability Namespace Name]"

# Launch interactive Python shell:
Do $SYSTEM.Python.Shell()

4 0
2 301
Article
· Sep 26, 2023 1m read
Create JSON Objects and Arrays by SQL

The related package avoids adding %JSONAdaptor to each class but uses instead
SQL functions JSON_OBJECT() to create my JSON objects. With this approach, you can
add JSON to any class - even deployed ones - without any need for change or recompiling.

The trigger was the Export of M:N relationships as JSON objects or arrays.

11 0
0 301

Hi Developers, I'm currently doing a demo about building a front end UI doing data analytics and setup a performance test with large data objects, therefore using "Populate Utility" could help me auto generate some sample data that I can play with.

Within this post I would like to share my experience of using Populate Utility, including using POPSPEC Parameter.

8 6
0 300

Introduction

InterSystems would like to optimize IRIS to take advantage of modern CPU instruction set extensions. That’s great for product performance, but how do you know if your CPU will still be supported for new IRIS builds? Here’s how to know your CPU’s microarchitecture family as well as how to find out your CPU’s specific instruction set extensions.

3 0
1 299

For the upcoming Python contest, I would like to make a small demo, on how to create a simple REST application using Python, which will use IRIS as a database. Using this tools

  • FastAPI framework, high performance, easy to learn, fast to code, ready for production
  • SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that gives application developers the full power and flexibility of SQL
  • Alembic is a lightweight database migration tool for usage with the SQLAlchemy Database Toolkit for Python.
  • Uvicorn is an ASGI web server implementation for Python.

5 5
2 297
Contestant

Hi community,

The aim of this article is to explain how to create messaging between IRIS and Microsoft Teams.

In my company, we wanted to monitor error messages, and we used the Ens.Alert class to redirect those error messages through a Business Operation that sent an email.
The problem was that we sent those error messages to a support account where there were many emails. We wanted something specific for a specific team.

So we investigated how to make these messages reach the development team directly and they could have, in real time, a notification of an error in our production.
In our company we use Microsoft Teams as a corporate tool, so we asked ourselves: How could we make these messages reach the IRIS development team?

23 9
6 293

In recent years, artificial intelligence technologies for text generation have developed significantly. For example, text generation models based on neural networks can produce texts that are almost indistinguishable from texts written by humans.
ChatGPT is one such service. It is a huge neural network trained on a large number of texts, which can generate texts on various topics and be matched to a given context.

4 1
0 290

Here in %SYS, we have already examined users, resources, and roles. Now that we know how to set all of that up, we should give it a purpose. Next we will talk about applications! As you may expect, we will see various identical class methods defined here that we have seen in the previous classes. However, some of them will have some tiny yet significant differences.

5 1
2 286

InterSystems FAQ rubric

The meaning of each timeout value is as follows.

1. [Server response timeout]

If IRIS/Caché processing (routine or query execution) does not finish within this set time, the browser will return an error.

For example, if this value is 60 seconds and it takes 90 seconds to execute a routine/method/query, an error will occur.

2. [Queued request timeout]

5 2
0 286
Article
· May 11, 2023 1m read
Moving Docker in Windows

During my repeated testing with Docker Desktop, I'm often short on disk space
nd need to clean it over and over as described earlier.
The main reason is the rather uncontrolled growth of ext4.vhdx
that is located on my C: drive by default.
So I decided to move this file to a large external disk.

2 1
0 281

csp-log-tutorial

Prerequisites

Make sure you have git installed.

I created a git folder inside the IRIS mgr directory. I right clicked the git folder and chose Git Bash Here from the context menu.

git clone https://github.com/oliverwilms/csp-log-tutorial.git

Clone my csp-log-tutorial GitHub repo if you like to try it out for yourself.

11 1
0 278
Article
· Jan 19 4m read
Querying Dynamic Data using ASQ

IRIS 2023.3.0 ASQ

Abstract Set Query, ASQ, is a super set of JSON Path Language, JPL, which was first introduced by the 2016 ISO SQL Standard. JPL is only defined within the context of SQL. In 2023.3, we introduced classes that implement ASQ. It works on any implementation of %Library.AbstractSet. The complete syntax for ASQ will be documented later. This is just a quick introduction to a few of its features. This implementation comes with a nice utility as well. You will know it when you see it!

9 14
1 278