Payments & insurance
Once a bill is invoiced, the money still has to arrive — some from the patient at the cash desk or by M-Pesa, and the larger share from insurers and the NHIF/SHA scheme through claims. This page covers the back half of the revenue cycle: collecting the patient payment, clearing high-cost services with prior authorisation before they are delivered, submitting insurance claims, working denials and appeals, ageing the receivables by payer, and writing off what cannot be collected. It is written for cashiers, billing officers and the revenue-cycle manager who owns collections.
Where to find it
- Billing → Prior Auth → PA Requests — pre-service authorisations; plus Prior Auth → Dashboard and Prior Auth → Appeals.
- Billing → Prior Auth → Configuration → Auto-Fire Rules and Coverage Requirements (CRD) — automation and payer rules behind prior auth.
- Billing → RCM → Denials → Denials and Denial Reasons — rejected claims and their reason codes.
- Billing → RCM → Receivables → A/R Aging and Write-Offs — outstanding balances by payer and approved write-offs.
Patient payments and M-Pesa receipts are taken from the bill or the cash session. Insurance claims and pre-auth are reached from the patient's visit and bill.
Before you start
- The bill must be Invoiced (see Charges & bills) before a payment posts cleanly.
- For mobile money, the M-Pesa shortcode and environment must be configured.
- For tax-compliant receipts, the eTIMS device configuration must be active.
- The patient's insurance scheme (NHIF/SHA or private) must be linked so the insurer share and claim can be raised.
Collecting a patient payment
A payment (hms.payment) records a collection of the patient share against a bill. It captures the amount, a method, a reference number, who received it and the cash session it belongs to, and moves Draft → Posted (or Cancelled).
- Open the patient's invoiced bill and start a payment.
- Choose the Method: Cash, M-Pesa, Card, Cheque, Bank Transfer or Insurance Settlement.
- Enter the amount and a reference number (bank, card or M-Pesa reference).
- Post the payment; the bill's Paid Total rises and the Balance Due falls. When the patient share reaches zero, the bill moves to Paid.
M-Pesa collection
For M-Pesa, an STK prompt is pushed to the payer's phone and the result is tracked as an hms.mpesa.transaction that runs Pending → Initiated → Callback Received → Successful, or ends in Failed, Timeout, Reversed or Cancelled. A successful transaction reconciles back to the payment so the bill balance updates automatically.
| M-Pesa state | What it means |
|---|---|
| Pending | Created but not yet sent to the gateway |
| Initiated | The STK prompt has been pushed to the phone |
| Callback Received | The gateway returned a result, being processed |
| Successful | Money confirmed; reconciles to the payment |
| Failed | The transaction did not complete |
| Timeout | No response in time; treat as not paid |
| Reversed | A completed payment was reversed |
| Cancelled | Withdrawn before completion |
Transaction types seen on these records are STK Push, C2B Online, C2B Offline, B2C, Reversal and Balance Query — surfaced under Invoicing → Billing → M-Pesa → Transactions with ready-made Successful, Pending, Failed / Timeout and Unreconciled C2B filters.
| Payment field | Meaning | Required |
|---|---|---|
| Amount | Sum being collected | Yes |
| Method | Cash, M-Pesa, Card, Cheque, Bank Transfer, Insurance Settlement | Yes |
| Reference Number | Bank, card, M-Pesa or receipt reference | No |
| Received By | The staff member taking the payment | No |
| Cash Session | The shift the cash belongs to | No |
Prior authorisation
High-cost services must be cleared with the payer before they are delivered, or the claim will be denied. A PA Request (hms.priorauth.request) carries a service description, a category (High-Cost Imaging, Specialty Rx/Biologic, Surgery/Procedure, Inpatient Admission, DME or Other), the diagnoses and clinical justification. It runs Draft → Submitted → Pending Payer Review → Approved, or Denied (then Appealed) or Cancelled. On approval it stamps an authorisation number and a validity window.
- Raise the request — manually, or automatically when an Auto-Fire Rule matches the source document and cost threshold.
- Attach the clinical justification and diagnoses, then Submit.
- On payer review, Approve records the authorisation number used on the bill; Deny records the denial reason.
- If denied, raise an Appeal (Level 1 Reconsideration, Level 2 Peer Review or Level 3 External Review).
| PA request state | What it means |
|---|---|
| Draft | Request created, not yet sent |
| Submitted | Sent to the payer |
| Pending Payer Review | Awaiting the payer's decision |
| Approved | Authorisation number and validity window stamped |
| Denied | Refused, with a denial reason |
| Appealed | A denial is being contested |
| Cancelled | Withdrawn before a decision |
Insurance and NHIF–SHA claims
The insurer share is recovered as an insurance claim (hms.insurance.claim), which can be submitted electronically to NHIF/SHA. A claim moves through a full lifecycle: Draft → Submitted → In Review → Approved or Partially Approved, then Paid or Partially Paid; it can also go Rejected, Appealed, Closed or Cancelled. Claims may be grouped into a claim batch (Draft → Ready to Submit → Submitted → Reconciled → Closed) for bulk submission and remittance reconciliation.
Denials, appeals and write-offs
When a payer rejects or short-pays, log a denial (hms.rcm.denial) against the claim with a reason code categorised as Eligibility/Coverage, Authorization/Pre-Cert, Coding/Documentation, Medical Necessity, Duplicate, Timely Filing, Bundling or Benefit Maximum. A denial runs Draft → Open → Appealed → Overturned or Upheld/Written-off → Closed.
Balances that cannot be collected are removed through a write-off (hms.rcm.write.off), typed as Contractual Adjustment, Bad Debt, Charity Care, Small Balance or Administrative. Write-offs require approval — they move Draft → Submitted → Approved → Posted, or Rejected — so no balance leaves the books unreviewed.
| Write-off type | When to use it |
|---|---|
| Contractual Adjustment | The difference between list price and the payer's contracted rate |
| Bad Debt | A patient balance judged uncollectable |
| Charity Care | A balance forgiven under the charity policy |
| Small Balance | A residual too small to pursue |
| Administrative | A correction or goodwill adjustment |
The approval chain is the same regardless of type: a write-off runs Draft → Submitted → Approved → Posted, or is Rejected. Only an RCM Manager can approve, and the approver and approval date are stamped on the record.
A/R aging
A/R Aging buckets every outstanding balance by payer into 0–30, 31–60, 61–90, 91–120 and 120+ days, with a total outstanding per payer. Work the oldest buckets first; ageing balances are the ones most likely to fall outside timely-filing limits and become write-offs.
Dashboards & roles
The RCM Dashboard reports Days in A/R, Denial Rate, Clean Claim Rate, Collection Rate, total A/R and total denied over 90 days. Access follows the same split as the rest of Billing: cashier (facility) for collecting payments in their own facility, manager (all) for cross-facility collections, and RCM User / RCM Manager for denials, write-off approval and the dashboard.
Tips & troubleshooting
| Problem | Fix |
|---|---|
| Bill balance not clearing after M-Pesa | Check the M-Pesa transaction state — only Successful reconciles. |
| Claim denied for Authorization/Pre-Cert | No approved PA Request existed at service time — add an Auto-Fire Rule. |
| Old balances piling up in 120+ | Work A/R Aging oldest-first; appeal or write off before timely-filing lapses. |
| Write-off will not post | It needs approval — it must pass Submitted → Approved before Posted. |
Related
- Billing overview — the whole revenue cycle.
- Charges & bills — building the invoice that this page collects against.

