Hi all.

I have setup a HL7 Operation using the HTTP adapter, and I'm getting what seems to me as an unusual response. When sending a sample message to the operation, I am getting a nested ACK. For example:

MSA|AA|RWSD7V5iuEC5F6zscDWz|HTTP ACK 'HTTP/1.1 200 OK' : MSH|^~\&|yyy|yyyy|xxx|xxx|20220923080633||ACK^A01|1663916793965||2.3||||||
MSA|CR|RWSD7V5iuEC5F6zscDWz|Error Message Goes Here.

0 1
0 77

Hi all.

I have a scenario where I am receiving NACKs and I'd like to adjust the error handing of the operation based on the content of the NACK.

For example, I could receive the following and want to move onto the next message:

MSH| ^~\&|||||20221025083135.489+0100||ACK ^A02^ACK|9271|D|2.5.1
ERR|||207 ^Application internal error ^HL70357^^^^^^Cannot transfer patient, encounter is cancelled.|E

However, I could also receive the following and want to keep retrying:

0 1
0 133

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;

1 1
0 301

Hey guys,

I'm working with an EnsLib.XML.X12.Document object which consists of a parent object along with multiple children.

When using the following code, my sent object is losing all references to its children. I've played with the deep parameter and nothing is working to automatically clone the objects children(group docs ref)along with itself. (Even though the documentation states that it should..)

objectClone = object.%ConstructClone()

d ..sendRequestAsync("Destination",objectClone)

Any insight would be really helpful.


0 1
0 759

Hi world, i work actually on a medical care project , i'm blocked since this monday , i read a lot off topic for ensemble production but i think that the solution is so far to find, please can you help me , my question is :

i want to create a data base inside it i associat for each patient his own rule , how can i do it? thank's

0 1
0 259

I have a process that I am trying to duplicate from SQL Integration Services (SSIS) into Ensemble so that the rest of my team can help support any issues that may happen.

This particular job creates multiple dictionary files, but for each one of the dictionary files it creates, it also creates a control file that tells the vendor what to process.

0 1
0 398
David Foard · May 4, 2018
Convert HL7 to PDF

Is there anything native in Ensemble that will support converting HL7 to PDF?

I see there are numerous examples in .Net and Java for this capability.


0 1
0 1,718

Routing Rule Usage -

Can we use Functions and Methods with multiple parameters and refer objects by reference as parameters inside Routing rule ?

How do we handle DB related workflows in Business Rules ?
How can we perform Response object based handling in Business Rules ?
Can we try by extending methods with Ens.Util.FunctionSet and pass in the Context object from the rule as a parameter for certain functions ?
Can we split the Business Operations into methods that can be used from the routing rules and create the message route request flow ?

0 1
0 417
Scott Roth · Jun 14, 2018
Single Row SQL.Snapshot

I have several stored procedures that when I execute them they will only return a single snapshot. In my BP I have been setting this to a Snapshot variable then looping using a WHILE through the snapshot variable just to get that single value.

Since it is only a single row, is there an easier way where I don't have to do a WHILE loop to pull the values out of that row? Can I call First Row or something like that to get me just the row into the Snapshot variable?

0 1
0 374

I have a class extends %Persistent & %XML.Adaptor

It has 100 properties for example

Now I do intend to create a xml schema that I can import in Ensemble->XMLSchemas

I did try to use XMLExportToString and %XMLWriter.GetXMLString

but didn't give me a proper schema. May be I am missing some small step

Can someone pls help

0 1
0 253

Hi, all.

I know this is basic, and I think I have done this before, but I haven't been successful this time.

In a Routing Rule, I would like to take the value of MSH:9.2, see if that value does NOT exist in a lookup table, and ultimately return out of the rule if true.

So, if my message is an "A05", but "A05" is not in a particular lookup table, then it evaluates to 1, and I execute my action of "Return" and the rule ceases processing.

Is there something incorrect with my sample code below?

0 1
0 306

Hello, we have a couple of BPL processes. This works with a limited amount of messages but we run into issues when we process thousands of messages in a session. One BPL calls a Validation BPL process with async='False' and there is a response defined. The timeout is two seconds and that seems to be plenty of time for the validation process. I expected the calling process to wait for a response but that is not happening.

0 1
0 238
Sam S · Mar 30, 2019
X12 Routing - Whole Batch

When a X12 message comes into Ensemble as a Whole Batch how do you search on a segment within the body of the message? For example, a REF segment. It appears the only way is to set the Service to a single session batch, but this doesn't allow you to send the message as a Whole Batch to the Operation.

0 1
0 207


I am currently working with a "Stem Cell" supplier who do not have any/much Interface capability to push "Bone Marrow" harvest information. But willing to develop an HL7 feed/ WSDL capability.

It will be ideal, if I can get this via HL7 as much as possible and wondering if anyone has used HL7 to transmit bone marrow CD34, CD3 makers, product location and Harvest information? if so can you please advise which HL7 messages are ideal and some sample messages if possible please?

How about

0 1
0 185

I must be missing something. We have done encoded PDF's in the past with the Encoded PDF in OBX.5.5. When I have used this code in the past I was only working with 1 OBX, but I have a case where I am having multiple OBX's and having to loop through them and I am renumbering the outbound OBX.

0 1
0 365


We would need to iterate all over the OBXs list and get their OBX3 CE1 to determine if it is the lab result we need to send to the output system.

We wonder how could we achieve this in a foreach component inside a Bussiness Process.

We think we would need to use a foreach because of it is needed to generate a message, for each one of the OBX which have the OBX3 CE1 that the output systems uses for the lab results.

0 1
0 388

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|8|||final text

0 1
0 207


I like to know if we need to have the message in a file to process a Record Map?

I am working with Interoperability Production that processes files /messages using Record Maps. My team was asked to redesign the solution for deployment in AWS. We use containers. We had problems with having multiple containers processing files from the same directory. We are considering Amazon Simple Queue Service instead of having files on a shared file system.

0 1
0 168

I'm close with this but I'm not sure how to grab JUST the GT1.3 data. I know I can do a substring but finding the 3rd | is a tad tricky. I've not been this deep in SQL for 15 years.

SELECT SUBSTRING(hm.RawContent, (CHARINDEX('GT1',hm.RawContent)), 50) as NameDesc
FROM Ens.MessageHeader as em, EnsLib_HL7.Message as hm
where em.Status = 'Suspended'
and em.MessageBodyId = hm.id

I expect it should flow like this...


0 1
0 121