Hybrid AI — Trial-Operations Operating Wiki
An agentic project-management, trial-management, and monitoring layer built on the hybrid Claude + local stack: 75 automations across the study lifecycle — recurrent data-validity QC, SOP/WI/study-document ingestion, eTMF filing, Smartsheet timeline automation, and risk-based monitoring — each routed by data sensitivity, tiered by risk, and gated by a human.
The 60-second version
- One gateway fronts a local model (sensitive data), the Claude API (de-identified reasoning), and a RAG store of your SOPs/WIs/study docs.
- An orchestrator fires scheduled and event-driven agents that read your systems (eTMF, Smartsheet, EDC, Pinnacle 21) via connectors.
- Each agent proposes a change into a human-approval queue, with a full 21 CFR Part 11 audit trail.
- On approval, the change is written to the system of record. Nothing regulated moves without a human.
It is the same hybrid architecture from the AI strategy — here, pointed at operations.
The platform — one gateway, many agents
Every agent calls one OpenAI-compatible endpoint. The gateway routes by data classification, enforces guardrails, and logs everything; connectors expose your systems as tools.
Platform components
| Automation | What the AI does (vs. what stays human / validated) | Engine | Integration | Tier | Human checkpoint |
|---|---|---|---|---|---|
| Model-agnostic gateway (LiteLLM-class) — single OpenAI-compatible front door n/a (always-on) | Every agent/script calls ONE OpenAI-compatible endpoint; the gateway selects the backend per data-classification tag on the request, enforces per-key/per-model budgets and rate limits, retries/falls back, and emits a structured log line per call. It does not decide clinical content — it is the control plane that makes routing, cost, and audit non-bypassable. ↳ One choke point for routing, cost, fallback, and audit — swap or add a model without touching any agent; volatility hedge and the single place governance is enforced. | Local+Cloud (the gateway fronts both backends) | Fronts LOCAL vLLM + CLOUD Claude API; emits to the audit/observability layer; virtual keys per agent/team | RED | Platform owner sets routing policy, budgets, and key scopes; changes to policy are reviewed/version-controlled |
| Data-classification router + Presidio PII/PHI guardrail (egress firewall) event (on every inbound request, pre-call) | Presidio scans payloads for identifiers and the policy engine routes by classification: PHI/unblinded/participant-level -> LOCAL only (deny-by-default to cloud); de-identified -> CLOUD-eligible. Misclassified-sensitive text is masked or blocked before egress. The guardrail classifies/redacts; it never interprets clinical meaning. ↳ Makes 'PHI/unblinded never leaves the building' a technical guarantee, not a policy promise — the core of the hybrid trust model. | Local+Cloud (decision is infra; payload then runs on the routed backend) | Presidio recognizers (NHS/MRN/participant-ID custom entities), gateway policy store, audit trail | RED | DPO/privacy owner curates recognizers + allow/deny lists; periodic human audit of redaction false-negatives |
| LOCAL frozen open-weight backend (vLLM, air-gapped GPU) n/a (always-on) | Serves on-prem inference for all sensitive/unblinded/participant-level drafting, classification, and triage with zero egress. Weights + decoding params + prompts are version-pinned so runs are reproducible for inspection. Generates drafts/triage only — never emits a reported number. ↳ Sovereignty + reproducibility: sensitive data stays on-prem and a frozen model lets you re-run an analysis-support task identically years later for an inspector. | Local frozen model | vLLM OpenAI-compatible server on isolated GPU host; reachable only via the gateway; model-freeze registry | RED | Stat/IT owner approves each frozen model version into the registry before production use |
| CLOUD Claude backend (API under BAA, de-identified only) n/a (always-on) | Handles hard reasoning, summarization, and code drafting on DE-IDENTIFIED text only (SOP Q&A, finding explanations, status-report prose). Reachable only after the classification router clears the payload. Drafts/reasons; humans/validated tools own any regulated output. ↳ Frontier reasoning for the non-sensitive 80% of text work without standing up frontier compute on-prem — ROI now, with PHI structurally excluded. | Cloud Claude | Anthropic Claude API with signed BAA; gateway-gated; prompt-caching enabled at the gateway | AMBER | Reviewer accepts/rejects cloud drafts; BAA + DPIA owned by compliance; consumer/Max plans explicitly disallowed |
| RAG knowledge base over SOPs/WIs/study docs (local, permissioned vector store) event (re-index on document approval/supersede) + on-demand (queries) | Ingests approved SOPs/WIs/protocols/plans, chunks + embeds them into a LOCAL vector store, and answers grounded compliance questions WITH CITATIONS to the source doc + version. Retrieval and synthesis only; it points to the controlled document — the controlled document, not the LLM, is authority. ↳ Instant, cited 'what does SOP-X require?' across the whole library — cuts time-to-answer and onboarding, with permissions preventing cross-study/role leakage. | Local+Cloud (LOCAL embeddings/store; de-identified Q&A may use CLOUD; sensitive docs stay LOCAL) | Local vector DB; SharePoint/eTMF as document source; permission-filtered by user role/study; version metadata from doc control | GREEN | QA owns the source-of-truth docs; users verify citations; no answer overrides the controlled document |
| Orchestration layer (scheduled jobs + agent framework that fires the agents) scheduled (cron) + event (webhooks: data cut, lock, document filed) + on-demand | Runs the agents on schedule or on study events, chains gateway calls with connector tool-calls, enforces per-agent guardrails/timeouts, and drops anything that touches a record-of-truth into the approval queue instead of acting. Orchestrates; it does not grant agents write authority beyond their tier. ↳ Turns one-off prompts into reliable, scheduled, auditable trial-ops automations — the 'always-on coworker' layer. | Local+Cloud (orchestrator is code; calls models via gateway) | cron + Python / n8n / Power Automate; webhooks from EDC/CTMS/eTMF; queue + audit hooks; MCP tool registry | RED | Ops owner enables/schedules each agent; RED-tier outputs always land in the approval queue, never auto-applied |
| Connector/tool layer via MCP (eTMF, Smartsheet, EDC, CTMS, SharePoint, Outlook, Pinnacle 21) n/a (always-on) — invoked per agent action | Exposes each system as an MCP tool with explicit, least-privilege scopes (read-mostly; writes gated). Agents read/draft through these tools; any write to a record-of-truth (eTMF filing, Smartsheet plan, EDC) is proposed and queued, not executed. The connector layer brokers and logs access — it does not loosen tier rules. ↳ One uniform, least-privilege, fully-logged way to reach every operational system — no brittle per-system glue, and writes can't bypass governance. | Local+Cloud (tools called by agents on either backend, gateway-mediated) | MCP servers for Veeva eTMF API, Smartsheet API, EDC, CTMS, SharePoint, Outlook/Graph, Pinnacle 21; scoped service accounts | RED | System owners grant scopes; record-of-truth writes require approval-queue sign-off and e-signature |
| Unified Part 11 audit & observability trail n/a (always-on) | Captures, for every gateway call and connector action: who/which-agent, model version + backend, prompt + classification decision, redactions applied, cost/tokens, tool calls, the human approval/e-signature, and before/after of any record change — into ONE tamper-evident, time-stamped store. It records; it never edits or deletes trail entries. ↳ Makes the whole AI layer inspectable and 21 CFR Part 11 / ALCOA++-defensible — the difference between a demo and something you can put in front of an FDA inspector. | Local+Cloud (collector is infra; ingests from both backends + connectors) | Central log/trace store; e-signature service; exports for inspectors; immutable/WORM retention | RED | QA/CSV owner validates the trail; inspectors read it; trail itself is access-controlled and tamper-evident |
| Human-in-the-loop approval queue event (any agent proposes a RED/record-of-truth or timeline change) | Holds every proposed change to a regulated record/timeline/reported output as a reviewable item: shows the AI draft, its source/citations, the diff, and the classification, and requires an explicit human accept/edit/reject + e-signature before the connector executes. The queue presents; the human decides and signs. ↳ Guarantees no LLM autonomously alters a record, timeline, or reported number — humans stay accountable, with a clean approval audit. | Local+Cloud (UI is infra; proposals come from agents) | Sits between orchestrator and connector writes; eTMF/Smartsheet/EDC/CTMS; e-signature; feeds audit trail | RED | Named reviewer with authority for that record/study approves, edits, or rejects with reason; logged |
| Model-freeze & engine-of-record registry n/a (always-on) — consulted per run; updated on change-control | Authoritative registry of (a) which frozen LOCAL model version + decoding params + prompt set is in production for each task (for reproducibility), and (b) which VALIDATED tool is the engine of record for each regulated output (Pinnacle 21 = conformance, Phoenix WinNonlin = PK, EDC/CTMS = operational truth). It pins and records; it does not let an LLM become an engine of record. ↳ Reproducibility for inspection + a hard line that reported numbers come only from validated tools — closes the two biggest regulatory gaps of an AI stack. | Validated tool (registry governs validated engines + frozen models) | References vLLM model artifacts, Pinnacle 21, Phoenix WinNonlin, EDC/CTMS; tied to change-control + audit | RED | CSV/validation + biostat leads approve every registry change under formal change-control |
| Caching, cost/budget controls & FinOps metering n/a (always-on) | Caches identical/near-identical de-identified prompts (e.g., repeated SOP retrievals) and meters tokens/cost per agent, model, study, and team via gateway virtual keys, enforcing budget caps and surfacing spend. It optimizes cost; it never trades off governance (cache is classification-aware, sensitive payloads excluded). ↳ Predictable, attributable AI spend with cache savings on repetitive de-identified work — makes the ROI case auditable and stops runaway cloud bills. | Local+Cloud (gateway feature) | Gateway cache + budget engine; cost dashboards; per-study/per-team virtual keys; audit trail | GREEN | Finance/ops owner sets budgets and alerts; reviews per-study spend |
| Identity, RBAC & secrets / trust-boundary management n/a (always-on) | Maps users and agents to roles/studies, enforces least-privilege on gateway keys and connector scopes, holds credentials in a vault, and isolates the air-gapped LOCAL host. It authenticates/authorizes and isolates; it makes no clinical or routing-content decision beyond enforcing who-can-do-what. ↳ Ensures RAG permissions, connector writes, and unblinded-data access all respect who the user is — prevents cross-study/role leakage and keeps the air gap real. | Local+Cloud (security infrastructure) | SSO/IdP (study + role claims), secrets vault, network isolation for the GPU host, connector service accounts, audit trail | RED | Security/IT owner provisions roles, scopes, and access reviews; periodic recertification |
Project & Timeline Management
Milestone & critical-path tracking, Smartsheet timeline automation, status reporting, action/decision capture, vendor oversight. Smartsheet's engine computes the plan; the AI explains, prioritizes, and proposes — the PM approves before any committed-date write.
| Automation | What the AI does (vs. what stays human / validated) | Engine | Integration | Tier | Human checkpoint |
|---|---|---|---|---|---|
| Milestone & critical-path tracking agent scheduled (nightly) + event (any predecessor task status/date change via Smartsheet webhook) | Pulls the dependency-enabled Smartsheet plan, recomputes critical path and float, and flags tasks now on/near the critical path or at risk of slipping; drafts a plain-language 'what changed and why it matters' note. The recompute math and dependency logic come from Smartsheet's engine (validated path); the LLM explains, prioritizes, and proposes — it does not move the baseline. ↳ Early warning on schedule risk; no more manual nightly Gantt re-reads; the critical path is always current and explained | Cloud Claude (de-identified plan/task names) for the narrative; Smartsheet API for the actual critical-path computation | Smartsheet API (sheets, cells, dependencies, webhooks), CTMS, RAG (project charter / timeline plan-of-record) | AMBER | PM reviews flagged critical-path changes; baseline/milestone-date edits require PM approval before the agent writes back |
| Study-event timeline auto-update & notification (data cut, DB lock, milestone slip) event (data-cut declared, soft/hard DB lock, milestone marked complete or slipped) caught by webhook or system event | A gateway agent recomputes the downstream plan in Smartsheet, drafts targeted notifications (who is now blocked, what shifts), and posts them to the right channels. The Smartsheet API performs the dependency recompute; the LLM composes the human-readable alert and routes it by role. Date commits to the plan-of-record are proposed, not auto-applied to contractual milestones. ↳ Hours-to-minutes turnaround on cascade updates after a data cut or lock; stakeholders notified consistently, nobody learns of a slip late | Local+Cloud (Local if event payload carries unblinded/participant context; Cloud for de-identified scheduling text); Smartsheet API for recompute | Smartsheet API (webhooks + cell updates + update requests), Outlook/Exchange, Teams/Slack, EDC/CTMS event hooks | AMBER | Lead approves the recomputed downstream dates and the notification list before contractual/regulated milestone dates are committed |
| Status-report generation (study & program) scheduled (weekly/biweekly study status; monthly program report) | Aggregates milestone status, enrollment, open risks/issues, action-item aging, and vendor deliverable status into a drafted status report in the house template, citing the plan-of-record from RAG. Drafts only — numbers are pulled from systems of record, not invented; flagged for the PM to confirm. ↳ Eliminates the weekly manual status-deck assembly; consistent, on-template reports across all studies in minutes | Cloud Claude (de-identified status metrics and narrative); Local if the report embeds unblinded interim figures | Smartsheet API, CTMS, RAG (templates + charter), SharePoint, Outlook | GREEN | PM edits and signs off before distribution; any RED metric (e.g., reported enrollment of record) is verified against the system of record |
| Action-item & decision extraction from email/meetings event (new meeting transcript posted; flagged email thread) or on-demand | Reads meeting transcripts/notes and email threads, extracts action items (owner, due date), and logged decisions; classifies and de-duplicates against the existing action log, then proposes new rows. Drafts/classifies only; it does not assign accountability or set committed dates without owner confirmation. ↳ Nothing falls through the cracks post-meeting; decision provenance captured automatically; far less manual minute-mining | Local frozen model (emails/transcripts may contain PHI, site, or unblinded references — keep on-prem) | Outlook/Exchange, Teams transcripts, Smartsheet (action/decision log), SharePoint | AMBER | Owner/PM confirms each extracted action and decision before it is logged as the record |
| Meeting agenda & minutes drafting scheduled (before recurring governance/team meetings) + event (after the meeting for minutes) | Builds the agenda from open action items, risks due for review, and prior-meeting carryover (pulled from RAG/Smartsheet); after the meeting, drafts minutes from the transcript with decisions and new actions cross-linked. Draft artifacts only. ↳ Standardized agendas and same-day minutes with zero clerical overhead; tight action-item continuity meeting to meeting | Local frozen model (transcripts/attendee context on-prem); Cloud for de-identified agenda skeletons if preferred | Outlook/Exchange (calendar), Teams transcripts, Smartsheet (actions/risks), SharePoint, RAG | GREEN | Chair reviews/edits agenda and approves minutes before circulation |
| Vendor/CRO oversight & deliverable tracking scheduled (weekly deliverable sweep) + event (deliverable received / due-date approaching) | Tracks contracted deliverables and SLAs against SOW/contract obligations stored in RAG, flags upcoming/overdue/at-risk items, and drafts oversight-log entries and follow-up emails to vendors. Classifies status and drafts chasers; humans own escalation and acceptance decisions. ↳ Continuous, documented vendor oversight aligned to ICH E6(R3) sponsor-oversight expectations; no missed deliverables or unlogged follow-ups | Cloud Claude (de-identified deliverable/SLA text) grounded by RAG over SOWs/contracts | RAG (SOW/contract/oversight plan), Smartsheet (deliverable tracker), Outlook, SharePoint | AMBER | Oversight lead confirms deliverable acceptance and approves any escalation or SLA-breach notice |
| Resourcing & capacity conflict detection scheduled (weekly) + event (plan change that shifts effort dates) | Reads allocations across studies (programmers, PK scientists, clinic capacity) from the resourcing sheets, detects over-allocation and contention windows against recomputed timelines, and drafts a leveling recommendation. Proposes options; the LLM does not reassign people. ↳ Surfaces double-booking before it bites; protects shared early-phase resources (PK lab, beds, programmers) across parallel cohorts | Cloud Claude (de-identified roles/effort) + Smartsheet API for the date math | Smartsheet API (resource/allocation sheets, dependencies), CTMS, HR/PSA resource system if present | AMBER | Resource manager approves any reassignment or re-leveling before it becomes the plan |
| Risk register upkeep & RBQM linkage scheduled (monthly review prep) + event (KRI/QTL breach signal, new issue, milestone slip) | Keeps the risk register current: drafts new risk entries from issues/slips and from RBQM KRI/QTL breach signals, proposes likelihood/impact and updated status/mitigations, and prepares the review packet. Drafts and classifies; risk acceptance and scoring sign-off stay human per ICH E6(R3). ↳ A living, defensible risk register tied to live RBQM signals — inspection-ready and not a stale spreadsheet | Local frozen model if breach signals carry unblinded/site detail; Cloud for de-identified risk narrative | Smartsheet (risk register), RBQM/KRI dashboard, RAG (risk-assessment plan, integrated quality risk mgmt), Outlook | AMBER | Quality/PM lead approves risk scoring, mitigations, and closures; QTL-breach actions go through the quality decision path |
| Budget & PO / accrual tracking scheduled (monthly close prep) + event (invoice received, PO threshold approached, milestone-based payment triggered) | Reconciles vendor invoices and POs against budget lines and milestone-based payment schedules from RAG/contracts, drafts accrual estimates and budget-vs-actual commentary, and flags overruns or payments due on completed milestones. Drafts and flags only; reported financial actuals come from the finance/ERP system of record. ↳ Faster, better-supported monthly accruals and early overrun warnings, with all reported numbers staying tool-of-record authoritative | Cloud Claude (de-identified budget lines/commentary) grounded by RAG over contracts/payment schedules | Finance/ERP system of record, Smartsheet (budget tracker), RAG (contract/payment schedule), Outlook | RED | Finance/PM verifies every reported actual and approves accruals/payment triggers in the system of record — LLM is out of the commit path |
| Cross-study portfolio rollup scheduled (weekly/monthly portfolio cadence) + on-demand (leadership ask) | Aggregates milestones, slip status, risk heat, enrollment, and budget health across all active studies into a portfolio dashboard narrative and exception list (which studies are red and why). Summarizes and ranks; underlying metrics come from each study's system of record. ↳ One coherent portfolio view across many parallel early-phase studies without manual cross-sheet stitching; exceptions surface first | Cloud Claude (de-identified, rolled-up metrics) + Smartsheet API for cross-sheet aggregation | Smartsheet API (cross-sheet reports/dashboards), CTMS, finance system, RAG | GREEN | Portfolio lead reviews the rollup; any escalated exception is confirmed before leadership distribution |
| Action-item SLA chasing & escalation scheduled (daily) — overdue/approaching-due action items | Scans the action/decision log for items nearing or past due, drafts polite reminder emails to owners and an escalation summary for items breaching SLA. Drafts and routes; escalation decisions remain human. ↳ Closes the loop on stalled actions automatically; PMs stop being the manual nag for routine reminders | Cloud Claude (de-identified action titles/owners); Local if action text references PHI/unblinded context | Smartsheet (action log), Outlook/Exchange, Teams | GREEN | PM approves escalations; owners receive AI-drafted reminders (low-risk auto-send optional per policy) |
| Milestone-slip root-cause & schedule-recovery proposal event (milestone marked slipped or critical-path date moves beyond tolerance) | On a confirmed slip, correlates likely drivers from linked actions, risks, vendor deliverables, and recent status notes, and drafts candidate recovery options (fast-track, re-sequence, resource add) with their timeline impact computed by Smartsheet. Diagnoses and proposes scenarios; it does not commit a recovery plan. ↳ Turns a slip alert into actionable, pre-modeled recovery choices in minutes, shortening the decide-and-replan cycle | Local+Cloud (Local for any unblinded/site root-cause detail; Cloud for scenario narrative) + Smartsheet API for impact modeling | Smartsheet API (what-if date impact, dependencies), Risk/action logs, RAG (timeline plan), Outlook | AMBER | PM/lead selects and approves the recovery scenario before it becomes the revised plan-of-record |
eTMF & Document Control
Auto-classify & file to the DIA TMF Reference Model, completeness/expiry checks, and SOP/WI/study-doc ingestion into the RAG store for grounded compliance Q&A. Filing to the record-of-truth is human-approved; RAG answers are draft/advisory and always cited.
| Automation | What the AI does (vs. what stays human / validated) | Engine | Integration | Tier | Human checkpoint |
|---|---|---|---|---|---|
| Auto-classify & file to the DIA TMF Reference Model event — new document lands in an intake folder / SharePoint dropzone / scan inbox / email attachment | OCRs and reads the document, then classifies it to the correct TMF Reference Model v3.2.0 Zone > Section > artifact ID and extracts filing metadata (study, site, country, document date, version). Proposes the filing as a draft with a confidence score; the validated eTMF and a human declare the record-of-truth. High-confidence routine artifacts can be batch pre-staged for one-click human approval. ↳ Eliminates the largest manual eTMF burden (sorting/indexing/metadata entry), cuts mis-filing, and keeps the TMF contemporaneous instead of backlogged | Local frozen model (documents routinely contain PHI/PII; classify on-prem) — only fully de-identified, hard-to-classify edge cases optionally escalate to Cloud Claude | SharePoint/scan-inbox -> RAG/classifier -> eTMF (Veeva Vault eTMF / Montrium) write to staging + approval queue; Outlook for attachment intake | AMBER | Document controller verifies classification + metadata and approves the final filing into the record-of-truth (RED on the filing action itself); low-confidence items always go to a person |
| TMF completeness / QC & missing-document detection scheduled (nightly/weekly) + event on milestone change (site activation, FPI, data cut) | Compares filed artifacts against the expected-document index (TMF plan / artifact-to-milestone map) for the current study phase and each site, computes per-zone completeness %, lists missing/overdue/placeholder artifacts, and flags quality defects (wrong version, unsigned, illegible scan, wrong date). Drafts the gap list and a QC summary; does not change any record. ↳ Continuous (not pre-inspection) completeness, fewer late filings, and an always-current view of TMF health required by ICH E6(R3) | Local frozen model (operates over filed PHI-bearing documents and metadata) + Validated tool for the authoritative status fields | eTMF API (artifact/metadata read), Smartsheet/TMF-plan as expected-document index, dashboard | AMBER | TMF lead reviews the gap report and assigns remediation owners; any status correction is made by a human in the validated system |
| Expiring-document alerts (CV / training / license / certs) scheduled (daily) sweep of expiry-dated artifacts | Extracts expiry dates from CVs, GCP-training certificates, medical licenses, lab certifications/normal-range docs, and IATA shipping certs; tracks them against thresholds (e.g. 90/60/30 days) and drafts targeted reminder notices to the responsible site/role. Maintains a credential-currency register. Sends alerts only; renewals and re-filing stay manual. ↳ Prevents lapsed-credential inspection findings — a common, avoidable Major finding — with zero manual diary-keeping | Local frozen model (CVs/licenses contain personal data) | eTMF API, Outlook/Teams for notifications, register in Smartsheet | AMBER | CRA/site manager confirms the flagged expiries and chases renewals; nobody's record is changed automatically |
| SOP / WI / study-document ingestion into the RAG knowledge base event — a controlled document is approved/effective or superseded in the DMS | Parses the approved document, chunks and embeds it into the permissioned local vector store with metadata (doc ID, version, effective date, owner, applicable studies), and links/citations back to the source. On supersession, retires the old version's chunks so retrieval never serves obsolete guidance. Indexing only — it authors nothing. ↳ Turns the SOP/WI library into an instantly queryable, always-current-version knowledge base and is the foundation for compliance Q&A | Local frozen model + local embeddings (knowledge base is on-prem and permissioned; SOPs are internal IP) | DMS/SharePoint controlled-docs library -> local RAG vector store; effective-version feed from the DMS | GREEN | QA owns which version is 'effective'; ingestion follows the DMS state of truth, so no separate approval is needed beyond normal doc-control |
| Compliance Q&A over SOPs/WIs ("what does SOP-12 require for X?") on-demand — staff question via chat/portal | Retrieves the relevant SOP/WI chunks and answers with the requirement, quoting and citing the exact document ID, version, and section; flags when multiple/conflicting documents apply and when a referenced doc is superseded. Answers are guidance/navigation, explicitly 'verify against the controlled document' — it never overrides the SOP. ↳ Cuts time-to-answer for 'how do we do X per our SOP' from hours of searching to seconds, with citations — improves consistency and onboarding | Local frozen model over local RAG (default; keeps internal IP on-prem). Cloud Claude only for de-identified, non-proprietary general-GCP reasoning if ever needed. | Local RAG store, chat/portal UI, link-out to the DMS source | GREEN | User judgment; for regulatory-binding interpretation the answer routes the user to QA/RA |
| Version / superseded-document control & reference reconciliation event — new version of an SOP / protocol amendment / ICF / plan is filed | Detects the supersession, diffs old vs new to summarize what changed, identifies downstream documents and TMF references that cite the prior version, and drafts a reconciliation checklist (which docs need re-pointing, which trainings re-trigger). Proposes marking prior versions superseded; the human and validated system execute the status change. ↳ Stops obsolete-version use and dangling references — a frequent root cause of TMF and protocol-compliance findings | Local frozen model (internal controlled docs) + Cloud Claude optionally for a de-identified plain-language change summary | DMS/eTMF API, training system, Smartsheet checklist | AMBER | Doc-control/QA approves the supersession status change and confirms the reconciliation actions in the validated system (RED on the actual status write) |
| Inspection-readiness gap analysis scheduled (monthly) + on-demand ahead of an audit/inspection | Runs a deeper readiness scan: completeness by zone, overdue/placeholder artifacts, unsigned or out-of-window documents, expiring credentials, superseded-version references, and known inspector hot-spots; produces a prioritized remediation plan with owners and a narrative readiness summary. Assessment and drafting only; remediation is human-executed. ↳ Shifts inspection prep from a frantic manual TMF audit to a continuous, scored, prioritized readiness posture | Local frozen model (operates over the live TMF) + Cloud Claude for a de-identified executive readiness narrative | eTMF API, Smartsheet remediation tracker, dashboard, Outlook for the summary | AMBER | QA / clinical-ops lead reviews the gap analysis, validates findings, and owns the remediation plan and timeline |
| Redaction / PII-PHI detection before any cloud use event — any document or text about to be sent to the Cloud Claude backend (a guardrail in the gateway path) | Scans content with Presidio (incl. MedicalNER and DICOM/image redaction) to detect PII/PHI; if found, blocks the cloud route and keeps processing local, or produces a de-identified version for cloud reasoning with a logged mapping. Acts as the enforcement point of the route-by-sensitivity rule; never the sole gate for declaring data 'safe'. ↳ Hard technical guarantee that PHI/PII never egresses to the cloud — the linchpin that makes the hybrid HIPAA-defensible | Validated/deterministic tool (Presidio) at the gateway, augmented by the Local frozen model for context-aware checks; this is what GATES Cloud Claude | LiteLLM-class gateway pre-call hook, Presidio service, audit log | AMBER | Privacy/QA validates de-identification adequacy on samples; flagged-as-PHI items are hard-routed local with no human override needed |
| Document QC linter (signatures, dates, legibility, completeness fields) event — at point of filing / intake, before a doc reaches the approval queue | Checks each incoming document for required signatures and dates, signature-vs-event date windows, page completeness, legibility/scan quality, correct form version, and required fields populated; drafts a QC finding note for any defect and routes it back to the originator. Flags and explains only; it does not pass/fail the official record. ↳ Catches the everyday quality defects (missing signature/date, wrong version, bad scan) at the door instead of at inspection | Local frozen model (PHI-bearing source-adjacent docs) | Intake pipeline, eTMF staging, Outlook/Teams for return-to-originator | AMBER | Document controller confirms the QC finding and decides accept/reject; final QC status is set in the validated eTMF |
| Email & attachment auto-routing to the eTMF intake event — inbound email to a study mailbox with a fileable attachment | Triages study mailboxes, recognizes fileable artifacts (e.g. a returned signed form, a site cert, a vendor qualification doc), extracts study/site context, and routes the attachment into the classification/QC pipeline with proposed metadata. Triage and routing only; filing remains the human-approved step downstream. ↳ Closes the 'documents stuck in inboxes' gap, the most common reason artifacts arrive in the TMF late or not at all | Local frozen model (email bodies/attachments may contain PHI) | Outlook/Exchange, intake pipeline -> classifier -> eTMF staging | AMBER | Owner of the intake queue reviews routed items; filing approval happens at the classify-and-file step |
| Translation / certified-copy & localization control event — a non-English or country-specific document is filed (e.g. local ICF, regulatory approval, ethics correspondence) | Detects language and document type, drafts a working translation/summary for reviewer context, checks that a certified translation and the corresponding source/certified-copy artifact are both present and correctly cross-linked, and flags missing pairs. The certified translation of record stays a validated, human/vendor deliverable — the LLM never produces the official translation. ↳ Prevents the common multi-country finding of missing certified translations or unlinked source/translation pairs | Local frozen model (regulatory/ethics docs, possibly PII) — working summary; Cloud Claude only on de-identified text | eTMF API, translation-vendor tracker in Smartsheet | AMBER | Regulatory/QA confirms the certified translation and certified-copy pairing in the record-of-truth |
| TMF audit-trail & filing-activity summarizer scheduled (weekly) + on-demand for a specific period/site | Reads the eTMF/Part-11 audit trail and summarizes filing activity, backlog age, who-filed-what, recurring rejection reasons, and bottlenecks; drafts a plain-language TMF-health narrative and trend for governance. Reads and summarizes the validated audit trail — it never edits it, and reported metrics tie back to the system of record. ↳ Turns an opaque audit trail into an actionable weekly TMF-health and bottleneck signal without manual log-trawling | Local frozen model (audit data references participants/sites/people) + Cloud Claude for a de-identified executive narrative | eTMF/Part-11 audit-trail API, Smartsheet/dashboard, Outlook for the digest | GREEN | TMF lead reviews the narrative before it goes to governance |
Data Validity & Recurrent QC
| Automation | What the AI does (vs. what stays human / validated) | Engine | Integration | Tier | Human checkpoint |
|---|---|---|---|---|---|
| Scheduled CDISC conformance run + AI finding-triage (SDTM/ADaM/Define-XML) scheduled (nightly + on every new SDTM/ADaM build or data refresh) | Pinnacle 21 (validated) produces the authoritative findings file (Error/Warning/Notice) against SDTMIG v3.4 / ADaMIG v1.3 / Define-XML v2.1 / FDA + PMDA rules. The LOCAL LLM then clusters findings by rule and domain, diffs against the last clean run to surface only NEW findings, drafts a plain-language explanation and a proposed disposition (real defect vs expected/explained-in-cSDRG/ADRG) grounded in the reviewer guides via RAG, and routes each cluster to the right programmer. It never changes the pass/fail verdict. ↳ Hundreds of repeat/expected findings get pre-explained and the genuinely new ones surface instantly each build — turning a multi-hour manual triage into minutes, with a fully audited disposition log ready for the cSDRG/ADRG. | Validated tool (Pinnacle 21) for pass/fail + Local frozen model for triage/draft | Pinnacle 21 Enterprise output share, SDTM/ADaM datasets, Define-XML, cSDRG/ADRG in RAG store, programmer worklist/Smartsheet, Part 11 audit trail | AMBER | Stat programmer / CDISC lead reviews and accepts/edits every triage disposition; the conformance report itself is the validated record-of-truth (RED) and is never altered by AI |
| Cross-form / edit-check / logical-consistency surveillance event (each EDC data load / DTA transfer) + scheduled daily | Deterministic edit-check and cross-form logic (the validated check battery / SQL) runs first and flags hard inconsistencies (e.g., AE start before first dose, lab date outside visit window, EX dose vs randomized arm, pregnancy-test logic, visit-sequence breaks). The LOCAL LLM then reads the flagged participant-level rows, explains the likely cause in clinical language, distinguishes a true data error from an explainable protocol event, drafts a candidate query text, and proposes routing to DM or the site. Cross-form *logic* design can be drafted by Cloud Claude from de-identified specs. ↳ Catches logical impossibilities and cross-domain contradictions continuously instead of at lock, with draft queries ready for one-click human approval. | Validated check logic + Local frozen model (participant-level rows stay local); Cloud Claude only for de-identified check-design | EDC/CTMS, Data Review Plan + edit-check spec in RAG, query manager, DM worklist, audit trail | AMBER | DM / data reviewer approves the query before it is issued; no value is changed by AI |
| PK timing (actual vs nominal) and BLQ/LLOQ rule checking event (each bioanalytical / PK concentration load) + scheduled | Validated logic computes actual-minus-nominal sampling deviations and applies the SAP/PK-plan BLQ/LLOQ handling rules (e.g., pre-first-dose BLQ=0, embedded BLQ vs trailing BLQ, LLOQ substitution) deterministically. The LOCAL LLM triages timing deviations beyond tolerance, explains each against the PK sampling schedule and t1/2 expectations via RAG, flags mis-applied or ambiguous BLQ flags for the PK scientist, and drafts the discrepancy note — it does not set the analysis value (that re-derives from the validated rule / Phoenix downstream). ↳ Timing-deviation and BLQ edge cases (the classic source of NCA errors) are surfaced and explained every load, protecting the integrity of the concentration dataset feeding Phoenix. | Validated rule logic + Phoenix WinNonlin downstream (engine of record) + Local frozen model for triage | ADPC/PC datasets, PK Analysis Plan + BLQ/LLOQ rules in RAG, bioanalytical transfer, PK scientist worklist, audit trail | AMBER | PK scientist reviews timing deviations and confirms BLQ handling; reported PK values come from the validated engine, never the LLM |
| Lab / IXRS(IRT) / PK-sample reconciliation event (each lab, IXRS, or bioanalytical transfer) + scheduled weekly | Validated reconciliation logic performs 100% record-count, key, and value matching across sources (central-lab transfer vs LB, IXRS dispensing/kit vs EX/randomization, PK samples drawn per IXRS/lab manifest vs concentrations received/PC). The LOCAL LLM triages the unreconciled set, classifies each mismatch (missing sample, unit mismatch, duplicate, late transfer, mis-keyed accession), explains the likely root cause, and drafts the reconciliation finding + routing to the lab, DM, or PK. It does not adjudicate the matched record-of-truth. ↳ Sample-accountability and kit/dispensing gaps are caught and root-caused continuously, preventing missing-data surprises at lock and supporting full PK sample accountability. | Validated reconciliation logic + Local frozen model for mismatch triage | Central-lab transfer, IXRS/IRT, bioanalytical manifest, LB/EX/PC datasets, reconciliation spec in RAG, lab + DM worklists, audit trail | AMBER | DM / PK scientist confirms each reconciliation resolution; the matched dataset is the validated record |
| Query-management oversight, aging & SLA escalation scheduled daily + threshold breach | Pulls open-query metadata from the query manager (de-identified: counts, ages, status, site, query type) and lets the LLM compute aging buckets, detect SLA breaches, summarize the open-query landscape, predict which queries threaten the next data-review or lock milestone, draft escalation emails, and prioritize the DM worklist. Participant-level query text stays LOCAL; aggregate metadata may go CLOUD for sharper trend reasoning. It does not open, answer, or close queries. ↳ Aging queries stop slipping past lock-critical thresholds; DM gets a daily, ranked, milestone-aware worklist and ready-to-send escalations. | Local (query text) / Cloud Claude (de-identified aggregate metadata) | Query manager/EDC, CTMS milestones, Outlook/Teams, Smartsheet/DM dashboard, audit trail | AMBER | DM lead reviews the prioritized list and approves escalations; query state changes stay human |
| Duplicate / outlier / range / digit-preference checks scheduled (each refresh) + event on load | Validated statistical/rule logic computes range violations, within-participant and population outliers (e.g., robust z / IQR), duplicate records, and digit-preference / rounding patterns. The LOCAL LLM triages each flag on participant-level data: separates a plausible-but-extreme physiological value from a likely transcription error, explains it against the variable's expected range and the participant's own trajectory (RAG), and drafts a query or a 'no-action, explained' note. Method design and thresholds can be drafted via Cloud Claude on de-identified specs. ↳ Outliers and duplicates are explained in context rather than dumped as raw flags, and digit-preference checks feed the central-monitoring (fraud/quality) signal — every refresh. | Validated statistical logic + Local frozen model for triage | SDTM/ADaM + raw EDC, range/edit specs in RAG, DM/central-monitoring dashboard, audit trail | AMBER | Data reviewer / central monitor confirms each outlier disposition; no value altered by AI |
| Data-quality KRI / QTL trend dashboard upkeep (RBQM) scheduled (daily/weekly) + threshold breach | Validated metric definitions compute the data-quality KRIs (site-level: query rate, query age, missing-data %, overdue forms, protocol-deviation rate, time-to-entry) and QTLs (trial-level acceptable ranges per ICH E6(R3)). The LLM narrates the dashboard: explains which KRI/QTL moved and why, distinguishes signal from noise, drafts the RBQM/central-monitoring narrative, and proposes a follow-up action. Aggregate site-level metrics may go CLOUD; any drill-down to participant rows stays LOCAL. Thresholds and breach status come from the validated metric layer. ↳ Turns a metric wall into a weekly plain-language RBQM narrative with proposed actions — the 'demonstrate, don't just describe' centralized monitoring E6(R3) now expects. | Validated metric layer + Cloud Claude (aggregate narrative) / Local (participant drill-down) | EDC/CTMS, RBQM/CSM platform, KRI/QTL spec in RAG, Smartsheet/dashboard, audit trail | AMBER | Central monitor / RBQM lead reviews narrative and decides actions; QTL/KRI breach status is from the validated tool |
| Statistical / central-monitoring anomaly signals (site outliers, enrollment & visit anomalies) scheduled weekly | Validated central statistical monitoring (CSM) computes site-vs-site outlier statistics, unusual variance/means, enrollment and visit-pattern anomalies, and inlier/over-uniformity signals. The LOCAL LLM triages the ranked signals, explains each candidate (operational cause vs data-integrity concern), correlates across KRIs, and drafts a site-level follow-up or a monitoring-trigger memo. Participant/site-level data stays LOCAL; only de-identified statistical summaries may reach CLOUD. ↳ Surfaces data-integrity and operational anomalies a tabular KRI report would bury, with a drafted, explainable rationale for any monitoring trigger. | Validated CSM engine + Local frozen model for signal triage | RBQM/CSM platform, EDC/CTMS, site-monitoring worklist, KRI history in RAG, audit trail | AMBER | Central monitor / lead reviews each signal and decides on a site action; the statistical signal is from the validated engine |
| Pre-lock data-review listing generation, diff & sign-off packet scheduled in the pre-lock window + on-demand before each blinded data review | Validated programs produce the SAP/Data-Review-Plan-defined listings (blinded). The LOCAL LLM diffs the current listings against the prior review run, summarizes what changed and what remains open, maps each open item to its query/disposition, drafts the blinded-data-review meeting package and the lock-readiness checklist, and flags any SAP-required check not yet evidenced. It does not generate or alter the listing values. ↳ Each blinded data review starts from a what-changed-since-last-time summary and an evidence-mapped lock checklist, compressing pre-lock cleaning and de-risking the lock decision. | Validated listing programs + Local frozen model for diff/summary/packet | ADaM/SDTM, Data Review Plan + SAP in RAG, blinded-review minutes, lock checklist, audit trail | AMBER | Lead biostatistician chairs the blinded review and signs the lock-readiness decision; blinded decisions are recorded with timestamp before unblinding |
| Discrepancy triage, classification & routing to DM event (any new flag from any check above) + scheduled sweep | Acts as the unifying triage layer across all validated checks (conformance, edit-check, reconciliation, outlier, timing). The LOCAL LLM de-duplicates overlapping flags, classifies each discrepancy by type, severity, and likely owner, drafts the query/finding text grounded in the relevant SOP/spec via RAG, proposes a route (DM, site, PK, programming, medical coding), and assembles a single ranked DM worklist. It routes and drafts; it does not resolve or close. ↳ Replaces fragmented per-tool flag lists with one de-duplicated, classified, pre-routed, draft-query worklist — the single biggest day-to-day time sink in DM oversight. | Local frozen model (participant-level) — orchestrating validated-tool outputs | All check outputs, query manager, DM/programming worklists, SOPs/specs in RAG, Outlook/Teams, audit trail | AMBER | DM / data reviewer approves classification and routing; resolution and closure stay human in the validated system |
| MedDRA / WHODrug auto-coding QC & uncoded-term triage event (each AE/CM/MH load) + scheduled | The coding system/dictionary (validated, versioned MedDRA/WHODrug) remains the source of coded values. The LOCAL LLM reviews the QC output: flags suspicious auto-codes, surfaces uncoded/queried verbatim terms, suggests candidate codes WITH the dictionary path for a human coder to confirm, and drafts the coding query. Verbatim AE/medication terms are participant-level and stay LOCAL. It proposes; it never assigns the code of record. ↳ Speeds the uncoded-term backlog and catches questionable auto-codes early, while the coded value of record stays under the validated dictionary and a human coder. | Validated coding dictionary/tool + Local frozen model for QC triage/suggestion | Safety/coding database, MedDRA/WHODrug (versioned), AE/CM/MH SDTM, coder worklist, audit trail | AMBER | Medical coder confirms/assigns every code; the validated coding tool holds the record-of-truth |
| SDTM<->Phoenix<->ADaM PK numeric cross-traceability reconciliation event (each PK parameter / ADPP build) + pre-lock | Validated reconciliation checks confirm PK parameters match across PP <-> Phoenix WinNonlin output (engine of record) <-> ADPP, and that RELREC PC<->PP linkage and time-after-dose derivations are consistent. The LOCAL LLM triages any mismatch, localizes where the chain broke (mapping, BLQ rule, rounding, parameter-code mapping), explains it, and drafts the finding to the PK scientist/programmer. The authoritative PK numbers always re-derive from Phoenix — the LLM never computes or 'fixes' a value. ↳ Guarantees the PK numbers that reach the CSR are identical and traceable across PP, Phoenix, and ADPP — the highest-stakes reconciliation in an early-phase clin-pharm study. | Phoenix WinNonlin (engine of record) + validated reconciliation logic + Local frozen model for mismatch triage | PP/ADPP datasets, Phoenix output, RELREC, PK plan in RAG, PK/programming worklist, audit trail | RED | PK scientist + lead biostatistician confirm the reconciliation; any reported PK number comes only from the validated engine, LLM out of the decision path |
Trial Monitoring & RBQM
ICH E6(R3) risk-based quality management: KRI/QTL breach signals, central/statistical monitoring, deviation surveillance, safety triage, DSMB packet assembly. Unblinded/participant-level signals run on the local model; reported safety numbers come from validated tools with medical review.
| Automation | What the AI does (vs. what stays human / validated) | Engine | Integration | Tier | Human checkpoint |
|---|---|---|---|---|---|
| KRI/QTL definition & specification drafting on-demand at study startup / protocol amendment | Drafts KRI/QTL definitions, rationale, numerators/denominators, and starting thresholds from the protocol + risk assessment + SOP library (RAG); proposes the metric catalog and code stubs. Human risk-committee/biostat finalizes thresholds; the validated CSM platform computes them. LLM does not set thresholds of record. ↳ Cuts RBQM plan setup from weeks to days; consistent, traceable KRI/QTL library aligned to CtQ factors | Cloud Claude (de-identified protocol text) + RAG | RAG (protocol/SOP/risk plan), CSM/RBQM platform, Smartsheet (risk register) | AMBER | Risk committee + lead biostatistician approve thresholds and definitions |
| Threshold-breach signal triage & narrative scheduled (e.g., weekly CSM refresh) + event (breach fired) | Validated CSM/RBQM platform flags KRI/QTL breaches; LLM triages the queue, drafts the breach narrative (what breached, magnitude, trend, candidate causes from history), proposes severity/priority, and routes. The breach determination of record and any QTL excursion logged to the CSR stay human + validated tool. ↳ Faster, consistent triage; reviewers focus on real signals instead of dashboard scanning | Local (participant-level/unblinded inputs) or Cloud (aggregate de-identified) | CSM/RBQM platform, EDC export, Smartsheet (action log), Outlook | RED | Central monitor / medical monitor confirms breach and disposition |
| Central statistical monitoring signal interpretation (site outliers, digit preference, anomalies) scheduled (data refresh) | Statistical engine computes site-outlier scores, digit-preference tests (volcano plots), variance/correlation anomalies, date implausibilities, and AE under-reporting. LLM narrates the ranked findings, clusters by site, and drafts a follow-up hypothesis list. The statistics themselves run in the validated/frozen engine, never the LLM. ↳ Surfaces fraud/quality/training signals early; turns dense statistical output into actionable, plain-language leads | Validated stats tool computes; Local model narrates (participant-level data) | CSM platform / SAS-R stats, EDC, RAG (site history) | RED | Statistician + central monitor adjudicate each flagged site |
| Protocol-deviation surveillance & classification event (deviation reported) / scheduled sweep of EDC + emails | Classifies incoming deviations as major/minor and by category (eligibility, IP, visit-window, consent, procedure), maps to the protocol section, flags likely-important deviations per ICH E6(R3), and drafts the log entry. Human QA confirms major/important classifications; the deviation log of record is updated via validated system + human. ↳ Consistent classification, fewer missed important deviations, audit-ready rationale | Local (participant-identifiable deviation text) frozen model | EDC/CTMS deviation module, RAG (protocol), Smartsheet/CTMS log | AMBER | QA/clinical lead confirms major & 'important' deviation classification |
| Safety signal triage (AE/SAE volume, lab shifts) scheduled + event (SAE received / threshold hit) | Triages aggregate AE/SAE volume trends and lab-shift patterns flagged by validated tools; drafts a triage note and prioritization for medical review. All reported safety numbers come from the validated safety DB/EDC with medical review; LLM is out of the number-generating and causality path. ↳ Earlier focus on emerging safety patterns without exposing unblinded data to cloud | Local model on unblinded/participant-level inputs; validated tool for numbers | Safety DB/EDC, lab vendor feed, RAG (protocol safety section) | RED | Medical monitor / safety physician owns assessment and causality |
| Site performance & enrollment-metric reporting scheduled (weekly/monthly) | Summarizes site scorecards (enrollment vs plan, screen-fail, query aging, deviation rate, data-entry lag) from validated metrics into a narrative + recommended actions; drafts site-by-site commentary. Metrics computed by CTMS/EDC; LLM summarizes de-identified aggregates. ↳ Standardized site oversight narratives; quick identification of lagging sites | Cloud Claude (de-identified aggregate metrics) + RAG | CTMS/EDC metrics, Smartsheet/Power BI, Outlook/SharePoint | GREEN | Clinical operations lead reviews before distribution |
| Enrollment & visit-anomaly detection narrative scheduled (data refresh) | Validated analytics detect enrollment spikes/clusters, visit-window violations, and implausible visit timing; LLM narrates the anomalies, links to candidate causes, and proposes monitoring follow-up. Detection math is in the validated tool; LLM only explains and routes. ↳ Catches enrollment-pressure and visit-compliance issues early | Local (participant-level timing data) + validated analytics | EDC/CTMS, CSM platform, Smartsheet (follow-up) | AMBER | Central monitor reviews and assigns follow-up |
| CAPA drafting & tracking event (finding raised) + scheduled aging sweep | Drafts CAPA records (problem statement, root-cause options, proposed corrective/preventive actions, owners, due dates) from a signal/finding; tracks open CAPAs, flags overdue/aging items, drafts status updates. Effectiveness checks and CAPA closure of record are human-approved in the validated quality system. ↳ Faster, better-structured CAPAs; nothing falls through the cracks on due dates | Cloud Claude (de-identified) + RAG (CAPA SOP) | Smartsheet/QMS (CAPA tracker, Smartsheet API), Outlook, RAG | AMBER | QA owner approves root cause, actions, and closure |
| DSMB / safety-review packet assembly scheduled (DSMB meeting cadence) | Assembles the DSMB/SRC packet shell: pulls validated tables/listings/figures, drafts the cover narrative, blinded vs unblinded section structure, and prior-action follow-up summary. All numbers/TLFs come from validated outputs; unblinded sections built on the LOCAL model only. LLM drafts narrative, never the numbers. ↳ Cuts packet assembly time, consistent structure, reduces manual collation errors | Local model for unblinded sections; validated tools for all TLFs | Stats/TLF outputs, safety DB, SharePoint, RAG (charter) | RED | Unblinded statistician + medical writer + DSMB chair sign off |
| Monitoring-visit report (MVR) summarization event (MVR filed) + scheduled rollup | Summarizes MVRs into structured findings (open issues, action items, deviations noted, site responsiveness) and a portfolio-level rollup of recurring themes across sites. De-identified MVR text; LLM produces drafts only, CRA/lead confirm findings of record. ↳ Fast, consistent MVR digests; surfaces cross-site recurring issues | Cloud Claude (de-identified MVR text) + RAG | CTMS/eTMF (MVR docs), SharePoint, Smartsheet (actions) | GREEN | CRA / clinical lead verifies summarized findings |
| MVR follow-up & action-item tracking event (MVR filed) + scheduled aging sweep | Extracts action items from MVRs, opens/updates tracker entries, links owners and due dates, drafts reminders for aging/overdue items, and flags items needing escalation. Writes go only to the non-regulated action tracker; eTMF record updates remain human + validated. ↳ Closes the loop on monitoring actions; reduces overdue follow-ups | Cloud Claude (de-identified) via MCP connectors | Smartsheet (Smartsheet API), Outlook, CTMS | AMBER | CRA confirms action items and closures |
| QTL dashboard upkeep & RBQM oversight memo scheduled (dashboard refresh / monthly oversight) | Keeps the QTL/KRI dashboard annotated: drafts change-log entries, narrates trend movements, flags definitions needing recalibration after amendments, and drafts the periodic RBQM oversight summary. Dashboard values come from the validated platform; LLM annotates de-identified aggregates only. ↳ Always-current, well-annotated oversight artifact; less manual dashboard maintenance | Cloud Claude (de-identified aggregates) + RAG | CSM/RBQM platform, Power BI/Smartsheet, RAG (RBQM plan), SharePoint | GREEN | RBQM/risk lead reviews oversight memo before filing |
Additional / easily-missed
The easily-missed operations the completeness audit surfaced — consent version tracking, IP/drug accountability, randomization/IXRS oversight, regulatory-submission & safety-clock tracking, training compliance, data-transfer scheduling, and more.
| Automation | What the AI does (vs. what stays human / validated) | Engine | Integration | Tier | Human checkpoint |
|---|---|---|---|---|---|
| Informed-consent (ICF) version tracking & site-version reconciliation New ICF version approved; new participant consented; site IRB/EC approval received | Tracks every ICF version (master + site/IRB-EC-approved local versions + translations), maps which version each enrolled participant signed against the version effective on their consent date, and flags re-consent obligations when a new version is approved mid-study. Surfaces mismatches (participant consented on a superseded version) and missing site-level approvals. Under E6(R3) consent is an ongoing dialogue/eConsent, so it tracks re-consent events too. ↳ Consent-version mismatches and missed re-consents are a top-5 GCP inspection finding; manual tracking across sites/languages is error-prone. | LOCAL (ICF content + participant-level consent dates can be PHI-adjacent/unblinded; stays air-gapped). De-identified version-control logic can burst to CLOUD. | eTMF, CTMS, IRB/EC tracker, EDC (consent date) | AMBER | PM/CRA approves any re-consent trigger or flagged mismatch before action |
| Site feasibility, selection & activation-readiness tracking Feasibility responses received; activation checklist item changes; weekly status run | Maintains the site activation checklist (regulatory packet, contract, IRB/EC approval, site-init visit, green-light criteria), computes per-site activation status and cycle time, drafts feasibility questionnaires and summarizes returned responses into a site-ranking matrix, and flags sites stalled on a missing prerequisite. Predicts activation-date slips from outstanding items. ↳ Slow/uneven site activation is the #1 cause of early-phase timeline slip; readiness gaps are easily missed across many sites. | CLOUD for de-identified feasibility text synthesis/ranking; LOCAL if site/PI documents contain sensitive contractual/personal data. | CTMS, eTMF, Smartsheet, IRB/EC tracker | AMBER | Clin-ops lead approves go/no-go activation decisions |
| Investigational-product (IP)/drug accountability & reconciliation IP shipment/dispensing/return event; pre-monitoring-visit run; reconciliation cycle | Reconciles IP shipped vs dispensed vs returned vs destroyed per site against drug-accountability logs and IXRS/IRT dispensing records; flags discrepancies, negative inventory, expiry-window breaches, temperature-excursion-quarantined lots, and missing destruction records. Drafts the accountability-discrepancy memo for CRA follow-up. ↳ Drug accountability is a mandatory GCP/Part-11 record and frequent inspection finding; reconciliation across IXRS + paper logs is tedious and error-prone. | LOCAL (IP/dispensing records tie to participant-level unblinded randomization data; air-gapped). | IXRS/IRT, CTMS, EDC, eTMF | RED | CRA/QA reconciles and signs; the reconciled count of record always comes from the validated IXRS/inventory system, not the LLM |
| Randomization / IXRS(IRT) setup-spec & UAT oversight (blinding-safe) IXRS build/change request; UAT cycle; periodic blinded-anomaly scan | Drafts and QCs the IXRS/IRT user-requirement and randomization spec against the protocol (stratification factors, block size handling, dispensing logic, emergency unblinding workflow), generates and tracks UAT test scripts and defect logs, and monitors live IXRS for stratification imbalance or assignment anomalies WITHOUT exposing treatment codes. Never touches the actual randomization list. ↳ IXRS misconfiguration (wrong block/strata) can compromise an entire study; UAT oversight is detail-heavy and easily under-resourced. | LOCAL (randomization/IXRS internals are unblinding-sensitive; strictly air-gapped). De-identified spec drafting may use CLOUD. | IXRS/IRT, EDC, CTMS | RED | Unblinded statistician/QA validates randomization; LLM stays out of the unblinding decision path entirely |
| Lab manual, central-lab spec & kit/supply management Protocol/lab-manual update; kit-expiry threshold; inventory drawdown | Maintains the lab manual and kit catalog, cross-checks the protocol's schedule-of-assessments against lab requisition panels and kit contents for coverage gaps, monitors per-site kit inventory and expiry to forecast resupply needs, and flags expiring kits or panels missing from the lab spec. Drafts resupply requests. ↳ Missing/expired kits cause un-drawable samples and protocol deviations at the visit; coverage gaps between protocol and lab spec are a classic easily-missed defect. | CLOUD for de-identified protocol-vs-lab-manual coverage reasoning; LOCAL for site inventory tied to participant data. | Central-lab portal, CTMS, EDC, eTMF | AMBER | Lab-ops/CRA approves resupply orders and spec changes |
| Regulatory submission & lifecycle tracking (IND/CTA, amendments, annual reports) Submission milestone; anniversary date approaching; amendment initiated | Tracks IND/CTA and amendment submission status, agency clock dates (e.g., 30-day IND safety-to-proceed, CTA assessment timelines), and recurring obligations: DSUR due on the CTA/IND anniversary, IND annual report, protocol-amendment and safety-report submissions. Maintains a submission calendar, drafts cover letters/forms (e.g., 1571-class), assembles the submission-component checklist, and alerts before deadlines. ↳ Missed annual-report/DSUR anniversary dates and amendment-submission lapses are serious compliance failures; the recurring-clock tracking is easily forgotten. | CLOUD for de-identified submission-document drafting/checklists; LOCAL if drafts contain unredacted participant or proprietary CMC data. | Regulatory tracker, eTMF, CTMS, calendar | AMBER | Regulatory affairs approves and signs all submissions; the official submission record is the regulatory system of record |
| Expedited safety-reporting clock tracker (SUSAR/SAE 7- & 15-day) Day-0 awareness of a reportable case; T-minus reminders; follow-up info received | Starts and tracks the regulatory clock from sponsor awareness for each reportable case: 7 calendar days for fatal/life-threatening SUSARs and 15 calendar days for other serious unexpected related events, plus follow-up-report clocks. Distributes pre-deadline reminders, tracks distribution to IRBs/ECs/investigators/agencies, and flags any case at risk of missing its clock. Drafts the distribution log, not the medical assessment. ↳ Missing a 7/15-day expedited-reporting clock is a severe regulatory finding; clock management across many cases and recipients is precisely the kind of bookkeeping that slips. | LOCAL (case safety data is PHI/unblinded; strictly air-gapped). | Safety database (PV), eTMF, IRB/EC tracker, regulatory tracker | RED | Pharmacovigilance/medical monitor owns causality/expectedness and the official submission; LLM only tracks/reminds |
| Audit & inspection logistics / readiness orchestration Audit/inspection announced; document request issued; finding logged | Manages sponsor-audit and regulatory-inspection logistics: assembles the document request list, builds and tracks the storyboard/agenda, coordinates SME availability, stands up and maintains the inspection-readiness war-room tracker, logs requests during the inspection, and tracks resulting findings to CAPA closure. Drafts responses to audit observations. ↳ Inspection logistics are high-stakes, time-compressed, and currently coordinated by hand; complements the existing inspection-readiness gap analysis with live logistics. | CLOUD for de-identified logistics/response drafting; LOCAL for any source documents containing PHI. | eTMF, CTMS, SharePoint, calendar | AMBER | QA lead approves all inspection responses and document releases |
| Training-compliance & qualification tracking (curriculum + delegation) New training/protocol version assigned; delegation-log change; expiry threshold; periodic run | Maintains per-person required-training matrices by role/study, reconciles LMS completion records against assignments, ties training currency to the delegation-of-authority log (no task delegated without current GCP/protocol training), and alerts on overdue training, expired GCP certs, or delegation entries lacking prerequisite training. Drafts the training-status summary for the eTMF. ↳ Untrained staff performing delegated tasks is a frequent inspection finding; the training-to-delegation linkage is easily overlooked vs simple CV-expiry alerts already on the list. | CLOUD for de-identified compliance reconciliation logic; LOCAL if records carry personal/HR data. | LMS, eTMF (delegation log), CTMS | AMBER | Clin-ops/PI approve delegation and training remediation |
| Data-transfer agreement (DTA) scheduling & receipt/reconciliation confirmation Scheduled transfer due/received; spec mismatch detected | Maintains the transfer calendar from each DTA/transfer spec (vendor, frequency, format, variables), confirms each expected external transfer (central lab, PK bioanalytical, ECG, IXRS, PRO/eCOA) actually arrived on schedule, validates file structure/record counts/checksums against the spec, reconciles counts against EDC, and flags missing/late/malformed transfers. Drafts the transfer-receipt log. ↳ Silent missed or malformed external data transfers surface late and jeopardize DB-lock timelines; receipt confirmation against the DTA schedule is routinely manual. | LOCAL (transferred clinical/PK data is PHI/unblinded-adjacent; air-gapped). Spec-conformance metadata can use CLOUD. | SFTP/transfer system, EDC, DTA/transfer spec, CTMS | AMBER | DM lead confirms acceptance; reported counts come from validated reconciliation, not the LLM |
| Contract / CDA / agreement lifecycle tracking (CTA-contract, CDA, MSA, vendor SOWs) Agreement drafted/executed; expiry/renewal window; new vendor or site onboarding | Tracks the full agreement portfolio (confidentiality/CDAs, clinical-trial-agreement contracts with sites, MSAs, vendor SOWs, change orders) with execution status, effective/expiry dates, auto-renewal and notice windows, and key obligation extraction (deliverables, payment triggers). Alerts on unexecuted agreements blocking site activation and on expiring CDAs before data sharing. ↳ Unexecuted CTAs/CDAs silently block activation and create data-sharing exposure; obligation/expiry tracking is fragmented across legal and ops. | CLOUD for de-identified clause extraction/summary; LOCAL for fully-executed contracts with sensitive commercial terms. | Contract repository, CTMS, eTMF, SharePoint | AMBER | Legal/contracts approves; LLM extracts and reminds only |
| Lessons-learned & continuous-improvement knowledge capture Study close-out; CAPA closure; new study kickoff; periodic mining run | Mines closed studies, CAPAs, deviation trends, query patterns, and meeting minutes to draft a structured lessons-learned register, clusters recurring issues into themes, and at study start-up surfaces relevant prior lessons (via the RAG KB) for the new protocol. Feeds candidate process improvements back to SOP owners. ↳ Lessons-learned is universally intended and almost never systematically done; turns dead artifacts into reusable institutional knowledge feeding E6(R3) continuous quality improvement. | CLOUD for de-identified thematic synthesis; LOCAL for source artifacts containing study-sensitive content. | RAG KB, eTMF, CTMS, CAPA tracker | GREEN | QA/process owner curates the register before it becomes guidance |
| Sponsor-update / newsletter & external communication drafting Scheduled cadence (weekly/monthly); major milestone reached | Auto-drafts recurring sponsor updates and study newsletters by assembling enrollment metrics, milestone status, safety summary headlines, and upcoming events from CTMS/dashboards into the house template; tailors versions for sponsor vs sites; and routes for review. Maintains a distribution log. ↳ Sponsor communications are time-consuming, recurring, and template-driven; a clear win that is easily missed in an ops automation catalog. | CLOUD on de-identified aggregate metrics/narrative; LOCAL if any participant-level or unblinded figures are referenced. | CTMS, dashboards, Outlook, SharePoint | GREEN | PM reviews and sends; no unblinded data in any externally distributed draft |
| Participant travel, reimbursement & visit-logistics coordination (early-phase unit ops) Cohort scheduled; visit-window approaching; capacity conflict detected | For early-phase/Phase-1-unit studies, schedules confinement and ambulatory PK visits against the protocol's strict time windows, tracks bed/slot capacity for confinement cohorts, manages participant travel/stipend/reimbursement workflows, and flags visit-window risks or capacity conflicts across overlapping cohorts. Drafts participant visit reminders. ↳ Phase-1 confinement scheduling and rigid PK-window logistics are operationally intense and unit-specific; entirely absent from the current catalog and core to an early-phase clin-pharm CRO. | LOCAL (participant identity, travel, payment data is PHI; air-gapped). | CTMS, clinic scheduling system, payment/stipend system, EDC | AMBER | Unit coordinator approves schedules and reimbursements |
| eCOA / ePRO / wearable-device data oversight & compliance monitoring ePRO/device data refresh; compliance threshold breach; scheduled run | Monitors eCOA/ePRO and connected-device/wearable data streams for completeness and compliance (missed diary entries, low device-wear time, implausible/curbstoned entry patterns, device sync gaps), reconciles eCOA records against expected visit/diary schedule, and drafts site-level compliance alerts. Flags data-integrity patterns for central monitoring. ↳ eCOA/device compliance and entry-integrity gaps are easily missed and directly threaten endpoint validity; distinct from the EDC-centric edit-check and reconciliation items already listed. | LOCAL (ePRO/device data is participant-level PHI; air-gapped). De-identified pattern stats may use CLOUD. | eCOA/ePRO platform, device data hub, EDC, RBQM dashboard | AMBER | DM/central-monitoring reviews flags; LLM does not adjudicate compliance status |
Governance & routing
The tier model
| Tier | Count | What the AI may do |
|---|---|---|
| GREEN | 14 | Drafts, summaries, cited RAG answers — advisory only. |
| AMBER | 43 | Classification / triage / code / proposed changes — with a human verify before anything is committed. |
| RED | 18 | Touches a reported number, a record-of-truth, or unblinded data — a validated tool + human decides; the LLM is out of the path. |
The three hard rules
- PHI / unblinded / randomization data never leaves — always the local frozen model (zero egress). De-identified text may use cloud Claude.
- Every reported number and record-of-truth comes from a validated tool (Pinnacle 21, Phoenix, the EDC/CTMS/eTMF), never an LLM.
- A human approves any change to a regulated record or timeline — via the approval queue, with a Part 11 audit trail.
How it's enforced
- Data-classification router + Presidio firewall at the gateway — PHI is blocked from the cloud egress by policy, not by trust.
- Engine-of-record registry + model-freeze — the authoritative list of which validated engine / frozen model is in production; LLMs explicitly excluded from producing reported numbers.
- Unified 21 CFR Part 11 audit trail — every gateway call and connector action: who/which agent, model + backend, prompt + classification, sources, proposal, approver, timestamps (ALCOA++).
- Least-privilege connectors — read-mostly; writes to a record-of-truth are gated through the human queue.
Build roadmap — start small, earn trust
Stand it up in stages; each new agent goes live behind the human-approval queue and graduates as validation and trust accrue.
Phase 0 — the stack (from the hybrid AI strategy)
- Gateway (LiteLLM) + local vLLM model + Claude API under BAA + Presidio guardrail.
- The Part 11 audit trail and the human-approval queue.
Phase 1 — the RAG knowledge base (highest value, lowest risk)
- Ingest approved SOPs / WIs / protocols / plans into the local vector store.
- Ship the SOP/compliance Q&A agent first — pure GREEN, cited answers, immediate daily value.
Phase 2 — read-only connectors + scheduled agents
- Connect Smartsheet, the eTMF, and Pinnacle 21 outputs as read tools.
- Turn on the nightly QC-triage and weekly status-report agents (AMBER — everything to the approval queue).
Phase 3 — event-driven automation & monitoring
- Timeline-cascade on data cut / lock, eTMF filing proposals, action-item capture.
- KRI/QTL breach signals and central-monitoring agents.
- Gated writes graduate to lighter review as each agent earns a track record.
Agent & prompt patterns
The standard agent loop
trigger (schedule / event) -> gather context: connectors (read) + RAG (cited) -> classify data sensitivity -> route to LOCAL or CLOUD via gateway -> reason: draft / classify / triage / summarize -> PROPOSE change to the human-approval queue (with rationale + sources) -> on human approval: write via connector to the system of record -> log everything to the Part 11 audit trail
QC finding-triage prompt (local model)
You are triaging CDISC conformance findings. Pinnacle 21 has ALREADY produced the authoritative Error/Warning/Notice list (you NEVER change a verdict). Cluster findings by rule and domain; diff against the last clean run and surface only NEW findings; for each, draft a plain-language explanation and a proposed disposition (real defect vs expected/explained-in-cSDRG-ADRG, grounded in the reviewer guides), and name the programmer to route it to. Output a table; flag low confidence.
SOP / compliance Q&A prompt (RAG)
Answer ONLY from the approved SOP/WI knowledge base. Quote the exact clause and cite the document ID + version. If the SOPs do not cover it, say so. Never infer a regulatory requirement that isn't written.
Weekly status-report prompt
Draft the weekly study status report in the house template from: the Smartsheet plan-of-record (milestones, % complete, slips), open risks/issues, action-item aging, and vendor deliverables. Pull numbers from the systems of record; invent nothing. Mark any reported metric for PM verification. Keep it to one page.
Worked example — a day in the ops layer
02:00 — nightly QC triage
A new ADaM build lands. Pinnacle 21 runs; the local agent diffs against the last clean run, finds 3 genuinely new findings among 240 (the rest pre-explained from the ADRG), drafts dispositions, and routes them to two programmers' worklists. The CDISC lead opens a clean, pre-triaged queue at 08:00 instead of a 4-hour manual slog.
10:30 — data cut declared
The data-cut event fires. The agent recomputes the Smartsheet critical path, sees the dry-run TLF date now drives the finish, drafts targeted notifications (“you are now blocked”), and posts the recomputed plan to the approval queue. The PM approves; Smartsheet and the stakeholders update in minutes.
13:00 — a KRI breaches
Central monitoring flags a site whose query rate crossed its QTL. The local agent assembles the signal context (de-identified), drafts a follow-up for the CRA, and logs it to the RBQM register — medical review owns the call.
15:00 — eTMF filing + an SOP question
Three monitoring reports arrive; the agent proposes TMF Reference Model zones/artifacts and flags one as a probable duplicate — the doc controller approves the filing. Meanwhile a programmer asks the wiki agent “what does our SOP require for a derived-variable spec?” and gets the exact clause, cited.
16:00 — the weekly status report
The Friday agent drafts the status report from the plan-of-record and open risks; the PM edits two lines and sends it. Every regulated number came from a validated system; no patient data left the building; and a human approved every committed change.
FAQ
Does the AI ever change a record on its own? No. Every change to a regulated record, timeline, or reported output is proposed to the human-approval queue. The LLM is out of the decision path for anything regulated (RED).
Where do the numbers come from? Always a validated tool — Pinnacle 21 (conformance), Phoenix WinNonlin (PK), the EDC/CTMS/eTMF of record. The AI triages and explains; it never produces the authoritative number.
What about patient data? PHI, unblinded, and participant-level data are processed only on the local, air-gapped model. The Presidio guardrail blocks PHI from the cloud egress by policy. De-identified text may use Claude.
How is this different from the Copilot wiki? The Copilot wiki is the M365-native, ops-memory layer for email. This is the full agentic operations platform on the hybrid stack — broader scope, deeper integration (eTMF, Smartsheet, Pinnacle 21, EDC), and validated-tool + human-gated governance throughout.
Is it inspection-defensible? That is the design intent: validated engines of record, model-freeze, a unified Part 11 audit trail, least-privilege connectors, and a human approving every regulated change.
Walkthrough transcript
The complete narration of the walkthrough video, as readable text.
1. Part 1
This walks through a hybrid AI trial-operations layer — an agentic system, built on the Claude-plus-local stack, that handles the project management, trial management, and monitoring work across a study. Seventy-five automations: recurrent QC checks, document and SOP ingestion, eTMF filing, Smartsheet timeline updates, and risk-based monitoring. And one principle holds throughout: the AI drafts, triages, and routes; validated tools and humans own every regulated number and record.
2. Part 2
Trial operations are fragmented. The knowledge and the work are spread across the EDC, the eTMF, Smartsheet, Pinnacle 21, email, and a dozen SOPs — and the team spends its time on manual QC triage, document filing, status decks, and chasing action items. It is exactly the kind of repetitive, cross-system busywork that an AI layer can absorb — if, and only if, it is governed properly.
3. Part 3
So we point the hybrid stack at operations. Seventy-five governed agents, each one routed by data sensitivity, tiered by risk, and gated by a human. The AI reads your systems, reasons over de-identified text on Claude or sensitive data on the local model, and proposes a change — but nothing regulated moves until a person approves it, with a full Part 11 audit trail.
4. Part 4
Here is how it is wired. An orchestrator fires agents on a schedule or on study events. Every agent calls one gateway, which routes by data classification, runs the Presidio guardrail that blocks patient data from the cloud, and logs everything. Behind it sit three things: the local model for sensitive data, the Claude API for de-identified reasoning, and a RAG knowledge base of your SOPs and study docs. Connectors expose your systems as tools. And every regulated change lands in a human-approval queue before it is written.
5. Part 5
The governance is the whole point. Three tiers: green for drafts and cited answers; amber for triage and proposed changes with a human verify; red for anything touching a reported number, a record of truth, or unblinded data — where a validated tool and a human decide, and the model is out of the path. Three hard rules: patient data never leaves the local model; every reported number comes from a validated tool; and a human approves every change to a regulated record or timeline.
6. Part 6
Take project management. When a data cut is declared, an agent recomputes the critical path in Smartsheet, sees what is now driving the finish date, drafts the you-are-now-blocked notifications, and posts the recomputed plan to the approval queue. Smartsheet's engine does the math; the AI explains and proposes; the project manager approves before any committed date is written. And the weekly status report drafts itself from the plan of record.
7. Part 7
On documents: agents auto-classify incoming files to the TMF Reference Model, flag missing or expiring documents, and propose filings, which the document controller approves. And every approved SOP and work instruction is ingested into the knowledge base — so anyone can ask, what does our SOP require for a derived-variable spec, and get the exact clause, cited.
8. Part 8
This is the marquee one — recurrent data-validity QC at every stage. Each night, after a new dataset build, Pinnacle 21 produces the authoritative conformance findings. The local agent then clusters them, diffs against the last clean run to surface only what is genuinely new, drafts a disposition grounded in the reviewer guides, and routes each one to the right programmer. It never changes a verdict. A four-hour manual triage becomes a clean, pre-explained queue at eight a.m.
9. Part 9
For monitoring, under ICH E6(R3) risk-based quality management: agents watch the key risk indicators and quality tolerance limits, detect breaches and central-monitoring signals like site outliers or enrollment anomalies, surveil protocol deviations, and assemble the DSMB packet. Unblinded signals run on the local model; the reported safety numbers come from validated tools with medical review.
10. Part 10
Every agent follows the same loop, and it is worth seeing once. A trigger fires; the agent gathers context from your systems and the cited knowledge base; it classifies the data and routes to local or cloud; it drafts, triages, or summarizes; it proposes the change to the human queue with its rationale and sources; and only on approval is anything written to the system of record — all of it logged. That loop is what makes seventy-five different automations safe and consistent.
11. Part 11
You build it in stages, and you start small. Phase zero is the stack — gateway, local model, Claude under a BAA, the guardrail and the approval queue. Phase one is the knowledge base — ingest the SOPs and ship the compliance Q&A agent first; it is pure green, cited, and instantly useful. Phase two adds read-only connectors and the nightly QC-triage and weekly status agents. Phase three turns on the event-driven automations and the monitoring signals. Each agent earns lighter review as it builds a track record.
12. Part 12
A day in the layer: at two a.m. the QC agent surfaces three genuinely new findings among two hundred forty and pre-triages the rest. At ten-thirty a data cut fires and the timeline cascade updates in minutes. At one p.m. a key risk indicator breaches and the signal is drafted for the monitor. At three, a programmer gets an SOP answer, cited, in seconds, and three documents are filed to the eTMF on approval. At four, the weekly status report drafts itself. Every regulated number came from a validated system; no patient data left the building; a human approved every committed change.
13. Part 13
So that is the operations layer. Seventy-five governed automations on the hybrid stack, absorbing the cross-system busywork while validated tools and humans keep ownership of everything that is regulated. Start with the knowledge base and the SOP agent, keep everything behind the approval queue, and expand as trust grows. The full catalog — every automation, its engine, its integration, and its human checkpoint — is in the operating wiki alongside this. Thank you.