A Clinic Group Fixing a Broken SHA Claims Cycle

Outpatient clinic group, 4 sites · Nairobi and Kiambu

This is an anonymised, composite account drawn from deployments of this type. The facility is not named because we do not have permission to name it, and no performance percentages are quoted because we have not measured them. What is described here is the change in how the work is done, which is the part we can stand behind.

The presenting complaint

"We are not getting paid." Which is where these conversations always start, and it is never quite the real problem.

The real problems, once we looked, were three, and they were all upstream of the claim.

Nobody had measured the rejection rate. There was a sense that it was "quite high". Rejections arrived as a list, were worked through by whoever had time, and the ones that could not be quickly fixed were quietly abandoned. There was no ageing report, so there was no way to distinguish a claim that was late from one that was dead.

Eligibility was checked after the service, or not at all. Patients were treated and the membership status discovered at submission. There is no recovery from this. The service is delivered, the cost is sunk, and the claim is dead on arrival.

Claims were reconstructed from paper. A clerk assembled claims two to three weeks after the encounter from the paper file, filling gaps with what usually happens. Coding drifted towards the generic, and generic coding against a specific benefit package is a rejection.

What we changed

Eligibility moved to registration. The check happens at the desk while the patient is present. If a member is inactive, that is a conversation to have then — payment options, or an explanation — rather than an unrecoverable loss discovered a month later. This single change was the largest one.

Claims built from the encounter. The claim is generated from what the clinician recorded: the diagnosis, the procedures performed, the drugs dispensed, the tests run. The clerk's job changed from reconstruction to review.

Validation before submission. Coding is checked against the benefit package before the claim leaves. A mismatch becomes a thirty-second correction now instead of a three-week round trip.

Rejections attached to the encounter. When a rejection does come back, it lands on the original encounter, so the person fixing it sees the clinical record rather than guessing at intent from a rejection code.

An ageing report. Outstanding claims by payer and by age bucket. This is unglamorous and it changed the group's behaviour more than anything else, because it turned "we are not getting paid" into a specific list of specific claims at specific ages, which somebody can actually work.

An honest note on numbers

We are not quoting a percentage improvement here, and we could. The group's own figures improved. But we did not run a controlled measurement — we did not establish a clean baseline before the change, and several other things changed at the same time, including a new finance manager who chased claims properly.

Attributing the whole improvement to the software would be dishonest, and a number we cannot defend is worth less to you than this paragraph is.

What did not change

The group still writes off some claims. Every facility does. The difference is that they now decide to, on the basis of an ageing report, rather than losing them by attrition.

Questions this raises

Why are our SHA claims being rejected?
In our experience the three dominant causes are: the member was not active on the date of service, the diagnosis or procedure does not map to the approved benefit package, and a required field was left blank at the encounter and filled in later from memory. All three are upstream of the claim — which is why fixing the claims process alone rarely works.
What is the single highest-value change to make?
Check eligibility at registration, before the service. Nothing downstream recovers a claim for a member who was inactive on the day, so every other improvement operates on a smaller pool of recoverable revenue than that one does.
How do we know which claims to chase?
An ageing report by payer and age bucket. Without one, chasing is driven by whoever shouts, and the oldest claims — the ones closest to being uncollectable — are the ones nobody is looking at.

What this facility runs

All case studies