This article will describe and include an example of how to embed an external PDF file into an HL7 segment, specifically ADT_A01:2.3.1 OBX(). This can be useful when attempting to insert pictures or other external data into an HL7 message. In this example, the name of the PDF file to be embedded is provided in the incoming HL7 message in OBX(1):ObservationValue field.

12 4
5 13.7K
Question
· Dec 19, 2016
HL7 Section to JSON

Hi all,

I'm trying to convert a HL7 section to a XML or JSON string.

We need to save the content of PID section into a SQL Column, therefore we need to convert it into a XML o JSON string

is there any easy way to convert it?

I've tried to convert it directly into a DTL, but all my attempts have been unsuccessful

Best regards,

Francisco Lopez

1 6
0 1.3K

DTL Transformations and GetValueAt/SetValueAt calls on HL7 messages will truncate any fields longer than 32K. To avoid this, the methods GetFieldStreamRaw and StoreFieldStreamRaw must be used when dealing with fields that might be larger than 32K. OBX:5 is a frequent example. These methods have some subtleties and must be used carefully.

This can't be done by simply dragging from left to right in a DTL. It must be done with a code action. Also, the StoreFieldStreamRaw call must be the last edit made to the segment because the segment becomes immutable after that.

10 6
6 2.4K

Two fairly common requests we receive from HL7 customers are (1) how to remove all trailing delimiters for fields and segments in HL7 messages and (2) how to "find and replace" for an entire HL7 message (as opposed to one segment/field at a time). The code sample below shows a custom function that solves for item 1 and by extension item 2 above. In other words the same approach can be used for finding/replacing any sequence of chars in an entire HL7 message, with some tweaks to the custom function.

7 6
0 3.3K

Ensemble 2015. Working on an a way to send NACK'd HL7 messages to a flat file for external review/troubleshooting. (Similar to the way BadMessageHandler deals with validation errors.)

I think I have the Alert piece down, but need assistance with the exact syntax to do an SQL query in the DTL (or a custom function) to pull the HL7 message Raw Content into the Alert, based on the SessionID.

(Also, anything special to write alerts to the File Operation?)

Thanks, Brian

0 3
0 836

I want to set the value in the second field of OBX-5, or OBX-5-2. My schema is not broken down to that granular level, so I can't just click OBX-5-2 to populate it. I tried a few variations without success.

target.{PIDgrpgrp().ORCgrp().OBXgrp(1).OBX:ObservationValue(1).2}

target.{PIDgrpgrp().ORCgrp().OBXgrp(1).OBX:ObservationValue(1)(2)}

target.{PIDgrpgrp().ORCgrp().OBXgrp(1).OBX:ObservationValue(1.2)}

Any ideas?

0 4
0 795

Hi,

I have an Ensemble DTL which is suppose to translate the inbound XML document to an outbound XML document.

I need to test if a particular XML element exists, to perform some translation.

In the DTL I have the following,

<if condition='source.{element1.element2.element3}'>

<true>

    // do something

</true>

</if>

How do you use if statement to test the source XML document to see if a particular element exists in the source doucment.

Thanks,

0 2
0 1K
Question
· Oct 10, 2016
Telepath PMEP File

Hello All,

Does anyone have a specification for Telepath PMEP file formats?

They look like this

01|XXX|005|MIC|XXX Microbiology & Mycology|123456|25.08.16 15:06|
02|$$$|XX01|||L|
03|F|SURNAME|FORNAME|111222333|MRN1|01.01.1950|52 Some Lane|Somewhere|||AA11 1AB|MRN1|01.01.1950

0 1
0 384

Hi All

I have a BP which has a transformation.

when I run the process I end up with the following error:

----

ERROR <Ens>ErrBPTerminated: Terminating BP Propirion.BP.GetServices # due to error: ERROR <Ens>ErrGeneral: Object is immutable
+
ERROR <Ens>ErrGeneral: Object is immutable

----

I have created a context named : HL7Message type of: EnsLib.HL7.Message and in the start of the BP assigned the request to it (using set in assigned activity)

What did I miss ?

Thanks

Gadi

0 2
0 873

Is there an out-of-the-box or accepted standard method for loading up mappings between different code sets and then referencing these mappings (both directions) from DTL? First thought was the built in Lookup() and corresponding data tables but these only work in one direction (key -> value) and not the reverse. Obviously I can build my own classes to support a two way mapping but am wondering if there's a standard way of achieving this. The mapping should contain the code and display name from each of the code sets and allow mapping based on either code or display name.

Thanks

0 2
0 520

Hello Community,

I am trying to create a simple Ensemble DTL transform using the GUI. In order to test something very simple, I have created a transform that does nothing.

I'm using test data from here: https://www.emedny.org/HIPAA/5010/5010_sample_files/835%20Sample%20(Institutional%20Claims%20only).2014.txt

It's a very small test 835 file.

My transform looks like this in the compiled class:

0 7
0 927

Hi,

Does anyone have a sample that demonstrates how to use the Data Transformation option create='existing', in order to update an existing object by its ID? My use-case is that I have an HL7 message coming in which contains data on a patient that may or may not already exist in a (non-HL7) table. I want to use the PatientID from the (source) HL7 message, check if that patient exists in the (target) object, and if so, insert some new data into the existing patient, or if not, create a new patient.

0 3
0 582

Hi,

I am trying to use data transformation (DTL) to map a JSON to SDA. My elements in the source JSON is not one to one with SDA object. That means I have to add code to loop through these objects in order to complete the mapping. Can someone send me a sample that can look to create that? I am not very comfortable with scripting language used in Health Share. Appreciate your help.

Regards

Joseph

0 2
0 695

We are receiving XML documents and storing them. When we click to go into the clinician portal and again to view a patient, we can see the documents but none of the data is mapped to their respective buckets, i.e. allergies or medications.

I am thinking that I need to build an XSLT parser and change the format to SDA3, is this an appropriate approach? Or would using the Data Transformation (Ensemble -> Build -> Data Transformation) be a better idea? Lastly, if the XSLT idea is preferred, where would I call it within the stack?

0 1
0 404

What would be the preferred method to create an HL7 message from an input that is not HL7?

Would it be better to take the non-HL7 input and construct an HL7 message in the business service that then gets passed off to a routing process, or would it be best to just pass the non HL7 message to a routing process that called a data transformation to create the HL7 message?

My thought is the later, due to the fact that updates to the creation of the HL7 message are done using the graphical DTL editor rather than editing COS in the service.

0 1
1 675

I installed Atelier on Windows in order to take a look at how the BPL and DTL graphical editors accessible via the "Open diagram editor" action work. The diagram editor is opened but I get the following error:


Message from webpage
---------------------------
Unable to load SVG diagram. Please ensure your browser is supported for portal access.


It looks like Atelier uses IE in order to display the editor even though my Windows default browser is Chrome.

1 8
0 573
Question
· Apr 22, 2016
Transformations

Hi this is my first post, so a little about my background. I've been programming in PHP/JavaScript for about 10 years.
I've got quite a bit of knowledge surrounding object orientated programming and know the basics.

Last year I looked into the Mirth integration engine and did some work around that.

I've now moved jobs and I'm doing some work (surprise, surprise) with Ensemble.

0 1
0 613