Case study · KenyaEMR · 2023–24

Every way to pay, including not paying

Hospital billing for KenyaEMR, built from scratch, field-tested in 7 facilities and adopted by OpenMRS as its standard billing design

Role
UI/UX specialist at Palladium: designed billing from scratch, helped design the inpatient module
Team
Donald Kipkorir, senior back-end developer
Timeline
2023–24
Platform
Web · OpenMRS 3
The Payment desk: Njeri Kamau's bill with two pending items, and the Payments panel offering Cash, Insurance, Mobile money and Waiver
THE PAYMENT DESK, IN THE OPENMRS REFERENCE THEME · ALL PATIENTS FICTIONAL
Overview

KenyaEMR is the medical record system used in health facilities across Kenya, built on the open-source OpenMRS platform. At Palladium I designed its billing module from scratch: how a cashier finds a patient's bill and takes payment by cash, insurance or mobile money, for outpatient and inpatient care.

Problem

Facilities needed to bill patients inside the medical record. Waivers, where a facility lets a patient pay less or nothing, worked differently in every facility we tested.

Outcome

One payment desk where a waiver is one of four ways to pay. OpenMRS adopted the designs as its standard billing design guide.

7health facilities where we field-tested billing
4ways to pay at one desk, waiver included
1billing design, adopted as the OpenMRS standard

The challenge
one bill, many rules

A hospital visit builds a bill line by line: registration, consultation, lab tests. Some lines are exempt, some are already paid, some are still pending. The cashier has to see what is owed and take it in whatever way the patient can pay.

Most patients pay by cash, insurance or mobile money. Some can't pay at all, and the facility waives part or all of the bill. That last case is where the real complexity was.

Version one
a full cashier module

The first version covered everything a cashier's office does: payment points that cashiers clock in to, payment modes, a bill manager, charge items and payment history, across 23 screens.

A waiver was a separate action. The cashier opened a bill, chose Waive Bill from its menu, entered an amount and typed a reason.

Cashier module overview: a billing list of pending bills and a Clock In button
The cashier clocks in to a payment point, then works through pending bills.
Bill manager with the Waive Bill panel open: an amount to waive and a waiver reason
Waive Bill sat in the bill's action menu, apart from taking payment.

Field testing
7 facilities, real cases

We took the cashier module into 7 health facilities and ran it through different case scenarios. The gaps were in waivers, in three ways, and one fixed waiver path couldn't serve every facility.

01 · ApprovalWho can approve?Facilities disagreed on who should hold the role of approving a waiver.
02 · ConfirmationOne check or two?Some facilities needed a second person to confirm a waiver before it went through.
03 · EligibilityWho qualifies?The categories of patients who qualified for a waiver differed from facility to facility.

The redesign
three decisions

Version two became the Payment desk: 14 screens running from search to receipt, including what happens when a patient isn't found or the connection times out.

A waiver is a way to pay

CHOSE
Waiver as the fourth payment method, next to Cash, Insurance and Mobile money, in the same Payments panel.
INSTEAD OF
A separate Waive Bill action in the bill's menu.
WHY
A bill can be settled in parts, some waived and the rest paid, in one place. Each waiver is recorded with an amount and a reference, like any other payment.

Rules approve the waiver

CHOSE
Waiver categories set in configuration: a patient who falls into one, such as a prisoner, qualifies automatically. A later release added a second route, through the national insurance system built into KenyaEMR.
INSTEAD OF
A person approving each waiver by hand, on one path built into the screens.
WHY
Who approves, how many checks and who qualifies all differed across the 7 facilities. Rules in configuration fit each one without changing the screens.

One desk, search first

CHOSE
A single Payment desk: find the patient, tick the lines being paid, take payment.
INSTEAD OF
A module with six sections in the cashier's menu.
WHY
At the counter, taking payment is one task. Setup such as payment points and modes leaves the cashier's menu.
Before · version one
Version one: the Waive Bill panel with an amount to waive and a reason box
Waive Bill: its own panel, reached from the bill's menu.
After · the Payment desk
Version two: the Payments panel with Cash, Insurance, Mobile money and Waiver, an amount and a reference number
Waiver: one of four ways to pay, with an amount and a reference.

Try it
settle Njeri's bill

Njeri owes 420 KSH for a consultation and two lab tests. Waive part of it, then pay the rest by mobile money, the way a cashier would on the Payment desk.

Njeri Kamau100GEJ876RE
Select a payment method
0200 KSH by Waiver420
The bill
Consultation120
VDRL test × 2400
Discount−100
Total due420 KSH
Payments None yet
Balance420 KSH
A stand-in for the real Payments panel. Amounts match the bill in the hero screen.

Before the bill
the patient's whole stay

Every line on a bill starts somewhere in the patient's journey. Alongside billing, I helped design the inpatient module, starting from early work that Partners In Health shared with the OpenMRS community.

As part of the OpenMRS design community, we tested and shaped it before KenyaEMR adopted it. Follow Njeri from the front desk to the payment desk.

Registration: searching for Njeri Kamau and starting her visit
01Check inRegistration finds Njeri by name or ID and starts her visit.
INPATIENT SCREENS SHOWN IN KENYAEMR'S THEME · ALL PATIENTS AND STAFF FICTIONAL

Outcome
what changed

Next time
what I'd do differently

Ask about waivers on day one

The waiver rules surfaced in the field. A short survey of facility policies before version one would have caught them earlier.

Measure the counter

Time from search to receipt, before and after the Payment desk, would turn a strong story into a number.

Next project · 05 · ShippedAlinkeo transcripts →