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

Question Ashok Kumar T · Nov 6, 2024

Hello Community,

I have a stream property which uses %Stream.GlobalCharacter and I set some dummy texts like "a1a2a3a4a5a6a7...."(more than 1024 characters)   in to that stream and the stream values are not compressed. However, The streams are compressed If I use the Lorem ipsum is a dummy or placeholder text or other text "This is part four of a long memo." which length is greater than 1024 

I opened the stream object and confirmed the compress property is 0 for first entry and  1 for 2nd object

Class Samples.Strms Extends%Persistent
{
Property MyId As%String;Property MyBioStrm As%Stream.
3
0 156
Question Paul Hula · Nov 6, 2024

So being forced to use VSCode out of the box for a new Community install I've hit a small problem, documentation hasn't helped and its a simple problem.

How do I enable auto complete and the property viewer in creating a new .MAC?

So I've created "test.mac" and 'assume' can't remember the method name to open a file (for example), typing

"s f=##class(%Library.File).   " in Studio would bring up the methods of %Library.File so I could click the appropriate one, VSCode does not do this (and also didn't show the classes under %Library).

Please don't reply telling me how to open a new file :-), I'm

5
0 316
Question Dmitry Maslennikov · Aug 11, 2023

Well, now we got noPWS container with IRIS, and how to connect to it, simply, without any durable sys or files, using normal peoples way like Environment variables?

version: "3"
services:
  iris:
    image: containers.intersystems.com/intersystems/iris:2023.2.0.227.0
    ports:
      - 1972:1972
    volumes:
      - ~/iris.key:/usr/irissys/mgr/iris.key
  web:
    image: containers.intersystems.com/intersystems/webgateway:2023.2.0.227.0
    ports:
      - 52773:80
8
0 426
Article Timothy Leavitt · Nov 4, 2024 2m read

Summary: if you concatenate filenames into /STDOUT and /STDERR in a $zf(-100) call, quote them.

I hit an <ILLEGAL VALUE> error from the following that initially stumped me. This was part of a unit test that worked perfectly fine on Windows, but when CI ran on Docker it failed:

Set outFile = ##class(%Library.File).TempFilename()
Set outDir = ##class(%Library.File).NormalizeDirectory(##class(%Library.File).TempFilename()_"dir-out")
Do##class(%Library.File).CreateDirectoryChain(outDir)
Do$$$AssertEquals($zf(-100,"/STDOUT="_outFile_"/STDERR="_outFile,"tar","-xvf",tempDir_".tgz","-C",outDir)

The

2
2 353
Question Jani Hurskainen · Nov 5, 2024

I have a custom IPM resource processor like:

<Resource Name="example.json" ProcessorClass="OSEX.ipm.demo.IpmResourceProcessor" Foo="from manifest Resource attribute"/>

What is the best practice to deploy the custom resource processors to the IRIS instance? It can't be part of the module that uses it for obvious (?) chicken-egg situation.

My best idea atm is to put all those custom processors into a (library) module and all modules using any of them just have a dependency to the custom processors module.

0
0 103
Article Lorenzo Scalese · Nov 15, 2020 8m read

Hi Community,   OpenAPI-Client Gen has just released, this is an application to create an IRIS Interoperability Production client from Swagger 2.0 specification.   Instead of the existing tool ^%REST that creates a server-side REST application, OpenAPI-Client Gen creates a complete REST Interoperability Production client template.

Install by ZPM:

zpm "install openapi-client-gen"

  How to generate production from Swagger document?   It's very simple.

Open a terminal and execute:

Set sc = ##class(dc.openapi.client.Spec).generateApp(<applicationName>, <Your Swagger 2.0 document>>)

  The first

12
0 1337
Question Robert Stephens · Nov 4, 2024

I'm running a query, joining nine tables together. When I run it with a SELECT COUNT(*) I get about 200,000 rows. When I run the SELECT with the columns I want, I get about 2,700 rows. Is there something inherent with the queries that limits the result set size, or anything I can do to make sure I'm getting back all the results? Rather, than trying to run it about 100 times limiting all previously gotten accounts.

2
0 253
Question Lyubomyr Hamalii · Oct 11, 2024

Hello,

Could not connect to DB using IRIS studio, and I don`t know why, maybe someone can help.

Checked already user - it have %All rights

Also, tried using _SYSTEM user, but the same error is occured.

Does anyone have suggestions, I will appreciate your help.

Providing some screenshots regarding this problem.

4
0 187
Discussion Timothy Leavitt · Oct 31, 2024

Is anyone using the IPM client (e.g., running commands like zpm "install somepackagename") on an IRIS version earlier than 2022.1?

We're thinking about raising the minimum supported version so we can use Embedded Python in IPM. I'm curious if this would impact anyone. Of course, you'd be able to continue to use an earlier version of IPM.

3
0 171
Question Anderson Negreli · Oct 31, 2024

I built a monitoring system in Grafana using the IRIS API /api/monitor/metrics (reading with Prometheus) but I noticed that the RAM usage shown was below that shown by the operating system.
I installed the Zabbix agent and the usage values ​​were higher, but with a line with the same highs and lows but shifted.
The metric in the API is iris_phys_mem_percent_used, described as "Percent of physical memory (RAM) currently in use", in Zabbix it is the Item tag: "component: memory" item: "Memory utilization".


Image below of the graphs in Grafana:

Using the command "free -h" the server returns:
         

2
0 192
Question omer · Oct 30, 2024

So I know we can run routines using both XECUTE or @ 
However both of them run slower than just running the routine without it. (that is because as far as i understand, XECUTE command for example will re-compile before running?)
the question is: how can I run a routine by name - and keeping the performance as good as possible?

1
0 146
Question Kaveh Kaviani · Oct 30, 2024

i am trying to embed a dynamic SQL into Objectscript code , but the %NEXT() will return 0 , however when i copy the same query and run it in the SQL bit it will give me the result i want 
the code :

set myquery = "SELECT"
set myquery = myquery_" $PIECE(Substring(M.Rawcontent,Charindex('PD1|',M.Rawcontent),1000),'|',4),"
set myquery = myquery_" H1.TargetConfigName,"
set myquery = myquery_" H.Timecreated,"
set myquery = myquery_" H.MessageBodyId"
set myquery = myquery_" FROM"
set myquery = myquery_" Ens.MessageHeader H"
set myquery = myquery_" left outer join Enslib_HL7.Message M ON

2
0 237
Question Jani Hurskainen · Oct 30, 2024

It's not supported at the moment but is it possible to implement the Sonatype Nexus (or JFrog Artifactory) support based on the current (or upcoming) IPM version?

In repo command help I see there is a support for filesystem repositories (which I have not yet tried) and my current (hopefully not far-fetched) interpretation is the IPM is designed to be able to support different repositories:

zpm:IPMTEST1>help repo
[...]
  ■ Filesystem repository:
    ∙ -filesystem, -f, -fs : Create/update a filesystem repository
    ∙ -depth, -d <value> : For filesystem repositories, specifies the depth
5
0 204
Question Jani Hurskainen · Oct 30, 2024

I'm trying package IPM command but I'm getting the following error:

zpm:IPMTEST1>package -verbose -only -path /home/irisowner/ osex-ipm-hello

[IPMTEST1|osex-ipm-hello]       Package START
Exporting 'OSEX.ipm.hello.Hello.cls' to '/home/irisowner/src/OSEX/ipm/hello/Hello.cls'
Exported to /home/irisowner/module.xml
Module exported to:
        /home/irisowner/

[osex-ipm-hello]        Package FAILURE
ERROR! ObjectScript error: <VALUE OUT OF RANGE>zConstructTar+19^%ZPM.Utils.FileBinaryTar.1

What's wrong here?

I can see all the correct module files created:

$ ll module.
2
0 126
Article Guillaume Rongier · Jul 8, 2024 6m read

fastapi_logo

Description

This is a template for a FastApi application that can be deployed in IRIS as an native Web Application.

Installation

  1. Clone the repository
  2. Create a virtual environment
  3. Install the requirements
  4. Run the docker-compose file
git clone
cd iris-fastapi-template
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
docker-compose up

Usage

The base URL is http://localhost:53795/fastapi/.

Endpoints

  • /iris - Returns a JSON object with the top 10 classes present in the IRISAPP namespace.
  • /interop - A ping endpoint to test the interoperability framework of IRIS.
  • /posts - A
3
0 589
Question omer · Oct 28, 2024

Hello,

I am using the following: 

s status = $SYSTEM.OBJ.Load("myClassName," "c")

and while trying to compile it i get an error that a property or method does not exist, more specifically:

Method or Property 'basicToolbar' does not exist in this class.
it's important to say - basicToolbar DOES EXIST! If i manually compile this class through the studio, it will work and is runnable. 
only when using the Load command i get this error. 
what could possibly be wrong?
i also tried combination of different flags but fail to understand how is this possible.
 

3
0 159
Question Alin Soare · Oct 28, 2024

I have a question about the routing of IIS.

If I have a javascript application that has a single entry point app.html. Is it possible to configure the IIS server such that both the urls

addr:port/entry1

addr:port/entry2

to provide the same app.html and let the javascript code from application decide what component to load next, depending on the path of the URL ?

My IIS server is configured such that when I do a GET url1, ir tries to send entry1.html , respectively entry2.html when I do GET url2.

In Intersystems documentation I did not find how to configure IIS to route to the same application

2
0 141
Article Kate Lau · Oct 28, 2024 8m read

I am just writing something to share what I encountered last night, which is the IRIS 2024.3 does not comes with Python by default any more!!!

Which means that I need to install it by myself!!😅 The pros is, I can select my python version😁🤭💃 The trouble is.... at the first place.... I don't know what I should do😥. By going through the community (I am much more prefer than the official document, sorry InterSystems document team😓 ), I found the following piece 

https://docs.intersystems.com/iris20242/csp/docbook/DocBook.UI.Page.cls…

Hi,

0
0 345
Question Scott Roth · Oct 28, 2024

Our TEST environment and PROD environment are on two different versions of HealthShare Health Connect.

TEST IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2024.1 (Build 267_2U) Tue Apr 30 2024 16:06:39 EDT [HealthConnect:7.2.0-1.r1]
PROD IRIS for UNIX (Red Hat Enterprise Linux 8 for x86-64) 2022.1.4 (Build 812_0_22913U) Thu Dec 7 2023 17:06:30 EST [HealthConnect:3.5.0-1.m1] [HealthConnect:3.5.0-1.m1]

Someone within the group wants to migrate a BP from TEST to PROD, however they are running into an error "attribute 'languageOverride' is not declared for element 'assign'" 

I

4
0 182
Question Norman W. Freeman · Oct 26, 2024

I'm using $system.obj.load() to synchronize a folder contains many classes (CLS) in UDL format. I use "-d" as flag (compilation is done later one). It's already done in parallel to make it as fast as possible but I was wondering if there was way to make this even faster, for example using some tradeoffs (eg: by turning off some features before loading them all (that would be re-enabled later on)). It's currently taking 250 seconds to import 3000 classes. MAC file and GBL import is much faster.

5
0 224
Question Kurro Lopez · Oct 28, 2024

Hi all.

I hope you can help me.

I've renamed a namespace and its databases names.

  • Old Namespace: LABORATORIO
  • New namespace: SRV-LABORATORIO

The rename of all has worked fine. When I've tried to access to the portal, it is no available, displaying the message "Tha namespace SRV-LABORATORIO does not support productions"

So, I've run the following command in terminal

zn"SRV-LABORATORIO"do##class(%EnsembleMgr).EnableNamespace($namespace)

My IRIS has created the links to create the production.

Now, I've opened the portal but my code has disappear.

If all the code was into Routine database, Why do

2
0 248
Article Timothy Leavitt · Oct 28, 2024 2m read

User-defined aggregate functions have been supported in IRIS since 2021.1.0. I'd wished upon a star for these years ago before finding a secret hacky way to override MAX and MIN in a custom datatype, but didn't get a chance to actually try one out until today. I thought it was an interesting experience/example - the question of how to get a Median in IRIS SQL came up once before - so I'm sharing it here without too much further comment.

One caveat: UDAFs don't have the nice object/SQL parity that other types of functions do, so you actually need to run SQL to define the aggregate function

0
1 297
Discussion Enrico Parisi · Oct 25, 2024

The IRIS Management Portal is localized (translated) for some (many?) languages and the language used by the Management Portal interface is determined by the browser settings, often derived from the OS settings (can be changed).

This means that if a user, like me, want to use ONLY the English version of the Management Portal, each and every time you login you need to change the language. VERY annoying.

I know I can change the language configured in Browser, BUT, I want to use English for the IRIS management portal non for all my internet activity!

I feel uncomfortable using the localized version

9
1 319
Article Robert Cemper · Jul 8, 2023 2m read

A recent question from @Vivian Lee reminded me of a rather ancient example.
It was the time when DeepSee's first version was released.
We got Bitmap Index.
And we got BitSlice Index: mapping a numeric value by its binary parts.
So my idea: Why not indexing strings by their characters?
The result of this idea was presented first in June 2008. 
IKnow wasn't publicly available at that time.

1
1 248
InterSystems Official Bob Kuszewski · Oct 23, 2024

Maintenance Releases 2023.1.5 & 2024.1.2 of InterSystems IRIS, IRIS for Health, & HealthShare HealthConnect are now available

Two extended maintenance releases of InterSystems IRISInterSystems IRIS for Health, and HealthShare Health Connect are now available.

2023.1.5

Release 2023.1.5 provides bug fixes for any of the previous 2023.1.x releases.

You can find the detailed change lists & upgrade checklists on these pages:

2024.1.2

Release 2024.1.2 provides bug fixes for any of the previous 2024.1.x releases.

You can

2
0 361