Finish: Phase 33 — Alert Quality Analytics

This commit is contained in:
voltsrage
2026-06-24 03:39:24 +08:00
parent 185dc93fa1
commit 68c397350b
26 changed files with 934 additions and 169 deletions
+10
View File
@@ -0,0 +1,10 @@
```markdown
### Scenario E — Ward isolation during infrastructure failure
A typhoon damages the hospital uplink. ICU bedside monitoring continues on the ward server; critical values still alert the charge nurse; acknowledgments are recorded locally. When connectivity returns, the ward backlog syncs to central with a full audit trail — no duplicate pages, no lost observations.
**What we bring:** Ward gateway architecture (`VigilCare.WardGateway`), idempotent clinical sync batch engine, ops fleet visibility for degraded gateways, and six documented chaos experiments proving the design.
**What the hospital brings:** UPS-backed ward server, network partition procedures, clinical policy for local-only mode (who owns escalation when composite scores are unavailable).
**Demo assets:** `ward-outage-reconnect-01` simulator scenario, `scripts/demo-network-partition.sh`, Grafana fleet panels, `docs/resilience/climate/` experiment artifacts.
+20
View File
@@ -0,0 +1,20 @@
```markdown
# VigilCare Clinical — Interview Questions
## Climate Resilience & Ward Gateway (Phases 2024)
### 29. Why split Tier 1 safety onto a ward gateway instead of relying on hospital datacenter HA?
Datacenter HA protects against server failure, not ward-to-datacenter link failure. Typhoons, construction, and router failures isolate the ward LAN from upstream. Colocating critical threshold evaluation with the ward keeps the observe-alert-acknowledge loop on the ward LAN. Central adds NEWS2, SOFA scoring, Elasticsearch, and Parquet when the link returns.
### 30. How does clinical sync batch processing differ from POS offline sync?
Same mechanical pattern: `batchReference` idempotency, async processor, partial conflicts, server-authoritative resolution. Clinical adds ordering dependencies (ack before alert → `ALERT_NOT_YET_SYNCED` conflict), preserved `recorded_at` timestamps for audit timeline, and paging suppression policy to avoid duplicate critical pages after reconnect. POS conflicts are inventory; clinical conflicts are temporal ordering and duplicate device retries.
### 31. What happens to NEWS2 and sepsis detection during a 4-hour ward outage?
Tier 1 thresholds and warnings run locally. NEWS2, SOFA, qSOFA, trend, and sepsis bundle require the Kafka multi-consumer pipeline on central — intentionally deferred. When sync uploads observations, `observation.recorded` events replay through Kafka; scoring engines catch up with correct timestamps. SOFA delta ≥ 2 sepsis confirmation and the hour-1 bundle activate after replay, not during the outage. Trade-off: composite scores lag during outage but critical single-value breaches (potassium, glucose) still fire locally.
### 32. How do you prove the climate resilience design works in an interview without production deployment?
Six documented chaos experiments with Grafana before/after snapshots in `docs/resilience/climate/`; `ward-outage-reconnect-01` scenario replay against gateway; `ClimateResilienceTests` for idempotency and ordering conflicts; live demo via `scripts/demo-network-partition.sh` showing DEGRADED → buffer → ONLINE → buffer 0. Evidence is measured failure modes, not slide claims.