Skip to main content

In the EHR

A patient liability is an amount a patient owes the practice, such as a copay, coinsurance or a membership fee. Practice users record and collect it through Patient Payments in the patient’s chart, and each liability carries the charges and payment requests made against it. See Collecting a Patient Payment in the EHR.

Working with patient liabilities via the API

  • Creating a liability records a payment that was already collected. A POST creates the liability already paid in full, with one completed charge. Use it for a payment the practice took outside Elation: cash (payment_type: cash), a check (payment_type: check), or a card run on the practice’s own terminal or processor (payment_type: card). It doesn’t charge a card, and it can’t record a payment through Elation-managed Stripe.
  • No receipt is sent to the patient. A payment recorded in the chart can send the patient a receipt. A payment created through the API never does, so send your own if your workflow needs one.
  • The payment must cover the full amount. payment.amount_usd must equal total_amount_usd; partial payments aren’t supported. The amount must be between $0.50 and $99,999.99.
  • Retries create duplicates. Invoice numbers aren’t unique, so the API can’t tell a retried POST from a second payment. Retain the id returned by a successful POST, and don’t retry after a timeout without first checking whether the liability exists.
  • payment.paid_at is a timestamp. Send an ISO 8601 date-time with an offset, such as 2026-10-26T14:30:00-04:00. It’s stored as that instant and returned in UTC. It defaults to now and can’t be in the future.