-
-
The system immediately identifies a Hypertensive Crisis (Pre-Eclampsia) and provides a clear, WHO-validated action plan for the nurse.
-
Automatically saves patient records to a local text file, ensuring zero data loss during power outages.
-
Uses a deterministic Tuple-Based Priority Queue to mathematically rank patients by medical severity.
-
Instantly calculates a Risk Score (0-10) to detect Pre-Eclampsia and trigger urgent referrals.
💡 Inspiration In rural Nigeria, the biggest killer of pregnant mothers isn't always the disease itself—it is time.
The "Three Delays Model" in global health identifies the Delay in Triage as a critical failure point. In many Primary Health Centers (PHCs) in my community, there are no specialist doctors—only overworked community nurses. When a mother walks in with a headache, she might be sent home with painkillers. But if her blood pressure is 170/110, she is actually in a Hypertensive Crisis (Pre-Eclampsia). By the time this is realized, it is often too late.
I built SafeMother because I realized that we don't always need expensive AI or supercomputers to save lives. We need a tool that works offline, on the dusty, legacy computers that actually exist in these clinics, to answer one simple question: "Is this patient dying right now?"
🚑 What it does SafeMother is an offline-first Clinical Decision Support System (CDSS) designed for low-resource environments.
Input: A nurse enters basic vitals (Systolic/Diastolic BP, Heart Rate, Temperature) and binary symptoms (Headache: Y/N).
Processing: The system runs these inputs against WHO (World Health Organization) danger sign protocols.
Output: It generates an immediate Risk Score (0-10) and a clear Action Plan (e.g., "Administer MgSO4 & Refer Immediately").
Crucially, it is built as a Command Line Interface (CLI) to ensure it runs with zero latency on legacy hardware (e.g., Pentium desktops with <2GB RAM) found in government clinics.
⚙️ How we built it I built the entire engine in Python to prioritize stability and speed.
The core of the system is a Deterministic Triage Algorithm. I avoided "black box" machine learning because, in medical triage, predictability is safety.
I implemented a Tuple-Based Priority Queue to handle disease ranking. Instead of a standard alphabetical sort, the system structures diagnoses as tuples:
T=(SeverityScore,ConditionName) For example:
Severe Pre-Eclampsia: (1,"Severe Pre-Eclampsia")
Chronic Hypertension: (4,"Chronic Hypertension")
Using Python’s native tuple comparison, the algorithm sorts by the integer SeverityScore first.
(1,…)<(4,…) This guarantees that a lethal condition (Priority 1) is mathematically forced to the top of the UI, ensuring the nurse sees the most dangerous threat first. This sorting operates in O(NlogN) time, making it instantaneous even on 15-year-old hardware.
🚧 Challenges we ran into The "Feature Creep" Trap: I initially wanted to add a fancy web interface (React/Node). However, I realized that Chrome browsers lag on the old computers used in rural clinics. I had to kill my "pretty" design to build a "functional" one. Reverting to a CLI was a tough design choice, but it was the right ethical choice for the user.
Medical Logic Accuracy: Translating vague symptoms into binary code is hard. "Headache" is subjective. I had to implement guardrails to ensure that a headache alone doesn't trigger a panic, but a headache + High BP triggers a Code Red.
🏅 Accomplishments that we're proud of Zero-Dependency Architecture: The system runs on pure Python standard libraries. It requires no internet, no heavy frameworks, and no cloud connection. It is truly "offline-first."
The "Logbook" Feature: I built a local logging system that saves patient history to a text file (logbook.txt). This ensures that even if the clinic loses power (a common occurrence in Nigeria), the patient data is physically saved on the disk.
🧠 What we learned Algorithm Design: I learned how Tuples can be used for more than just data storage—they can be powerful logic controllers when combined with sorting algorithms.
User Empathy: I learned that "High Tech" doesn't always mean "Best Tech." For a rural nurse, a text-based screen that loads in 0.1 seconds is infinitely better than a modern dashboard that takes 10 seconds to load.
🚀 What's next for SafeMother SMS Gateway Integration: I plan to use the Twilio API (or a local GSM module) to automatically send a text message to the nearest General Hospital when a "High Risk" patient is identified, preparing them for the referral.
Mobile Port: Porting the logic to an Android app for Community Health Extension Workers (CHEWs) who travel to villages on motorbikes.


Log in or sign up for Devpost to join the conversation.