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

Article Guillaume Rongier · Jul 8, 2024 3m read

wsgi_logo

Context

The Web Server Gateway Interface (WSGI) is a simple calling convention for web servers to forward requests to web applications or frameworks written in the Python programming language. WSGI is a Python standard described in detail in PEP 3333.

🤔 Ok, great definition and what the point with iris ?

IRIS 2024.2+ has a new feature that allows you to run WSGI applications directly on IRIS. This feature is a great way to integrate IRIS with other Python frameworks and libraries.

This goes in the trend of Python first experience, where you can use Python to interact with IRIS, and now you can

0
0 630
Question Veerraju Grandhi · Jun 13, 2024

I am trying to extract GMHeap, Locksiz values form Config.config using python (imported irisnative for Python) but the below python progam is not returning any value. Please suggest if i am doing any mistake - 

Also, plese suggest how i can set values for GMHeap and Locksiz to a different value through Python.

import irisnative

hostname = "127.0.0.1"
port = 1972
namespace = "%SYS" #change the namespace based on situation
username = "_SYSTEM"
password = "xxxxxxxx"
connection = irisnative.createConnection(hostname, port, namespace, username, password)
dbnative = irisnative.createIris(connection)

gmheap_

9
0 280
Article Muhammad Waseem · Jun 16, 2024 6m read

By default, all files created inside a container are stored on a writable container layer. This means that:

  • The data doesn't persist when that container no longer exists, and it can be difficult to get the data out of the container if another process needs it.
  • A container's writable layer is tightly coupled to the host machine where the container is running. You can't easily move the data somewhere else.
2
5 529
Question Sylvie Greverend · Jul 2, 2024

I use a swagger file and ##class(%REST.API).CreateApplication to create the rest api.

There is an interesting post: https://community.intersystems.com/post/download-file-rest-api-operation, but it is code, not a swagger configuration. disp.cls returns always a header content : application/json that of course fails as I am not always returning a json

I can not figure out what to put in swagger. Some examples I tried:

produces:
- application/pdf
- image/png
responses:
   200:
      schema:
           type: file
responses:
   200:
       schema:
           type: string
           format: binary

Thank you

2
0 231
Article Tomoko Furuzono · Jul 4, 2024 1m read

InterSystems FAQ rubric

$ZTIMESTAMP returns the date and time in UTC format, so to change it to the local time zone, use the following system method: 

$SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMESTAMP)

The above output will be in the format ddddd,sssss.fff.

    ddddd: Same format as $HOROLOG dates
 sssss: An integer indicating the number of seconds elapsed since midnight on the current date
 fff: Variable number of digits indicating the fractional part of a second

* Similar to $HOROLOG, except that $HOROLOG does not include fractional seconds. 

SAMPLES>write$SYSTEM.Util.UTCtoLocalWithZTIMEZONE($ZTIMES
1
0 250
Question Aman · Jul 2, 2024

Hello Community,

I'm a beginner and currently working on a project to convert CCDA files to FHIR using InterSystems IRIS. I have developed a web form to upload CCDA files, and I'm attempting to convert the uploaded CCDA files to FHIR. However, I am encountering an issue where the conversion process results in an empty entry.
Here's the Output it displays on HTML page:

Size of CCDA Stream: 74152
vR4
{"resourceType":"Bundle","type":"transaction","entry":[]}

Here is my code: CCDtoFHIR.csp

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=
9
0 231
Question Sylvie Greverend · Jun 20, 2024

How do you authenticate with a rest api? The rest api implemention allows us to add in the header Authentication: 'Basic ' + btoa(user + ':' + password) but it is not really secure as a user can inspect and with the right decoding tool see a user password

4
1 398
Article Benjamin De Boe · Jun 6, 2024 4m read

We're excited to continue to roll out new features to InterSystems IRIS Cloud SQL, such as the new Vector Search capability that was first released with InterSystems IRIS 2024.1. Cloud SQL is a cloud service that offers exactly that: SQL access in the cloud. That means you'll be using industry-standard driver technologies such as JDBC, ODBC, and DB-API to connect to this service and access your data. The documentation describes in proper detail how to configure the important driver-level settings, but doesn't cover specific third-party tools as - as you can imagine - there's an infinite number of them.

In this article, we'll complement that reference documentation with more detailed steps for a popular third-party data visualization tool that several of our customers use to access IRIS-based data: Microsoft Power BI.

17
0 629
Question Norman W. Freeman · Jun 27, 2024

I have a class that inherit from AbstractException

I would like to create a new constructor that has 5 parameters :

Class Foo Extends%Exception.AbstractException
{
    Method %OnNew(arg1 As%String, arg2 As%String, arg3 As%String, arg4 As%String, arg5 As%String) As%Status
    {
        quit##super("some message")
    }
}

I cannot compile it : 

ERROR #5478: Keyword signature error in Foo:%OnNew, keyword 'method argument/s signature' must be '%Library.String,%Library.String,%Library.String,%Library.String,%Exception.AbstractException' or its subclass

It's possible to create a

6
0 315
Question Veerraju Grandhi · Jun 16, 2024

Hi, My python code to import a task is as below –

# dont disturb below lines

import irisnative

hostname = "127.0.0.1"

port = 1972

namespace = "%SYS" #change the namespace based on situation

username = "_SYSTEM"

password = "xxxxxxxx"

logfile = "exetask.log"

connection = irisnative.createConnection(hostname, port, namespace, username, password)

dbnative = irisnative.createIris(connection)

# dont disturb upto here

print("Importing LIS Backup Task")

imptask = dbnative.classMethodValue('%SYS.Task','ImportTasks(FileName = "F:\ZBackup\LISBackupTask.xml",qspec = "d")')

print("After Import LIS Backup Task:

11
0 214
Question Jeffrey Drumm · Jun 28, 2024

There's a distinct difference between the control sequences issued by Windows ssh.exe (OpenSSH_for_Windows_9.5p1, LibreSSL 3.8.2) vs. the RHEL 9 ssh (OpenSSH_8.7p1, OpenSSL 3.0.7 1 Nov 2022) when establishing a session to a Linux host.

Windows ssh issues the following for the Home/End keys:

^[OH - Home
^[OF - End

Linux ssh issues these:

^[[1~ - Home
^[[4~ - End

iris session does the "right thing" when the initial ssh client is Linux (i.e. Home moves to the beginning of the line, End to the end), but not Windows; pressing either Home or End sends whatever has been typed so far to be interpreted as a

0
0 157
Article Eduard Lebedyuk · Feb 9, 2024 6m read

Welcome to the next chapter of my CI/CD series, where we discuss possible approaches toward software development with InterSystems technologies and GitLab. Today, we continue talking about Interoperability, specifically monitoring your Interoperability deployments. If you haven't yet, set up Alerting for all your Interoperability productions to get alerts about errors and production state in general.

Inactivity Timeout is a setting common to all Interoperability Business Hosts. A business host has an Inactive status after it has not received any messages within the number of seconds specified by the Inactivity Timeout field. The production Monitor Service periodically reviews the status of business services and business operations within the production and marks the item as Inactive if it has not done anything within the Inactivity Timeout period. The default value is 0 (zero). If this setting is 0, the business host will never be marked Inactive, no matter how long it stands idle.

1
0 1332
Announcement Timothy Leavitt · Nov 8, 2021

If you're building solutions on IRIS and want to use Git, that's great! Just use VSCode with a local git repo and push your changes out to the server - it's that easy.

But what if:

  • You're collaborating with other developers on a shared, remote development environment and want to avoid concurrent editing of the same file
  • You're using editors based in the management portal for BPL, DTL, pivots, dashboards, etc. and want straightforward source control for your work
  • You're still using Studio for some things and/or occasionally jump back there from VSCode - or, your team has not yet fully
50
15 5233
Article Hiroshi Sato · Jun 27, 2024 1m read

InterSystems FAQ rubric

You can use the List query of the %SYS.Audit to output audit logs programmatically.

The sample code is as follows:

Set statement=##class(%SQL.Statement).%New()  
 Set status=statement.%PrepareClassQuery("%SYS.Audit","List")
 Set rs=statement.%Execute()  
 Set tab = $char(9)
 While rs.%Next() {    
   Write rs.%Get("TimeStamp")_tab_rs.%Get("Event")_tab_rs.%Get("Username"),!      
 }
0
0 279
Article Robert Cemper · Mar 21, 2024 2m read

This is an attempt to run a vector search demo completely in IRIS
There are no external tools and all you need is a Terminal / Console and the management portal.
Special thanks to Alvin Ryanputra as his package iris-vector-search that was the base
of inspiration and the source for test data.
My package is based on IRIS 2024.1 release and requires attention to your processor capabilities.

I attempted to write the demo in pure ObjectScript.
Only the calculation of the description_vectoris done in embedded Python
Calculation of a vector with 384 dimensions over 2247 records takes time.
In my Docker

11
2 575
Announcement Olga Zavrazhnova · Jun 27, 2024

Hi Community, 

Watch this video to learn about the Monitoring and Alerting Capabilities of InterSystems IRIS.

🗣  Presenter: @Mark BolinskyPrincipal Technology Architect, InterSystems

This demo was prepared for one of our past online developer roundtables. We encourage you to ask your specific questions about this topic in the comments section, and we will invite our experts to answer them!

Useful Links:

0
1 219
Question Phillip Wu · Jun 18, 2024

Hi,

I want to refresh the data in the databases from the data that exists in the production system.

The IRIS system in both test and production are in a mirror arrangement

Can the refresh be done by doing a backup on the production system and restore the same backup to test?
Could the refresh be customised so that certain databases can be excluded?

5
0 289
Question Lynn Lantz · Jun 25, 2024

I'm trying to keep all writes in local memory.

If you have    S %A="""HI THERE"",!,#,33.33,"" "",$ZTIMESTAMP"

and you         O 2 U 2 W @%A C 2 ZW ^SPOOL                    
^SPOOL(1,1)="HI THERE"_$c(13,10)
^SPOOL(1,2)=$c(13,12)
^SPOOL(1,3)="33.33 67016,59246.6188873"

It works just fine and the output is in the ^SPOOL global. 

However, I'm trying to avoid writing to disk.

I can't find anything besides using the SPOOL device that will allow the use of the "@" indirection.

I tried using streams but it will not allow @indirection.  Neither will set, or execute, or anything.

Is there any easy way to just

4
0 253