Thursday, 8 August 2013

HL7 Viewer - Android App

As I am going deeper into open source technologies I am gaining more & more interest.
Continuing my research on implementing HL7 with different technologies, I have implemented a simple HL7 Viewer on Android.

I started learning Android development recently after I replaced my Windows Phone with Android. I was reading android e-book (Beginning Android 4 Application Development by WEI-MENG LEE) & after first two chapters I was able to write this app. I had message parsing scripts ready from my earlier implementations using C#. It was not an issue in converting it to java.
I am not sure if people would use HL7 viewer on smartphones/tables but it was a good learning experience for me & I would appreciate your suggestions on improving this as Android App.
Here are few screenshots of the application.

Android HL7 Viewer - Enter Message
Android HL7 Viewer - Click Parse
Android HL7 Viewer - List of Segments
Android HL7 Viewer - Expanded Segment
Enter HL7 Message Click Parse Segment List Expanded MSH Segment

It has two Activities (two Forms for .NET guys). First Activity has a TextBox that accepts an input. You can write or paste HL7 message here. There is also a button called Parse on this Activity.
Clicking this button will parse the HL7 message and
  • would take you to Second Activity if message is parsed without errors
  • would display error message at the bottom in case of parsing errors

Second Activity would display the parsed HL7 message in an Expandable ListView where all the segments would be groups & fields would be list items. I have appended segment repetition count with segment names to handle repeated segments.
I have used ExpandableListView code from here & modified it a bit for my use.

Development Environment

  1. Windows 7 32 bit
  2. Android Developer Tools (ADT) - v22.0.5-757759
  3. JRE 7


  1. Only following delimiters are supported
    1. Field Separator - |
    2. Segment Separator - \r or \n
  2. Limited validation on message
    1. Message should start with MSH
    2. 12 required fields in MSH
    3. Segment names should be three characters

I have tested this on Samsung Galaxy S Duos.
I would love to share the apk with all who are interested in reviewing it.

No comments:

Post a Comment

Mirth FHIR Technology Preview 1 with MongoDB

Mirth has recently released a FHIR listener as part of first version of it's FHIR Technology Previw. This lead me to explore FHIR afte...