Ensemble

Syndicate content 72 

My custom Business Operation typically creates a Ens.StringResponse with StringValue which is sent back to my custom Business Service.  Is there a way I can use the assign, or some way, in Rule Editor in a Business Process (EnsLib.MsgRouter.RoutingEngine) so that it can send back a Ens.StringResponse with a StringValue to the Business Service when not routing the message to any operation?

00
0 1 104

I am having difficulties with using the ..Strip() function in my DTL to strip the slash ( / ) from the phone number portion of an x12 834.  There are very few records that have the slash in the phone number, so I am trying to filter out any characters other than numbers so that all phone numbers are formatted 1112223333.

Here is the code portion of the strip:

       Set           HomePhone             ..Strip(source.{loop2000(k1).loop2100A.PER:CommunicationNumber},"*AW","-()/").

I am then checking the length of HomePhone.

00
0 4 75
Question
Oliver Wilms · Jul 28, 2020
Enterprise Message Bank

Hello,

I work with IRIS for Health 2020.1 and I attempted to set up Enterprise Systems to populate Message Bank. I see entries in Message Bank Event Log from the defined Enterprise Systems.  I can browse Messages going back before I set up Enterprise Systems using Enterprise Message Viewer. However, I find no messages in Message Bank Viewer. Do I need anything extra to archive messages?

00
0 4 65
Question
Ewan Whyte · Feb 21, 2018
HL7 segment query using SQL

I'm trying to get a count of specific message type with a specific entry and thought I could build the query in Message Viewer but  this does not provide counts (as far as I am aware). So when I take the SQL from 'Show Query' it omits the segment criteria as the code shows below. 

 I have attached the criteria that has been excluded. Is this possible?

Thank you

00
0 2 724

I want to write the values that are stored in an array into the OBX 5 field.  The text in MyArray(1) will go in the the first OBX 5 field.  Then the text in MyArray(2) will populate the next OBX 5 field. 

My question is how do you format the Set > Action Tab > Value entry so that it pulls the data from MyArray(source.{PIDgrpgrp().ORCgrp().OBXgrp().OBX:SetIDOBX})

00
0 1 73
Question
Tim Miller · Jul 24, 2020
Uptime reports for Ensemble HL7

Good morning all,

Could we please get some insight on what is possible (or what other organizations may be using) for tracking uptime for our HL7 engine?  We can use Activity Tracking to show how many messages went through, but are there any good canned reports (or queries) about the number of message failures or the amount of time that an interface was down?

We are using alerting to the team to know about not getting messages or if messages failed.  Has anyone created a report or dashboard against the Ens.Alert table or would you recommend elsewhere?

00
0 3 78

Hi,

Can anyone  point me to an example of a DTL & Class method that can pull a base64 encoded PDF out of a MDMT02 message?

This is really asking for two things;

- how to make a DTL that extracts a specific subfield of an HL7 2.3 message into a message of its own,

and

- how to transform an base64 encoded document into its original binary form for writing to a file.

I'd also love to see an example of an HL7 2.n MDM^T02 ==> HL73.ITK2 non-coded CDA

00
0 3 1,947
This is a coding example working on Caché 2018.1.3 and IRIS 2020.2 
It will not be kept in sync with new versions 
It is also NOT serviced by InterSystems Support !

This  an example of a customized SystemFunction extension (ZZISJSON) in Caché & IRIS
This time it is  to be included in %ZLANGF00.mac

A JSON string is mostly imported from a file or over REST.
You rely on a clean and compatible structure. This is the check.

50
0 0 112
This is a coding example working on Caché 2018.1.3 and IRIS 2020.2 
It will not be kept in sync with new versions 
It is also NOT serviced by InterSystems Support !

It is also an example of a customized command extension (ZZJSN) in Caché / Ensemble & IRIS

This is the Caché version for fast JSON formatting. But iIt also works in IRIS .  
To allow parallel existence in IRIS with the previous example this is named ZZJSN

30
0 0 97
Article
Robert Cemper · Jul 20, 2020 2m read
SPOOL as SQL Table

 

This is a coding example working on Caché 2018.1.3 and IRIS 2020.2 
It will not be kept in sync with new versions 
It is also NOT serviced by InterSystems Support !

Background

Device #2 named SPOOL dates back to the predecessors of Caché and IRIS
It was the first "%Stream" like option to buffer output before printing.
It is also the first and still today the most simple way of output redirection.

50
0 0 88
Question
Carl Tawn · Jul 16, 2020
Ensemble namespace permission

Hi,

I am attempting to set up a security role for our support team so they can have read access to the production and messages.

I have given the role RW rights on the resource associated with the database. However, when I log into Management Portal and select "Ensemble", the "Available Ensemble namespaces" list is empty.

What permissions do i need to set to be able to navigate to the production?

Thanks in advance,

Carl

 

Edit:

00
0 8 145

Wrap JSON to multi lines / Test ISJSON

   This is a coding example working on Caché 2018.1.3 and IRIS 2020.2
   It will not be kept in sync with new versions   
   It is also NOT serviced by InterSystems Support !

install and usage

Packed Pretty.xml installs routine ZPretty in any namespace.
calling $$Do^ZPretty(input,[filler],[newline]) returns a wrapped JSON string.
filler is the optional string for the indent, default = "  "
newline is optional, default = $C(13,10)
input accepts: JSON_String, JSON_Stream, %DynamicAbstractObject

50
0 0 81
Article
Robert Cemper · Feb 8, 2019 2m read
Client for WebSockets based on Node.js

WebSockets as a communication technology wins increasing importance.
In the SAMPLES namespace, you find a nice example for running a WebSocket Server.
There is also a useful example for a Browser Client. JavaScript does most of the work. 

My point is:
How to consume the output of a WebSocket Server in your application?

120
0 1 330

Hello,

 

We would need to know the Ens.Response SourceConfigName to identify which Operation has raised an exception.

We have tried:

$$$LOGINFO("..%Process.%PrimaryResponseHeader.SourceConfigName..: "_..%Process.%PrimaryResponseHeader.SourceConfigName) //It outputs an empty string
 
$$$LOGINFO("response.SourceConfigName: "_response.SourceConfigName) //It generates an exception

 

We would need to get from an Ens.Response which body is null, its SourceConfigName:

00
0 2 99

Been cleaning up our production 2017.1 instance of Health Connect in preparation to a move to Health Connect 2020.1 (on IRIS!)

One thing I have found I we have built up a number of old classes and other configuration files.

It would be nice to start on the new server with a clean slate.

Is there any way to identify classes that haven't been used for a long time so they can be reviewed and removed?

Kind regards, 

Stephen

00
1 4 177

Hi,

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

00
0 6 82

If you're viewing a HL7 message in the front end, with a schema correctly applied, you can mouse over a segment or a field and see the schema path, e.g:

Mousing over PV1 in the above message shows the schema path is "PIDgrp(1).PV1".

I'm writing a utility function which you pass an EnsLib.HL7.Message into. I'd like to loop through each segment and take action dependant on that schema path. How can I reference or determine that schema path in code?

00
0 1 52

Hey everyone.

I have a use case where I need to write files to a handful of locations, and 2-3 subfolders in each location.

My plan was to extend EnsLib.File.PassthroughOperation and then pass  that operation the file and the subfolder details, and then have an operation per destination.

Has anyone done anything similar and can highlight any pitfalls I may be about to make?

00
0 3 69
Question
Matthieu Laurent · Jun 24, 2019
Try/Catch within BP

Hello everyone,

 

I'm facing an issue i would like to resolve :).

I have a BPL which throw a DTL. My DTL has many reasons to raise an Exception.

 

I would like to catch this exception within my BP with a SCOPE but it does not work.

The BP seems to catch its own Exception but does not care at all of my DTL Exception.

 

So, is it possible to use the SCOPE in my case ? Otherwise, how can I handle the exception in my DTL ?

 

Thanks a lot for your reply.

 

Matt.

00
0 2 250