Dashboard

Live status for the Whoop → Hospital pipeline.
Session —
Patients enrolled
—
from the Whoop mock
Syncs this session
—
pipeline runs
Records on file
—
in hospital store
Alerts fired
—
from hospital alert rules
Pipeline Idle
A Whoop Fetch snapshot B Gateway Consent + translate C Hospital Validate + store
Latest trace No sync yet
01 Snapshot —
Run a sync to populate.
02 Bundle —
—
03 Receipt —
—
Recent activity Open telemetry →
No activity yet.
Compatibility matrix

Walks every Whoop field through consent, the translator, and the hospital validator. A row is blocked if something stops it from reaching the hospital — this is where you'll see mismatches.

A

Whoop API

Mock wearable source. Serves the latest Whoop-style snapshot plus five days of history per patient. In production this would be the real Whoop OAuth integration.

localhost:4001
Endpoints
VerbPathPurpose
GET/patientsList enrolled patients and scenarios
GET/patients/:id/snapshotLatest reading for one patient
GET/patients/:id/historyFive-day history
GET/patients/:id/recoveryRecovery slice only
GET/patients/:id/sleepSleep slice only
GET/patients/:id/cycleCycle slice only
Patients —
ID Name Scenario Consent Last sync Action
Loading…
Snapshot inspector
Pick a patient to view raw snapshot.
B

Gateway API

Consent filter + translator. Pulls a Whoop snapshot, drops any field the patient hasn't consented to, calls Claude Opus 4.7 to emit a FHIR transaction Bundle (with a rule-based fallback), and posts it to the hospital. Telemetry events stream over SSE.

localhost:4002
Endpoints
VerbPathPurpose
POST/sync/:patientIdRun the full pipeline for one patient
GET/compatibility/:patientIdCompatibility matrix with blockers
GET/mappingLOINC + unmapped field reference
GET/consent/:patientIdCurrent consent list
GET/eventsRecent telemetry (paginated snapshot)
GET/events/streamLive telemetry over SSE
GET/health/allHealth probe across all services
LOINC mapping Whoop field → FHIR Observation
Whoop field Source path LOINC code Display Unit
Loading…
Unmapped fields Present in Whoop · not translated
Source path Reason
Loading…
C

Hospital API

FHIR receiver. Validates incoming transaction Bundles, stores Observations in memory, and runs threshold rules (high resting HR, low HRV, low SpO₂, poor sleep efficiency) to surface clinical alerts.

localhost:4003
Endpoints
VerbPathPurpose
POST/fhir/BundleReceive a FHIR transaction Bundle
GET/recordsAll stored records with alerts
GET/records/:idOne record
GET/patients/:ref/recordsRecords for one patient
Alert rules In hospital/alerts.js
LOINCObservationThresholdSeverity
40443-4Resting heart rate≥ 80 /minwarning
80404-7HRV (SDNN)≤ 25 mswarning
59408-5Oxygen saturation≤ 92 %warning
93829-0Sleep efficiency≤ 75 %warning
Stored records —
Record Patient Received Observations Alerts
No records yet.
Transactions

Every FHIR Bundle the hospital has accepted, grouped per patient and per hospital. Expand a transaction to see the Observations that were sent.

Loading…
Telemetry ● ok ● warn ● error ● info
No events yet.