Health card validation (HCV) is a real-time check against the Ministry of Health's eligibility file. Given a health number, it returns whether the patient is currently insured and what the current version code is. Running it at the point of care removes the EH2, VH8, VH9 and EH4 rejection family — which between them account for a large share of everything that comes back on a claims error report.
IntelAGENT validates the card against the ministry’s service while the patient is still in front of you. See how →
Ontario health cards carry two pieces of identity: a ten-digit health number, which is permanent, and a version code, which is not. The version code changes whenever a card is replaced — lost, damaged, renewed, name changed. The old number still exists; the old version code does not.
A claim submitted with the previous version code is rejected outright. Not reduced, not queried — rejected, with code EH2, and it stays rejected until somebody notices and resends it.
What validation returns
A validation response answers three questions and no others:
- Does this health number exist? If not, the number was misread or the patient is not registered in Ontario.
- Is the patient eligible right now? Coverage can lapse — a move out of province, an expired card for a non-citizen, a death recorded against the record.
- What is the current version code? This is the part worth capturing, because it is the one you cannot derive from anything else.
What it does not tell you. Validation says nothing about whether the service you are about to bill is an insured benefit, whether a frequency cap applies, or whether another physician has already claimed that service. Those are adjudication questions and they are answered on the Remittance Advice, a month later.
The rejections it prevents
| Code | Cause | Prevented by validation? |
|---|---|---|
| EH2 | Version code does not match ministry records | Yes — validation returns the current code |
| VH9 | Health number not registered | Yes — caught before the claim is created |
| EH4 | Service date after eligibility end date | Yes — eligibility is part of the response |
| EH1 | Not eligible on the date of service | Yes, if validated on or near the service date |
| VH8 | Date of birth does not match the health number | Partly — validation confirms the number, but the date of birth still has to be entered correctly |
| VH1 | Health number fails its check digit | Yes — and this one is catchable locally, without any ministry call at all |
Version codes, and the two traps
Two small things cause a disproportionate number of EH2 rejections.
-
Case
The ministry expects version codes in uppercase. A lowercase
ehwhereEHwas meant is rejected as a mismatch, even though the characters are right. It is a rejection caused entirely by typing, which is why IntelAGENT upper-cases the version code on the way in rather than leaving it to whoever entered the claim. -
Staleness in the roster
A version code captured correctly in March is wrong in September if the card was replaced in between. Rosters go stale silently. Patients seen regularly over years are the most likely to have an out-of-date code on file, not the least.
When there is no card
Emergency departments, inpatient wards and house calls routinely see patients without a card in hand. Two paths:
- Look the number up from the hospital record or a previous encounter, then validate it. Validation works on the number; the physical card is just the most reliable way to read it.
- Bill without one where the Schedule permits it. Some services may be claimed without a card present — this is a permission, not an instruction to leave the field blank, and the claim still needs whatever identification the ministry requires for that route.
Do not invent a version code. A guessed code is rejected exactly as reliably as an old one, and it adds a round trip. If you genuinely cannot establish the current code, submit by whatever route the Schedule allows for a cardless encounter rather than inventing one.
Making it routine
Validation only helps if it happens before the claim is built, not after it is rejected. In practice that means one of:
- Scan at registration. Reading the card's stripe or barcode removes transcription error entirely, and the validation call can ride along with the scan.
- Validate the roster the night before. For a scheduled clinic or a ward list, every patient can be checked in a batch before the day starts, so the stale ones are known by the time they arrive.
- Validate at the moment of billing. The weakest of the three, because by then the patient has gone, but still better than finding out from an error report.
Validate the card before the patient leaves
Every health card rejection in the table above is avoidable at the point of care, which is the only moment the patient is still in front of you.
Health card validation runs against the ministry's service directly from the mobile app and the web portal. The card can be scanned with the phone camera rather than typed, which removes the check-digit and transposition failures before they become claims. Validated version codes are written back to the patient record, so a card replaced between visits updates the roster rather than quietly breaking the next claim.
Claims are also checked locally before submission — a health number whose check digit fails never reaches the ministry, because it does not have to.
Three months free, then 0.25% of paid claims, capped at $39.99 a month. IntelAGENT has submitted OHIP claims since 2016 for more than 2,000 Ontario physicians.
Frequently asked questions
What does health card validation actually tell you?
Whether the health number exists, whether the patient was eligible on the date checked, and what the current version code is. It does not tell you whether a particular service is insured, and it does not reserve or guarantee payment — it only confirms the patient's coverage status at that moment.
What is a health card version code?
The one- or two-letter suffix after the ten-digit health number on a green Ontario photo card. It changes every time a card is replaced. A claim carrying an out-of-date version code is rejected with EH2, and the only way to know the current one is to validate the card or read it from the card in the patient's hand.
Do I need the physical card to validate it?
No. Validation runs on the health number and version code, however you obtained them. The card in hand is simply the most reliable source, and scanning its magnetic stripe or barcode removes transcription errors that a typed number introduces.
The card came back invalid but the patient insists they are covered. What now?
Treat the patient and record the encounter either way. Then resolve the coverage question separately: the patient contacts ServiceOntario, and you either resubmit once the record is corrected or bill privately if they are genuinely uninsured on that date. Do not guess at a version code to make the claim pass — a wrong one is rejected anyway.
Sources
- OHIP for health care professionals — Ontario Ministry of Health.
- R.R.O. 1990, Reg. 552 under the Health Insurance Act — Government of Ontario. Eligibility and insured-service rules.
- OHIP Schedule of Benefits and fees — Government of Ontario.
Related reading
Common OHIP claim rejections
The full list of codes that stop a claim before adjudication.
GuideHow to reduce missed OHIP billings
Where revenue actually leaks, in the order it is worth fixing.
ProductIntelAGENT on mobile
Scan a card, validate it, and bill the encounter from the phone in your pocket.