Eligibility Checks & Clearinghouses

Good Morning,

I would like to set up eligibility checks through the OpenEMR Batch process and I have found a variety of information out there but was hoping to consolidate a little bit.

We are using Office Ally for submitting claims but when I asked their customer service representative they said they do not support batch checks. Can anyone confirm or deny that this will not work through OfficeAlly?

I also have an Availity Account set up for other purposes. I would like to try to test through availability but I don’t have the X12 partner setup. I found a thread where user “David” shared his X12 setup but there were a couple of fields marked as “Provided by Availity”. Is that a call to customer service or does it map to user account information I might already have? I would call Availity but its Saturday morning.

I also have a Zirmed account but same situation. I attempted to set up the X12 partner using information from this link:

But batch files were rejected with no real error details.

So the first thing that would be cool is a single place that documents the X12 partner setup by clearinghouse for OpenEMR similar to the link above including details like how to get the specific information (maybe just call support in all cases but even that would be helpful to know).

Also if any of the clearinghouses are recommended more for this specific purpose let me know.

Thanks for any feedback.


Zirmed companieion guied.pdf (168.9 KB)

The document above is helpful for configuring the ZIRMED X12 partner settings however I’m not sure if I have it right yet based on this information as the batches are still being rejected.

What I see is below. Not sure if there is any other source for debugging information of if I have to wait until Monday and call…


Let us know how it goes for you - maybe post the code here when you’re successful? I use OA and plan to implement this feature as well… :slight_smile:

I definitely will.

Spent half the day on the phone with Zirmed support. They are nice but have no tools or ability to help.
They provided an old sample file that does not conform to their companion guide and does not successfully upload for processing.

There are some problems that need to be addressed as well in the code. Once I have it working though I will make the changes available.

If anyone has a sample 270 file from any source at all that is compatible with Zirmed and they they can share please let me know. May require some sanitizing of course…

hi @KyleNave, here’s a bit of work from last year simple fix to segment delimiter by stephenwaite · Pull Request #1066 · openemr/openemr · GitHub

Thanks. I had run across that in a previous search…I know parsing the 271 response file is the next problem down the road once I can actually get one!
But it is nice to know someone has solved that one already.

ok, we’re you able to confirm your ISA values with zirmed

It is all working beautifully now.

The biggest help was when Zirmed actually flipped the switch to enable processing of the files (only took 3 days of tech support for them to figure that out).

It did require a few changes to edi.inc and edi_270.php.

I will provide details when I have a chance.


Hello Kyle
can you please share your setup for Availty 270/271 eligibility check and Officeally claims.
I have Availity and currently check the eligibility one patient at a time.
I would like to batch process.
What changes to edi_270.php did you make? Was in in version 5.0.1.?

I don’t have Availity working…just Zirmed.

Kyle Nave
Atlas Revenue Management

(719) 339-7307

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is

for the sole use of the intended recipient(s) and may contain confidential

and privileged information or may otherwise be protected by law. Any

unauthorized review, use, disclosure or distribution is prohibited. If you

are not the intended recipient, please contact the sender by reply e-mail

and destroy all copies of the original message and any attachment thereto.

hi @albanyeye, here’s the last fix to edi_270.php for 5.0.1, change eligibility batch from ssn to policy number, minor fix to file… · openemr/openemr@9a7444a · GitHub

office ally claims setup is on pg 6 of this doc, http://www.officeally.com/files/Provider%20Packet_20150820.pdf

After speaking to Availity I made the appropriate entries into Practice–>X12 Partners and then I made the changes to the 2 files.
I got back the response with the following error:

1E|Availity does not recognize the interchange data starting at position 0 as valid.

Any further suggestions?.

can you share a screenshot of your X12 partner setup please? ISA 01 and ISA 03 should be 00

I was told the following
Sender ID (ISA06) is AV09311993 (and 5 blank spaces after)
Reciever ID (ISA08) is 030240928 (and 6 blank spaces after)
GS03 is 030240928 (no blank spaces

I did leave GS03 completely blank and sent in the 270 file and got the same error
“Availity does not recognize the interchange data starting at position 0 as valid.”

Here is the top of my file
ISA000000000 000000000000ZZ AV09311993 ZZ030240928 1902111342*^005010000000011P*:~GSHS AV09311993 030240928 201902111342402X005010X279A1~ST270000000003005010X279A1~BHT002213PROVTest600201902111342~HL1**201~NM1PR2Medicaid - Georgia*****46030240928 ~HL21211~NM1FA2*

are you sure about the Dun & Bradstreet dropdown choice?

No I am not sure actually.
I forgot to ask the Availity support about that.

I got that from Page 39 of this EDI support document.

When I look in the X12 table in the database, ISA07 has a value of 01.
Availity says it needs to be 01 which corresponds to DUNS.
And ISA05 has a value of ZZ

looks like the guide says ISA02 and 04 need to be 10 spaces, openemr/edi.inc at 9a7444a23561855929ba1133cfc28ddf881eb6e6 · openemr/openemr · GitHub

I put in the following:
ISA02 = 10 spaces
ISA04 = 10 spaces
ISA06 = AV09311993 (5 blank spaces)
ISA08 = 030240928 (6 blank spaces)

and yet the same error.

I’ll try it again tonight after clinic is closed

did you hand edit the file? might be worth emailing availity support

I’ve tried to edit by hand and resend but keep getting the same error. Then I thought that maybe I should just try to send 1 patient in the file to test.
Reports–>Visits–>Eligibility and then I deleted all the patients but 1 Medicare patient and clicked the create batch button.
I got an error!! Not sure what that is all about


Query Error

ERROR: query failed: SELECT DATE_FORMAT(e.pc_eventDate, ‘%Y%m%d’) as pc_eventDate, e.pc_facility, p.lname, p.fname, p.mname, DATE_FORMAT(p.dob, ‘%Y%m%d’) as dob, p.ss, p.sex, p.pid, p.pubpid, i.policy_number, i.provider as payer_id, i.subscriber_relationship, i.subscriber_lname, i.subscriber_fname, i.subscriber_mname, DATE_FORMAT(i.subscriber_dob, ‘%m/%d/%Y’) as subscriber_dob, i.policy_number, i.subscriber_sex, DATE_FORMAT(i.date,’%Y%m%d’) as date, d.lname as provider_lname, d.fname as provider_fname, d.npi as provider_npi, d.upin as provider_pin, f.federal_ein as federal_ein, f.facility_npi as facility_npi, f.name as facility_name, c.name as payer_name FROM openemr_postcalendar_events AS e LEFT JOIN users AS d on (e.pc_aid is not null and e.pc_aid = d.id) LEFT JOIN facility AS f on (f.id = e.pc_facility) LEFT JOIN patient_data AS p ON p.pid = e.pc_pid LEFT JOIN insurance_data AS i ON (i.id =( SELECT id FROM insurance_data AS i WHERE pid = p.pid AND type = ‘primary’ ORDER BY date DESC LIMIT 1 ) ) LEFT JOIN insurance_companies as c ON (c.id = i.provider) WHERE e.pc_pid IS NOT NULL AND e.pc_eventDate >= ? AND e.pc_eventDate <= ? AND i.policy_number not in (‘249589229A’,‘171304340A’,‘95758728500’) AND (i.policy_number is not null and i.policy_number != ‘’)

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '‘249589229A’,‘171304340A’,‘95758728500’) AND (i.policy_number is not null ’ at line 42

/var/www/openemr/interface/reports/edi_270.php at 123:sqlStatement