Hippo: your friend in 5010

hippoIf you are unfamiliar with the Health Insurance Portability and Accountability Act (HIPAA) then you probably don't work in the medical field and can safely disregard this article. HIPAA was enacted by congress in 1996 and governs the way electronic transmissions must take place in order to be legitimate. [1] The specific section that pertains to electronic transmissions is HIPAA/EDI, and was scheduled to take effect on October 16, 2003. However, due to implementation problems Congress granted a one-year extension to make version 4010 the standard in 2004. The standard by which transaction sets are accepted by HIPAA was created by the X12 organization [2] (i.e. Claims, Remittances, Eligibility, Claim Status).

This article will walk you through installation of Hippo, the generation of a simple 835 transaction set, and hopefully illustrate how easy Hippo makes HIPAA

5010 is around the corner

HIPAA version 4010 is the current implementation of the transmission standard. The testing phase for 5010 has been underway since January 1, 2011 [3]. This means that all covered entities have had to allow the sending of test transaction sets in the 5010 standard already.

Version 5010 was created to allow ICD-10-CM [4] to be implemented, as well as other modifications that increase the effectiveness of the standard. The effective date for the 5010 implementation is January 1, 2012!

Enter Hippo, your gateway into HIPAA 5010 compliance! Hippo was created by Pro Medical, Inc, the company I work for, and we decided to open source the project in order to rise all ships so to speak.

If you were to open up an X12 transaction set as a text file it would look like a large string with fields separated by tildes, colons, and asterisks. This is very confusing stuff, and that confusion is compounded by the fact that in these flat files there are sets of data that are represented hierarchically. Hippo makes the process of turning these awkward strings into understandable transaction sets easy by offering structure and the power of Ruby.


Hippo is available as a gem so simply type the following command once you have ruby:

# gem install hippo

Once you have it installed all you have to do is require it like so to begin.

require 'rubygems'
require 'hippo'

Your first Transaction Set with Hippo

Remember, a transaction set is that long string with fields separated by tildes, asterisks, colons, et al. The structure of most Transaction Sets have been created as Ruby classes in Hippo. For example, the 835 class (Remittance) is in 'hippo/lib/transactionsets/HIPAA835.rb'. If you take a look in that file you will notice that it auto loads the 835 base class as well as all the loops that are permissible within X12's 835 format. This fact is important because the structure was parsed directly from the X12 published table date (the official X12 implementation guide/CSV).

The classes per transaction set have all of the segments (fields) that are permissible by X12 standards. They provide the structure by which we will store, and print our data.

The following code illustrates how you would create an instance of an 835 transaction set and populate its ST(Transaction Set Header) segment in Hippo.