HL7 DTL Generator
If you intend to migrate to InterSystems IRIS for Health from other vendors, and you have a body of existing source and target messages, you can streamline the process of creating the necessary DTLs:
-
You can automatically generate a starting DTL that performs the simpler transformations.
-
You can compare the target messages output from the generated DTL to the original target messages, quickly identifying message segments that require attention.
To build a post-migration DTL using an existing body of source messages and target messages, follow these steps:
-
Store your source messages in a directory on the system where InterSystems IRIS for Health is installed. Store your target messages in a different directory on the same system. These directories should not contain anything other than the target messages or the source messages.
-
In the Management Portal, navigate to Interoperability > Build > Generate DTL.
-
On the DTL Generator page, click New, then fill out the DTL Generator Wizard form as follows:
DTL NameEnter a name for the new DTL. The format for the name should be package.classname
Use Existing DTLClick to perform the comparison of source and target messages based on a DTL that already exists rather than generating a new DTL to perform the comparison.
Source DirectoryEnter the name of the directory where you stored the source messages.
Source Document TypeEnter the document type of the source messages.
Document types are listed in the Management Portal at Interoperability > Interoperate > HL7 v2.x > HL7 Schema Structures. Choose version from the list on the left, and permissible document types are listed on the right. The format is category:doctype. For example, 2.1:ADT_A60.
Target DirectoryEnter the name of the directory where you stored the target messages.
Target Document TypeEnter the document type of the target messages.
Document types are listed in the Management Portal at Interoperability > Interoperate > HL7 v2.x > HL7 Schema Structures. Choose version from the list on the left, and permissible document types are listed on the right. The format is category:doctype. For example, 2.1:ADT_A60.
Use Control IDCheck this box if the control ID in position MSH:10 is unique. Using unique control IDs ensures accurate mapping between source messages and target messages.
If you don’t use control ID, target records and source records must be processed in the same order to ensure accurate mapping between source and target.
Rule ClassNote:You will need to create a blank rule first, so that it appears within the Rule Class field. Once the DTL is generated, you will be able to add conditions to the rule. See the Rule Editor documentation for information about rules and instructions for creating them.
Helper ClassIf you have extended the default helper class, choose the name of your extended class from this dropdown. For information about ways you might wish to extend the default helper class, HS.InteropTools.HL7.GenerateDTL.BuildHelperOpens in a new tab, see its description in the class reference.
Pre-TransformOptionally, enter a comma-delimited list of transforms to execute before the generated transform.
-
Click OK to generate the new DTL. The new DTL is created and applied to the original body of messages, generating a set of new target messages you can compare to the original target messages to identify and address issues with the transformation. A new row with the DTL name you specified appears in the table.
-
In the table of DTLs on the left, click the name of your DTL. On the right, the following buttons appear:
View ComparisonOpens the Visual Comparison page where you can view the differences between the target messages generated by your new DTL and the original target messages.
Reload MessagesLoads all messages in the directories where you stored your source messages and target messages, making them available for DTL processing.
Reprocess AllApplies the DTL, which you may have edited, to all source messages that have been loaded, generating new target messages for comparison. This is useful to make sure that your changes to the DTL have not introduced new issues.
Reprocess IssuesReapplies the DTL, which you may have edited, to the messages that had issues, generating a new set of generated target messages for comparison.
Open DTLOpens the DTL editor.
Halt ProcessingStops message processing.
-
Identify differences between the generated target messages and the original target messages by clicking View Comparison.
The View Comparison page displays tables comparing the original target messages to the generated target messages.
-
Each table depicts a single target message. You can navigate between messages by clicking the arrow buttons on either side of the message number displayed above the table.
-
Each row represents a single segment of the displayed message, lining up the original target message, position-by-position, directly above the generated target message.
-
The first cell of each row is the line number, and the second is the segment name.
-
Each cell from the third column onward represents a single position in its segment. You can learn the position number for a cell by looking at that cell’s tooltip.
-
Differences are highlighted.
-
The table at the bottom of the page displays the original source message that was transformed to create the target message under comparison.
-
-
Address each issue by modifying your DTL. After fixing one or more issues, you can click Reprocess to apply the modified DTL and see the corrected output. See the topics included in Creating Data Transformations for instructions about how to address issues.
You may find it useful to open the DTL generator on multiple browser tabs, one tab displaying the Visual Comparison page and another displaying the DTL editor, so that you can modify the DTL in one tab and view the results in the other.
-
Go back and forth between editing the DTL and viewing the remaining differences until you are satisfied with the effectiveness and accuracy of your DTL.