Announcement

Collapse
No announcement yet.

How to preprocess an HL7 message?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to preprocess an HL7 message?

    Hi,

    I am receiving an HL7 message on a port using Mirth. I want to extract some of its fields and write to a flat-file.

    Now my problem is, I want to split one of its fields into two parts, say on space. E.g. if there is a field called attending doctor name with contents as 'last_name first_name'. I want to split it on the space and write to the output file as two fields separated by comma. I guess I can achieve it using preprocessor script. But I don't know how to use it. I guess I can do this using Java also? How?

    Can someone please guide me in this?

    Thanks.

  • #2
    Hi,
    create Transformer for receiving channel "Channel Task>Edit Transformer>Add New Step"
    Change type of new step to JavaScript

    Add this code
    Code:
    var splited = msg['PV1']['PV1.7']['PV1.7.1'].toString().split(" ");
    
    tmp['PV1']['PV1.7']['PV1.7.1']=splited[0]+","+splited[1];
    
    //for testing only:
    logger.error(msg['PV1']['PV1.7']['PV1.7.1'].toString());
    logger.error(tmp['PV1']['PV1.7']['PV1.7.1'].toString());
    logger.error(splited[0]);
    logger.error(splited[1]);
    Best regards,
    Marcin
    Last edited by martzin; 05-28-2011, 03:14 AM.

    Comment


    • #3
      Hi,

      That's cool with HL7v2.x messages, but, do you know how can I do the same operation on a HL7v3 or XML message?


      Thanks,
      Pablo.

      Comment


      • #4
        Thanks a lot Marcin for your reply. I have few more doubts.

        Once I split a field in 2 parts, how do I return the new values? I mean, I did what you said in your previous answer. But I cannot see that particular variable under the 'Available Variables' list. And due to this, I am not able to map that to my 'Template' under the Destination tab. How do I do that?

        Thanks.

        Comment


        • #5
          I just figured it out. Just add channelMap.put("providerName", splited[0]+","+splited[1]);

          Comment

          Working...
          X