← Back to landing

vcflow eCOA Slice 1 — Conventions

vcflow eCOA Slice 1 — Conventions Honored vs. Conventions Broken

First-pass draft 2026-05-22, companion to the v2 wireframe-rework mockup (finalized.html) and the design doc (../../scott-main-design-20260522-151952.md).

What this is. A triage of every design choice in the v2 mockup, classified against the two dominant commercial EDC platforms — Veeva Vault EDC and Medidata Rave EDC. The goal is to make every break deliberate, defensible, and categorized, so when a CRA / nurse / Sean flags something, the response is sharp instead of speculative.

What this is not. Not a vendor copy-spec. Not a complete UI walkthrough. Not a substitute for clinical review. It's the artifact that lets us spend scarce clinical-reviewer minutes on the right rows.


0. Strategic frame — read this first

vcflow is a low-end-entry disruptive innovation play per Clayton Christensen. Target customer is the sponsor Veeva and Medidata don't address — emerging biotech with 1–5 active trials, currently cobbling Jotform + Excel + REDCap because the incumbents are both too expensive and too complex. vcflow is deliberately less functional than the incumbents in some dimensions to keep cost / complexity lower at the low end, then moves upmarket over time.

That frame changes how a "missing" feature reads. Every break against incumbent convention is one of four types:

Reviewer-selection consequence. A CRA from large-pharma trials will flag every Disruption break as "missing" — that's the wrong signal for those decisions. The right reviewer for Disruption breaks is a CRA / CRC with emerging-biotech or investigator-initiated-trial experience, where the status quo is the cobbled stack we're displacing. Worth checking whether your CRA + nurse match that profile before the walkthrough.


1. The 8 named concepts

Vendor evidence below is from the Veeva + Medidata terminology audit run 2026-05-22 against public Veeva Vault Help, Medidata Rave Web Help, Medidata's CRC eLearning outlines, and the EORTC Rave user guidelines.

# Concept Veeva Vault EDC Medidata Rave EDC Audit verdict Our choice (v2 mockup) Type Why & risk
1 Visit Event (schema noun); colloquially "visit." Lives in subject Casebook. Folder (schema noun); "Event" in the "Add Event" action; "visit" colloquially. Lives in subject Casebook. Vendor-divergent surface terms; shared "Casebook" parent. "Visit" universally; ordinal + protocol label ("Visit 2 — Week 4", "Screening Visit"). Our back-link reads ← Casebook (already correct). Honored "Visit" is what the human says; "Event" / "Folder" are schema artifacts that leak into the UI. We honor the human term and the Casebook parent. Watch: CRCs trained on Rave may scan for "Folder" — a single line of helper copy would offset.
2 Window "Expected date ranges and offsets"; system auto-validates against the event schedule. No widely-cited UI label. "Visit window" / "Expected to Date" in reports; Overdue status; auto-queries on edit-check. Vendor-divergent labels; concept universal. "Window: May 20 – May 27" + live "5 days to window close" / "Overdue 6 days." Computed at runtime from context.anchors + per-visit dateRange guards. No scheduled-appointment date. Wedge We compute and show the actionable thing (range + countdown to close) rather than a fake "target date." vcflow has no scheduled-date concept (OQ4 in doc) — inventing one would be a lie. Risk: Rave-trained CRCs may look for "Expected to Date" first; the countdown is structurally better information but unfamiliar.
3 Form Form (= eCRF); sub-element is Item. Form / Page (Rave Classic legacy term); sub-element is Field. Strong convention on "Form" / "eCRF." "Form" (Vital Signs, Symptom Diary, AE) in a "Forms for this visit" zone. Per-row Start / Continue / View; recommended row highlighted but all rows actionable. Wedge Vocabulary honored. The wedge is "recommend, don't gate" (D1 in doc): every form is co-equal and actionable, only the banner pointer recommends. Rave-trained CRCs may scan for "Page"; one line of helper copy fixes that. Risk: order-gated EDC users may not realize they can skip ahead — the recommended highlight is the offset.
4 Query Query with Open / Answered / Closed states. CRC clicks the flagged Item from the Site Taskbar, hits Reply (manual) or Comment (system). System queries auto-close on edit-pass. Query with Open / Answered / Closed / Cancelled. Pink/red field flags rendered inline on the form; click → discussion thread → CRC posts response → state moves to Answered → CRA closes. Strong convention on noun + Open/Answered/Closed lifecycle. Both vendors do inline-on-field flagging + thread. "Query" noun honored. Surfaced in step-scoped Open Items zone on the dashboard (not inline on field). Monitor toggles in a Raise query affordance per Forms row that opens a composer prefilled with form + field + value. Disruption Veeva and Medidata's inline pink-flag + threaded discussion is high-fidelity for sponsor-driven monitoring at scale. For smaller sponsors with fewer queries per study, dashboard-scoped Open Items is more usable, not less. Prefilled raise-query composer beats re-typing context into a separate query form. Risk: highest on the doc — CRAs trained on inline flags will look for them first. Highest priority for the CRA walkthrough.
5 Deviation Protocol Deviation as an Issue type in a connected Clinical Operations vault; auto-detected by EDC rules and forwarded. Protocol Deviation typically raised by a monitor reviewing data, routed via CTMS, assigned to the site for action. CRC-facing "record a PD on this visit" UI not documented publicly — flag. Strong convention on the term. Workflow divergent — both route to a separate object; neither has a CRC point-of-action UI documented. "Protocol deviation" / "deviation reason" captured at the moment of out-of-window collection or missed-visit ack, via a pre-submit modal with structured picklist + free-text. Records, doesn't judge. Wedge Genuinely novel — neither incumbent has a CRC-facing "record the why at the moment of collection" UI. The why gets captured by the person with the most context (the clinician who knows what happened), not reconstructed downstream by a data manager. This is one of the journey-engine wedge's real payoffs. Risk: clinicians may resist "another form" — picklist + free-text in ~15s is the offset.
6 Signature / sign-off eSignature at Casebook / Event / Form level; refused until all items Submitted with no open queries. Investigator Signature at Subject / Folder / Form level. "Sign and Save" eSignature popup (username + password re-entry); cascades downward. Strong convention — hierarchical eSig, Part 11, credential re-entry, gated on clean data. "Investigator Signature" / "Route to signature" / "PI sign-off." Visit-level signature with a pre-submit confirmation modal summarizing what's being signed. Cross-participant PI summary is /signing, not this surface. Honored Matches Rave's "Sign and Save" pattern exactly. The summary box on the modal is the only addition — it raises the bar on informed-consent for the click without changing the workflow shape.
7 Lab attachment Local Labs Module — sites pick a lab location, Vault auto-loads units + reference ranges; results land in the casebook. Self-service unlimited central + local lab admin; external data loaders for feeds. CRC "attach this PDF here" gesture not documented publicly — flag. Vendor-divergent. Veeva's Local Labs Module is a strong term; Rave's coordinator gesture is unclear. "Lab Results" zone, display-only in Slice 1: result rows, source label, collected date, View PDF link. No upload affordance (intake is Slice 2+). Disruption Veeva's Local Labs Module auto-mapping is over-engineering for a small sponsor whose lab flow today is PDFs in/out via email. Slice 1 ships display-only because that's what our target customers need; upload comes later when Lab Connect integration is the right depth. Risk: low — we already know the upload is missing; need a copy hint like "Lab uploads in next release."
8 ePRO / clinician review of ePRO Veeva ePRO / eCOA via MyVeeva for Patients; site staff "review eCOA data and adherence." Discrete "I have reviewed" UI not documented publicly — flag. Medidata Patient Cloud / myMedidata. "Single app for ePRO, ClinROs, site mode." Discrete clinician acknowledgment UI not documented publicly — flag. Patient-side terms (ePRO / eCOA / ClinRO) are strong convention. Clinician acknowledgment UI is unclear for both. "ePRO since last visit" zone — read-only summary on the clinician's dashboard, "Review →" link. No clinician-affirmation form in Slice 1 (Slice 2+, gated on work-vcflow-epro). Wedge Greenfield — neither vendor documents a clinician "I reviewed this diary" gesture. Surfacing ePRO on the clinician's per-participant view (vs. a separate ePRO portal) is part of the wedge: collapsing the two-system vcpi+Jotform split. The Slice 2+ affirmation form competes with nothing documented. Risk: "Review →" link doing nothing in Slice 1 is the awkward bit; label it or stub a quick read view.

2. Cross-cutting design choices

# Choice Convention Our choice Type Why & risk
C1 Now / Soon / Past tiered rail Casebook grid: every visit flat as row or tab, chronologically ordered, no urgency tier. Three-tier journey-engine-driven view. One Now row (loud), 1–3 Soon rows (dimmed), Past collapsed with sub-state badges. Wedge The differentiation. Coordinators today sort the table to find the next action; we want the next action to find them. Sort vs. prioritize is a Christensen low-end disruption shape itself — flat grids over-serve large studies where coordinators want the full grid; small studies want prioritization. Top review priority.
C2 "Past" tier label (not "Done") "Completed" / "Past Due" (separate) / "Closed." "Past" — verb-tense neutral. Holds Complete + Data outstanding + Missed. Wedge (mild) "Done" implied all sub-states are complete; "Past" accommodates the three sub-states without implying status.
C3 Pointer banner (no primary button) Action-bar EDCs put a "Continue" CTA on the banner, duplicating the form-row action. Now banner is a pointer: names the recommendation, highlights + scrolls to the owning zone on click. Form row is the sole executor. Wedge "No action with two executors" (D1). Eliminates the "do I click the banner or the row" question. Risk: action-bar-trained CRCs may scan for a banner button first; pointer-hint copy is the offset.
C4 Role-aware single surface Separate Monitor app / route from coordinator app. Same surface for Coordinator and Monitor; role toggle swaps action buttons for Raise-query affordances. Disruption Two-app maintenance is incumbent-scale infrastructure; our target customer can't afford the complexity and benefits from CRA seeing the same surface the CRC sees. Per-zone permission map is OQ8 in doc — spec input.
C5 Soft-window: missed = collectable Missed = locked; reopening is a data-manager admin task. Soft-window missed visit stays in Past as "Data outstanding"; forms actionable; collection records a deviation reason. Wedge Journey-engine wedge applied to compliance — the protocol's window policy (soft/hard) determines collectability per visit, not a one-size lock. Many studies want late collection for soft windows.
C6 Hard-window: missed = read-only Reopen-visit admin override flow. Hard-window missed visit is auto-flagged "Missed" by the system; clinician records deviation reason; visit is otherwise read-only. Honored Matches conventional hard-window behavior. The point-of-action deviation-reason capture is the only novel piece (carried from row 5).
C7 Pre-submit confirmation pattern Inline-button click writes immediately; or a generic "Are you sure?" dialog. Single consistent modal on the three transitions that write immutable events, with summary box + "permanent audit/deviation record" copy. Honored Universal Part 11 best practice. The summary box + explicit "permanent record" copy is the bar-raiser, not the workflow shape. Safe break upward.
C8 Amber-only attention (no red) Red for errors / Overdue / urgent items. Cool blue palette; amber for genuine attention (Overdue, Data outstanding, Missed); no red anywhere in Slice 1. Honored (subtle) Healthcare convention — warm tints read as bodily / infectious; cool blues + amber for attention carry clinical trust. Slice 1 has no destructive/error state. Risk: Rave-trained CRAs may notice amber where they expect red; reads as "calmer" not "wrong."

3. Where to concentrate the CRA + nurse walkthrough

Most rows above are conventional or low-risk. Three places carry the real review value:

  1. Query workflow (A/#4). The biggest break. Veeva and Medidata both do inline pink-flag + thread; we do dashboard-scoped Open Items + prefilled raise-query composer. Classify as Disruption under our strategy — defend on small-sponsor fit, not on "we know better." Test: can the CRA find their queries from the dashboard and raise one without hunting? If yes, our simpler workflow is the offset; if no, we need to either move toward inline flags or strengthen the dashboard surface.

  2. Now / Soon / Past tiered rail (B/C1). Wedge. The single most load-bearing claim of vcflow vs. casebook-grid EDCs. Test: when the CRA opens fixture 2, do they know what to do next without prompting? When they open fixture 5, do they understand why some visits are in Past with three different sub-states?

  3. Deviation at point of collection (A/#5). Wedge in genuinely greenfield territory. Test: when the CRA clicks "Collect (out of window)" in fixture 4, does the modal feel like a sensible "capture the why" moment or like an annoying form gate?

The other rows mostly need confirmation, not exploration. A 30-min walkthrough scoped to these three areas should produce more signal than a free-form open-ended demo.


4. Open audit gaps to confirm with the CRA / nurse

The audit explicitly flagged "unclear" on three things in public docs. Confirm with the CRA + nurse before the spec authoring locks them in:


5. When to schedule the walkthrough — the decision

The artifact is ready now (finalized.html in this folder, 5 fixtures + role toggle, walkable). Two options:

The Christensen frame pushes toward the mockup option — small sponsors' clinicians care more about whether the workflow shape matches their mental model than whether the buttons have the right feel. Mockup walkthrough first, working-app walkthrough second (after Slice 1 ships).

Scott's call given his constraints on CRA + nurse time.