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
3813

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.

Last comment 10 June 2017
+ 8   1 8
772

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
493

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
1275

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 9 days ago Last comment 10 days ago
+ 1   0 5
154

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

372

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
422

views

+ 1

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
72

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
87

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
124

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
116

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
82

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
156

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
126

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

104

views

0

rating

We have one user that is having issues in Ensemble via browser. The two issues she reported are:

- If she opens a DTL, she has to Save or Compile the DTL before she is able to edit anything in the Actions tab. Typically, you can simply open the DTL, click on a line, and edit the Actions.

- If she opens the Tools tab and clicks the Test button, she does not get a response and it eventually times out on her. Typically, clicking the Test button will open a new window where you can paste a message to test your DTL with.

Last answer 2 August 2018 Last comment 3 August 2018
0   0 2
95

views

0

rating

We have a case where a vendor can send us more information in the DICOM message rather than in the HL7 result message. In theory it should be possible to take a DICOM and convert it to HL7, stupid question is has anyone done it before? Does anyone have any good examples of a DTL they did to show me how to setup the message structures and translation?

Thanks

Scott Roth

The Ohio State University Wexner Medical Center

Scott.Roth@osumc.edu

Last answer 14 March 2018 Last comment 14 March 2018
0   0 2
313

views

0

rating

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?

Last answer 17 February 2018 Last comment 14 March 2018
0   0 2
264

views

0

rating

I would need to build a Complex Record Map and then transform that into xml. But not the whole batch to one xml file - instead every repetition in that Complex Record Map would become one xml file. 

 

For Simple Record Maps this is easy to do because there are different types of Business Services that handle every record either individually or all of them as one batch but there doesn't seem to be similar options for Complex Record Maps? Instead, there is only batchtype business services.

Last answer 7 February 2018
0   0 3
0

comments

170

views

0

rating

I am trying to come up with a way to decode the Base64 we receive in an HL7 message into a PDF file and save it in a directory on our AIX machine. I thought I had the following working at one time but I am having issues. Has anyone done this before?

Last answer 19 November 2016 Last comment 25 January 2018
0   1 4
1363

views

0

rating