Ensemble

Syndicate content 70 

I created a DTL to do HL7 mapping. The test function in the tools works the DTL perfectly but when used by the rule in my business process, the OBX segments are stripped and the MRN is gone. The assigning authority and ID type are added into the PID but the actual patient MRN is blank (3.1 value).

 

Here is the source code. 

Last answer 6 April 2017 Last comment 6 April 2017
0   0 1
294

views

0

rating

Has anybody created a way to change the background color of a cell depending on the value contained in the cell. This is simple when only one background color is required. However, if there is a requirement for several different colors depending on the value of the cell, the out of the box <condition/> approach does not suffice. Thank you for any feedback.

Last answer 4 April 2017 Last comment 5 April 2017
0   0 3
108

views

0

rating

I am working on creating a DTL that can replace OBX segment with a string formatted NTE segment .  There is a class ImportFromString but it looks like that is not replacing the target message with the new formatted NTE. I do see  target.setvalueat class but I wanted the transformer to not be scheme base.

Last answer 4 April 2017
0   0 0
0

comments

399

views

0

rating

Usually I recommend to set the global buffer (GB) as large as possible in order to maintain in memory more globals as possible. I don't know if this is a standard recommendation, but I want to discuss what should be the best buffer size for a Ensemble instance that only process messages.

Last answer 3 April 2017 Last comment 5 April 2016
+ 1   0 4
1213

views

+ 1

rating

One of our Departments are claiming that we are loosing HL7 messages that are sent from their Vendor's system to Ensemble.

I know interfaces 101 if we have no record of the message then we never received it, however they are insisting they are sending it.

I asked them to provide the ACK's if they sent the messages but Ensemble had no corresponding Message Control ID (MSH.10) .

 

Currently I have the following settings..

Last answer 31 March 2017
0   0 4
0

comments

497

views

0

rating

Following on from https://community.intersystems.com/post/custom-business-process-change-sendrequestsync-sendrequestasync we are refactoring a number of business processes to use OnRequest/SendRequestAsync/OnResponse mechanisms.

To prevent overloading some of our datasources we currently implement a simple caching system using locks similar to the code below

Last answer 31 March 2017
0   0 3
0

comments

220

views

0

rating

Hello,

 

I have a problem with an Ensemble instance on Windows to access to a network shared directory. Ensemble service (services.msc) is executed with a user which has access to this network shared directory :

 - When I try to copy or access files from a terminal ==> this is OK : the command w ##class(%SYS.ProcessQuery).%OpenId($Job).OSUserName returns the user defined in Ensemble service logon screen.

 - When I try to copy or access files from a service, process or operation item of the running Production ==> this is KO and the command ##class(%SYS.ProcessQuery).%OpenId($Job).OSUserName returns a OS user called _Ensemble.

 

What is this _Ensemble user (it doesn't exist on the server) ?

Do I have to create a new user named _Ensemble ?

Why processes started by the Production doesn't use the user which starts the instance (defined in services.msc)

Last answer 29 March 2017 Last comment 30 March 2017
0   0 0
358

views

0

rating

I'm pretty new to Ensemble and Cache, and I ran into an error today that I haven't seen before: "ErrNoResponseClass: No Response Classname is assigned for Request class <<someNumber>>". I haven't found much documentation about this beyond the Ensemble Error Codes document, which is essentially just a duplicate of the information I can see in the error message when this problem occurs. Is there any further information about this error and the conditions that cause it? Or perhaps what the <<someNumber>> value represents?

From what I can tell, the response class is set by the base class of my request class, and I can't find anywhere (so far) where this value is set to anything other than its original value. However, what's puzzling me is that this behavior is inconsistent--I can repeat the same operation several times, and sometimes it will succeed, but other times will generate this error message.

Last answer 28 March 2017
0   0 3
0

comments

123

views

0

rating

GT1|1|1|Test^Test||123 Building^123 Building^Brooklyn^NY^11220^United States^^^Kings|^PRN^PH^^^^^^^^^(111) 111-1111~^PRN^CP^^^^^^^^^(222) 222-2222|||""|IN|DGH^Daughter

I'm trying to clear the phone number completely.

Remove target.{GT1(1):GuarantorPhNumHome()} still gives me _~_

Last answer 24 March 2017 Last comment 24 March 2017
0   0 1
166

views

0

rating

Goal:

  • Take an HL7 message, parse some data from it
  • Call a web service to get an authorization key, comes back as a simple string
  • Create a request object with data from the HL7 message and send it to the Web Service

The main web method call requires that key I received as a Soap Header element. All I can pass to the SOAP Operation business class is the request object with the data I plucked from the HL7 payload. Nothing in that particular request message has anything in it that tells anything to send the header, too.

So what are my options to pass a message to the SOAP Operation that contains both the object that is the message body AND the SOAP header? Or do I not use the generated operation classes - I have to roll my own and use something like a pass thru operation and set some flags to get it to use the header?

Thoughts? Am I missing something totally simple?

Thanks!!

Last answer 23 March 2017
0   0 0
0

comments

645

views

0

rating

I have a number of Business Process and due to the complexity these were created as "custom code" instead of BPL.

These processes currently invoke other components using SendRequestSync. For a couple of reasons I would like to be able to change these to use SendRequestAsync

Last answer 22 March 2017 Last comment 23 March 2017
0   0 0
552

views

0

rating

I have an XML I am sending to an operation from a BPL.  This is a query for Patient information from Epic using a web service.  I created the operation using the add-in in Studio.  I setup the BPL to do a Call and send whatever data I receive from the client.  I get a response back from Epic with a list of matching Patients.  In the BPL I am trying to use the Response Builder to pass the response ID, name, DOB, etc. to matching context items to then pass to the client as a response.  I get the following error within the call:

ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnResponse1+2 ^FCH.BPL.PATWISJSONEPICXML.Context.1 *IDs,%Collection.ListOfObj -- logged as '-'
number - @''

Last answer 21 March 2017 Last comment 21 March 2017
0   0 0
554

views

0

rating

I have a Enslib.REST.operation which I want to use to send a JSON message. In Ensemble I am using the request message to the Business operation as an input for ObjectToJsonStream function so I can send it out (this is the way to go right?). However, I am now running into the fact that one of the attributes (template_name) contains an underscore and that I am not allowed to use the underscore to define the property in my ensemble RequestMessage:

Property template_name As %String;

What's the best way to resolve this?

Last answer 18 March 2017
+ 1   0 2
0

comments

153

views

+ 1

rating

I am relatively new to ensemble, but I am trying to build a REST operation using the enslib.Rest.Operation but I can't seem to get it to work at all. I am completely at loss here because the errors I am receiving are very unclear. I have tried a few different variants using PostURL and SendFormDataArray but I got errors on all variants. Suggestions are welcome.

The call I am trying to product is a simple ping message to the Mandrill APIat https://mandrillapp.com/API/1.0/users/ping.json (for more details see: https://mandrillapp.com/api/docs/users.JSON.html#method=ping)

Last answer 18 March 2017 Last comment 16 March 2017
0   0 3
457

views

0

rating

noob here..(moving from JCAPS to Ensemble)

We are wondering where is the best place to tie the schema category for an incoming HL7 message? Should we do this within the service (via the message schema category setting) or receive everything and validate in the process (DTL) level?

We want to capture everything that will be sent to that HL7 listener service and then decide what to do with bad messages at the process layer.

Does anyone have any recommendation regarding this? Appreciate your input and decision thought process.

Thank You,

 

Last answer 17 March 2017 Last comment 17 March 2017
0   0 0
150

views

0

rating

I am configuring a SOAP HL7 Receiver to handle HL7 Query messages.

I have set up a new class based on EnsLib.SOAP.Service and configured (correctly I hope) the parameters needed.  I have also amended the OnProcessInput Method skeleton provide to send messages on to the Business Process needed.

I am struggling to work out what is needed in the Web Methods and how to create them. 

Any help with this would be much appreciated especially examples that I can adapt for what I need.

Many thanks 

Last answer 16 March 2017
0   0 1
0

comments

155

views

0

rating

In this posting I want to raise the profile of a feature that arrived in 2009.1 but is perhaps not very well known.

It is sometimes useful to make certain packages, globals or routines available to all of your namespaces. Of course you can add the necessary mappings whenever you create a new namespace, but here's a simpler way.

First you need a special namespace definition called %ALL. Create it in the same way you'd create any namespace. It doesn't matter which database you set as its default for code and data. I recommend picking CACHETEMP as a reminder that this namespace doesn't actually deal with its own databases

Last comment 16 March 2017
+ 6   0 4
696

views

+ 6

rating

Post has been edited for clarification: Both HP Open VMS versions (for Itanium and for Alpha)  are discontinued for future InterSystems releases.
 
Future product releases, beginning with the next major release after 2017.1, will no longer be offered for the following platforms:
 
HP OpenVMS  for Itanium
HP OpenVMS  for Alpha
 
Products: Caché, Ensemble
 
Expected Availability: next major release after 2017.1
Last comment 10 March 2017
+ 3   0 3
693

views

+ 3

rating

This question came in on an Ensemble email list:

  • I need to route a file based on its type in Ensemble Production. But I don't want to write a Business Process code to achieve this.
  •  Am using FilePassThroughService to get a file. There are two FilePassthrough operations for different type of files.
  •  Is there anyway to achieve this routing using Business Process Rule itself?
  •  Also how to get the filename in Business Process Rule that comes from FilePassThroughService?       

Are you determining the file type by the file name extension or by the contents of the file?

If you're doing it by the file name extension, the easiest way to handle this is to have different pass through business services for each file type and then send it directly to the correct file operation. You don't need a router at all.

 

Last answer 10 March 2017
0   0 2
0

comments

360

views

0

rating