Article
· Oct 23, 2019 2m read
Unit Tests for Data Transforms

Would you like to be sure your data transforms work as expected with a single command? And what about writing unit tests for your data transforms in a quick and simple way?

When talking about interoperability, there are usually a lot of data transforms involved. Those data transforms are used to convert data between different systems or applications in your code, so they are running a very important job.

4 2
1 829

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).

0 2
0 504

Using the FHIR DEMO, I have pieced together how to make a FHIR Request using OAuth against an External FHIR Repository. When I execute the Patient search (HS.FHIRServer.Interop.Request), I get a HS.FHIRServer.Interop.Response that has a Quick Stream ID, which I then use to convert the Quick Stream to a JSON Dynamic Object. if I do a trace on the Raw JSON Object, I am able to pull out single elements, however I want to pull the raw JSON into a defined Class Structure.

0 2
0 218

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.

0 2
0 540

Hi,

I am trying to add an OR condition in the DTL but not able to. Sorry if this is a silly question, but can you advice?

I want to add a condition where if source.45 is "" or "..." then map "" to the target. But I am not able to add the OR condition

Currently I have as below

What will I need to do to add an "OR" condition to the DTL?

Would appreciate your guidance

Regards,

ED

1 2
0 1.1K

In specifying a "WHEN" condition statement, I don't seem to be able call a function directly from this declaration, as the generator seems to get confused

In the graphical editor:

%request.GetValue("MRN"))=123453

(%request.GetValue("MRN"))=123453)

In the DTL directly:

<when condition="(%request.GetValue(&quot;MRN&quot;))=123453)">

<when condition="(%request.GetValue&#40;&quot;MRN&quot;&#41;)=123453)">

0 2
1 369

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

0 2
0 585

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 2
0 1K

We are receiving an ORU message and the vendor is requesting that we append a new OBX segment at the end of the message and I wanted to reach out to see what options might be available.

So far, I tried the append action in the DTL editor with a single OBX-3 field but it seems to be appending to the field directly instead of creating a new OBX. I've started looking into if whether I could use a function but wanted to first check with the experts on the Discussion here in case there's an easier way to accomplish this. Thank you.

0 2
0 70

GT1|1|1|Test^Test||123 Building^123 Building^Brooklyn^NY^11220^United States^^^Kings|^PRN^PH^^^^^^^^^(111) 111-1111~^PRN^CP^^^^^^^^^(222) 222-2222|||""|IN|DGH^Daughter

I'm trying to clear the phone number completely.

Remove target.{GT1(1):GuarantorPhNumHome()} still gives me _~_

0 2
0 454

Hi All

I have a BP which has a transformation.

when I run the process I end up with the following error:

----

ERROR <Ens>ErrBPTerminated: Terminating BP Propirion.BP.GetServices # due to error: ERROR <Ens>ErrGeneral: Object is immutable
+
ERROR <Ens>ErrGeneral: Object is immutable

----

I have created a context named : HL7Message type of: EnsLib.HL7.Message and in the start of the BP assigned the request to it (using set in assigned activity)

What did I miss ?

Thanks

Gadi

0 2
0 1.1K

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.

5 2
1 863

Hi,

Using Interoperability, I can't figure out how to create separate XML's files from a CSV-file using the GUI-features Record Maps/Complex Record Mapper -> Data Transformations. I'm familiar with reading/writing the files using File Service/Operation, but don't understand the processing-steps.
The preferred method by my colleagues is to do this without any Objectscript or Embedded Python coding, but if this can only be done by some coding that's fine as well.

See example below.
Any help is appreciated!

Kind regards,
Ties Voskamp

0 2
0 275
Question
· Dec 5, 2019
IRIS GUI/DTL Rewrite

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 2
0 355

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 736

Hi,

Is there a way to insert new Key/Value in an existing lookup Table via a DTL code? The only thing I found in the documentation is that we could use the following command SELECT KeyName,DataValue FROM Ens_Util.LookupTable WHERE TableName = 'myTab'. In the meantime I just created a table and used it in my DTL to insert new values and validate if the Key exist.

Regards

0 2
0 660

Hello,

I have a DTL to transform X12 Document 278 Request to 278 Response HIPAA 5010 schema. The DTL is called from BPL. I defined a class method that receives source, target, and context objects. How can I create 2000F loops in the response when there were none in the source object?

0 2
0 409

I am working on tweaking our current patient load process. The roster input is in text pipe delimited format, parsed out and transforms it to a standard HS.Message.PatientSearchRequest, and send to business process for patient matching. Result is transformed into a standard ADT HL7 message using EnsLib.HL.Message class. I would like to know if there is another class I can use that will transform my output to a text flat file pipe delimited instead of HL7 format? any advice on how to do this is greatly appreciated.

Thanks!

0 2
0 469

I was using VSCode to edit a DTL because it seemed easier to copy/paste code from parts of the DTL I was editing. I tried to add <sql> tag and code to call a SELECT statement, but when I compiled I got the following error...

ERROR <Ens>ErrInvalidDTL: Invalid DTL

> ERROR #5490: Error running generator for method 'GetSourceDocType:osuwmc.Epic.MFN.DTL.EpicMFN949002Normalization'

0 2
0 70

I'm required to do a transformation around patient physical addresses. If (for whatever reason) a patient has multiple addresses, I want to move the home address to the first iteration of PID:11 and remove all other iterations. I've accomplished the first bit using DTL, but for patients who have multiple addresses they are left with empty trailing iterations. Here is an example I mocked up:

How can I remove those trailing iterations?

0 2
0 379