Multimodal, agentic triage decision-support for rural healthcare in the Global South. A phone photo plus a typed narrative becomes a top-3 condition guess, a Red / Yellow / Green urgency, and a structured pre-visit SOAP for the clinic doctor — contextualized by village distance, cost, and harvest season. It never diagnoses.
A community health worker (or the patient) sends a phone photo of a skin lesion plus a short text history. Path to Care runs the image and narrative through a multimodal agentic pipeline and returns:
Every patient-facing string passes through a deterministic
cardinal-rule rewriter that strips diagnostic phrasing
("you have X" → "signs suggest X") before it
leaves the API. The output is decision support, not a diagnosis.
NarrativeToSOAP signature.
--enable-lora.
:8000. The Next.js frontend talks to it directly.
Evaluated on the 30-case adversarial test set. Reward
R = 1.0 exact / 0.5 adjacent /
0.0 off-by-two.
| Run | Mean reward | Exact match | FN Red → Green |
|---|---|---|---|
| Zero-shot baseline (Gemma 4 31B) | 0.983 | 96.7% | 0.0% |
| LoRA-tuned (180 MB adapter) | 0.983 | 96.7% | 0.0% |
The single residual error is a Yellow → Green slip; no Red was missed. The headline number is the false-negative Red → Green rate at zero — the safety property that matters in the field. Full per-case results in results/tuned_metrics.json.
--enable-lora.
Path to Care never produces diagnostic statements. The output is always "signs suggest infection", never "you have cellulitis"; image output is always top-3 with confidence, never a single class label, never binary sick / healthy. Enforcement is defense-in-depth: a system prompt rule, a deterministic regex rewriter on every model output, and a unit test suite that fails the build on diagnostic phrasing.