I have to write a DTL with the Data Transformation Builder to convert messages from HL7 ORU R01 v2.1 to HL7 ORU R01 v2.5. The incoming messages contain a text in OBX-5. This text contains LF characters (only LF - Segment separator is CR). Therefore it is not possible to parse the incoming message. While testing the transformation the OBX Segment ends at the first occurence of LF. Is there a way to replace the LF character before parsing?

example:

source:

OBX||FT|ltest1|| first line

second line

last line

||||||F|

target:

0 3
0 806

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

In my Data Transformation, the Target class needs to create a new List of objects (ListOfObj), depending on some conditions of Source class (Source/Target are completely distinct/different classes).

I experimented with Lists of 'primitive' data types (ListOfDT), and I could add new %String items (as an example) to a List of %String property, with "append" action in DT.

Does anyone have an example, or guidance, how to create new Lists of Objects in data transformation?

For example, if I have a 'container' class like this, it works:

0 2
0 746
Question
· Jan 13, 2021
Handling Errors

I have a case where our EMR is sending data, but not all the values needed for the Ancillary are valued properly and causes that message to error/halt processing on the Ancillary system, not ideal but its what they do. I would expect them to still process the message except that 1 field, but they don't.

I want to add validation to make sure certain fields are valued correctly for the Vendor.

So I add some statements to take those items that don't pass this validation out to a batch file with headers.

0 9
0 721

Hello, our Team is trying to develop Ensemble DTL to transform incoming X12 files into persistent data records. We created a persistent class and we can insert data using SQL. We tried to verify that %Save() gets called by adding %AddToSaveSet() method to persistent class and there writing to a global. We had to extend our persistent class with Ens.VDoc.Interface class or we could not see %Save() being called from Ensemble DTL. We suspect that %Save() gets some kind of error. We tried to debug by overwriting Transform() method in our DTL class.

0 3
0 716

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

Hi ,

Still a newbie for ensemble, I am trying to convert XML message to HL7 Message. I am using Custom schema for XML structure which includes MSH and PID segments from HL7 Message.

These are the service, process, Operation classes i am using

Business service-EnsLib.EDI.XML.Service.FileService

Business Process-EnsLib.MsgRouter.RoutingEngine

Business operation -EnsLib.HL7.Operation.FileOperation

0 8
0 692

Hello All

I'm not sure what the best practice is for this. I have a DTL for returning ORUs back to a hospital in a different time zone. They have requested that various timestamps have the time zone offset added to the HL7 format (%q%k, I think). First, I just wanted to be sure the system was aware it was DST. I was able to determine if DST is in effect like this:

0 5
0 687

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.

0 8
0 682

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

Hi

I've got a Service that get ACK Messages originated by another system.

I want to get the details of a Message when the ACK is CE (Failed Message).

I don't know whether this is the best approach but, at the moment, I have a DTL and I would like to search the Cache Database for a Message with the Control ID on the ACK in the MSA segment.

Any help with this would be great.

Tks.

0 11
0 671

I have an EMR sending double quotes "" as the value. How do I write criteria to find this match in a DTL?

PV1|1|A|||||1111111111^Doctor^MR|||||||||||||||||||||||||||||||||||||20170331|""

source.{PV1:DischargeDateTime()}="""" didn't work

0 2
0 653

I came across How to import a tab separated text file into a SQL table programmatically?, which appears to indicate that I can pass the filename and all records will be imported. However, when I put use the Import method only a single record gets imported. However, all records are imported if I use the management console to import the file by selecting it and choosing the options.

Has anyone ran into this in the past?

0 3
0 642

We are seeing ERROR #5002: Cache error: <MAXSTRING>zSaveData+14 ^EnsLib.HL7.Segment.1 come up on a Routing rule when we are trying to Encoded PDF's through a DTL. In the DTL we are copying source to target. Is there a limitation on trying to copy source to target?

At the bottom of the DTL you are see that we commented out converting the Encoded PDF to a Stream, is it recommended that we always use %Stream anytime we are dealing with PDF's?

Thanks

0 4
0 627
Question
· Nov 6, 2017
Looping through a DTL

I have a DTL that reads an xml file and I want transform that to a list of objects but I have a problem looping through my xml as when I try I get the first instance on the xml not the whole XML being transformed. here is my example. Here is the output

 <s01:WardOccupancy>
<s01:WardOccupancy>
<Organisation>BYG</Organisation>
</s01:WardOccupancy>
</s01:WardOccupancy>
</msg>

from

0 1
0 616
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
Question
· Feb 8, 2019
CCD to HL7

I'm a beginner using HealthConnect. Trying to bring in a CCD and transform it to a HL7 messages. Is there any documentation on how to accomplish this? thanks!

0 2
0 612

I need to set and use some context variables in a transformation (written in DTL), but the code is manually written.

When writing the same as BPL I define context variables and they are visible in transformations called by that process.

In something like this my.DTLtransform sets HL7 message fields to values in context variables:

0 11
1 604

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

Does anyone know how to disable the auto-refresh in Healthshare, especially for Message viewer , Business process designer, DTL editor pages?

These pages in management portal refresh every 15min( i.e. as per the session time out setting) . I tried to set the following two configs to disable the auto refresh but both had no impact.

set ^EnsPortal("DisableInactivityTimeout","Portal") = 1
set ^%SYS("Portal","EnableAutoRefresh") = 1

Thank you for your help.

Mary

1 8
0 581

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

I need to add some extensions to the HS.FHIR.vSTU3,Model.Resource.Patient class and then use those extensions to convert incoming FHIR JSON to the FHIR Patient Resource and Likewise add functionality to create A FHIR Patient (target class) from my patient database into the FHIR Patient Resource Object (target class)

many months ago I found a tutorial that explained all of this but can no longer find that tutorial.

Yours

Nigel Salm

0 3
0 557