发布新帖

查找

InterSystems 官方
· 十一月 1, 2022

InterSystems announces General Availability of InterSystems IRIS, IRIS for Health, HealthShare Health Connect, & InterSystems IRIS Studio 2022.2

InterSystems is pleased to announce the 2022.2 release of InterSystems IRIS Data Platform, InterSystems IRIS for HealthHealthShare Health Connect, and InterSystems IRIS Studio are now Generally Available (GA).

2022.2 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in 2022.2, in SQL management, cloud integration, Kafka and JMS adapters, the SQL Loader, and other areas. The new Columnar Storage has been released, but it stills an experimental feature.

Release Highlights

Platform Updates

InterSystems IRIS Data Platform 2022.2 expands support to include the following new & updated operating systems for production workloads:

  • Ubuntu 22.04 LTS, retiring support to Ubuntu 18.04 LTS
  • Linux Red Hat 9, retiring support to Red Hat 7.

Better Development

  • Better Schema Management
  • Projection of List Collections
  • Performance Improvements 

Speed, Scale, & Security

  • SQL Enhancements
  • SQL Process View
  • Distributing a Workload Across a Sharded Cluster
  • Lateral JOIN Support

Analytics & AI

  • Columnar Storage (Experimental Feature)

 

More details on all these features are available through these links below:

 

How to get the software

As usual,  CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format.  For a complete list, refer to the Supported Platforms document.

Installation packages and preview keys are available from the WRC's Continuous Delivery Releases site or through the evaluation services website.

InterSystems IRIS Studio is available from the Components distribution page.

Container images for the Enterprise Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry using the following commands:

  • docker pull containers.intersystems.com/intersystems/iris:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/iris-arm64:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth-arm64:2022.2.0.368.0

Container images for the Community Edition can also be pulled from the InterSystems Container Registry using the following commands:

  • docker pull containers.intersystems.com/intersystems/iris-community:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth-community:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/iris-community-arm64:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2022.2.0.368.0

yes  IMPORTANT:

ARM and Intel platform containers are published under the same name. So on an Intel machine "docker pull containers.intersystems.com/intersystems/iris:1111.2.3.456.0" will return the intel image, on an ARM machine that same pull will return the ARM image automatically, without needing to have a special .../iris-arm image.


For a full list of the available images, please refer to the ICR documentation.

The build number for this developer preview release is 2022.2.0.368.0.

讨论 (0)1
登录或注册以继续
问题
· 十一月 1, 2022

How to get the list of values in the productions category dropdown menu in code

How can I retrive the values present in the Category dropdown at the top of the production in code?

 

2 Comments
讨论 (2)2
登录或注册以继续
文章
· 十月 31, 2022 阅读大约需 5 分钟

InterSystems IRIS with Laravel (via ODBC)

It has been asked a few times recently, how one can make Laravel Framework work with InterSystems IRIS Data Platform. It's been a while since this post about Laravel and InterSystems Caché was published. To bring it up to date, the article gives a brief instruction set on how to setup and configure a Laravel project for use with InterSystems IRIS through ODBC.

What is Laravel?

Laravel is a PHP framework that is based on MVC architecture. Using Laravel simplifies and speeds up the backend development while building modern secure web applications. It is very beginner-friendly, widely used in PHP world and tends to be the most popular backend framework according to github.com star rating measured in this video. Combining all that with flexibility and performance capabilities delivered by InterSystems IRIS as a database is seen to be beneficial for both worlds.

This post is organised into 4 steps which represent a sequence of actions one needs to complete in order to make the connection work. Specific ways of completing each step may vary depending on the platform. Commands here are shown for Ubuntu 22.02 (x64).

 

Setup Driver Manager (unixODBC)

In order to make the connection work we need to install a Driver Manager. Most commonly used driver managers are 'unixODBC' and 'iODBC'. This guide uses 'unixODBC', which may be downloaded here http://www.unixodbc.org/ . Please refer to 'Download' section of the website to download and build. Alternatively, build instructions can also be found here. We'll use here packages from 'apt' package manager for Ubuntu.

Install packages

Install unixodbc package accompanied by libodbccr2 which provides unixODBC Cursor library.

sudo apt update
sudo apt -y install unixodbc libodbccr2 odbcinst

Create a link for Cursor Library
In certain cases there might be issues with Shared Object Dependencies after unixODBC installation. This is shown as 'Can't open cursor lib' error. There are few workarounds described in internet. In order to resolve this issue we make a symbolic link to a desired library. First, we locate the library:

sudo find / -type f -name "libodbccr*"

And then we create a link

sudo ln -s /usr/lib/x86_64-linux-gnu/libodbccr.so.2.0.0 /etc/libodbccr.so

 

Setup ODBC Driver for InterSystems IRIS

ODBC driver for InterSystems IRIS can be obtained in various ways. For example, ODBC Driver is included to all InterSystems IRIS kits. The other option would be Distributions Portal on wrc.intersystems.com.

Alternatively, drivers for all supported platforms can be found here: https://intersystems-community.github.io/iris-driver-distribution/

Download, unpack and install ODBC Driver:

sudo mkdir -p /usr/lib/intersystems/odbc
cd /usr/lib/intersystems/odbc/

sudo wget -q https://raw.githubusercontent.com/intersystems-community/iris-driver-distribution/main/ODBC/lnxubuntu2004/ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
sudo tar -xzvf /usr/lib/intersystems/odbc/ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz
sudo ./ODBCinstall

sudo rm -f ODBC-2022.1.0.209.0-lnxubuntu2004x64.tar.gz

After that, the driver will be located in the following folder /usr/lib/intersystems/odbc/bin/

Additional information on drivers and their usage may be found in the docs. This guide uses libirisodbcur6435.so as a driver library.

 

Setup Laravel project

The traditional and convenient way to interact with a database from Laravel would be using its Eloquent package. Eloquent is an object relational mapper (ORM) that is included by default within the Laravel framework. Only few DBMS vendors are supported out-of-the-box. So in order to implement connection and SQL query builder specifics for InterSystems IRIS (via ODBC) some additional PHP code needs to be written. Thanks to @Jean Dormehl this gap was covered for InterSystems Caché . The same one could be used for InterSystems IRIS.
So in this article we describe steps to setup connection for existing Laravel project using jeandormehl/laracache package, assuming that installation and configuration of php, composer and Laravel is done prior to that.

Install php-odbc
Make sure that php-odbc module is installed. You can check the list of modules installed with the following command:

php -m | grep odbc

To install php-odbc extension use the following command using a proper version of php installed on your environment

sudo apt -y install php8.1-odbc

Setup 'jeandormehl/laracachepackage
Go to your Laravel project directory, install package and publish its config file.

composer require jeandormehl/laracache
php artisan vendor:publish --tag=isc

 

Configure IRIS connection

Edit your .env file to contain settings needed to connect to a database. For Unix users it should look similar to this:

DB_CONNECTION=isc
DB_WIN_DSN=
DB_UNIX_DRIVER=/usr/lib/intersystems/odbc/bin/libirisodbcur6435.so
DB_HOST=127.0.0.1
DB_PORT=1972
DB_DATABASE=USER
DB_USERNAME=_SYSTEM
DB_PASSWORD=sys

After editing .env file you may find useful to clear application config cache:

php artisan config:cache

 

Usage

Let's try to retrieve some data using our new package. As an example we'll create a Model inherited from Laracache\Cache\Eloquent\Model . Just for testing purposes we will count the number of sent messages in Interoperability enabled namespace.

nano app/Models/EnsMessageHeader.php
<?php
namespace App\Models;
use Laracache\Cache\Eloquent\Model;
class EnsMessageHeader extends Model
{
    protected $table = 'Ens.MessageHeader';
    protected $fillable = [
        'MessageBodyClassName'
    ];
}

To execute a query we may create an artisan console command like this:

nano routes/console.php
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
use App\Models\EnsMessageHeader;
Artisan::command('iris:test', function () {
    echo EnsMessageHeader::count() . PHP_EOL;
});

Then executing the following command should retrieve the number of records 

php artisan iris:test

This scenario should work to a wide range of InterSystems IRIS based products.

5 Comments
讨论 (5)3
登录或注册以继续
问题
· 十月 27, 2022

Changing the assigning authority

A mistake happened and records were assigned the wrong assigning authority name: PID3.4.

Everything else  was correct. This resulted in duplicate records. Ex

Record 1: MRN1 has AA1 and clinical data

Record 2:  MRN1 has AA2 and the same clinical data as Record 1 + more clinical data that is not in Record 1

I would like to remove Record 2 ensuring that there are no orphan records left.

Should I use a merge transaction? If so, which one? The ones that I have seen expect a different MRN in the MRG segment. These records have the same MRN. What would be the best approach?

Thank you for reading!

1 Comment
讨论 (1)2
登录或注册以继续
InterSystems 官方
· 十月 26, 2022

InterSystems IRIS, IRIS for Health, & HealthShare Health Connect 2022.2 developer preview 10 is published

This is the tenth in a series of releases that are part of the developer preview program for 2022.2. Future preview releases are expected to be updated biweekly and we will add features as they are ready. Please share your feedback through the Developer Community so we can build a better product together.

As usual,  CD releases come with classic installation packages for all supported platforms, as well as container images in Docker container format.  For a complete list, refer to the Supported Platforms document.

Installation packages and preview keys are available from the WRC's preview download site or through the evaluation services website (use the flag "Show Preview Software" to get access to the 2022.2).


enlightenedIMPORTANT: Since the Developer Preview 9, ARM and Intel platform containers are published under the same name. So on an Intel machine "docker pull containers.intersystems.com/intersystems/iris:1111.2.3.456.0" will return the intel image, on an ARM machine that same pull will return the ARM image automatically, without needing to have a special .../iris-arm image.


Container images for the Enterprise Editions of InterSystems IRIS and IRIS for Health and all corresponding components are available from the InterSystems Container Registry using the following commands:

  • docker pull containers.intersystems.com/intersystems/iris:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/iris-arm64:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth-arm64:2022.2.0.368.0 

Container images for the Community Edition can also be pulled from the InterSystems Container Registry using the following commands:

  • docker pull containers.intersystems.com/intersystems/iris-community:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth-community:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/iris-community-arm64:2022.2.0.368.0
  • docker pull containers.intersystems.com/intersystems/irishealth-community-arm64:2022.2.0.368.0

For a full list of the available images, please refer to the ICR documentation. Alternatively, tarball versions of all container images are available via the WRC's preview download site

The build number for this developer preview release is 2022.2.0.368.0.

2 Comments
讨论 (2)1
登录或注册以继续