Proposed web application · supports Phase I–III of the thesis

PRĀṆA–PD Research Platform

A web application that turns the thesis's 24-week schedule, minimum data dictionary and safety requirements into one coded, auditable data pipeline: a participant app, a clinician dashboard, and a research console, all fed by the research device kit. It measures and displays. It does not diagnose, advise treatment, or change anything about a person's care.

What exists today, and what does not. The clinician dashboard, the signed device-ingest API, scoring with intervals, alert rules, CSV export, and a signed-device simulator are built and tested on synthetic data. The participant app, clinician accounts and roles, consent workflow, and the hardware are designs only. The prototype must not receive real participant data until the gaps listed at the bottom are closed and an ethics committee has approved the study.

Design rules taken from the thesis

Three surfaces

1 · Participant app (PWA)

Designed — only the Sākṣī mirror exists (open it).

  • Large-type, high-contrast, low-tap flows; usable with tremor; caregiver-assist mode.
  • Weekly Sākṣī mirror: five self-ratings, kept separate from measurements.
  • Short diaries: bowel and nocturia, GI burden, EAT-10 swallowing screen, choking events, ON/OFF state, falls, patient-defined goal.
  • Guided tasks with plain-language steps: 2-minute seated rest, sustained "aaah", weekly walk-and-turn, standing blood-pressure routine only if cleared by the clinician.
  • Always-visible "Contact the study team" and "If you choke, fall, faint or feel very unwell, get urgent medical help" panel. The app is not an emergency service and says so.
  • Offline-first: entries queue on the phone and sync later; the phone is also the Bluetooth gateway for the kit.
  • Consent shown in simple language; withdrawal in two taps; data-handling choice follows the signed consent.

2 · Clinician dashboard

Built as a read-only prototype: open the demo.

  • Five domain scores with intervals, completeness, and the medication-state filter.
  • 24-week trend and the four thesis visit windows (baseline, weeks 8, 16, 24).
  • Measured versus felt: Sākṣī self-rating against measured domain, flagged at a 25-point gap as a discussion prompt only.
  • Alert queue with acknowledge-and-note; alerts are rules, not predictions.
  • Data-quality strip: device last seen, stale days, share of low-quality readings.
  • Designed, not built: accounts with roles, visit-note entry, licensed-rater score entry, goal tracking, printable visit summary.

3 · Research console

Partly built (provisioning, withdrawal, seed, CSV export).

  • Provision a coded participant and a set of devices with per-device keys (shown once).
  • Withdraw a participant: ingest stops and devices are revoked.
  • CSV export with units, medication state, quality flag and score-algorithm version in every row.
  • Designed, not built: data-dictionary editor with versioning, rater-agreement forms, missing-data reports per domain, adverse-event register, locked-dataset snapshots, stage-gate reports.

Architecture

 Wrist/gait sensor ─┐                                   ┌────────── Clinician dashboard (web)
 Home station ──────┤  BLE            HTTPS + HMAC      │            five domains + CI, alerts,
 Smart scale ───────┼──► Phone ──────────────────────►  Edge API ──┤            ON/OFF filter, measured-vs-felt
 Pillbox ───────────┤   (PWA          signed batches    (Hono /     │
 Diary + Sākṣī ─────┘   gateway,      seq numbers,      Workers)    ├────────── Research console (provision, export)
                        offline        idempotent                  │
                        queue)                           D1 (coded participants, readings, alerts, audit)
                                                         R2 (optional: derived feature files, exports)

Cloudflare Workers with D1 (and optionally R2) is enough for this load: readings are small, batches are signed JSON, and scoring is arithmetic done at read time. Heavy signal processing (gait, tremor, voice features) happens on the device or the phone, so the server only receives derived indicators with a quality flag — which is also what keeps raw voice and raw motion traces off the server.

Mapping to the thesis schedule (Appendix B)

Thesis elementPlatform supportStatus
Consent, eligibility, demographicsConsent record with version and time; minimal demographics only when justifiedSchema field only
Medication list, timing, ON/OFF statePillbox timing, per-reading ON/OFF, dose-delay context; LED-equivalent supplied by clinician, not computed hereBuilt (readings); entry UI designed
Five-domain clinical measuresDevice and diary indicators between visits; clinic measures entered at visits for comparisonDevice side built; clinic entry designed
MDS-UPDRS / PDQ-39Result entry by licensed rater only; no item displayDesigned; licence required
Ayurvedic construct assessmentSeparate assessor form after standardisation; excluded from scoringDesigned
Adverse events and fallsFall candidate, choking report, alert rules R1–R6, acknowledge-with-note; formal AE registerAlerts built; AE register designed
Rehabilitation and adjunct exposureType, frequency, adherence log (participant and therapist)Designed
Patient-defined goalGoal capture and review prompts at weeks 8 and 16Designed

What each hypothesis needs from the platform

HypothesisPlatform output
H1 FeasibilityCompletion, missingness and wear-time per domain and per week; device uptime; retention. This is the platform's first and most important job.
H2 Construct validityClean long-format export with indicator, unit, instrument and algorithm version for factor analysis outside the platform
H3 Clinical associationDomain scores beside licensed-rater clinical scores in one export
H4 Coordination validityWeekly repeated measures with timestamps and recorded disturbances (falls, illness, medication changes) — the regressors the identification study showed are needed
H5 PredictionLocked dataset snapshots with a frozen algorithm version for out-of-sample testing
H6 Adjunct feasibilityAdherence, adverse events, protocol deviations, retention
H7 Exploratory benefitNot addressed by this platform; needs a later adequately powered trial

The platform does not estimate the coordination reserve ρ or the coupling matrix. That belongs in offline analysis after Phase I, using the identification caveats on the code page.

Alert rules (research defaults, clinician-configurable)

RuleTriggerSeverity
R1Standing systolic drop ≥ 20 mmHgreview
R2Nocturnal mean SpO2 below 90 %review
R3Possible fall detectedurgent
R4Participant reports choking or coughing at a mealurgent
R5Weight ≥ 5 % below the median of ~4 weeks earlierreview
R6Resting respiratory rate above 25 per minutereview

These thresholds are placeholders for the study clinicians to set in the protocol. "Urgent" means a clinician sees it at the next check of the queue; it does not mean the system is monitored around the clock. A real study must state who reviews alerts, how often, and what happens out of hours — and tell participants plainly that the kit is not an emergency alarm.

API (implemented)

RouteAccessPurpose
POST /api/platform/device/ingestDevice HMACSigned batch of readings; validated, de-duplicated by (device, seq), alerts evaluated
GET /api/platform/catalogPublicMetrics, units, ranges, domains, rules
GET /api/platform/participants/:id/profilePublic for synthetic, admin for realDomains with intervals, series, visits, discordance
GET /api/platform/participants/:id/alertssameAlert list
GET /api/platform/participants/:id/export.csvsameLong-format export
POST /api/platform/alerts/:id/ackAdminAcknowledge with name and note (audited)
POST /api/platform/admin/provision, /admin/participants/:id/withdraw, /admin/seedAdminProvision coded participant and devices; withdraw; seed synthetic demo
GET /api/platform/demo/participantsPublicSynthetic participant list

Ingest checks, all exercised by tests

Gaps to close before any real participant