Jayant Singh Website - Healthcare IT Blog

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.

http://theopentutorials.com/tutorials/android/listview/android-expandable-list-view-example/


Development Environment


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

Limitations


  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.