Data Transformation (DTL)

Syndicate content 18 

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 

Last reply 18 December 2019
0   0 2
84

views

0

rating

Hi,

   I've heard from two different sources the SMP (or parts of it) and for sure the DTL front end (in studio? via SMP?) have been rewritten to be more modern.  But on a latest IRIS Community download everything looks the same to me.  Am I missing something or is this Marketting Spin?

  

 

 

  Hopefully I won't get banned for this post aswell......

 

+ 1   0 4
124

views

+ 1

rating

We have a data transformation where source is object collection (populated from a json file)  and target is EnsLib.EDI.XML.Document.

If source file is large enough, transformation fails and we get <store> error and I quickly found this:

https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=EBPLR_DTL_foreach which at the bottom in "Avoiding <STORE> Errors with Large Messages" section tells to: 

0   0 3
0

replies

73

views

0

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 reply 16 October 2019
0   0 3
153

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 reply 18 February 2019
0   0 1
149

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 reply 18 October 2018
0   0 2
130

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 reply 16 October 2018
0   0 4
232

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

replies

147

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 reply 3 August 2018
0   0 2
117

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 reply 14 March 2018
0   0 2
345

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.

0   0 3
226

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 reply 9 November 2017
0   0 1
1,145

views

0

rating

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

Last reply 9 November 2017
0   0 1
328

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.

0   0 1
497

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 reply 16 October 2017
0   0 2
271

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 reply 13 October 2017
0   0 1
268

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 reply 15 August 2017
0   0 0
412

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

0   0 2
677

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

0   0 1
226

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 reply 12 May 2017
0   0 2
270

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 reply 8 May 2017
0   0 0
587

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 reply 26 April 2017
0   0 3
623

views

0

rating