CLIENT: Mbuyu Pharmacies🇰🇪Kenya

Mizani - Pharmacy Chain Management with Batch-Level Stock and Safe Dispensing

Pharmacy Management Platform for a Kenyan Pharmacy Chain

Designed and built a clickable pharmacy management platform for a Kenyan chain of 40 retail and hospital outpatient pharmacies: a prescription queue, a dispensing workspace with batch picking by expiry, safety checks, bilingual labels and the controlled drugs register, batch-level stock, and an expiry dashboard that suggests what to do with every batch at risk.

Scope of Work
Product design, UI build and clickable demo
Industry
Healthcare / Pharmacy Management
HealthcareEnterprise
Compliance & Certifications
Pharmacy and Poisons Act (Cap. 244)Narcotic Drugs and Psychotropic Substances ActKenya Data Protection Act 2019Social Health Insurance Act 2023KRA eTIMSPPB pharmacovigilance (PvERS)GS1 barcodes

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Outlet dashboard, prescription queue, dispensing workspace, stock on hand and expiry dashboard. Each of the 18 demo prescriptions opens its own dispensing workspace.

FEFO
Batch picking enforced

The earliest-expiring usable batch is preselected, choosing a later one needs a reason, and expired, recalled or quarantined batches are greyed out and cannot be picked. Scanning the pack confirms product and batch.

3 Gates
Before a pharmacist can approve

Approve stays locked until every major or contraindicated alert has a pharmacist decision, every picked line is scanned and any controlled drug entry is signed with the pharmacist's PIN.

36 Batches
Realistic demo data

25 products, 18 patients, 18 prescriptions with 9 safety alerts and 36 batches at the Kilimani outlet, plus 23 near-expiry batches across 10 outlets of the chain.

The Problem

Each Mbuyu outlet ran its own copy of a desktop point-of-sale tool that knew products but not batches. Controlled drug entries went into paper registers, fridge temperatures onto a sheet on the door and expiry dates into an exercise book. Head office heard about recalls on WhatsApp and phoned 40 outlets to find the batch, about KES 14.6 million of expired stock was written off in a year, and insurance claims were rejected when the dispensed quantity did not match the pre-authorisation.

Our Solution

Mizani follows a medicine through the chain by batch and expiry. Dispensers work a prescription queue with wait-time targets, pick batches first-expiry-first-out, pass interaction and allergy checks, print labels in English and Kiswahili and sign controlled drug entries before handover, while the stock and expiry pages show what each outlet holds and what to do with stock that will not sell in time.

The Challenge: Every Pack Has a Batch, an Expiry and a Rule

Mbuyu Pharmacies runs 31 retail pharmacies in Nairobi, Mombasa, Kisumu, Nakuru and Eldoret and 9 outpatient pharmacies inside private hospitals. Each one is licensed by the Pharmacy and Poisons Board, dispenses against prescriptions from many prescribers and is paid by M-Pesa, cash, private insurers and SHA.

Stock Known by Product, Not Batch

A Pharmacy and Poisons Board recall names a product and its batches. With stock held only by product, nobody could say within a day which outlets held a recalled batch, and slow movers sat in one branch while another ran out.

Controlled Drugs on Paper

Under the Narcotic Drugs and Psychotropic Substances (Control) Act, every receipt and supply goes into a register per drug and strength with a running balance, and entries are never deleted. Two outlets had balances that did not match the register at a PPB inspection.

Safety Checks Done From Memory

Allergies, interactions with medicines dispensed at another outlet, duplicate therapy, doses for children and pregnancy cautions all had to be caught by the person at the counter, with no shared patient history across the chain.

Payers With Their Own Rules

Private insurers such as Jubilee, AAR and Britam work through intermediaries and pre-authorisations, SHA replaced NHIF from late 2024 with rules still evolving, and co-pays are collected at the counter. A quantity that differs from the pre-authorisation gets the claim rejected.

Our Approach: From Pharmacy Rules to a Clickable Platform

01

Spec and Rules Research

Mapped 12 roles from pharmacist and pharmaceutical technologist to stores, procurement, quality lead, insurance desk and data protection officer, 47 screens including 2 patient pages, and the data model for products, batches, an append-only stock ledger, prescriptions, safety alerts, controlled drug registers, recalls, cold chain readings and claims. Wrote down the rules the design follows: the Pharmacy and Poisons Act, medicine classification, the controlled drugs Act, label content, PPB pharmacovigilance and recalls, the Kenya Data Protection Act, SHA, KRA eTIMS and GS1 barcodes.

02

Clickable Demo on a Production UI Kit

Built 5 key screens on a production dashboard kit: the outlet dashboard with KPIs, queue, stock alerts, expiry and a compliance strip; the prescription queue with an e-prescription inbox and wait times that turn amber after 15 minutes and red after 20; the dispensing workspace with patient card, batch picker, safety checks, label preview, counselling and controlled drug entry; stock on hand with a product quick view; and the expiry dashboard with suggested actions. All actions run on local state.

03

What a Production Build Adds

Integration with M-Pesa through the Safaricom Daraja API, KRA eTIMS invoices, insurance and SHA claims through intermediaries such as Smart Applications or Slade360, e-prescriptions over HL7 FHIR, a licensed drug interaction database, fridge temperature loggers, SMS through Africa's Talking and the chain's ERP. Access by role and outlet, PIN-locked counter terminals, a tamper-evident audit log, and the remaining screens: point of sale, claims, receiving, transfers, counts, purchasing, recalls, cold chain, pharmacovigilance, head office and the patient pages.

Why It Works: Safety Checks Before the Label Prints

Approval Waits for the Pharmacist

Alerts carry a severity from minor to contraindicated, and each major or contraindicated alert needs a decision: proceed with reason, contact prescriber or do not supply. The status rail shows who did each step from intake to collection.

The Right Batch by Default

Batches are listed by expiry with their shelf location, the first usable one is already picked, and a later choice asks why. When stock is short, the workspace supplies what is there and records an owing balance.

Labels Patients Can Read

Directions print in English and Kiswahili from a reviewed phrase library, with cautionary labels such as "Do not drive if drowsy", the outlet's details and a QR code to the medicine leaflet. The counselling checklist covers how to take, side effects, storage and missed doses.

Every Expiring Batch Gets an Action

The expiry dashboard compares days of cover with days to expiry, marks in red stock that will not sell in time and suggests selling through, transferring to a faster outlet, returning to the supplier, discounting or quarantine. Discounts are offered for over-the-counter items only, never for prescription-only medicines.

Related case studies

View all: Hospitals & clinics
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab