Ensemble

Syndicate content 71 

Hi Everyone,

I'm currently implementing an interface solution to send through data to community pharmacies here in the UK from our hospital PAS system. As part of this project i have created a BPL which calls a SQL operation to infiltrate our Data warehouse and add to the message - this is all done and working as i expect.

Last reply 51 min 4 sec ago
0   0 2
18

views

0

rating

Hi,

I've added a REST service which worked fine on our test system but failed on the production environment because UnknownUser does not have %All set and I really don't want it set on production (in fact I've also switched it off on test).

Is there a way to allow a single REST service to have unauthorised access?

I was thinking adding a resource/role to UnknownUser specifically for that service but I've never touched on Users/Roles/Resources so I'm struggling to work out what needs adding where.

Thanks

Last reply 1 days ago
0   0 2
40

views

0

rating

Hi, I want to INSERT a customerID and customerName to a table if the customerID does not exist. Or UPDATE if they've changed their name.
I've reviewed the documentation (https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=RS...) and have confused myself with the INSERT OR UPDATE statement. Rather than using two individual statements , is there a way to get it in one?

What I have at the moment doesn't do anything. In fact it errors.

Last reply 1 days ago
0   0 2
49

views

0

rating

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

In most cases, a global used by default storage has just 1 subscript level that represents the IDKEY.
For an index-globals we may see 2 or more subscript levels.
Arrays, or parent-child relationships or persistent classes extending a base data class
are examples where we see more levels. Though all these globals are quite uniform.

+ 2   0 1
0

replies

40

views

+ 2

rating

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

Globals in Caché / Ensemble / IRIS are normally invisible over SQL access
This example shows how to overcome this limit.

Last reply 2 days ago
+ 2   0 1
85

views

+ 2

rating

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 !

Standard error logs in IRIS / Caché / Ensemble are written global ^ERRORS.
As this piece dates back some decades back to previous millennium its structure
is far from the typical SQL storage structures.

Last reply 3 days ago
+ 6   1 3
175

views

+ 6

rating

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.

Last reply 6 days ago
0   0 3
46

views

0

rating

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?

Last reply 6 days ago
0   0 2
44

views

0

rating

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

Last reply 8 days ago
0   0 3
34

views

0

rating

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?

Last reply 11 days ago
0   0 2
45

views

0

rating

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.

+ 4   0 1
0

replies

64

views

+ 4

rating

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

+ 2   0 1
0

replies

57

views

+ 2

rating

 

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.

+ 3   0 1
0

replies

59

views

+ 3

rating

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

+ 3   0 1
0

replies

54

views

+ 3

rating

Hi, I'm still very much new at Ensemble DTL.  I am trying to set up an algorithm that requires loading fields from an OBX into an Array.  I don't think that I know how to iterate through the OBXs.  I know that there is a "for loop", that I will try to play with, but in the mean time, could someone tell me what is wrong with the following?

For example the code below works when I hard code the number 1 in OBXgrp(1)

 

Last reply 7 min 40 sec ago
0   0 2
60

views

0

rating

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:

Last reply 20 July 2020
0   0 3
81

views

0

rating

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:

Last reply 15 July 2020
0   0 3
50

views

0

rating

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

Last reply 15 July 2020
0   0 2
48

views

0

rating

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?

Last reply 13 July 2020
0   0 1
41

views

0

rating

Hello, guys!

I'm facing a problem when I compile my code in Atelier (version 1.3) when connected to an Iris Community instance in Docker container. 

When compiling, the code is synchronized with the server correctly, however, in the IDE, the code is inserted into the class again.

Class after compile:

Last reply 16 July 2020
0   0 2
89

views

0

rating

While I am not new to HL7, I am very new to Ensemble.   

We have a request to change the order in which the Addenda segments are sent to the client.  Right now, the global setting of the Lab system is to send the newest addenda at the top of the report, then the next oldest, and so on until we get to the final report:

OBX|1|||*****Addendum 3****
OBX|2|||text 3
OBX|3|||*****Addendum 2****
OBX|4|||text 2 
OBX|5|||*****Addendum 1****
OBX|6|||text 1
OBX|7|||*****Final****
OBX|8|||final text

 

Last reply 8 July 2020
0   0 2
54

views

0

rating