An open-source app for community health workers in South Africa

One visit.
The whole picture.

Khanya Visit helps a community health worker check a pregnant or new mother for low mood, safety at home and gaps in clinic care during one routine home visit, then act on all three with one plan.

Works offline on a basic Android phone. Code under the MIT licence.

Three paper folders on three desks in three rooms, lit by the same morning light

Three risks, three separate records

The same mother can be feeling low, living somewhere that isn't safe and falling behind on her clinic visits, all at once. Each makes the others worse. Violence at home raises her risk of depression and of HIV. A mother who is depressed is more likely to miss her HIV treatment, which raises the risk to her baby. And the usual advice to tell a partner about clinic results can put her in danger if there is violence at home.

Today each of these sits with a different service, in a different record, so nobody sees how they connect. Community health workers already visit these homes. What they lack is a simple way to ask, make sense of the answers and act safely in the same visit.

How a visit works

  1. A door standing ajar with morning light on the floor

    Privacy comes first.

    Before any sensitive question, the app asks the health worker whether she is alone with the mother. If someone is nearby, or she isn't sure, the two sensitive checks are skipped and only Clinic visits runs.

  2. Two chairs facing each other on a stoep

    The mother chooses.

    She agrees to each check separately, in her own language, and can decline any of them.

  3. A phone on a table showing a plain screen

    Three short checks, one question per screen.

    How you've been feeling uses a validated questionnaire for mothers during and after pregnancy. Home and relationships uses short screening questions. Clinic visits records what is already known: whether she is on treatment, whether she has missed a visit and whether her baby's tests are on schedule. Nothing is tested in the home.

  4. A short list on a sheet of paper with a pencil

    One plan.

    The answers feed a single list of next steps, each with a one-line reason. When two or more checks raise a concern, the plan steps up and the follow-up comes sooner. If home isn't safe, the app removes any step that would suggest telling her partner about clinic results, and explains why.

  5. A telephone and a lamp on a bedside table

    Get help now.

    If she may harm herself or is in immediate danger, the visit stops on one calm screen with the on-call contact and the right helpline. It stays there until the health worker records what she did.

  6. A wall calendar with one day circled

    Support she agrees to.

    Each referral option has two equal answers, "She'd like this" and "Not now", and neither is picked in advance. The mother chooses, and the health worker sets a follow-up date.

A folded blanket and small socks by a sunny window

Helping the mother protects the baby

Every check in Khanya Visit is about the mother, and every one of them reaches her baby. Depression, violence at home and untreated HIV all harm infants, and a missed dose of treatment raises the chance of passing HIV to the baby. After the birth, Clinic visits also asks whether the baby's tests are on schedule. The next version checks the baby too, in the same visit; see "Next: the baby and the clinic card" below.

A child health booklet open on a table with a small sticker inside

Next: the baby and the clinic card

Khanya Visit checks the mother today. Over the next year it will check her baby in the same visit, and give each baby a clinic card that follows them through their first 1,000 days. None of this is in the prototype yet, and none of it will be built until a newborn and child health specialist has signed off every question.

The Baby check runs after Clinic visits, once the baby has been born. It asks about the signs that mean a baby needs a clinic today, about feeding, about the first clinic visits for mother and baby, and about what the Road to Health booklet records: immunisations, the baby's clinic tests and growth. It also asks the mother about her own warning signs after the birth. Nothing is measured or tested in the home; the health worker reads from the booklet. Any sign that the baby is ill opens its own calm screen: take the baby to a clinic today, with the nearest clinic, the after-hours facility and help with transport.

A checklist for babies is not new; other apps for community health workers already have one. What is new is that the baby's answers sit beside the mother's, and one set of rules reads them together. Some of what that changes:

  • A mother who is feeling low and a baby who is not feeding well get one step that supports both, and a sooner follow-up.
  • A baby test that is overdue and a mother who has missed her own clinic visits become one clinic trip, planned together.
  • If home isn't safe and the baby's appointments have been missed, the plan keeps the follow-up away from anything a partner would notice, and the guard that protects her clinic results covers the baby's results too.

The clinic card. Each baby gets a random number on a sticker that goes inside the Road to Health booklet. A health worker scans it to open the baby's clinic card on her phone: past visits, what is due next and any open follow-ups. The number means nothing on its own. It holds no name, no date, no place and no health detail, so a lost sticker gives nothing away, and a new sticker simply replaces it. The mother can say no to the sticker and still have the Baby check. Nothing is sent to her phone.

No fingerprints, no face scans. We considered biometrics for babies and turned them down. Newborn fingerprints and faces are hard to match, the law treats biometric data as special personal information with extra protection for children, and matching would need a central store that could find a mother through her baby. For a woman hiding from a violent partner, that is a risk we won't create.

A phone face up on a shelf showing a plain lock screen

Built for homes where someone else might pick up the phone

A partner or relative may be in the room during a visit, or may look at the phone later. So the screens use neutral labels: "How you've been feeling", "Home and relationships" and "Clinic visits". Every check looks the same, so nothing stands out from across a room. The app sends no notifications or SMS, locks with a PIN, and locks itself after two minutes without a touch. A Hide button sits in the same place on every screen and blanks the app in one tap.

Answers are encrypted on the phone before they are saved, and our server never holds readable answers. The app runs no analytics, trackers or third-party scripts.

One limit we'd rather state plainly: a short PIN could be guessed by someone who copies the phone's storage. That is acceptable while the app holds practice data only, and the next version ties the encryption key to the device.

Where it stands today

The app installs from the browser, runs offline and works on a basic Android phone. The AI features need signal; everything else works without it.

The thresholds that decide next steps are practice values until a clinical advisor signs them off, and the app says so on screen whenever they are in use.

Where AI helps

Khanya Visit uses AI in two places, and in neither of them does it decide anything about a mother's care. The published rules make every decision. The AI explains and summarises.

While practising, a health worker can tap "Why these steps?" on the Next steps screen. An open-weight language model explains in plain words why each step in the plan is there. It sees only which rules fired and the wording of the steps, never the mother's answers. Before an explanation appears, the app checks it covers every step, adds no new ones and contains no number or name that wasn't in the plan. If a check fails, or there is no signal, the health worker sees the fixed explanation our team wrote instead. The feature stays off for real visits until a clinical advisor signs it off.

On the public dashboard, a short note says in plain language what changed in the latest week, for example more visits where someone was nearby. Simple statistics find the change, the model writes the note using only the published totals, and every number in it is checked against them. Hidden counts stay hidden.

Open code, public numbers

The code will be public on GitHub under the MIT licence, and our question flows, guidance and training material are under CC-BY 4.0. The rules that turn answers into next steps live in one published file that partners can review line by line.

How we handle code and data
A road toward hills at sunrise with four milestone posts

The next twelve months

Over the next year Khanya Visit moves from a practice prototype to a tool running in one district, with clinicians and safety specialists signing off every rule.

  1. Months 1 to 3:

    records sync to DHIS2 Tracker so clinics can follow up. The app gains isiZulu, isiXhosa and Sesotho alongside English, with voice prompts, clinic record lookup, health worker accounts and encryption keys tied to the device. The Baby check, the sick-baby screen, the clinic card and the sticker flow are built, with every baby question held as a placeholder until it is signed off.

  2. Months 4 to 6:

    clinical and gender-based violence specialists sign off the thresholds, the safety questions and the rules, and a newborn and child health specialist signs off the Baby check and the rules that read the baby's answers with the mother's. The AI explanations move from practice into real visits once clinicians sign them off, and each new language is checked by first-language reviewers before release. The rules still decide, and the model stays open-weight and swappable. Ethics approval for the pilot.

  3. Months 7 to 10:

    a pilot in one district with about 30 health workers from our partner, the live public dashboard, and a monthly data review with the partner and the district health team. Every baby checked gets a clinic card. Teams start in stages, so the teams still waiting show what changes.

  4. Months 11 to 12:

    an impact report that follows babies through their clinic cards, a provincial roll-out plan and early talks with a second country that already runs DHIS2.

An open arched doorway with morning light coming through

Work with us

We're looking for maternal health organisations, clinical, newborn and child health and legal advisors, and district health teams who want to try Khanya Visit with their health workers.