Sanjeevani — Autonomous Patient Follow-Up That Doesn't Stop at the Dashboard

Inspiration

In rural and underserved communities, a healthcare interaction often doesn't end with a diagnosis or a recommendation — the harder problem is what happens after the patient leaves.

Symptoms can worsen between visits. Medication adherence can change. A follow-up that looked unnecessary a few days ago can suddenly become important. For ASHA workers and community health workers managing many patients, continuously monitoring these changes and manually following up with every patient is difficult.

We built Sanjeevani around a simple question:

What if a healthcare AI could notice that a patient is getting worse, understand their longitudinal history, decide that follow-up is necessary, and actually reach the patient — instead of simply putting an alert on a dashboard?

That's where CALL-E became an essential part of the system.

What it does

Sanjeevani is an agentic longitudinal healthcare system that continuously turns patient health events into actionable follow-up. Instead of treating every patient interaction as an isolated conversation, it maintains a longitudinal patient context and can:

  • Understand patient conversations through Vaidya
  • Convert relevant information into structured patient events
  • Analyze changes in a patient's trajectory
  • Generate a Care Decision
  • Determine whether an automated follow-up is appropriate
  • Schedule a follow-up call
  • Use CALL-E to actually reach the patient
  • Convert the conversation into a structured health event
  • Trigger another Sanjeevani reassessment and update the next care decision

The result is a closed loop:

Patient conversation
        ↓
   Patient Event
        ↓
Sanjeevani longitudinal reasoning
        ↓
   Care Decision
        ↓
Follow-up scheduling
        ↓
   CALL-E phone call
        ↓
  Patient response
        ↓
  New Patient Event
        ↓
   Reassessment
        ↓
  New Care Decision

The phone call is not the end of the workflow — it becomes another piece of the patient's longitudinal health record.

Why CALL-E

Most healthcare AI systems stop at "the patient may need follow-up," leaving the most important operational step to a human. Sanjeevani uses CALL-E to bridge the gap between AI reasoning and real-world patient interaction: when the system determines a patient meets predefined criteria for automated follow-up, it creates a controlled follow-up event, and CALL-E becomes the communication layer that reaches the patient by phone. The response is converted back into structured information and fed into Sanjeevani.

CALL-E isn't an add-on feature — it's the action layer that lets Sanjeevani's care loop leave the dashboard and reach the patient.

How it works

1. Vaidya listens to the patient The patient interacts with Vaidya in their preferred language. Relevant information — worsening symptoms, difficulty following medication, a new symptom, improvement or deterioration — becomes a PatientEvent.

2. Sanjeevani looks at the trajectory Rather than reacting to only the newest message, Sanjeevani considers the patient's full longitudinal context: previous events, trajectory, risk, symptoms, medication adherence, and prior care decisions. This lets it distinguish "the patient mentioned a symptom" from "this patient's condition appears to be worsening compared with their previous state."

3. The agent creates a Care Decision A structured Care Decision is produced, containing risk level, priority, recommended action, follow-up interval, key signals, reasoning, and an ASHA-facing message. Clinical reasoning is deliberately separated from communication execution — not every concerning event triggers a call.

4. Deterministic safety rules gate CALL-E The LLM never unilaterally decides to place a call. An automated follow-up call requires:

  • decisionType = increase_followup
  • AND riskLevel = high OR critical
  • AND priority = high OR urgent
  • AND a valid patient phone number on file

Other decision types are routed differently:

Decision Action
maintain_followup No automated call
increase_followup + high/critical risk Controlled follow-up call
urgent_review ASHA / in-person review
escalate Professional intervention

This separation keeps the system auditable and prevents uncertainty from silently becoming an automated phone call.

5. Sanjeevani schedules the follow-up Instead of calling immediately, Sanjeevani creates a FollowUpCallEvent (e.g., Patient: Meena Patil — Risk: High — Priority: Urgent — Reason: worsening trajectory — Follow-up: scheduled in 3 days). The scheduler prevents duplicate calls for the same care decision and re-checks the patient's current state before execution — if the situation has changed, the scheduled call is cancelled rather than blindly fired days later.

6. CALL-E reaches the patient When the scheduled event comes due, Sanjeevani's communication layer invokes CALL-E. The call is designed as a follow-up interaction, not an autonomous diagnosis, and collects: whether the patient was reached, current health status, symptoms reported, medication adherence, whether urgent attention is needed, patient notes, and recommended next action.

7. The call becomes a Patient Event The CALL-E result isn't just displayed and forgotten — it's transformed into a new PatientEvent (e.g., patient reached → symptoms worsened → medication adherence partial → needs urgent attention), written into the patient's longitudinal record.

8. Sanjeevani reassesses the patient That new event re-triggers the reassessment pipeline, producing another Care Decision. The system isn't AI → Call → Done — it's a genuine feedback loop: AI → Call → New information → AI reassessment → New decision.

Built for human oversight

Sanjeevani is not designed to replace ASHA workers. The ASHA dashboard gives them full visibility: patients requiring attention, risk and trajectory, care decisions, scheduled follow-ups, completed CALL-E calls, structured call outcomes, whether reassessment occurred, and the resulting care decision. It's an agentic assistant with human oversight, not an opaque autonomous medical system.

What we built for this hackathon

Sanjeevani was an existing healthcare system; here's what we added specifically for CALL-E:

CALL-E integration layer

  • CALL-E API integration
  • CallRecord model
  • CALL-E communication agent

Safety and decision logic

  • Deterministic safety-gating logic
  • CALL-E eligibility evaluation

Autonomous scheduling and execution

  • Autonomous follow-up call scheduling
  • Scheduled call execution

Closed-loop processing

  • CALL-E result processing
  • Converting call outcomes into PatientEvent
  • Automatic Sanjeevani reassessment
  • Completed-call feedback loop

ASHA experience

  • ASHA dashboard call visibility
  • Real-time "Vaidya is making a call" notification

Challenges we ran into

Building Sanjeevani meant solving a harder problem than simply connecting an AI model to a phone-call API. The biggest challenge was deciding when the system should actually call a patient — we didn't want every AI-generated recommendation to trigger an automated call, especially in a healthcare setting. We introduced deterministic safety checks around the agent's decision: the patient must have a valid phone number, the decision must indicate an increased follow-up need, and the risk and priority must meet defined thresholds.

Another challenge was making the phone call part of the care loop rather than a one-way notification. A completed CALL-E conversation needed to become structured data that Sanjeevani could reason about again — so we designed the flow so a call outcome becomes a new PatientEvent, which triggers reassessment and can lead to a new care decision.

We also had to keep the system asynchronous: the healthcare agent shouldn't be blocked waiting for a phone call to finish. This led us to separate call scheduling, execution, result processing, and reassessment into distinct stages.

Accomplishments that we're proud of

We're proud that CALL-E isn't just a feature bolted onto Sanjeevani — it becomes an actual action layer for the agentic care system. Sanjeevani can take a patient's changing health signals, reason over their longitudinal history, generate a care decision, determine whether a follow-up call is appropriate, schedule the call, and use the resulting conversation to reassess the patient. We built a complete feedback loop:

Patient signal → AI reasoning → Care decision → CALL-E phone call
    → structured outcome → new patient event → reassessment → updated decision

We're especially proud of keeping human oversight in the system. CALL-E handles the conversation, but Sanjeevani does not attempt to replace clinical judgment or autonomously diagnose or prescribe — the ASHA dashboard remains the place where care decisions and patient trajectories are reviewed.

And technically, we integrated CALL-E into an existing, working healthcare agent system rather than building a demo that only exists for the hackathon.

Agent architecture

Sanjeevani follows an agentic lifecycle:

OBSERVE → REMEMBER → ANALYZE → ASSESS → REASON → PLAN → EXECUTE → COMMUNICATE → REPLAN

CALL-E is integrated into the COMMUNICATE / EXECUTE layer, with resulting patient information feeding back into the next reasoning cycle.

Built with

  • Frontend: React, Vite, JavaScript, Axios, React Router
  • Backend: Node.js, Express, MongoDB, Mongoose
  • AI: Groq (Sanjeevani reasoning), existing Sanjeevani agent/orchestrator architecture
  • Voice / Communication: CALL-E API, structured call outcomes, CallRecord persistence

Why this matters

The real-world problem isn't simply "can AI understand a patient?" — AI can increasingly do that. The harder problem is: can an AI system continuously understand what is changing, decide what action is appropriate, take that action, learn from the result, and keep a human informed?

Sanjeevani is our attempt to build that loop. CALL-E gives the system something a dashboard alone cannot: the ability to reach the patient.

What's next

  • Improve autonomous scheduling reliability
  • Better failure handling and controlled retry behavior
  • Recurring follow-up workflows
  • Richer ASHA-facing visibility
  • Longitudinal care analytics

The core principle stays unchanged: AI should not just tell a healthcare worker what might need to happen next — it should help make the next appropriate action happen, safely, transparently, and with humans in the loop.

Built With

  • agentic
  • agents
  • ai
  • automation
  • call
  • call-e
  • community
  • conversational
  • follow-up
  • healthcare
  • multilingual
  • patient
  • phone
  • rural
  • telehealth
  • voice
Share this project:

Updates

Submission history