Data Transformation (DTL)

Syndicate content 18 

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

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
80

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
153

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

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

So this may sound trivial, but I'm seeing conflicting information on this topic and hoping to get clarification.

 

According to Enslib.HL7.Message class definition, the maxlength of RawContent is 10,000 characters. So when using encoding like UTF-8, that is 10KB. When using Unicode, that should then be 20KB.

But then also coming across some forums and documents where 32KB is maximum size before HL7 fields are truncated.

 

What is the sure way to determine and modify an interface's maximum supported message size?

Last answer 8 November 2017 Last comment 9 November 2017
0   0 1
843

views

0

rating

I have a batch record mapper that reads a csv file and passes the message to a process that uses the EnsLib.MsgRouter.RoutingEngine and would like to pass the message to an operation that will output that as a XML file but so far been unlucky as the operation that I use , uses the EnsLib.EDI.XML.Operation.FileOperation which only works with the messages("BusinessOperation class for writing XML messages to a file.

Last answer 25 October 2017
0   0 1
0

comments

394

views

0

rating

Hello Community,

I need advice converting a comma delimited string container with multiple records into some type of recordmap that iterates through all the records.

My string container has several records and I would like to loop through the number of records in the string container and transform each record in the container individually. Number of records will vary but the number of fields per record is static (28 fields). Meaning after every 28 fields, a new record begins. The goal is to convert to individual delimited flat file records.

Last answer 23 October 2017 Last comment 16 October 2017
0   0 2
225

views

0

rating

I  have a business service that brings in a xml virtual document to the production and also a csv service  that brings in a csv file and have a process that transforms both to a xml output  but I have a problem with the csv as it is giving me this error when I try to trans form it ```ERROR <Ens>ErrException: <PROPERTY DOES NOT EXIST>zOnRequest+1 ^EnsLib.MsgRouter.VDocRoutingEngine.1 *DocType``` I have read here followed the suggestion but now I do not get any errors but my m

Last answer 12 October 2017 Last comment 13 October 2017
0   0 1
220

views

0

rating

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.

Last answer 11 July 2017 Last comment 15 August 2017
0   0 1
340

views

0

rating

I have come across several cases where I need to set a Date filter to send only send any admit/scheduled date past a certain point. We have a couple different date comparison functions but none looking at the true date. Most of them are date + 15 or etc. Does anyone have a good date function they have written to say if x > 20170102 ?

 

Thanks

Scott

Last answer 20 June 2017
0   0 2
0

comments

501

views

0

rating

I have a case where I have a SIU message that has multiple RGSgrp's. I am writting the first RGSgrp fine, but when it comes to the additional RGSgrp's, I want the ability to look at the Target SIU message and see if the value exists.  If the AIG.3 already exists in the Target message I want to stop the looping and not write out the data.

 

Can anyone suggest a way to do this? Is there a way in a DTL to build a list or temp lookup table to see if something exists?

 

Thanks

Scott Roth

Integration - Interfaces

Last answer 30 May 2017
0   0 1
0

comments

181

views

0

rating

Consider the below scenario:

1. HL7 Service -> Process

2. DTL makes a call to a webservice (Post) via a REST operation via SendRequestSync call.

        a. if the post is successful, end the DTL

        b. if the server that hosts the webservice is down, i would like to keep retrying with the same message and not lose any messages in the queue.

does a simple "quit 0" at the DTL will  rollback the message and will retry? please let me know how not to lose any messages if the webservice server is down.

Appreciate it.

Last answer 23 May 2017 Last comment 12 May 2017
0   0 2
224

views

0

rating

Suppose I have an image and need to convert that image into a PDF for inclusion in an HL7.

I know that Zen Reports can display an image in a PDF but I do not want to view the image in a web page. I just need to convert the image to PDF in a Process and then include that PDF in an HL7. The  workflow would be like this:

Get image -> Convert image into PDF -> Include PDF in HL7 OBX.

I know how to do the last part to include PDF in HL7 OBX. Just need ideas on the first part.

 

Last answer 8 May 2017 Last comment 8 May 2017
0   0 0
483

views

0

rating

Folks

1) What's the correct way to check for an existence of a segment?  So far I have been doing this by checking to see if a required field is non-null, and this seems to work but is a bit clumsy. In this case, it’s an X12 message being checked in an IF action in BPL:

              request.GetValueAt("NTE(1):Description")'=""

Or in a DTL, to see if a Z segment exists:

              source.{ZEF:Counter}=1

Last answer 25 April 2017 Last comment 26 April 2017
0   0 3
491

views

0

rating

With help from others here I had developed some code to take a Base64 PDF within a OBX.5 and save it locally to the file structure on the server.

I had to make a change to the code to return me a String so I can pass the Path back into Ensemble to use it in the message. When I made this change I am getting " ERROR #5034: Invalid status code structure ("/ensemble/data/transfer/AncillaryPDF/TMSAUDIO/Apr-11-1/980512729TMSAUDIO1046784936436537800.pdf")"

Here is the code...

Last answer 12 April 2017
0   0 0
0

comments

353

views

0

rating

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. 

 

Last answer 6 April 2017 Last comment 6 April 2017
0   0 1
309

views

0

rating

Hoping someone can help,

I have the "Sample FHIR Production" installed ( as described in the documentation) with the following Components:

Service: HS.Gateway.ECR.SDA3XMLFileService

Processes: HS.FHIR.FromSDA.DTL.Transaction.Process

Operations: HS.FHIR.Repository.Operations

Last answer 23 November 2016 Last comment 28 November 2016
0   0 1
440

views

0

rating

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

Last answer 24 August 2016 Last comment 24 August 2016
0   0 2
277

views

0

rating

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

Last answer 16 June 2016 Last comment 16 June 2016
0   0 1
325

views

0

rating

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?

Last answer 31 May 2016
0   0 2
0

comments

256

views

0

rating