OHIP health card response codes, explained

Every validation of an Ontario health card comes back with a response code from the Ministry of Health's HCV system. This page explains what each band and code means, whether the claim will be paid, and what to do next — the same vocabulary the DrTools OHIP Validation API returns on every call, together with the ministry's own description and recommended action verbatim.

The four bands at a glance

  • 00–49 — card not valid and cardholder not eligible.
  • 50–59 — card valid, cardholder eligible. The good one.
  • 60–89 — the card itself is not valid (stolen, cancelled, expired, damaged, returned mail, bad version code) but the cardholder may still be eligible.
  • 90+ — system information and authorization codes; nothing about the patient.
00–49

Card or number problems — not valid, not eligible

API verdict: card: "invalid" · eligible: false

Codes in this band mean the health number failed validation and the cardholder is not eligible for insured services on the date of the check. The claim will not be paid as submitted.

Response code 05

The health number is not valid — it does not pass the ministry’s validation of the number itself.

What to do: Re-check the number for a typo and validate again. If it still fails, ask the patient for their current card and confirm the number against the physical card.

Response code 10

The health number passed the format check but the cardholder is not eligible on this date.

What to do: Advise the patient to contact ServiceOntario about their coverage. Collect alternative payment details if the visit proceeds.

Response code 15

The service date pre-dates the cardholder’s eligibility — coverage had not yet started.

What to do: Confirm the service date. If the patient’s coverage begins later, the visit on this date is not insured.

Response code 20

The cardholder is no longer eligible — coverage has ended.

What to do: Advise the patient to contact ServiceOntario to renew or confirm coverage. Treat the visit as uninsured until eligibility is restored.

Response code 25

Eligibility could not be confirmed for this date against the number presented.

What to do: Verify the number and version code with the patient’s current card, then validate again.

50–59

Card passed validation — cardholder eligible

API verdict: card: "valid" · eligible: true

Codes in this band are the answer you want at check-in: the card passed validation and the cardholder is eligible for insured services on this date. The ministry’s wording notes that payment for billable services rendered on this day will follow — subject, as always, to claim adjudication.

Response code 50

The health card passed validation and the cardholder is eligible on this date.

What to do: Proceed. Keep the response_audit_id with the encounter record.

Response code 51

The health card passed validation and the cardholder is on an active roster (the ministry’s response_id for this code is IS_ON_ACTIVE_ROSTER; its description reads “Health card passed validation”).

What to do: Proceed. The ministry’s response_action for this code states you will receive payment for billable services rendered on this day.

Response code 52

The health card passed validation; the ministry’s response carries additional roster or enrolment context for the cardholder.

What to do: Proceed, and read the accompanying response_description for the enrolment detail the ministry attaches.

Response code 53

The health card passed validation; the response includes further eligibility context from the ministry.

What to do: Proceed, and record the ministry’s accompanying description with the visit.

Response code 54

The health card passed validation; the response includes further eligibility context from the ministry.

What to do: Proceed, and record the ministry’s accompanying description with the visit.

Response code 55

The health card passed validation; the response includes further eligibility context from the ministry.

What to do: Proceed, and record the ministry’s accompanying description with the visit.

60–89

Card not valid — cardholder may still be eligible

API verdict: card: "invalid" · eligibility per code

This band is the subtle one: the physical card presented is not valid — reported stolen, cancelled, expired, damaged, on returned mail, or carrying the wrong version code — but the person may still have OHIP coverage. The right response is usually a new or corrected card, not turning the patient away.

Response code 65

The card presented has been reported stolen. The cardholder may still be eligible under a replacement card.

What to do: Do not accept the card. Ask the patient for current identification and direct them to ServiceOntario for a replacement; validate the replacement when presented.

Response code 70

The card presented has been cancelled. The cardholder may still be eligible under a newer card.

What to do: Ask whether the patient has a newer card — validate that one. Otherwise direct them to ServiceOntario.

Response code 75

The card presented has expired. Eligibility may continue under a renewed card.

What to do: Ask for the renewed card, or direct the patient to ServiceOntario to renew. Validate again with the new version code.

Response code 80

The card is flagged damaged or unusable as presented.

What to do: Direct the patient to ServiceOntario for a replacement card; validate the replacement.

Response code 83

The ministry has the cardholder on returned mail — their address on file is out of date, and the card is not valid as presented.

What to do: Ask the patient to update their address with ServiceOntario. Validate again once their record is corrected.

90–99

HCV system information

API verdict: system-level — retry or investigate

These codes describe the validation system’s own state rather than the card. They matter to whoever built the integration, not to the patient at the desk.

Response code 90

An HCV system information response — the validation could not be completed as a normal card verdict.

What to do: Read the accompanying response_description; retry the validation. If it persists, check the service status.

Response code 99

An HCV system information response — the ministry system could not return a card verdict.

What to do: Retry after a short wait. Persistent 99s are an integration or ministry-side issue, not a card problem.

9A–9M

Unauthorized HCV user

API verdict: authorization problem — fix credentials

Alphanumeric 9-series codes mean the ministry rejected the caller, not the card: the MOH EBS credentials or authorization used for the request are not accepted. Nothing about the patient can be concluded from these.

Response code 9A–9M

The ministry did not authorize the requesting user for health card validation — a credentials or authorization problem with the MOH EBS account used.

What to do: Verify your MOH EBS username, password, and provider authorization. If you use the /v2 flow, re-check the stored credentials in the portal. Contact the ministry if your EBS access itself has lapsed.

Stop memorising code bands

The OHIP Validation API returns every code above with the ministry's own description and recommended action — plus a derived status.eligible boolean so your software can branch without a lookup table. The sandbox replays every one of these codes so you can build your error handling before you ever touch a real card.

Response descriptions and recommended actions on live API responses come from the Ministry of Health verbatim. Eligibility reflects what the ministry reports on the day of the check; claims remain subject to ministry adjudication. DrTools is an independent service and is not affiliated with or endorsed by the Ontario Ministry of Health.