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"

I have received 2 errors while publishing Patient data to repository.

6
0 726
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.  

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 withWindows + Docker Desktop + your browser (and more) is neither"Speedy Gonzales" nor a "Road Runner". 🙂First observation you launch your OS command and see NO resultOn 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.

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.

Good day,We recently had penetration testing conducted on our HealthShare clinical viewer and patient Index instances and below is the recommendation1. 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 under %CSP.

1
0 303
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 179
Question Ilenia Centonze · Nov 20, 2023

Hi everyone,

It could be great if some of you have had experience in hl7 v2 messages. The question is about FHIR to hl7 v2.5 conversion. I have to translate a binary resource, encoded in base64 into an orl_o22 message. Do you have advices? Which field could be used for that datatype? 
I have found some implementation using nte segment but it is limited in characters.

Thank you

5
0 506
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?

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?

5
0 303
Question Alan Watts · Nov 20, 2023

I tried both the latest 32-bit and 64-bit Cache ODBC drivers, but I’m getting this “Message sequencing error” when I attempt to connect to the Cache server.  Client is a Windows Server 2022. Server is a 2008 version of Cache ( or customer thinks). I’ve tried a number of things without success.  If I enter invalid credentials I do get the quick “Access Denied” response.  But when I have the proper IP/port/namespace/credentials I consistently get this error below.  Google shows others struggle with that error, but no resolution.

0
0 404
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 279
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 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.

1
0 610
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:

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"))))/* FEHLER

3
0 320
Question David Wardana · Nov 20, 2023

This question originally appeared in the comments of the post: InterSystems Data Platforms and performance - Part 5 Monitoring with SNMP
 

I tried monitoring iris with zabbix, SNMP from IRIS send to zabbix server, but on messages.log in iris appears many warning log like below,

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(This question originally appeared in the comments of the post: InterSystems Data Platforms and performance - Part 5 Monitoring with SNMP I tried monitoring iris with zabbix, SNMP from IRIS send to zabbix server, but on messages.log in iris appears many warning log like below,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
1
0 181
Question Cyril Grosjean · Nov 15, 2023

Hello,

In response to the infrastructure needs of our company's service, I've created a small API that sends SNMP queries to InterSystems to visualize relevant data for retrieval when the infrastructure implements monitoring.

However, I'm experiencing a timeout issue when attempting to collect information using an SNMP walk. Here is the code for my API's SNMP service:

import snmp from"net-snmp";

const options = {
    port: 161,
    retries: 4,
    timeout: 3000,
    transport: "udp4", // Uniquement udp4 et udp6 possible
    trapPort: 162
};

const oids = [ Hello,In response to the infrastructure needs of our company's service, I've created a small API that sends SNMP queries to InterSystems to visualize relevant data for retrieval when the infrastructure implements monitoring.However, I'm experiencing a timeout issue when attempting to collect information using an SNMP walk.const oids = [ "1.3.6.1.4.1.16563.4.1.15.1.
1
0 407
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.

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 package WebCommand that I presented a year ago.They all act in the same way.

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

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

 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 @John.

1
0 403
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. 

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.
0
0 235
Question Yone Moreno · Nov 6, 2023

Good morning,

First of all we would like to thank you for your time reading, thinking and aswering this question.

We have been developing a Transformation to convert a source ORU_R01 to a target ORU_R01. For each OBX segment we need to check an if, and then, if it is true we just need to put this OBX and continue to the next iteration, otherwise, if it is false, we need to put (copy) the ORC + OBR + TQ1 before this OBX, and then put this OBX, and after that, the SPM.

Good morning,First of all we would like to thank you for your time reading, thinking and aswering this question. We have been developing a Transformation to convert a source ORU_R01 to a target ORU_R01. For each OBX segment we need to check an if, and then, if it is true we just need to put this OBX and continue to the next iteration, otherwise, if it is false, we need to put (copy) the ORC + OBR + TQ1 before this OBX, and then put this OBX, and after that, the SPM. We have been creating and testing two variants.

4
0 355
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:

InterSystems FAQ rubricA 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.
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.

InterSystems FAQ rubricYou 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.

1
0 755
Question Wesley West · Nov 15, 2023

I am trying to execute a program from within cache using a $zf call

S X=$ZF(-1,"C:\""Program Files (x86)""\Car-Part\Messaging\iCPM.exe")

For the sake of this post I changed it to open notepad

S X=$ZF(-1,"C:\Windows\notepad.exe")

If I call it directly from terminal notepad opens and all is happy.  

If I add it to a program we use to run certain tasks once an hour or even every 10 minutes it will fire off notepad but it will be in the background.

The messaging application we use will not work at all in the background and needs to be in the foreground.  

I am trying to execute a program from within cache using a $zf callS X=$ZF(-1,"C:\""Program Files (x86)""\Car-Part\Messaging\iCPM.exe")For the sake of this post I changed it to open notepadS X=$ZF(-1,"C:\Windows\notepad.exe")If I call it directly from terminal notepad opens and all is happy.  If I add it to a program we use to run certain tasks once an hour or even every 10 minutes it will fire off notepad but it will be in the background.The messaging application we use will not work at all in the background and needs to be in the foreground.

2
1 340
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 select 
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.

InterSystems FAQ rubricTo 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.

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
  • 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.The package contains also an IRIS server in Docker for the demoIt 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.
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.
  • 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, DeleteVisualization 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.
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=##class(InterSystems FAQ rubricTo 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" ?> 
<MsgFile Language="en">
  <MsgDomain Domain="UserErrors">
    <Message Id="-111" Name="MyError">An error has occured</Message> 
    <Message Id="-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.set
2
2 717