Business Rules can define a context object, whose properties are exposed and used in the expressions of the rules. For example, my context object is an object with 3 properties. PropA, PropB and PropC.

When constructing my rules, I can call a custom function, and I have one I built myself called 'myFunction' which takes arguments and I pass in properties of my context object. (I can pass in the value of the context object's PropA, B or C).

0 6
0 282


I am using a class based on %UnitTest.TestProduction to test Health Connect production.

I read in Class Reference IRIS for UNIX 2020.1:

Note: This class is not intended to be used in InterSystems IRIS instances.

Why should this not be used in IRIS? I have not seen any difference using this with HealthConnect 2017 or IRIS 2020.1

0 1
0 242


We are using IRIS, and have some systems that we send data to that cannot accept messages with certain fields larger than a particular size.

Is there any way to utilize the schema to truncate any fields that are larger than the entered data?

I've tried just setting the max lengths and doing the transform, but it puts in the entire string, and can't find a topic for it.

There are a large number of fields that need to be truncated, so it would be ideal to get it to respect the hl7 schema maximum lengths.

1 5
1 521


I want to deploy Iris Interoperability Production in multiple containers . The production has File Services that process files from EFS location. All the files being processed by multiple containers are in the same directory. The standard Adapter class does not have Check Complete option to lock a file so that other containers File Services looking in the same file path cannot process the same file.

I updated the Inbound File Adapter class to offer another Check Complete option LOCK that will lock the file until it is processed and archived.

1 2
0 215

Hi all,

I have a class that has been working so far :(

The class extends the EnsLib.RecordMap.Service.FTPService class and add some information for each rows.

Now, when it saves the object it is raising the following error

ERROR #5803: Failed to acquire exclusive lock error

I've seen the other question in the community and I've tried to unlock

0 5
0 1.1K

Hello; we are scanning 835 files, and need to validate segment types (such as ISA, ST, IEA, etc.) before we give the file the "OK". I see segment types in the management portal under Ensemble / Interoperate / ASC X12 / ASC X12 Schema Structures. Are these segment types stored in an IS table anywhere?

Aside from EnsLib_EDI_X12.Document, are there any other tables that describe, or support, document segment types?



0 2
0 201
· Mar 1, 2020
SQL Inbound Adapter Errors


I created a BS with a SQL Inbound Adapter.

Query = "SELECT rowid, fname ,lname,datesent
FROM labs

DeleteQuery = " update labs set datesent = Getdate() where rowid = ?"

KeyFieldName = "rowid"

i am getting the following errors.

"NOT assuming network disconnect error based on: Gateway failed: DropStatement."

"Skipping previously errored row '235'"

0 1
0 269

I'm trying to tie IRIS (2019.1) into our Concord Fax cloud-based email-to-fax workflow. We have some sites that require a fax be sent to multiple locations based upon certain data (ie Radiology and Emergency departments). Unfortunately, CC-ing does not work with Concord Fax so I need a way to send the email, change the recipient, and then send it again if certain criteria are met. Is this possible? Do I need to duplicate and rename the method, calling the second one in the MessageMap?

Here's what my code currently looks like:

0 2
0 212

Hello, has anyone tried to use Caché as a reverse proxy ?

We are trying to embed a dashboard server (Plotly Dash in this case, but it could be anything which runs on its application server) inside our application which is written in Caché.
The dashboard/report server runs locally (for example, or inside a LAN) on port 8080, and has no authentication features, so we have to implement them on a different layer, and we'd like to use Caché for it.

1 5
0 433

I'm connecting to a remote device using TCP. It has a binary protocol.

set host = ""
set port = ""
set io = $io
set device = "|TCP|7000"

set timeout = 2
open device:(host:port:"M")
use device:(/IOT="RAW")
read string:timeout

use io
zzdump string

The problem is when reading from it, I get a 0A (also known as 10 or \n or linefeed) byte, which terminates the read.

Expected output:

0000: 42 00 7B 0A 11

But I get this output:

0000: 42 00 7B

How can I fix that?

0 1
0 238

Hi All,

I created a Business Operation to Integrate with Amazon S3.
I have used HTTP Outbound Adapter for the same. Used Get method of Adapter Class.
Basically in a request I want to send Unique File Name and File and in Response I want to get Version ID and if operation was successful, then set flag to true.

I have created a class for request in that I have two properties, as shown Below :

Property fileName As %String;
Property file As %GlobalBinaryStream;

This is in my Operation Class

0 8
1 720


I need to route a message synchronously to multiple targets using a routing rule.

In IRIS I built a general routing rule set, made up of a couple of rules. For one Rule in particular, and based on a common condition, I want to send the incoming message to 2 different targets. (no transformation is used)

I can select, in the single SEND action, multiple target names, or, I can create consecutive SEND actions, one after the other, each sending to their specific target.

1 1
0 357