Eligibility Checks & Clearinghouses

:balloon: happy bday Jerry :birthday:

1 Like

Thanks everyone for the good wishes.
So everybody, i’m desperate to get these EB component codes completed so we keep patching them in to a min. The more complete, the better the reporting.
Please, anyone that can help add to the below list will greatly help the project. I’m concerned with the EB and DTP (determines date context) segments.

Blockquote
// EB03
$coverage_type = [
‘’ => “”,
‘1’ => xlt(‘Medical Care’),
‘30’ => xlt(‘Health Plan Benefit Coverage’),
‘33’ => xlt(‘Chiropractic’),
‘35’ => xlt(‘Dental’),
‘42’ => xlt(‘Home Health Care’),
‘47’ => xlt(‘Hospital’),
‘48’ => xlt(‘Hospital Inpatient’),
‘50’ => xlt(‘Hospital Outpatient’),
‘51’ => xlt(‘Hospital Emergency Accident’),
‘52’ => xlt(‘Emergency Room’),
‘86’ => xlt(‘Emergency Services’),
‘88’ => xlt(‘Pharmacy’),
‘98’ => xlt(‘Physician Office visit’),
‘AE’ => xlt(‘Physical and Speech Therapy’),
‘AL’ => xlt(‘Vision’),
‘MH’ => xlt(‘Mental Health’),
‘UC’ => xlt(‘Urgent Care’),
‘BY’ => xlt(‘Physician Visit Sick’),
‘BZ’ => xlt(‘Physician Visit Well’)
];
// EB04
$plan_type = [
‘’ => “”,
‘C1’ => xlt(‘Commercial’),
‘HM’ => xlt(‘HMO’),
‘HN’ => xlt(‘HMO Medicare Risk’),
‘OT’ => xlt(‘Other’),
‘PR’ => xlt(‘PPO’),
‘PS’ => xlt(‘POS’),
‘MA’ => xlt(‘Medicare Part A’),
‘MB’ => xlt(‘Medicare Part B’),
‘MC’ => xlt(‘Medicare Part C’),
‘IN’ => xlt(‘Indemnity’),
‘SP’ => xlt(‘Supplemental Policy’)
];
// EB06
$coverage_period = [
‘’ => “”,
‘7’ => xlt(‘Co-Insurance Days Co-Payment Amount’),
‘22’ => xlt(‘Service Year’),
‘23’ => xlt(’’),
‘26’ => xlt(‘Full Days Co-Payment Amount’),
‘27’ => xlt(‘Visit’),
‘29’ => xlt(’’),
‘32’ => xlt(‘Lifetime’),
‘33’ => xlt(‘Lifetime Rendering’),
‘36’ => xlt(‘Admission’)
];
//EB01 Time Period Qualifier
$benefit_type = [
‘’ => “”,
‘1’ => xlt(‘Active Coverage’),
‘6’ => xlt(‘Inactive’),
‘A’ => xlt(‘Co-insurance’),
‘B’ => xlt(‘Co-payment’),
‘C’ => xlt(‘Deductible’),
‘F’ => xlt(‘Limitation’),
‘G’ => xlt(‘Out of pocket’),
‘I’ => xlt(‘Non-covered’),
‘L’ => xlt(‘Primary Care Provider’),
‘P’ => xlt(‘Benefit disclaimer’),
‘R’ => xlt(‘Other payer information’),
‘X’ => xlt(‘Beneficiary is Medicare entitled’)
];
$aaa_rejected = [
‘’ => xlt(‘Unknown rejection code’),
‘41’ => xlt(‘Authorization/Access Restrictions’),
‘42’ => xlt(‘Unable to Respond at Current Time’),
‘43’ => xlt(‘Invalid Provider Status’),
‘57’ => xlt(‘Invalid/Missing Date(s) of Service’),
‘58’ => xlt(‘Invalid/Missing Date-of-Birth’),
‘60’ => xlt(‘Date of Birth Follows Date Of Service’),
‘63’ => xlt(‘Date of Service in Future’),
‘64’ => xlt(‘Invalid/Missing Patient ID’),
‘65’ => xlt(‘Invalid/Missing Patient Name’),
‘67’ => xlt(‘Patient Not Found’),
‘68’ => xlt(‘Duplicate Patient Id Number’),
‘71’ => xlt(‘Patient Birth Date Does Not Match That for the Patient on the Database’),
‘72’ => xlt(‘72 Invalid/Missing Subscriber/Insured ID’),
‘73’ => xlt(‘Invalid / Missing Subscriber / Insured Name’),
‘75’ => xlt(‘Subscriber/Insured Not Found’),
‘79’ => xlt(‘270 2100A NM103 or NM109 Source Invalid’)
];

wondering if all of these are payer specific or are in that expensive 5010 implementation guide,

http://store.x12.org/store/healthcare-5010-original-guides

you probably already saw this, https://www.cms.gov/Research-Statistics-Data-and-Systems/CMS-Information-Technology/HETSHelp/Downloads/R2018Q400HETS270271CompanionGuide.pdf

Awfully proud of that book, aren’t they. Certainly not on my reading list. I assume any payer specific would have to be in payers implementation guide otherwise they are standard to the spec(or maybe not, one can’t attach logic to this stuff).
I’ve attached a log report of the medicaid batch 271 you sent me so you can see how medicaid is even more confusing. You tell me if the user can glean useful info for it.
I will parse out the coverage types at least to the codes I know.
elig-batch_log_2019-03-04_23_13_02.txt (12.3 KB)

Okay PR is up here and maybe Brady will put up a demo if any wish to test. I’m not 100% happy nut it will get job done.

1 Like

@albanyeye @stephenwaite @KyleNave and others. I brought this project into codebase and have attached a patch for easier testing. Currently I have no plans to back port to 501 unless it is strongly requested. Some points:

  • Some X12 Partner settings have been restored and will populate 270.
    – Sender ID Qualifier (ISA05) and Receiver ID Qualifier (ISA07).
    – ID Number (ETIN) for payer NM108 default is 46 but sometimes PI may be needed.
    – User Logon/User password are for RealTime MIME interfaces currenty Office Ally.
    – Processing format currently doesn’t do anything but will in future.
  • To turn on Office Ally enable in Globals->Connectors.
  • To turn off detailed 271 report downloads after 270 processing Globals-Features->Disable Insurance Eligibility Reports Download
  • The demographics Insurance Eligibility report is very detailed and may require some knowledge of codes. Did best I could without have access to the specs.
  • Eligibility batch is better presented for what patients to request 270s. This is based on whether patient has near time appointments. No appointment, no eligibility request.
  • I have plans to add a realtime request button to insurance Eligibility report tab to get new eligibility status for patients and possible in calendar as well.

I hope this all proves useful and thank you albanyeye and Stephen for your support.
eligibility-patch-master.zip (165.8 KB)

2 Likes

Thanks!!
Will test it out today

Works!!
thanks again.
So much info in the 271 file.
EDIT:
did not realize the eligibility tab in demographics gets populated.
Thats great.
does the log download features in global need to be turned off for the Eligibiity tab to populate?

No the logging report feature is just in case user wants to keep a record of transactions(plus it took some effort to create, didn’t want it to go to waste). Turn it on if that’s the case. How does the tab report look?

edit: actually if we had the same report from OA portal for a patient then I may be able to make the tab report clearer.

@brady.miller @sunsetsystems @stephenwaite and others

Come on guys! Somebody had to know that this was in the code base! I spent hours trying to get the information that’s in this class and a quick “Hey Jerry, did you see this \library\edihistory\codes\edih_271_code_class.php”!!! couldn’t be mustered up!!!

I feel foolish and why bother trying to create projects involving community support.

Sorry @sjpadgett ,
That is a module developed solely by a prior developer, Kevin McCormick, and most of us probably aren’t aware of all the code in it.
-brady

I know what’s going on here Brady. It’s best I let it go for a while because, i’m pissed right now.

Sorry, I’ve not worked in this area and wasn’t aware of that one either.

This is what I was after and makes for a very readable report. This is partial log from 271 parse. For those keeping up.
medicare-realtime.txt (5.7 KB)

Insurance Eligibility tab

Thinking about adding global for full report or partial(plan,co-pay,co-ins and deductible only)

Oh my goodness; I think this is the first time I have seen an example of the Eligibility tab actually working since it has been there. Almost brings a tear of joy to my eyes :slight_smile:

Patch for some 271 parsing and update of reporting.
eligibility-patch-parse.zip (11.1 KB) One file.

Note: @albanyeye and @stephenwaite

1 Like

never thought to look there, nice find @sjpadgett, looks great

agreed. This is awesome! :cry:

This is such a nice feature. Thank you for developing it!

I’m using Windows XAMPP server. How can I set this up and try on my system?

Thank you