chore: necessary updates given the changes in the alert controller

This commit is contained in:
voltsrage
2026-06-25 00:40:47 +08:00
parent 666d683d67
commit 7bb9124230
32 changed files with 353 additions and 40 deletions
+10 -10
View File
@@ -24,16 +24,16 @@ Each priority is scored on three dimensions using a 1-10 scale.
## Summary Matrix
| Phase | Feature | Commercial | Clinical | Composite | Dependencies |
|-------|------------------------------------|------------|----------|-----------|--------------------|
| 33 | Alert Quality Analytics | 10 | 9 | 9.5 | None |
| 34 | Explainable Alerts | 8 | 10 | 9.0 | None |
| 35 | Alert Lifecycle Analytics | 9 | 7 | 8.0 | Phase 33 |
| 36 | Role-Based Alert Routing | 8 | 9 | 8.5 | Phase 33, 35 |
| 37 | Alert Bundling and Correlation | 7 | 8 | 7.5 | Phase 34 |
| 38 | Adaptive Threshold Recommendations | 9 | 6 | 7.5 | Phase 33, 35 (months of data) |
| 39 | Scoring Framework Abstraction | 5 | 4 | 4.5 | None |
| 40 | MEWS | 5 | 5 | 5.0 | Phase 39 |
| Phase | Feature | Commercial | Clinical | Composite | Dependencies | Status |
|-------|------------------------------------|------------|----------|-----------|--------------------|-----------|
| 33 | Alert Quality Analytics | 10 | 9 | 9.5 | None | — |
| 34 | Explainable Alerts | 8 | 10 | 9.0 | None | Complete |
| 35 | Alert Lifecycle Analytics | 9 | 7 | 8.0 | Phase 33 | — |
| 36 | Role-Based Alert Routing | 8 | 9 | 8.5 | Phase 33, 35 | — |
| 37 | Alert Bundling and Correlation | 7 | 8 | 7.5 | Phase 34 | — |
| 38 | Adaptive Threshold Recommendations | 9 | 6 | 7.5 | Phase 33, 35 (months of data) | — |
| 39 | Scoring Framework Abstraction | 5 | 4 | 4.5 | None | — |
| 40 | MEWS | 5 | 5 | 5.0 | Phase 39 | — |
---
+1
View File
@@ -90,6 +90,7 @@ offsets are not committed and events are re-read on the next start.
| `alert_type` | `alertType` | e.g. `WARNING_HEART_RATE`, `CRITICAL_HEART_RATE` |
| `severity` | `severity` | e.g. `Warning`, `Critical` |
| `details` | `details` | Required on all new alert producers; parser defaults to `""` if absent |
| `explanation_json` | `explanation` | Optional JSON object (Phase 34); null for threshold-only alerts |
| `triggered_at` | `triggeredAt` | ISO-8601 |
Phase 11 aligned warning and sepsis outbox producers with critical ingest alerts by
+2 -2
View File
@@ -980,7 +980,7 @@ The Vue ward dashboard (`vigilcare-dashboard/`) implements this lifecycle throug
| Patient Detail | `GET /encounters/{id}`, `GET .../news2/current`, `GET .../sofa/current`, `GET .../medications`, `GET .../orders`, `GET .../sepsis-bundle/current`, `GET .../observations`, `GET .../news2/history` |
| Alert Center | `GET /alerts?status=OPEN` |
| Alert actions | `POST /alerts/{id}/acknowledge`, `POST /alerts/{id}/resolve` |
| Alert reasoning | `alert.details` from alert list + client-side medication window from `GET .../medications` |
| Alert reasoning | `alert.explanation` from alert list/GET (narrative, score contributors, trend, medication context); legacy alerts fall back to `alert.details` |
---
@@ -996,7 +996,7 @@ The Vue ward dashboard (`vigilcare-dashboard/`) implements this lifecycle throug
| qSOFA screen | No | PostgreSQL → Kafka → sepsis engine (reads Redis) → PostgreSQL | `GET .../alerts`, `GET .../qsofa/current` |
| GCS score / alert | No | PostgreSQL → Kafka → GCS scorer → PostgreSQL | `GET .../gcs/current`, `GET .../alerts` |
| Trend alert | No | PostgreSQL → Kafka → trend analyzer (reads Redis history) → PostgreSQL | `GET .../alerts` |
| Medication annotation on alert | No — applied at alert creation | Kafka consumer reads recent meds from PostgreSQL | `GET .../alerts` → read `details` field |
| Medication annotation on alert | No — applied at alert creation | Kafka consumer reads recent meds from PostgreSQL | `GET .../alerts` → read `explanation.medicationContext` or legacy `details` |
| Search index updated | No | PostgreSQL → Kafka → ES indexer → Elasticsearch | `GET /analytics/...` endpoints |
| Data lake file written | No | PostgreSQL → Kafka → data lake writer → MinIO (Parquet); offsets only committed for successful partition uploads | MinIO bucket `vigilcare` |
| Clinician paged | No | Kafka → notification publisher → RabbitMQ paging queue | Alert `status` field |