Inspiration

In India, a cashless hospital claim has hard deadlines. IRDAI's Master Circular on Health Insurance (May 2024) gives insurers 1 hour to decide a cashless request and 3 hours to give final approval at discharge; reimbursements must be settled within 30 days of the last document. Meanwhile the family waits at the billing counter with no news, the hospital desk chases the TPA by phone, and a processor reads a 46-line bill to find the ₹3,400 the policy does not pay. Families and hospital desks already live on WhatsApp, so we built the claims assistant there.

What it does

ACC Assist is a WhatsApp and e-mail assistant for a health insurer (ACC Insurance) and its TPA (Northbridge Health TPA). It talks to three groups: families, customers filing a reimbursement, and hospital TPA desks. All names, hospitals and policies here are fictional.

  • Cashless final approval. The hospital desk sends the final bill and discharge summary on WhatsApp. ACC Assist reads all 46 lines, marks the items on IRDAI's List I that policies do not pay, files the papers to the right patient and starts the 3-hour clock. The family gets an update in their own language (English, Hindi or Hinglish) with the decision time. When a processor approves in the staff console, the hospital and the family hear on WhatsApp within seconds, and Amazon SES e-mails the authorisation letter and the bill break-up.
  • Reimbursement. The customer sends six photos. ACC Assist checks the policy, reads every bill, totals ₹38,750 and asks for the one missing prescription. When it arrives, the 30-day clock starts and the customer gets a WhatsApp confirmation and an acknowledgement e-mail; after approval, a settlement message and letter.
  • People decide, ACC Assist does the rest. Processors approve, ask a query or refer to a doctor; medical officers reject with a policy clause, and ACC Assist drafts the message in the customer's language for a colleague to check. Anyone can ask for a person, and ACC Assist steps back until a colleague hands the chat back.
  • Clocks that do not slip. EventBridge Scheduler warns supervisors by e-mail before a clock runs out, and the console shows every claim against its IRDAI deadline.

How we built it

  • AWS End User Messaging Social carries WhatsApp: events arrive on Amazon SNS, photos and PDFs are fetched to Amazon S3 with GetWhatsAppMessageMedia, and replies use SendWhatsAppMessage with read receipts and quick-reply buttons. Outside WhatsApp's 24-hour window, updates switch to a utility template (English and Hindi).
  • Amazon SES sends the letters people keep (authorisation letter, bill break-up, acknowledgement, settlement and decision letters) and the clock alerts.
  • Amazon Bedrock AgentCore Runtime hosts the agent, built with Strands Agents, with 11 tools over our claim service. The model is Kimi K3 on Amazon Bedrock; the code also runs with Claude. AgentCore Memory keeps each person's preferences and conversation summaries, and AgentCore Observability traces every turn.
  • Document reading is a Converse call that returns a fixed JSON schema. Amounts, List I items, names and missing prescriptions are then checked again by plain code, so the model is never trusted blindly.
  • An Amazon SQS FIFO queue grouped by sender keeps each person's messages in order, with a dead-letter queue. Each turn waits until the person has stopped sending, so six photos get one reply.
  • Staff use a React console with Amazon Cognito sign-in, served through Amazon API Gateway. Roles (processor, medical officer, claims agent, supervisor) are checked on the server.
  • One AWS CDK stack deploys everything to Mumbai (ap-south-1), and 117 automated tests cover the rules, both journeys, the Lambda handlers, the agent loop and the stack.

Challenges we ran into

  • Trusting a model with money. We never take its totals as they are: rules re-add every bill and classify the non-payable items.
  • WhatsApp's 24-hour window. Approvals often land hours after the last message, so every outbound message picks free text or the template automatically.
  • Bursts of photos. Six photos arrive as six events. Each turn waits for the burst to finish and reads all the photos together, so the person gets one reply.
  • Access control in an agent. Every tool re-checks that the phone number may see the claim, so a desk sees only its hospital and a family only its own claims.
  • Speed with a large model. Each call to Kimi K3 takes several seconds, and a simple "Hi" used to need three. Now the runner looks up who is writing and reads the photos (in parallel) before the model starts, and quick-reply buttons come from a line in the reply instead of a tool call, so a "Hi" usually needs one call and six photos two. WhatsApp shows "typing…" while ACC Assist works.
  • Delivery status. WhatsApp status events carry Meta's message ID, not the AWS one, so each message carries our own reference (biz_opaque_callback_data) and the console shows sent, delivered and read.

Accomplishments that we're proud of

  • Both journeys run end to end on real AWS services, from a WhatsApp photo to an e-mailed letter.
  • English, Hindi and Hinglish, matched to how each person writes.
  • The agent never decides a claim, so the people who decide spend their time on judgement, not on chasing papers.
  • Every photo and PDF stays with the claim. Staff can view or download them, one by one or as a zip, and every download is noted in the claim's history.

What we learned

  • Agentic AI works best with clear edges: tools that act, rules that check, and people who decide.
  • WhatsApp and e-mail play different roles: chat for the conversation, e-mail for the letters people keep.

What's next

  • Hospital desks sending papers by e-mail as well as WhatsApp.
  • An SMS fallback through AWS End User Messaging SMS (needs India DLT registration).
  • Policy wording as a knowledge source, so ACC Assist can answer "is this covered?".
  • A listing on AWS Marketplace for insurers and TPAs.

Try it

Message +1 204-690-0636 on WhatsApp and send "Hi". Your number is not registered yet, so tap Register and send the policy number ACC/2026/80455 and the date of birth 12/03/1992 (Priya Nair, whose name is on the sample bills). Then send the sample bills from the repository (docs/sample-documents) to file a reimbursement from your own phone. The staff console is at https://pbxcg465fl.execute-api.ap-south-1.amazonaws.com; the reviewer sign-in for judges is in the testing notes of the code repository.

Built With

Share this project:

Updates

Submission history