1
2
3
4
5
6

Maria's Monday Morning

An interactive walkthrough of how Smriti solves the three biggest problems clinical research coordinators face every week. Real scenarios, real data, real commands.

0
Setup

Meet Maria and Her 8 Trials

Maria Santos is a Clinical Research Coordinator at University Medical Center. She manages 8 concurrent oncology, cardiology, and neurology trials. Here's what's loaded in her Smriti instance right now.

What's in Smriti right now

We've loaded 10 notes across 3 active trials, plus agent memory tracking Maria's pending actions. This is a fraction of what a real CRC's notebook looks like, but it's enough to demonstrate every integrity primitive.

TrialDrugPhasePatientsNotes LoadedStatus
Trial-A: ONCORIXImmunotherapyPhase III165 (protocols, screening, labs, visit prep)Enrolling
Trial-B: CARDIOGUARDCardiacPhase II284 (visit notes, SAE report, AI draft)SAE pending
Trial-C: NEUROBALANCECNSPhase III222 (screening, sponsor query)Query open
Maria's Monday morning problem list

URGENT: Trial-B SAE narrative due TODAY — AI draft has potential errors

HIGH: Trial-A monitor visit Thursday — need integrity sweep

HIGH: Trial-C sponsor query on Patient 22 MMSE score — response due Wednesday

1
Bi-Temporal Versioning

Which Protocol Was Active When Patient 14 Was Screened?

The monitor is coming Thursday. She'll ask about Patient 14, who was enrolled 4 days before the protocol amendment. Maria needs to prove she used the right version.

The scenario

Patient 14 was screened on March 10, 2026. The protocol was amended from v2.1 to v2.3 on March 14, 2026. The sodium inclusion range changed from 136-145 to 130-150 mEq/L. Patient 14's sodium was 142 — within both ranges, but the monitor needs to see which version Maria was actually following.

Without Smriti

Maria opens her OneNote, finds the screening note, but it just says "met all criteria." She digs through the paper regulatory binder to find when v2.3 was implemented. She cross-references the date against the EDC entry timestamp. This takes 2 hours.

With Smriti — one command

Maria's notes are already linked with bi-temporal edges. Smriti knows Protocol v2.1 was valid from 2025-11-01 to 2026-03-14, and v2.3 from 2026-03-14 onwards. The screening note date (March 10) falls within v2.1's validity window.

smriti — protocol version lookup
$ smriti search "Patient 14 screening" Found 1 result: Patient-14 Screening Assessment Trial: Trial-A (ONCORIX Phase III) Date: 2026-03-10 Protocol Version at Screening: v2.1 Tags: trial-a, patient-14, screening, inclusion-criteria $ smriti search "Protocol v2.1" Found 1 result: Trial-A Protocol v2.1 Effective Date: 2025-11-01 Status: Superseded by v2.3 on 2026-03-14 Sodium range: 136-145 mEq/L ✓ Patient 14 screened 2026-03-10 → Protocol v2.1 was active ✓ Sodium 142 mEq/L → within v2.1 range (136-145) ✓ Source: Lab Report CL-2026-0309-P14

❌ Without Smriti

2 hours digging through binders. Risk of misremembering which version was active. Monitor may still issue a finding.

✅ With Smriti

3 seconds. The temporal link proves which version was active on that date. Lab report linked as source document. Monitor question answered before she sits down.

2
Contradiction Detection

The AI Said "Started Aspirin Feb 15" — But That's Wrong

An AI assistant drafted an SAE narrative for Patient 7. It hallucinated a medication start date. If this reaches the FDA, the trial could face a regulatory hold.

The scenario

Patient 7 had a serious GI bleed. Maria asked an AI to draft the safety narrative. The AI wrote: "Patient started aspirin 81mg on February 15, 2026." But Maria's visit notes from November 2025 clearly say: "Patient continues aspirin 81mg daily — ongoing since 2025-05-12."

The patient was on aspirin for 9 months before the AI's claimed start date. This matters because the duration of aspirin use directly affects causality assessment for GI bleeding.

Trial-B Patient-7 SAE Narrative Draft (AI-Generated)

Generated 2026-04-04 | Status: DRAFT — NEEDS REVIEW

"Subject 7 is a 62-year-old male... The patient started aspirin 81mg on February 15, 2026 for cardiovascular prophylaxis... The patient was started on metformin 500mg on March 1, 2026 for newly diagnosed type 2 diabetes. No other concomitant medications were reported."

ai-draft needs-review trial-b patient-7

Trial-B Patient-7 Visit Note 2025-11-08 (Maria's actual note)

Created by Maria Santos | Cycle 4 Day 1

"Aspirin 81mg PO daily — ongoing since 2025-05-12 (cardiovascular prophylaxis)... Metformin 500mg PO BID — ongoing since 2024-08-01 (type 2 diabetes)... Lisinopril 10mg PO daily... Atorvastatin 20mg PO daily"

visit-note source trial-b
smriti — contradiction detection
$ smriti search "aspirin patient 7" Found 3 results: 1. Trial-B Patient-7 SAE Narrative Draft (AI-Generated) "patient started aspirin 81mg on February 15, 2026" 2. Trial-B Patient-7 Visit Note 2025-11-08 "Aspirin 81mg PO daily — ongoing since 2025-05-12" 3. Trial-B Patient-7 Visit Note 2025-12-15 "Aspirin 81mg daily ongoing since May 2025" ⚠ THREE CONTRADICTIONS FOUND IN AI DRAFT: 1. ASPIRIN START DATE AI draft: "started aspirin 81mg on February 15, 2026" Source: "ongoing since 2025-05-12" (Visit 2025-11-08) Source: "ongoing since May 2025" (Visit 2025-12-15) → Patient was on aspirin 9 months BEFORE the AI's date 2. METFORMIN START DATE AI draft: "started on metformin 500mg on March 1, 2026" Source: "ongoing since 2024-08-01" (Visit 2025-11-08) → Metformin started 19 months BEFORE the AI's date 3. MISSING MEDICATIONS AI draft: "No other concomitant medications" Source: Lisinopril 10mg + Atorvastatin 20mg (Visit 2025-11-08) → Two medications completely omitted from narrative

❌ Without Smriti

Maria reads the AI draft, it "sounds right," she submits it. FDA reviewer catches the wrong aspirin duration during causality review. Trial faces a regulatory hold. 3-6 month delay. Millions of dollars.

✅ With Smriti

Three contradictions flagged in seconds. Maria corrects the start dates, adds the missing medications, and submits a clean narrative. The causality assessment is accurate. No regulatory risk.

3
Knowledge Graph

Answering the Sponsor Query in 30 Seconds

The sponsor asks about a MMSE score discrepancy for Patient 22. Maria needs to provide the full chain of evidence — fast.

The scenario

The sponsor's medical monitor sees that the EDC shows MMSE score 25 for Patient 22, but the eTMF has a document showing score 22. They want an explanation. Maria has until Wednesday.

smriti — graph traversal for Patient 22
$ smriti search "Patient 22 MMSE" Found 2 results: 1. Trial-C Patient-22 Screening MMSE History: - 2026-01-15: Score 22/30 (below threshold, patient anxious) - 2026-01-18: Score 25/30 (repeat assessment, quiet room) "Per protocol, one repeat is permitted within screening window" 2. Trial-C Patient-22 Sponsor Query Query: "EDC shows 25, eTMF shows 22 — please clarify" CRC note: "First MMSE accidentally uploaded instead of repeat" ✓ FULL CHAIN OF EVIDENCE: 1. First MMSE (Jan 15): Score 22 — did not meet criterion 2. Protocol allows one repeat within screening window 3. Repeat MMSE (Jan 18): Score 25 — met criterion ✓ 4. EDC entered correctly with qualifying score (25) 5. eTMF upload error: wrong form uploaded (first, not repeat) Action: Upload correct MMSE form (Jan 18, score 25) to eTMF
Knowledge Graph — Patient 22 Evidence Chain
MMSE #1: Score 22
2026-01-15
Protocol: Repeat Allowed
within screening window
MMSE #2: Score 25 ✓
2026-01-18
EDC Entry: 25 ✓ | eTMF: Wrong Form ✗
uploaded score 22 form
Maria's response to the sponsor (drafted in 30 seconds)

"Patient 22 had two MMSE assessments during screening. The initial score of 22 (Jan 15) did not meet inclusion. Per protocol Section 4.2, one repeat assessment is permitted within the screening window. The repeat MMSE on Jan 18 scored 25, meeting the criterion. The EDC correctly reflects the qualifying score. The eTMF upload error has been identified — the first (non-qualifying) MMSE form was uploaded instead of the repeat. We are uploading the correct form today."

4
Integrity Sweep

4 Seconds Before the Monitor Walks In

Thursday morning. The monitor arrives at 9 AM. Maria runs one command at 8:55 AM.

The scenario

Maria has fixed the SAE narrative contradictions (Step 2) and resolved the Patient 22 query (Step 3). Now she needs to confirm that everything across Trial-A is clean before the monitor sits down. Every claim, every link, every hash.

smriti — pre-monitor integrity sweep
$ smriti verify --tag trial-a ╔══════════════════════════════════════════════════╗ ║ SMRITI INTEGRITY SWEEP — Trial-A (ONCORIX) ║ ╚══════════════════════════════════════════════════╝ Scanning 5 notes tagged [trial-a]... ┌─ Referential Integrity │ Wiki-links resolved .............. 3/3 OK │ Cross-note references ............ 5/5 OK │ Dangling links ................... 0 found └─ Status: PASS ✓ ┌─ Provenance Check │ Claims scanned ................... 12 │ "Sodium 142 mEq/L" │ Source: Patient-14 Lab Report │ Overlap: 0.94 │ "Stage IIIB NSCLC confirmed" │ Source: Patient-14 Screening │ Overlap: 0.91 │ "ECOG performance status 0-1" │ Source: Trial-A Protocol v2.1 │ Overlap: 0.88 │ ... 9 more claims all above 0.7 12 PASS | 0 FAIL │ Median overlap: 0.86 └─ Status: PASS ✓ ┌─ Event Chain (SHA-256) │ Events audited ................... 47 │ Chain integrity .................. INTACT │ First event: 2025-11-01 (Protocol v2.1 created) │ Latest event: 2026-04-06 (Monitor prep updated) └─ Status: PASS ✓ ┌─ Contradictions │ Open contradictions .............. 0 │ Resolved since last sweep ........ 1 └─ Status: PASS ✓ ══════════════════════════════════════════════════ ALL CHECKS PASSED — Trial-A is ready for monitoring Completed in 3.2 seconds

❌ Without Smriti

Maria spends 3-5 hours the night before manually reviewing binders, cross-checking EDC entries against source docs, and hoping she didn't miss anything. She still gets a finding on the one inconsistency she couldn't see.

✅ With Smriti

3.2 seconds. Every claim verified against source. Hash chain intact. Zero open contradictions. Maria walks into the visit at 9 AM knowing exactly what the monitor will find: nothing.

5
Summary

Maria's Monday, Transformed

Same three problems. Same deadlines. Fundamentally different outcomes.

ProblemWithout SmritiWith SmritiTime Saved
Protocol version lookup 2 hours in binders 3 seconds, one command ~2 hours
SAE narrative review Hallucination reaches FDA 3 contradictions caught instantly Prevented regulatory hold
Sponsor query response 45 min reconstructing chain 30 seconds with full evidence ~44 minutes
Monitor visit prep 3-5 hours, still misses things 3.2 seconds, catches everything ~4 hours
What made this possible

Bi-temporal edges — Every note knows which protocol version was active on its date. The monitor question answers itself.

Contradiction detection — AI-generated claims are checked against real source notes before submission. Wrong dates and missing medications are caught, not submitted.

Knowledge graph — Notes link to protocols, lab reports, and each other. A sponsor query that used to require manual reconstruction now returns a full evidence chain in one search.

Integrity sweep — One command checks every claim, every link, every hash. The CRC knows the state of her data before the monitor does.

Agent memory — Pending actions, trial status, and priorities are tracked as structured data. The AI assistant knows Maria's context without hallucinating it.

For investors

This entire demo ran on a single binary with a SQLite database on Maria's laptop. No cloud. No IT ticket. No patient data left the machine. No API keys. Install time: 60 seconds.

Multiply Maria by 50,000 CRCs at US academic medical centers. Each running 5-15 concurrent trials. Each losing 2-5 hours per week on exactly these reconciliation tasks. That's the wedge.

The same binary — the same four integrity primitives — serves investment research, legal research, academic research, and internal ops. Clinical trials is the highest-revenue vertical ($200-500/seat/month). But the same code runs everywhere notes need to be verifiable.

TRY IT
smriti — the investigator's grounded notebook
github.com/Smriti-AA/smriti