1. Adverse-event / pharmacovigilance intake with mandatory review
A patient or HCP reports a suspected side effect by call or message. Today someone transcribes it by hand, works out whether it's a reportable adverse event, and keys it into the safety database — slow, inconsistent, and any missed detail is a compliance risk.
Trigger: Call / WhatsApp (adverse-event report)
How the workflow runs
- Trigger
Report comes in. A Call or WhatsApp trigger captures the report in the reporter's own words and language — spoken reports are transcribed live.
- Agent
Structure the ICSR fields. An Agent node extracts the four minimum-report elements (patient, reporter, product, event) plus dose, onset and outcome into a structured draft — it never decides reportability on its own.
- Knowledge
Ground in the safety reference. A Knowledge node checks the product label and MedDRA/coding reference so terms are grounded and consistent, with citations — no guessing at causality.
- Condition
Flag seriousness & completeness. A Condition node flags seriousness criteria and won't advance a case until the mandatory fields are present.
- Approval
Pharmacovigilance officer reviews. An Approval node hands every case to a qualified PV officer — the reportability and causality assessment is a human decision, non-negotiable and fully logged. Nothing is filed automatically.
- Tool (MCP)
File to the safety database. On approval, a Tool (MCP) node writes the reviewed case into your pharmacovigilance / safety database — no first-party safety-DB connector, MCP calls yours.
Channels & connectors
- Voice / Call
- Sarvam (22+ Indian languages)
- Knowledge base
- Approval / HITL
- Tool (MCP → safety database)
Outcome
Every report is captured completely and structured the moment it arrives, but reportability and causality stay with a qualified human, with a full audit trail on each case.
Why it helps
Removes the manual transcription and inconsistent capture from the front of PV intake, while the safety decision — the part that must never be automated — stays with a trained officer.
Build spec
1 agent — 1 intake agent structures the report; seriousness-flagging, PV review and the safety-DB write are workflow nodes.
System prompt (paste-ready)
You are a pharmacovigilance intake assistant. From the report, capture strict JSON {patient (age/sex/initials only), reporter, product, dose, event_description, onset_date, outcome, seriousness_indicators[]}. Record the reporter's own words faithfully in the event description; use the product label and MedDRA reference from Knowledge only to code terms consistently, with a citation. You do NOT decide whether this is a reportable adverse event and you do NOT assess causality — that is the qualified PV officer's decision at the approval step. Never reassure the reporter about the product's safety and never give medical advice; if they describe an emergency, tell them to contact a doctor or emergency services. If a minimum element (patient, reporter, product, event) is missing, set needs_followup with the missing field.MCP connectors
- Pharmacovigilance / safety database — via a Tool (MCP) node (no first-party connector)
- Telephony + WhatsApp — via the Voice/WhatsApp channels
Built-in tools
- knowledge_search (product label + MedDRA/coding reference)
- transfer_to_human
Guardrails
- Never decides reportability or causality — every case goes to the qualified PV officer at the Approval node before anything is filed
- Grounded-only coding: terms come from the label/MedDRA reference with a citation, never invented; no safety reassurance or medical advice to the reporter
- A case can't advance until the four minimum elements are present; patient identity is minimised to what PV needs (initials/age/sex) and every case is logged for audit
Output & delivery
The agent emits a structured ICSR draft → the Condition node flags seriousness and blocks incomplete cases → the PV officer makes the reportability/causality call at the Approval node → on approval a Tool node writes the reviewed case into the safety database via MCP, with a full audit trail per case.