Sefism is free for learners. We are here to help you grow, one step at a time.Join for free
Sefism.
Data & Analytics

District Medicine Stockout Early Warning from SMS Stock Reports at Rural Clinics

Rural clinics run out of essential medicines while a clinic 20 kilometres away has boxes about to expire. Build a system where clinic staff report stock on hand by structured SMS or a tiny web form, and a district dashboard forecasts which clinics will stock out in the next weeks and suggests transfers between clinics. The focus is the district view and forecasting from patchy reports, not a single pharmacy's ledger.

Difficulty

Intermediate

A small team, or one strong student willing to learn something new.
Effort

1 semester · 2 students

Deliverables

7 to ship

4 optional extras

Suggested stack

PythonpandasstatsmodelsFastAPIPostgreSQLStreamlitAn SMS gateway sandbox
A suggestion, not a requirement. Swap anything for what you already know.

What you should ship

  • A structured SMS format for weekly stock reports, with a parser that handles common typing mistakes and replies with a confirmation or an error
  • A simple web form for clinics with smartphones
  • A simulated district of 20 to 40 clinics with consumption, deliveries, late reports and stockouts
  • Consumption estimates per clinic and medicine that cope with missing weeks
  • A forecast of weeks until stockout with an uncertainty range
  • Transfer suggestions that move surplus stock, especially stock near expiry, to clinics at risk
  • A district dashboard and a weekly summary for the district pharmacist

If you have time left

  • USSD reporting for feature phones
  • Import of stock data from DHIS2 or OpenLMIS
  • Route planning for transfers on a single vehicle
  • Seasonal adjustment for medicines with clear seasons, such as antimalarials or ORS

The problem: empty shelves next to full ones

Basic health units, dispensaries and community clinics in Pakistan, Bangladesh, Kenya and Nigeria often run out of essential medicines such as amoxicillin, ORS, zinc or antimalarials. Supply chains are slow, orders are based on rough guesses and stock reports reach the district late or not at all. Meanwhile, another clinic in the same district may have more than it can use before expiry.

Districts usually find out about a stockout when patients are already being turned away. They need to see it coming, with enough warning to move stock between clinics.

What already exists and the gap

  • OpenLMIS and mSupply are full logistics management systems used by national programmes.
  • DHIS2 collects health data, including stock, in many countries.
  • cStock, developed by JSI in Malawi, let community health workers report stock by SMS and helped resupply them.

Large systems work where they are fully rolled out. The gap is a light layer for districts that still run on phone calls and paper: easy reporting, forecasts that tolerate missing data, and practical transfer suggestions.

Inspiration

SMS for Life, a public-private pilot started in Tanzania in 2009, had health facilities send weekly antimalarial stock counts by SMS and showed that simple reporting can cut stockouts sharply. Your project rebuilds that idea with forecasting and redistribution on top.

What you build

  • Clinic staff send one SMS a week, such as "STK AMX 120 ORS 40 ZNC 0", and get a reply confirming what was understood.
  • District pharmacists see a map and table of clinics at risk, with suggested transfers.
  • Programme managers see reporting rates and which clinics never report.

The technically interesting part

  • Messy input. Real SMS reports have typos, missing items and reversed numbers. Write a forgiving parser and measure its accuracy on a test set of messages.
  • Missing data. A clinic that did not report is not a clinic with zero stock. Model reporting gaps explicitly and widen the uncertainty when data is old.
  • Forecasting small numbers. Rural clinics use few units, often with many zero weeks. Compare simple moving averages, Croston-style intermittent demand methods and a regression model.
  • Redistribution. Transfers have a cost. Suggest only moves that prevent a likely stockout and use stock that would otherwise expire.

How to evaluate it

  • Parser accuracy on 300 realistic messages, including deliberate mistakes.
  • Stockout prediction: how many weeks of warning the system gives, and how many false alarms per month.
  • Simulated impact: stockout days in the simulated district with and without the suggested transfers.
  • Reporting burden: time to send a report on a basic phone.

Suggested plan

  • Weeks 1 to 3: study the problem, design the SMS format and simulator.
  • Weeks 4 to 6: parser, backend and SMS sandbox integration.
  • Weeks 7 to 10: forecasting and transfer suggestions.
  • Weeks 11 to 13: dashboard and evaluation.
  • Weeks 14 to 15: report and demo.

Path to a product

District health offices, NGOs running clinics and private clinic chains all manage scattered stock. A lightweight reporting and early warning service that later connects to DHIS2 or OpenLMIS could be offered as a hosted tool. The project is good evidence for data analyst and data engineering roles in health and supply chains.

Scope warning

Do not handle real patient data; stock counts are enough. Keep to a fixed list of 10 to 20 tracer medicines. Do not build ordering, procurement or a full warehouse system. If you partner with a real clinic, get written permission from the district.

Learn what you need on Sefism

Get help with this idea

Most teams overbuild the forecasting and underbuild the parser and the missing data handling. Tauseef can help you balance the work and set up a fair simulation. If you are new here, create a free account first.

Ideas and guidance, not finished projects

These are project ideas and scoping guidance, published free for students to use as a starting point. I do not build, write, or sell final-year projects, and I do not complete coursework for anyone. Take an idea, make it yours, and build it.

Not sure this one fits you?

I help students pick an idea that matches their skills and their deadline, then scope it down until it is finishable. Guidance only, never done for you.

Discuss this idea
Work with me

Stuck on something specific?

Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.