The athenahealth API currently exposes a patient’s expected copay for the appointment they are checking in for or booking, and the patient's outstanding balances at the claim level.
- The call to GET /patients includes information related to outstanding patient balances. Two of these fields are "balances" and "claimbalancedetails". In terms of collecting payment, "claimbalancedetails" is the field that should be used.
- For enterprise clients, outstanding balances can only be collected for the provider group associated with the department where the patient is receiving treatment. For example, if the patient is being seen at department 1 and that department is associated with provider group ID 10, then you can only collect on balances associated with provider group ID 10. An enterprise client can be determined by looking at the "departments" call.
- The "claimbalancedetails" field of the API call actually groups claims by their associated provider group. In addition, a list of departments associated with each provider group is also supplied. In practice, what this means is that inside of claimbalancedetails are separate groupings of claims for different provider groups. To find the correct balances to collect on, look for the grouping that includes the patient's current department ID in its list of department IDs. Note: This is not an issue with non-Enterprise practices. In that case, the provider group ID will be left blank and ALL of the department IDs for the practice will be listed.
- Once you have the set of claims with outstanding balances, they should be reviewed for those with "clean" balances. In this case, a clean balance refers to a claim that is not associated with a payment plan or payment contract (i.e. a single appointment or one-year contract).
- WE ONLY WANT TO COLLECT ON CLAIMS WITH CLEAN BALANCES. While you may want to surface information on other claims to avoid patient confusion, please do not collect payment on them. Rather, if the patient has questions, they should be routed to the front desk.
- The POST /collectpayment parameter called 'allowduplicatepayments' will allow you to charge the same amount multiple times. An example use case would be charging for a copay from last visit and the current visit.
For Digital Check-in partners, patients may pay by swiping their credit card on the device, and the credit card information is then passed to athenaNet via API. Patients will need to visit the front desk if paying by cash or check. When collecting payment, we ask that our partners use the copayamount parameter for collecting copays and the otheramount parameter when collecting for a patient’s outstanding balances. athenaNet surfaces outstanding balances (and clean balance flag) at the claim level, allowing payments on a per-claim basis so patients may select the claims for which they would like to apply payment.
Best practices: athenahealth asks our partners to attempt to collect copay and, at minimum, a partial payment towards "clean" outstanding balance for each patient.