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

InterSystems Official Thomas Dyar · Oct 3, 2024

We've recently made available a new version of InterSystems IRIS in the Vector Search Early Access Program, featuring a new Approximate Nearest Neighbor index based upon the Hierarchical Navigable Small World (HNSW) indexing algorithm. This addition allows for highly efficient, approximate nearest-neighbor searches over large vector datasets, dramatically improving query performance and scalability.

1
1 349
Article Evgeny Shvarov · Apr 22, 2024 3m read

Hi folks!

Often, when we develop commercial solutions, there is a necessity to deploy solutions without source code, e.g., in order to preserve the IP.

One of the ways how this can be achieved is to use InterSystems Package Manager.

Here I asked Midjourney to paint an intellectual property of software:

How this can be achieved with IPM?

In fact, this is very simple; just add the Deploy="true" clause in the Resource element in your module.xml manifest. Documentation.

I decided to provide the simplest possible example to illustrate how it works and also to give you a development environment template to let start building and deploying your own modules without source code. He we go!

2
2 432
Article Dmitry Maslennikov · Sep 25, 2024 1m read

We have Webterminal around for quite a while, but it was limited, not all features worked there. There was no shell support or the latest feature as embedded Python support. There are some issues with tools that require programmer mode. Basic Authorization, not as handy as simple login page, where you could have options to add own login page, in case if you would wish to change the way how to login to the application, such as using SSO.

With the original iris terminal, wrapped into a web form, using most used in the web world xterm.js, used in tools like VSCode as well, with some magic from Python, which helped with interprocess tty. We can get the the terminal in the web, in the full capacity.

iTerm

38
6 784
Article Chi Nguyen-Rettig · Sep 21, 2024 3m read

There are many applications for working with HL7 V2 messages, but the tools for working with XML in IRIS Management Portal and Cache Studio are limited. While plenty of external utilities and IDEs work with XML messages and even C-CDA documents, there is a compelling case for being able to test directly against the IRIS C-CDA framework. 

Testing within the IRIS environment provides the necessary context: 

7
4 441
Question Norman W. Freeman · Oct 2, 2024

If several application servers are connected using ECP, and one of them create many locks, so many that lock table became full :

Should we expect only that application server to be impacted ? (usually, when lock table is full the system became instable). Or, are other application servers going to be impacted the same way ? (because that lock table is synchronized and maintained in sync across all servers)

3
0 148
Question Scott Roth · Oct 2, 2024

I have been trying to track down an issue we are seeing in our TEST environment with Memory usage.

We have Several BP's for years now that take a HL7 message, parse it apart, and make calls to a Custom EnsLib.SQL.OutboundAdapter to have it execute Insert/Select/Update/Delete stored procedures against a MS SQL Database via JDBC connection. We are using Microsoft's JDBC 12.2 driver to do this.

What we are seeing is that IRIS.WorkQueue globals are being defined for these calls but then the IRIS.WorkQueue is not being cleaned up and taking up large amounts of Memory.

5
0 174
Announcement John Murray · Sep 25, 2024

Please allow me to introduce you to a new way of interacting with IPM (InterSystems Package Manager), also known as ZPM,directly from inside Visual Studio Code.

First, install into VS Code the free InterSystems Package Manager extension, published to Marketplace by George James Software. A quick way is to use the search field in VS Code's Extensions view and look for 'ipm zpm' (without the quotes). Alternatively browse to https://marketplace.visualstudio.com/items?itemName=georgejames.iris-pa…

Here's a short video showing the extension in action.

7
1 239
Question Bransen Smith · Sep 29, 2024

I need to execute code whenever a production component setting is updated, such as when a service port is changed and the `ens.config` table is updated. This code will handle tasks like logging these updates to a custom table for external reporting purposes.

How can I invoke custom code on these updates?

Ideally, I need to monitor all namespaces that are interoperability-enabled. Whenever a production component setting is changed in any namespace, I need to run the code.

2
0 141
Question Colin Brough · Sep 27, 2024

We are doing healthcare interface development.

Developers have Ensemble installed locally on their laptops - code will be developed locally then deployed to integration, test/UAT and ultimately production servers in due course.

One of the other applications we are developing around happens to utilise an Iris desktop client to a remote Iris server. We want to have the application available on the developers laptops alongside the local Ensemble instance.

✅ It appears that if we install their desktop client then install our local Ensemble server, things work.

3
0 149
Question Jonathan Perry · Sep 25, 2024

Hello,

I'm trying to debug objectscript ClassMethods in VSCode, but nothing happens when clicking the Debug button over the ClassMethod.

This was working with previous versions - tested with IRIS 2020.

This is the server configuration:

"intersystems.servers": {

        "iris": {

            "webServer": {

                "scheme": "http",

                "host": "localhost",

                "port": 80

            },

            "username": "superuser"

        }

    },

Editing and compiling ObjectScript is working:

1
0 199
Article Muhammad Waseem · Sep 23, 2024 4m read

Hi Community,
In this article, I will introduce my application iris-DataViz
iris-DataViz is an Exploratory Data Analysis and Visualization Streamlit Application that leverages the functionality of IRIS embedded python and SQLAlchemy to interact with IRIS, as well as the PyGWalker python library for data analysis and data Visualization. PyGWalker (Python Graphic Walker) is an interactive data visualization library built for Python, aiming to bring the ease and functionality of Tableau-style drag-and-drop visualization into Python environments.


Application Features 

3
0 309
Article Rodolfo Moreira dos Santos · Sep 25, 2024 3m read

Hi everyone,

In this article, I’m excited to introduce CodeInspector, a tool designed to simplify code validation by applying custom rules tailored to your development requirements. Whether you're managing a large codebase or working in an agile environment, CodeInspector helps ensure code quality by offering flexibility and adaptability to specific project needs.

Motivation

3
0 253
Announcement John Murray · Sep 29, 2024

If you are using the client-side development paradigm (i.e. editing code in local files that get imported and compiled onto the IRIS server your `objectscript.conn` settings point to) you can now use IPM in VS Code to manage the packages in your IRIS target by launching it from the Explorer view. Just make sure the extension you are using is at least version 1.0.4, then use this button:

Thanks to @Evgeny.Shvarovfor suggesting this enhancement, which is particularly useful when using Docker.

0
0 127
Article Andrii Mishchenko · Sep 22, 2024 5m read

Introduction

Managing databases and performing CRUD operations are fundamental tasks for developers building data-driven applications. While many database management systems (DBMS) exist, they can be complex and cumbersome to interact with, especially when it comes to creating databases and tables, handling constraints, and performing real-time data operations through an API.

4
0 398
Article Dylan Cole · Sep 29, 2024 1m read

The test data generator is mainly used to generate test data, which can be used to generate test data for tables and fields to meet the needs of different fields according to different types, currently supports Text, Number, Enum, UUID, regular expression, Multiple date and time formats, and Time Seven different types
 

How to use:

1. Select a namespace, you can see all the tables under the namespace,

2. Select the table we want to generate test data from, click on the field, and select the type on the right

0
0 170
Question omer · Sep 29, 2024

I created and then compiled a routine using the %Routine library 


s routine = ##class(%Routine).%New(fileName_"."_extension)
d routine.Write(parsedRule)
//s status = routine.Save()
s status = routine.SaveStream(,.refresh)
if ($$$ISERR(status)) throw status

Now the routine compiles successfully and as a result it is saved on the database.
I can now use from anywhere:


set r = ##class(%Routine).%New("myGeneratedCode.mac")

w r.SizeGet()

2
1 178
Question Oliver Wilms · Sep 28, 2024

I want to try out iris-DataViz app to visualize my own data. I cloned the repo and docker-compose up -d in AWS. IRIS portal works, but on port 8051 I get nothing. I checked my AWS security groups. I reversed IRIS webserver port and 8051 and I can connect to Management portal using port 8051. I don't understand what is refusing connection on port 8051 running in iris-DataViz container.

1
0 139
Question Phil Burkhalter · Sep 26, 2024

I am trying to insert a single row into an external MS SQL Server table. I have set up the SQL Gateway. The insert query runs, but it is inserting an extra row each time. 

What am I missing:

#include %occInclude
set gc = ##class(%SQLGatewayConnection).%New()
if gc = $$$NULLOREF quit $$$ERROR($$$GeneralError, "Can not create sql gateway connection.")

set pDSN = "xxxx"
set usr = "xxx"
set pwd = "xxxx"
set sc = gc.Connect(pDSN,usr,pwd,0)
if $$$ISERR(sc) quit sc
if gc.ConnectionHandle = "" quit $$$ERROR($$$GeneralError,"connection failed")set sc=gc.AllocateStatement(.hstmt)
if $$$ISERR(sc) quit sc

1
0 123
Article Andrii Mishchenko · Sep 27, 2024 4m read

In this article, we’ll dive into the inner workings of the database management tool, exploring the architecture and technologies that power it. Understanding how the application functions behind the scenes will give you insight into its design, how it manages databases, tables, and how the API interacts with data.

We will discuss the core technologies used, including InterSystems IRIS as the primary database and Redis for caching. Additionally, we’ll break down the structure of the tables used and explain how the system handles data creation, retrieval, and manipulation through the REST API.

0
1 274
Question Alin Soare · Sep 26, 2024

Hi,

I tried to create what is know as a "class variable".  As far as I understand the only analogy to class variables would be the "class parameters".

I tried to use a class parameter but I cannot change its value at runtime.

Parameter STATUSES = {{}};

Property repr As %String;

Method %OnNew(repr) As %Status
{
    w ##class(Test...).#STATUSES
    w ..#STATUSES

    ...

}

When I get ..#STATUSES, it is a string like "5@%Library.DynamicObject". This is a string, not a pointer to an object.

I tried to define STATUSES as Parameter STATUSES  As CONFIGVALUE = {{}};  and change the value with  

6
0 211
Announcement John Murray · Sep 26, 2024

See the new team members in action:

Try them online for yourself:

https://gitpod.io#snapshot/b31bdf9c-4657-402a-a2d

Get it from the Extensions view inside VS Code, or here in Marketplace.

Vote for it here in the current Developer Tools 2024 contest (voting ends: 29 Sep, 2024, 11:59:59 PM EST).

Discuss it below.

Most of all, enjoy DX Jetpack with its added booster rockets!

0
0 98
Question Rajendra Chandracant · Sep 17, 2024

Hi, Support Team

I´m working with Cache for many years, currently i have running version cache-2018.1.7.721.0-win_x64.exe

However we are facing some compatibility/requirements challenges, in that way i´m hereby request your support to provide next version/build of Cache 2018.1 (e.g cache-2018.1.9.xxx.x-win_x64.exe )

Nevertheless , I already downloaded IRIS for testing purpose if can also provide trial/limited licence for detail testing will be apreciated.

Thanks in advance for your attention.

Regards

Rajendra

8
0 309