Hitachi Vantara Pentaho Community Forums
Results 1 to 2 of 2

Thread: Correct way to use HL7 MLLP Input

  1. #1
    Join Date
    Dec 2014
    Posts
    2

    Default Correct way to use HL7 MLLP Input

    I'm new to Pentaho and trying to utilize the HL7 MLLP Input job. I didn't see much in the way of information online - both within Pentaho or in general, but I was able to find a presentation that had an image of a job that used it. From that I was able create a job that called a transformation that can take an HL7 message and push that data into a file.

    However, I wasn't sure how I would actually use this in a production environment where I had to receive HL7 messages all the time. Typically, in other HL7 systems, I would have have a connection that remains open to the source system and would receive HL7 messages whenever they send them. The connection would never close. With Pentaho, the job runs, waits for the message(s), processes the message(s), and then finishes and closes the connection. If I try to use the "Repeat" feature, where it would restart after that specified interval, the job fails after the first successful time it process the message. I get the following error the next time the job runs.

    2014/12/12 18:59:17 - HL7 MLLP Input - ERROR (version 5.2.0.0, build 1 from 2014-09-30_19-48-28 by buildguy) : Unexpected error
    2014/12/12 18:59:17 - HL7 MLLP Input - ERROR (version 5.2.0.0, build 1 from 2014-09-30_19-48-28 by buildguy) : java.lang.NullPointerException
    2014/12/12 18:59:17 - HL7 MLLP Input - at org.pentaho.di.job.entries.hl7mllpin.HL7MLLPInput.execute(HL7MLLPInput.java:163)
    2014/12/12 18:59:17 - HL7 MLLP Input - at org.pentaho.di.job.Job.execute(Job.java:716)
    2014/12/12 18:59:17 - HL7 MLLP Input - at org.pentaho.di.job.Job.execute(Job.java:859)
    2014/12/12 18:59:17 - HL7 MLLP Input - at org.pentaho.di.job.Job.execute(Job.java:532)
    2014/12/12 18:59:17 - HL7 MLLP Input - at org.pentaho.di.job.Job.run(Job.java:424)

    I am sending an ACK back successfully, but again, I am unsure this is even the correct way to implement this.

    BTW, I am having no problems if I process the HL7 message from a file - only as a stream.

    If someone could comment how they are using the HL7 MLLP Input/Acknowledge or what the best practices are, I would appreciate it.

    I have attached my job and transformation files.

    Thx.
    Attached Files Attached Files

  2. #2
    Join Date
    Apr 2008
    Posts
    146

    Default Digging into HL7

    Hi.

    We are long time Pentaho Data Integration users and I am investigating your particular issue. We are also in the healthcare space, specifically skilled nursing.
    Internally we have MirthConnect acting as a message broker from the EHR and other plugged in health care systems. MirthConnect is buried within our EHR created by LG. While not currently using the steps you mention, I intended to take a serious look at them again. We've been meaning to do another source code review of the HL7 steps / jobs before putting a formal production design in concrete. With the stack trace that you provided, I should be able to reproduce the issue.

    Are you just trying to process ADT messages? Shouldn't matter, but just in case I get down in the code and find exceptions around particular message types. I see that various HL7 versions are referenced in the code. Which HL7 version are your messages?

    Also to confirm, your messages have the textual formatting like:
    Code:
    MSH|^~\&|HL7ABLAB|HNA500|HNAM|HNAM|20090911132151||ADT^A01|
    Q30235031T29347435X328970|A|2.3|123
    EVN|A01|20090911132100|||^DRONE_PM1^DRONE_PM^^^^^^^Personnel
    PID|1||1357920591||IntFace1101A^WinTask^^^^^Current||19801117|M||||||||||
    10000476524^^^FIN^FIN NBR|100000451||||||0
    PV1|1|Inpatient|CD:16067689^CD:16067691^CD:16067741^Uniontown Hospit^^Bed(s)
    ^Uniontown Hospit||||||||||||||501455^Orr^Maggi^^^^^^External ID^Personnel^^^
    External
    Identifier~25584^Orr^Maggi^^^^^^PERSONNEL PRIMARY
    IDENTIFIER^Personnel^^^Personnel Primary Identifier|Inpatient|||||||||||||||||||
    ||
    Uniontown Hospit||Active|||20090911132100
    My intention is to have MirthConnect or something lighter if I can find it, fire the message that the open port and reproduce your scenario while setting breakpoints in the code to see what's happening. I would not have expected the null pointer exception for repeating. The HL7 code in Pentaho by definition would not have as wide an audience as many of the other steps, but we should be able to figure this out.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Privacy Policy | Legal Notices | Safe Harbor Privacy Policy

Copyright © 2005 - 2019 Hitachi Vantara Corporation. All Rights Reserved.