Data Transformation (DTL)

Syndicate content 18 

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.

Last comment 23 August 2017
+ 8   1 1
4252

views

+ 8

rating

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.

+ 8   1 8
835

views

+ 8

rating

There has been some confusion about how to edit Business Process Language (BPL) and Data Transformation Language (DTL) files in Atelier using the graphical editor. The following steps describe how to do this with Atelier version 1.0:

Copy the file you want to edit from the server to an Ensemble-enabled project in your Atelier workspace. To do this, find the file in the Server Explorer, right click and select Copy to project.

Open the file in the Atelier class editor just as you would any other class file.

Last comment 5 June 2018
+ 5   1 4
532

views

+ 5

rating

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.

Last comment 16 May 2018
+ 5   0 5
1410

views

+ 5

rating

Way back when during our Siemens LCR days we had to limit the number of characters in OBX.5 to a length of 75. That was back when we had eGate.

Now I need to do the reversal of that and take loop through a string length and split the string up into multiple OBX or NTE based on a certain length. In reading documentation $EXTRACT can do this if you know the exact length, but in this case we don't. 

So how would one loop through a string and say every 75 characters create a new OBX or NTE segment?

Thanks

Scott

Last answer 10 July 2019 Last comment 9 July 2019
+ 1   0 5
347

views

+ 1

rating

Hi all,

We have a big problem with spanish accent and special characters using Data Transformation (HL7 Messages).

We have some DT to transform HL7 messages to other type (OUL^R22 To OML^O21) so it copys the PID segment to the new one, but if in the PatienName field has any special character, the transformation stops and it not continues with the transformation.

This is the message
 

Last answer 25 January 2017
0   0 0
0

comments

418

views

0

rating

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.

Last answer 22 April 2016 Last comment 25 April 2016
+ 1   0 2
443

views

+ 1

rating

Hi Community,

I am trying to remove a duplicate OBX from a result, but I am running into some issues. Let me explain.

First I had a OBX where the observation Value had the blood type in it and the following OBX had the result in it.

The clients wants the blood type and the result in one field. therefore I merged / concatenated the observation values of the two OBX's.

I tried removing the OBX:2 but just cant take the whole segment out. 

please see examples below

This is the result.

Last comment 6 days ago
0   0 3
0

answers

111

views

0

rating

I am currently evaluating Source Control systems that we can use for both MS SQL, MS Visual Studio, and InterSystems IRIS. For both MS SQL and MS Visual Studio we do have the option of either Azure or GitHub.  I understand when we upgrade to IRIS 2019.1 we have options for Source Control, and in previous Global Summit's I have heard GitHub discussed.  So why can't I user GitHub for both MS SQL/MS Visual Studio and IRIS?

A couple of questions come to mind starting to think about Source Control

Last answer 7 days ago Last comment 7 days ago
0   1 2
92

views

0

rating

How do I manipulate a string in Ensemble DTL (X12 document) to extract a string starting from the right, or end, of the string?

I need to have 10 digit phone numbers, however some of the source data records include the "1" for the long distance dialing and I need to exclude this.

I have tried using Right(), SubStr(), and even SubString(string,*,-10) but it will not compile.

I find it hard to believe that Ensemble does not have the ability to read a string from the right. 

Thank you for any assistance.

Last answer 30 September 2019 Last comment 1 October 2019
0   0 2
50

views

0

rating

I am putting together a new interface to take in a CSV file and output an HL7 message.

I have used the record mapper to create the source class and I am putting together the transform, but when trying to test it I am not seeing the data populate the HL7 as intended.

 

 

Last answer 23 August 2019 Last comment 23 August 2019
0   0 2
94

views

0

rating

Hello All.

In need of some help.

We are currently migrating Interfaces from JCAPS to HealthConnect 19.1 and have done a lot of work on our Dev server.  I am looking to copy/export this work over to the Test server and have managed to export the production and Rules, HL7 custom Schemas etc.  The only thing left now are the Data Transformations but so far I can only find ways of copying the transformations over individually.  Is there some way to copy all of the transformations we have produced in our namespace to another server in one go?  

Thanks

Last answer 12 August 2019 Last comment 12 August 2019
0   0 1
96

views

0

rating

Hello,

When creating an outbound X12 file (834, 835, 837, etc), what's the easiest way to keep a segment count to use in the SE01 element?  Other mapping tools I've used either detect it's an X12 file and do this automatically, or there's an option to keep a count after each outputted segment.  The Data Transformation tool within Health Connect doesn't seem to have similar functionality, but I could just be missing something.  Any help would be greatly appreciated!

Thanks,

Jason

Last answer 30 May 2019 Last comment 12 June 2019
0   0 2
155

views

0

rating

Our PAS system supplies date in a particular date format (ISO 8601 compliant) that includes seconds and milliseconds.  Because many downstream systems cannot handle milliseconds (and some don't even want seconds) many transformations are required to truncate the data.

Last answer 18 February 2019 Last comment 18 February 2019
0   0 2
125

views

0

rating

Hi All,

Actually I am trying to implement a RESt API where in I will get ZIPCODE as request and I need to call external API which will take ZIPCODE as input and give State and City in response.

But the problem is the request is in XML Format and also response is in XML format.

Example :

Last answer 24 January 2019 Last comment 24 January 2019
0   0 2
156

views

0

rating

Hello.

I have a delimited flat file that I need to read and then generate an HL7 A08 message from the fields in the file.  I used the Management Portal's Record Mapper to generate the Map.Record class, then used drag & drop to map fields in the delimited flat-file to an A08 message.

But when I try testing this in the test tool, I'm getting an ERROR #6254: Tag expected . XML input. ... is not in proper format as child of Record (ending at line 2 character 11).

Last answer 14 December 2018 Last comment 14 December 2018
0   0 2
148

views

0

rating

The phone number field for the PID segment was customized to send email address in PID 13.4. How can I remove the email address to map only the phone number to the PID 13.1 field? 

PID|1||098456||PRINCESS^TUMBELINA^^^^||19011201|F||W|4382 POTATO DRIVE^^SUGARLAND^TX^74845^^^^980||7839854885^^^LILKIM5@OUTLOOK.COM|||S|NON|||||||||||||N|
 

Last answer 18 October 2018 Last comment 18 October 2018
0   0 2
104

views

0

rating

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.

Last answer 15 October 2018 Last comment 16 October 2018
0   0 4
200

views

0

rating

I am having an issue with the output file format on a production where quotes (" ") around column values are being removed from the imported file.  For example, my input file is a csv formatted as such: "123", " ", "ABC".  The output file format that is being generated produces: 123, , ABC.  I need the output file to retain the quotes around the data.

Is this something that can be corrected in the record map?  Or is it an issue elsewhere?

Last answer 17 September 2018 Last comment 17 September 2018
0   1 2
137

views

0

rating

Hi, guys,

I've written a DT for a partner which transfers a csv file into SDA3. 

I', using record map to gather data from a folder storing csv files and using the DT to tranfer the records into sda3 entities.

The followings are the codes of that DT:

Class POC.DT.CSV2SDA3 Extends Ens.DataTransformDTL [ DependsOn = (User.PhysicalExam.Record, POC.SDA.Container) ]

{

Parameter IGNOREMISSINGSOURCE = 1;

Parameter REPORTERRORS = 1;

Parameter TREATEMPTYREPEATINGFIELDASNULL = 0;

0   0 2
0

answers

0

comments

121

views

0

rating