#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 Robert Cemper · Nov 20, 2023

While creating my latest examples for the JavaContest I faced the need
to communicate with my code from a program in IRIS to my Java code.

Communication with |CPIPE| worked as READ or WRITE  but not both?
In the Documentation Named PIPEs are explained rather shortly.
"Once open, a pipe acts like an ordinary device."  Not so precise.
I failed to achieve my expected READ/WRITE  as TCP would offer. 

Has anyone a working example to demonstrate it? 
Any suggestion is welcome.

I found a workaround for my actual case.
Though I'm not so happy with it.

4
0 482
Question Ravi Kushwaha · Nov 21, 2023

Hi,

After upgrading from Cache to IRIS while running the web application I am getting an error in message.log

 Error: Create Gateway - Unable to create new gateway connection: ERROR #5023: Remote Gateway Error: <NOTOPEN>%AddToCurrentClassPath+6^%Net.Remote.Gateway.1

Cache Version : Cache for Windows (x86-64) 2018.1.7 (Build 721U) Fri Mar 18 2022 22:07:35 EDT

Upgrade to IRIS Version : IRIS for Windows (x86-64) 2022.1.2 (Build 574_0_22511U) Thu May 11 2023 22:36:05 EDT 

1
0 322
InterSystems Official Bob Kuszewski · Nov 22, 2023

It’s hard to believe that this wraps up our first year of quarterly platform updates.  Thank you for making this a great first year.  Today’s update talks about the planned Minimum Supported CPU list, OpenSSL 3.0 for AIX reaching GA, and a bit more.  We’ll be back for 2024!

This update aims to share recent changes as well as our best current knowledge on upcoming changes, but predicting the future is tricky business and this shouldn’t be considered a committed roadmap. 

With that said, on to the update…

InterSystems IRIS Production Operating Systems and CPU Architectures

 

Minimum S

0
1 553
Question Prasanth Annamreddy · Nov 20, 2023

I have received 2 errors while publishing Patient data to repository. Message viewer displays like below and the Application log found  bold content.

Could you please help me on this to resolve the errors.

An error occurred with the web application.
It has been logged to system error log (System Operation>System Logs>Application Error Log).

"<METHOD DOES NOT EXIST>OnPage+42^EnsPortal.MessageContents.1 *%Id,HS.FHIRServer.API.Data.Request : CSP Error"

Business Operation Event logs displays "ERROR <Ens>ErrRequestNotHandled: Request message '3@HS.FHIRServer.API.Data.Request' not handled"

Pleas

6
0 725
Article Robert Cemper · Nov 19, 2023 1m read

Based on the successful solution for my 2nd contribution to the Contest 
I used an adapted version for this package. And have some findings I'd like to share.

Multiple communication steps over CPIPE may take time.
You won't recognize it on a fast machine. But a slower box with
Windows + Docker Desktop + your browser (and more) is neither
"Speedy Gonzales" nor a "Road Runner". 🙂

First observation you launch your OS command and see NO result
On the console, you just sit there and expect a reply.
Establishing the Connection to IRIS is a typical case.
Jour redirected Output is just empty.  

This happe

1
0 259
Question Ephraim Malane · Nov 21, 2023

Good day,

We recently had penetration testing conducted on our HealthShare clinical viewer and patient Index instances and below is the recommendation

1. Set a same-site cookie for identified CSPWSERVERID. Please advise where I can do this as I only saw this on web gateway settings and it has enable and disable options only.

2. Avoid the usage of session cookies as an Anti-CSRF Token on identified cookie IRISSessionToken. Please advise if this is used as a session as they mentioned that if it's not used as a session we can ignore their recommended remediation. I found that this is set und

1
0 302
Question Parikshit Mayekar · Nov 21, 2023

This question originally appeared in the comments of the post: Making Prometheus Monitoring for InterSystems IRIS and Caché
 

I am new to IRIS, I was setting up the monitoring referring to the above documentation. Please can you help me how can I compile the my.metrics class mentioned in the documentation through CLI in the Linux VM where I am not having studio setup. Could you help me please?

1
0 177
Question Yone Moreno · Nov 20, 2023

Hello,

First of all thanks for your time reading this doubt.

We have discovered the following behaviour. Inside a Router we have a roule which needs to filter out the ADT_A08 messages which have not OBXs.

The legacy system had this rule implemented:

(((Document.{OBX(1).SetIDOBX}<"1")||((Document.{EVN:EventReasonCode}!="COD")&&(Document.{EVN:EventReasonCode}!="FIN")))

However we have tested it and it does not filter out the ADT_A08 messages.

Is there any way to express inside a Rule, that we need to discard ADT_A08 messages which have not OBXs?

We have been investigating this class

5
0 303
Question Olaoluwa Adewoye · Nov 18, 2023

Hello, I am going through the log files of my instance and I wanted to know what each part of it meant. I've tried going through the documentation but I wanted clarification.

I understand there is a log viewer, but I want to understand this directly through the text file. For example, if I were to read this-

"11/06/23-21:00:46:680 (444) 0 [Utility.Event] Performing Journal Recovery"

What would each part of this line be called? 

Thank you for your assistance.

3
0 276
InterSystems Official Ming Zhou · Jun 2, 2023

InterSystems is pleased to announce the central component for InterSystems Supply Chain Orchestrator™, the 2023.1 release of InterSystems IRIS for Supply Chain, is now Generally Available (GA).

InterSystems Supply Chain Orchestrator is built on InterSystems IRIS®, our complete cloud-first data platform that enables a smart data fabric architecture to make it easier to build and deploy high-performance, machine learning-enabled applications that connect data and application silos. It brings together the power of InterSystems IRIS with supply chain-specific accelerators and frameworks to provid

1
0 609
Discussion Muehleder Helmut · Nov 19, 2023

Maybe anyone has a working example?

This is what I have tried: (like in the documentation)

I get no messages but tSC is:

tSC="0 "_$lb($lb(8104,"<GATEWAY> java.lang.OutOfMemoryError java.nio.Bits.reserveMemory(Unknown Source) Direct buffer memory",,,,,,,,$lb(,"USER",$lb("e^OnAsStatus+1^%Net.Remote.Exception.1^1","e^AsStatus+1^%Exception.AbstractException.1^1","e^ReceiveMessage+5^%External.Messaging.Client.1^1","e^CreateConsumer+18^myKafka^1","d^^^0","E^^myKafka^0","d^^myKafka^0","E^^myKafka^0","d^^myKafka^0","E^^myKafka^0","d^^myKafka^0","E^^myKafka^0","d^^^0","E^^myKafka^0","d^^^0"))))/* FE

3
0 319
Article Robert Cemper · Nov 19, 2023 2m read

There are situations when your only access to a server is using a web browser,
and there is just no chance of a Terminal or Console access.
The Online Demo Server is such a case.

So you have WebTerminal. That's fine for ObjectScript and Embedded Python.

But my demo is straight Java. And is interactive.
$ZF(-100...) is some aproach. But it's rater batch-oriented and not interactive.
@Enrico Parisi  presented a nice extension to WebTerminal recently.
It's close to my own packageWebCommand that I presented a year ago.

They all act in the same way. It is always a single-shot approach:
Launch a comma

0
0 234
Article Enrico Parisi · Nov 18, 2023 3m read

 I think WebTerminal is an outstanding project, kudos to @Nikita Savchenko 

One useful functionality is missing, the the ability to run Operating System (Linux or Windows) commands.
In many cases WebTerminal is used when access to the OS is difficult, so having the ability do run simple OS commands from WebTerminal would be a big advantage.
Using "normal" terminal, be it Windows IRIS console, Windows Telnet or within "iris session" in linux is simple, from the IRIS terminal prompt just precede the OS command with "$" or "!".
See the article "Terminal tip: Running OS-level commands" from @Joh

1
0 402
Question David Wardana · Nov 18, 2023

I tried to monitoring IRIS with Zabbbix Server. Snmpwalk from Zabbix to IRIS success and got data from IRIS. But in message.log appears many warning message if snmpwalk running. 

11/18/23-21:04:31:507 (30326) 1 [Utility.Event] Unexpected error relating to fetch in TrakCare SNMP - <UNDEFINED>zSNMPFetch+110^websys.Indicators.1 *TCNS("1","3","1")
11/18/23-21:04:31:520 (30326) 1 [Utility.Event] Unexpected error relating to fetch in TrakCare SNMP - <UNDEFINED>zSNMPFetch+117^websys.Indicators.1 *TCNS("1","3","1")
11/18/23-21:04:31:533 (30326) 1 [Utility.Event] Unexpected error relating to fetch i
0
0 235
Question isabella Barnes · Nov 16, 2023

Can someone share some details for creating a  pipeline for converting CCDA (XML) document into Flatfile or CSV File using IRIS.

@Marc Mundt 
@David.M 
@Paul Lomayesva

Could you please help me out identifying the inbound and outbound adapters along with the DTL process for converting CCDA into CSV Files.


Thanks in  advance!!
Isabella

3
0 529
Article Megumi Kakechi · Oct 19, 2023 2m read

InterSystems FAQ rubric

A tool (^GLOBUFF utility) is available to check the database cache usage for each global variable.

You can run the utility directly or programmatically in the %SYS namespace.

Here's how to run the utility directly:

USER>zn "%SYS"
 
%SYS>do ^GLOBUFF
 
Find which globals are using the most buffers.
 
Display the top <25>:     → Press Enter  // Default is to display top 25 globals
 
Total buffers: 102400     Buffers in use: 6926     PPG buffers: 77 (1.112%)   // Global name, database name, percentage occupied by the buffer
 
Item  Global                             Database    


5
1 932
Article Tomoko Furuzono · Jun 1, 2023 1m read

InterSystems FAQ rubric

You can set the maximum size of the IRISTemp database at IRIS startup by setting a configuration parameter called MaxIRISTempSizeAtStart.

After setting, the system will truncate IRISTemp to the set value (MB) at the next IRIS startup. If the current size is less than the specified MaxIRISTempSizeAtStart, no truncation will occur. Also, if 0 is specified, truncation will not be performed, so the size will start without changing. (Default) Settings are made from the menu below.

Management Portal
[System Administration] > [Configuration] > [Additional Settings] > [Start]

1
0 755
Article Yuri Marx · Nov 11, 2023 4m read

Prepare a Sample application


1. For this tutorial we will use the iris-rest-api-template (https://openexchange.intersystems.com/package/iris-rest-api-template), adding some code to install JIRISReport support. Do these steps:
2. Clone the project on a local folder:

$ git clone https://github.com/intersystems-community/iris-rest-api-template.git

3. Edit the file Dockerfile with this content:

ARG IMAGE=intersystemsdc/iris-community:2020.3.0.221.0-zpm
ARG IMAGE=intersystemsdc/iris-community
FROM $IMAGE

USER root

RUNecho ttf-mscorefonts-installer msttcorefonts/accepted-mscorefonts-eula






















6
3 660
Article Tomoko Furuzono · Nov 16, 2023 2m read

InterSystems FAQ rubric

To run an online backup from a command you can use the API BACKUP^DBACK routine.
An example of performing a full backup is as follows.

set  status = $$ BACKUP ^DBACK( "" , "F" , "full backup" , "c:\backup\full.cbk" , "Y" , "c:\backup\full-log.log" , " NOINPUT" , "Y" , "Y" , "" , "" )

The return value is 1 if the backup is successful, and 0 if the backup is unsuccessful. Please refer to the log file for details on failure.

Additionally, you can specify C for the second argument TYPE to specify a cumulative backup, and specify I to specify a differential backup.

An ex

0
0 352
Article Robert Cemper · Nov 10, 2023 2m read

In my previous articles, I described my Command Line Extension to NativeAPI.
Of course, this is also available for any other NativeAPI package.
So I created this example as a demo for the actual Java Contest.
<--break->
The package contains also an IRIS server in Docker for the demo
It is evident that it also works with any remote IRIS server.
You just have to provide it with my NativeAPI CommandLine Extension.

I think this demo is easy to follow and shows the essential features.

  • First, you install the package and start the container
  • then you start the demo
    docker-compose exec iris java rcc
  • Next, you c
2
0 322
Article Robert Cemper · Nov 15, 2023 2m read

This is the related article to the package in Java Contest. 
I decided to present a CRUD++ Global Editor based on IRIS Native API for Java.
++ because it’s a little bit more than just Create, Read, Update, Delete
Visualization of a global is always important to review results immediately.

  • For this purpose, I have extended the API with a Tree Viewer that mimics  ZWrite and allows also the examination of subtrees.
  • A $Query Style Navigator Forward and Reverse operating for easy finding the Global node of interest.
  • Finally, an option to ZKill to delete the content of a Global Node without deleti




2
0 450
Article Mihoko Iijima · Nov 9, 2023 1m read

InterSystems FAQ rubric

To create a user-defined error you need to prepare the XML that describes the error code and corresponding message that you want to use as a user-defined error.

Please set the error code as a negative integer.

<?xml version="1.0" encoding="UTF-8"?> 
<MsgFileLanguage="en"><MsgDomainDomain="UserErrors"><MessageId="-111"Name="MyError">An error has occured</Message> 
    <MessageId="-222"Name="MyError2">An error has occured 2</Message> 
  </MsgDomain></MsgFile>

Once the XML file is created, load it into the namespace you want to use.

setx=##cla
2
2 717
InterSystems Official Fabiano Sanches · Nov 15, 2023

The 2023.3 releases of InterSystems IRIS Data PlatformInterSystems IRIS for Health, and InterSystems IRIS Studio are now Generally Available (GA).

RELEASE HIGHLIGHTS

2023.3 is a Continuous Delivery (CD) release. Many updates and enhancements have been added in this release:

Enhancing Cloud and Operations

Journal Archiving: Starting with this release, system administrators can now configure an archive location for completed journal files. When configured, after a journal file switch, the completed journal file will first be compressed (using the Journal Compression feature) and then autom

0
0 377
Announcement Larry Finlayson · Nov 15, 2023

Managing InterSystems Servers – In Person  December 11-15, 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 157
Announcement Larry Finlayson · Nov 15, 2023

Developing with InterSystems Objects and SQL – IN PERSON December 4-8, 2023   9:00am-5:00pm US-Eastern Time (EST)

  • This 5-day course teaches programmers how to use the tools and techniques within the InterSystems development environment to build high-performance transactional applications. Learners build a complex application using an IDE, object-oriented design, SQL and unit testing.
  • This course is applicable for users of InterSystems IRIS Data Platform and Caché.
  • Many benefits are offered by being physically in the classroom with our instructors for a more personalized educational experi
0
0 152
Question Jerry Petrole · Nov 15, 2023

I'm looking for an SMS Texting solution that will implement easily with IRIS.    Our company uses Twilio for our .Net applications but I'm hoping there might be something else available.  If anyone has experience with this please let me know!

Best,

Jerry

4
1 306
Question Stuart Strickland · Nov 8, 2023

I want to convert a string to uppercase that may or may not be a $LIST so that I can do a case insensitve search. However, when looking at what constitutes a $LIST I can see something that looks like it follows these rules:

Example: S X=$LISTBUILD("hello","world!")  gives X=$C(7,1)_"hello"_$C(8,1)_"world!"
The 1st character is $C( how many characters to the start of the next piece)
The 2nd is probably something to do with nested $LISTs
Then you have your raw "hello" followed by $C(8) which is the distance to the end of the next piece
This means that if I have a long string in one of my pieces of

11
1 744
Question Adam Raszkiewicz · Nov 14, 2023

Which process notify Web Gateway when to switch to secondary/mirror IRIS? I'm trying to debug a case when the web gateway doesn't know about primary IRIS failure and is trying to send request to that instance which is causing 500 error. Also, no clue why at the same time I see that GET request to /csp/bin/mirror_status.cxw will return 200 OK.

Our setup is 2 web gateways, primary IRIS, secondary/mirror IRIS and an arbiter.
 

2
0 249