← All case studies
Clinical researchWorking prototype

Pharmacovigilance and clinical trial operations suite

A multi-tenant platform for adverse-event case processing, E2B(R3) reporting, signal detection, electronic data capture, document management and regulatory submission tracking.

The challenge

Sponsors and CROs manage safety cases, trial data, documents and regulatory deadlines in separate tools. Case handling must follow controlled workflows with full traceability, and reporting deadlines differ by jurisdiction and seriousness.

What we built

A FastAPI backend organises the platform into modules for pharmacovigilance case management, EDC with edit checks and SDTM mapping, clinical trial management, document management with retention rules, submissions tracking, signal detection and reporting. Cases move through a role-gated workflow state machine, duplicates are flagged by fuzzy matching, and E2B(R3) XML and regulatory deadlines are generated per jurisdiction. Every mutation is written to an audit log whose records are linked by a SHA-256 hash chain that can be verified, and tenant isolation and RBAC are applied across modules. Generative AI is used for drafting narratives and suggestions, with a mock fallback when no model key is configured.

Key capabilities

  • Case workflow state machine from intake to submission with role-restricted transitions
  • E2B(R3) XML generation and jurisdiction-specific reporting deadline calculation
  • Fuzzy duplicate detection of adverse-event cases
  • EDC edit-check auto-queries and SDTM dataset generation
  • Hash-chained, verifiable audit trail with tenant isolation and RBAC
  • AI-assisted case narratives and signal analysis

What it delivers

  • Encodes safety-case handling as an explicit, role-controlled workflow rather than ad hoc tracking
  • Automates regulatory deadline and E2B XML generation per jurisdiction
  • Provides a tamper-evident audit trail that can be verified programmatically
  • Unifies safety, data capture and document modules under one tenant and permission model

Have a similar backlog?

Most of our work started as a single painful workflow. Tell us yours.

Book a working session