Skip to main content
Use this before a visit to confirm a patient’s insurance is active and to see copays, deductibles and whether prior authorization is needed.
There is no test payer. A made-up member can’t be checked and the request can still be billed (see Test mode). Build against the example response below, then run real checks under your business associate agreement.
1

Find the payer id

Expect 200 with a list such as [{ "id": "60054", "name": "Aetna" }]. Queries shorter than 2 characters return an empty list. Save the right id as the payer_id.
2

Run the check

For a patient already in HealOS, send patient_id. HealOS uses their name, date of birth, gender and the member id on their active insurance for this payer:
Otherwise send member_id, first_name, last_name and date_of_birth (YYYY-MM-DD) instead of patient_id. provider_npi is the 10-digit NPI of the requesting provider or practice.Expect 200 with the saved check. Save data.id as CHECK_ID.
Don’t retry a request that returned 200 or a 4xx: each request is a new, billable check. Retry only after 502, 503 or 504, and wait first.
3

Read the result

The 200 response already holds the result. Read it again at any time, free of charge:
Look at these fields:See what result contains for the full shape.

The same flow in Python

The steps above as one script, using requests (pip install requests). It reads the key and the HealOS patient id from environment variables, so nothing about a real patient lives in the code.
Step 2 is a billable payer request every time it runs. The script sends it once and retries only a 502, 503 or 504, once, after a wait. After a timeout it stops and asks you to check the history instead of sending the check again.
eligibility_check.py

Expected outcomes

Read past checks

Checks run in the HealOS dashboard and through the API share one history:
Reuse a recent check instead of running a new one when you can.