#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 Fabiano Sanches · Nov 1, 2023

InterSystems announces its fourth developer preview for the 2023.3 release of InterSystems IRIS® and InterSystems IRIS for HealthTM.

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. Initial documentation can be found at these links below. They will be updated over the next few weeks until launch is officially announced (General Availability - GA):

Highlights

There are several excitin

0
0 312
Question Flávio Lúcio Naves Júnior · Oct 16, 2023

Hello everyone,

I am attempting to enable two-factor authentication for a user account through the System Administration > Security > Users > Edit User (Security Settings) section. However, I am encountering an error with the Qrcode class.

ERROR #5002: ObjectScript error: <NOTOPEN>zGenerate+27^%SYS.QRCode.1


Update:
I tried to create a QR code image using the command from the %SYS.Qrcode class, and I encountered the same error. I believe it may be related to folder permissions, but I have already granted all the permissions that I am aware of to the InterSystems database.


Has anyone encountere

3
0 384
Article Heloisa Paiva · Oct 25, 2023 20m read

Index

Part 1

  • Introducing Flask: a quick review of the Flask Docs, where you will find all the information you need for this tutorial;
  • Connecting to InterSystems IRIS: a detailed step-by-step of how to use SQLAlchemy to connect to an IRIS instance;

Part 2

  • A discussion about this kind of implementation: why we should use it and situations where it is applicable.
  • The OpenExchange Application: if you are not interested in the development of this example, you can go directly to this section and learn how to use it as a template for your flask-iris application.
  • Bonus: some errors I have








2
0 942
Discussion Eduard Lebedyuk · Oct 20, 2023

Let's do a round of code golf! Last one was very popular!

The Chinese zodiac is a repeating cycle of 12 years, with each year being represented by an animal and an element that changes every 2 years.
The animals are: Rat, Ox, Tiger, Rabbit, Dragon, Snake, Horse, Goat, Monkey, Rooster, Dog and Pig.
The elements are: Wood, Fire, Earth, Metal and Water.
Your task is to write a function that receives a year, and returns the element and the animal that year represent.
Let's use the year 1924 as start point, in the Chinese zodiac the element was Wood and the animal was Rat.

Input

2023

Output

"Wat
7
0 678
Announcement Olga Zavrazhnova · Oct 19, 2023

Hi Developers,

Join our next online Developer Roundtable on October 31 at 10 am ET | 3 pm CET. Our experts will cover two topics:

  1. "Deploying Python Applications" - by @Evgeny ShvarovSenior Manager of Developer and Startup Programs, InterSystems
  2. "Deploying Java project + InterSystems IRIS in Docker" - by @Luis Angel Pérez Ramos, Sales Engineer, InterSystems

We will have time for Q&A and open discussion.

Update: Watch the recording below.

  

2
0 398
Question Ruiyan Yu · Oct 26, 2023

Hi,

An exception occurs randomly. I expect the value of ^TEST to be 20, but it's not. Did i miss something like closing, flush the stream or locking the global?

Exception

<ILLEGAL VALUE>%SaveData+15^%Stream.GlobalCharacter.1×PRAX1Í+^%SaveData+15^%Stream.GlobalCharacter.1^1)e^%SerializeObject+6^%Stream.Object.1^2e^%Save+9^%Stream.Object.1^93e^zCopyFromAndSave+58^%Stream.GlobalCharacter.1^1e^test+11^ry^1e^test+3^ry^4d^^^0

Testcode

test
    n glob s glob=$na(^TEST) k @glob
    n file s file="C:/temp/file.xslt"
    n i f i=1:1:20 w !,$$save(file,glob)
    q

save(file,glob) {
    s fs=##class(%Str
13
0 539
Question Jonathan Wald · Oct 28, 2023

I've written a stored procedure for SQL as follows. The second parameter is a search path that may use a single quote or bracket as part of its expression.

When the expression uses a single quote, I can double it within SQL, and it works well. In this example, 'testDate' is written as ' ' testDate ' ' .

Select HISOL_MEAS.SQLProc_JSONpath(fullAnnotation,'HbA1cTests.sort(''testDate'',false).resultValue') As reverseSortedTests

In the next example I'd like to use brackets (see below), which causes an error.  

Trying to escape the bracket by doubling it still produces an error.  Any sugge

5
0 557
Article Alex Woodhead · Jun 12, 2023 3m read

This article is a simple quick starter (what I did was) with SqlDatabaseChain.

Hope this ignites some interest.

Many thanks to:

sqlalchemy-iris author @Dmitry Maslennikov

Your project made this possible today.

The article script uses openai API so caution not to share table information and records externally, that you didn't intend to.

A local model could be plugged in , instead if needed.

Creating a new virtual environment

mkdir chainsql

cd chainsql

python -m venv .

scripts\activate

pip install langchain

pip install wget

# Need to connect to IRIS so installing 
7
3 3677
Question Katrina E Rodenhaus · Oct 26, 2023

I am very new to IRIS. We are developing a PHP application that connects to an IRIS instance of one of our vendors. I am having trouble with a specific table. When I need to query this specific table for specific fields, I am receiving an error. However, if I change the call to get all columns (`*`), there is no error. I get 37K records returned.

Error:

PHP Fatal error:  Uncaught PDOException: SQLSTATE[SL009]: <<Unknown error>>: [unixODBC][Driver Manager]No columns were bound prior to calling SQLFetch or SQLFetchScroll (SQLFetchScroll[0] at /builddir/build/BUILD/php-8.1.20/ext/pdo_odbc/odbc_
4
0 602
InterSystems Official Bob Kuszewski · Oct 26, 2023

InterSystems will end support for using the VxFS filesystem with InterSystems IRIS and label it as deprecated as of the release of InterSystems IRIS 2023.3.  InterSystems will continue to support any existing customers using the technology, but it is no longer recommended for new deployments.

VxFS had only been supported on SUSE Linux.  Impacted customers are encouraged to migrate to XFS or another supported filesystem.

Customers with questions should reach out to their account team or contact me directly.

0
0 323
Article Mihoko Iijima · Oct 26, 2023 2m read

InterSystems FAQ rubric

Information on properties defined in a class can be obtained using the following system classes:

%Dictionary.ClassDefinetion

%Dictionary.PropertyDefinition

The code description example is as follows.

Class ISJ.Sample
{
ClassMethod getPropInfo(classname As %String)
{
    set cls=##class(%Dictionary.ClassDefinition).%OpenId(classname,,.status)
    if $$$ISERR(status) {
        write "Specified class does nt exist",!
        quit
    }
    set x=cls.Properties
    for i=1:1:x.Count() {
        // Get property info (%Dictionary.PropertyDefinition)
    
0
2 629
Question Jun Suzuki · Aug 9, 2022

Following the documentation to insert into tableA from tableB in the SQL query box from the Management Portal :

INSERT INTO tableA (col1, col2)
SELECT col1, col2
FROM tableB

This straightforward query raises the following error :

Error #5475: routine compilation error : %sqlcq.TESTuNAMESPACE.cls305. Errors: %sqlcq.TESTuNAMESPACE.cls305.cls
ERROR: %sqlcq.TESTuNAMESPACE.csl305.1(14) :
<UNDEFINED>parseExtFrom+19^%qaqcmx
*mt("f", "1^TABLEA") :

Could someone help me decipher this error message ? Thanks for your help.

7
0 655
Question William Glover · Oct 25, 2023

I have a sub class that calls a method in the parent class it is derived from.

However in the below code a <NO CURRENT OBJECT> error is thrown.

Set propertyValue = $PROPERTY($THIS,name)

Using the debugger  I can see $THIS is returning the name of the subclass as it should and name is the correct property name (worth noting some properties are defined in the superclass not the subclass).

Why is this error ocouring and how can I fix it?

4
0 318
Article Eduard Lebedyuk · Aug 14, 2018 6m read

In this series of articles, I'd like to present and discuss several possible approaches toward software development with InterSystems technologies and GitLab. I will cover such topics as:

  • Git 101
  • Git flow (development process)
  • GitLab installation
  • GitLab Workflow
  • Continuous Delivery
  • GitLab installation and configuration
  • GitLab CI/CD
  • Why containers?
  • Containers infrastructure
  • CD using containers
  • CD using ICM
  • Container architecture

In this article, we would talk about building your own container and deploying it.

14
3 1514
Article Kari Vatjus-Anttila · Oct 20, 2023 11m read

I was attempting to find a solution to grant clients anonymous access to certain API endpoints while securing others within my REST API. However, when defining a Web Application, you can only secure the entire application and not specific parts of it.

I scoured the community for answers but didn't find any exact solutions, except one recommendation to create two separate web applications, one secured and the other unsecured. However, in my opinion, this approach involves too much work and creates unnecessary maintenance overhead. I prefer to develop my APIs spec-first and decide within the spe

7
1 875
Job Jaceita Chilton- Walker · Oct 24, 2023

If interested email to me at jwalkerbdrsolutionsllc.com

Ensemble/IRIS Developer to join our growing team! This position will be performed virtually from the individual's home office working on EST time schedule. This position requires US Citizenship with a Public Trust or the ability to obtain one.
(Military Veterans are highly encouraged to apply)
Role Overview
BDR is in search of a proficient InterSystems Ensemble/IRIS developer to contribute to our Department of Veterans Affairs (VA) contract. The ideal candidate will have a solid background in InterSystems IRIS development within a healthcar


0
0 435
InterSystems Official Bob Kuszewski · Oct 24, 2023

End of support for CentOS

CentOS will no longer be a supported development platform as of the release of InterSystems IRIS 2023.3. 

CentOS had been a supported development platform to give developers a free-to-use equivalent to Red Hat Enterprise Linux (RHEL) for IRIS development.  As you're probably aware, Red Hat made significant changes to CentOS which moved it to being “upstream” of RHEL. This means it has bugs & features not yet included in RHEL, which can cause problems for developers building on the platform.

Developers using CentOS are encouraged to take advantage of Red Hat’s free

0
0 351
Question prashanth ponugoti · Oct 23, 2023

Hi Friends,

We have a requirement to read pdf text in ensemble object script code. As object script doesn't have direct solution , i tried to implement python code , but

iris 2020 , there is no support for python in object script.

so I have found one java utill using pdfbox api.

Now I have created jar and want to register into iris and want to make a call to mymethod to read pdf text.

please help me to way forward to achieve it.

java code:

============

package org.optimus.utils;

import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.text.PDFTextStripper;

import ja

4
0 502
Question Augustin MADET · Oct 24, 2023

import os

# Get environment variables
db_host = os.getenv('DB_HOST')
db_port = os.getenv('DB_PORT')
db_namespace = os.getenv('DB_NAMESPACE')
db_username = os.getenv('DB_USERNAME')
db_password = os.getenv('DB_PASSWORD')

# Create a database connection
conn = irisnative.createConnection(db_host, db_port, db_namespace, db_username, db_password)

# Create an IRIS instance from this connection
iris_native = irisnative.createIris(conn)

status = iris_native.classMethodValue('%SYSTEM.OBJ', 'Load', 'Production.cls', 'ck')

if status == 1:
    print("The Production.cls file was compiled successfully.")
else:
 

3
0 247
Article Kari Vatjus-Anttila · Sep 14, 2023 4m read

Effective documentation is a cornerstone of software development, aiding in code comprehension, maintenance, and collaboration. By harnessing the power of Doxygen and the ObjectScript filter I've created, you can generate rich static documentation from your source code. This approach does not require a running IRIS instance and thus is a good choice in situations when access to IRIS is not possible. Static documentation may be provided to end-users as-is, together with the source code.

Introduction

I searched through the community to find solutions targeting static documentation generation b





7
1 612
Announcement Larry Finlayson · Oct 23, 2023

Managing InterSystems Servers - Virtual  November 6-10, 2023

  • This five-day course teaches system and database administrators how to install, configure and secure InterSystems server software, configure for high availability and disaster recovery, and monitor the system. Students also learn troubleshooting techniques.
  • This course is applicable to both InterSystems IRIS and Caché. Although the course is mostly platform independent, students can complete the exercises using either Windows or Ubuntu.

Self-Register Here

0
0 155
InterSystems Official Fabiano Sanches · Oct 19, 2023

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

✅ 2022.1.4

Release 2022.1.4 provides bug fixes for any of the previous 2022.1.x releases.

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

✅ 2023.1.2

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

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

1
0 485
Question Ashok Kumar T · Oct 22, 2023

Hello Community,

I've enabled the JWT Authentication in my web application. I invoked the /login page to get the JWT and it creates an entry in %SYS.TokenAuth table. Is there any time span for the entries will rid out from the table automatically or It's  a manual process? Where can I find the JWT signature private/public key 

settings screenshot

web application

0
0 238
Article Dmitry Maslennikov · Aug 22, 2023 12m read

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
2 610