Payments

Before you start

  • NexHealth reads financial data from the health record system only on request. To turn it on for your API key, email [email protected]. Sandbox locations have it on.
  • Every request needs a bearer token from POST /authenticates. See Authentication.
  • Requests take the practice's subdomain and, for most endpoints, a location_id. See Institutions, syncs, and locations.

Overview

Payments are transactions where a patient or their insurance pays for services. Payments reduce the patient's balance. This endpoint shows payments entered in the health record system, whether or not the practice has received the funds. Practices may log payments before or after they process them.

📘

Payments and refunds

Payments are negative values because they reduce a patient's balance. Refunds are positive values. For example, a 125 dollar patient payment has an amount of -125.00, and a 125 dollar refund has an amount of 125.00.

Health record systems handle refunds differently. Some let users enter refunds as positive payments. Others only support refunds as adjustments. The NexHealth API handles this for you. If you post a refund as a positive payment to a system that does not support it, NexHealth converts it into an adjustment. The API response shows the adjustment.

📘

Distinguishing patient and insurance payments

Check the insurance_plan_id field to see whether a patient or an insurance provider made a payment. Insurance payments have a non-null value.

One create payment call can produce several payment transactions in the health record system, especially when the practice splits a payment across providers. To track all payments from one API request, use the transaction ID parameter. The transaction ID is for tracking only. It is not visible in the health record system.

Example use cases

  • Use create payment to add transactions to a patient's ledger after you receive a payment. This is useful for digital payment collection applications.
  • Add up payments, charges and adjustments to calculate patient balances and produce itemized bills.

Payments response

{
  "code": true,
  "description": "Description",
  "error": "Error",
  "data": {
    "id": 113,
    "foreign_id": "1234-5678",
    "location_id": 10,
    "patient_id": 3,
    "guarantor_id": 5,
    "provider_id": 15,
    "updated_at": "2024-09-05T20:31:17.007Z",
    "description": "This is a description",
    "deleted_at": "2024-09-15T11:21:26.003Z",
    "payment_amount": {
      "amount": "-62.00",
      "currency": "USD"
    },
    "paid_at": "2024-10-01",
    "transaction_id": "NHP:JXZEQ1234",
    "charge_id": 1111,
    "claim_id": 2222,
    "payment_plan_id": 3,
    "insurance_plan_id": 4,
    "patient": {
      ...
    },
    "guarantor":{
      ...
    },
    "provider":{
      ...
    },
    "claim": {
      ...
    },
    "charge": {
      ...
    },
    "payment_plan": {
      ...
    },
    "payment_type": {
      ...
    },
    "payment_type_id": 5
  },
  "count": 2
}

 

Health record system details

Dentrix

  • Dentrix does not link payments to charges. payment.charge_id is always null.
  • Dentrix records refunds as positive value adjustments.

Dentrix Enterprise

  • Dentrix Enterprise links payments to charges. payment.charge_id has a value.
  • Dentrix Enterprise records refunds as positive value adjustments.

Eaglesoft

  • Eaglesoft links payments to charges.
  • Eaglesoft records refunds as positive value adjustments.

Open Dental

  • Open Dental links payments to charges.
  • Open Dental records refunds as positive value payments.