feature: Medication Tracking & Vital Sign Correlation
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "cardiac-ward-01",
|
||||
"name": "Cardiac Ward — Atrial Fibrillation with Rapid Ventricular Response",
|
||||
"description": "78-year-old woman on cardiac ward with known AF. Rate-controlled on admission but develops rapid ventricular response over 3 hours. Heart rate climbs while other vitals remain relatively stable — tests whether the system correctly alerts on isolated tachycardia escalation.",
|
||||
"durationMinutes": 180,
|
||||
"tags": ["cardiac", "afib", "tachycardia", "single-parameter"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "Margaret",
|
||||
"lastName": "Tsai",
|
||||
"dateOfBirth": "1948-01-28",
|
||||
"gender": "Female",
|
||||
"mrn": "SIM-005"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Cardiac",
|
||||
"room": "CARD-2A",
|
||||
"bed": "1",
|
||||
"encounterType": "Inpatient",
|
||||
"chiefComplaint": "Atrial fibrillation — rate control monitoring"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 82, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "RESP_RATE", "value": 16, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 138, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 84, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 36.6, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "HEART_RATE", "value": 88, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "RESP_RATE", "value": 16, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 134, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "TEMP_C", "value": 36.7, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "HEART_RATE", "value": 98, "unit": "bpm", "source": "monitor" }, "note": "HR climbing — AF losing rate control" },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "RESP_RATE", "value": 17, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 130, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 82, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "TEMP_C", "value": 36.7, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "HEART_RATE", "value": 112, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "RESP_RATE", "value": 18, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 126, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 80, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SPO2", "value": 95, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "HEART_RATE", "value": 128, "unit": "bpm", "source": "monitor" }, "note": "Rapid ventricular response" },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 20, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 118, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 76, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SPO2", "value": 94, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 130, "type": "medication", "data": { "drugName": "metoprolol", "dose": 5, "doseUnit": "mg", "route": "IV", "administeredBy": "nurse-rn-3" }, "note": "IV metoprolol for rate control" },
|
||||
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "HEART_RATE", "value": 136, "unit": "bpm", "source": "monitor" }, "note": "Not yet responding to IV metoprolol" },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "RESP_RATE", "value": 22, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 112, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 72, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SPO2", "value": 93, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "HEART_RATE", "value": 108, "unit": "bpm", "source": "monitor" }, "note": "Rate starting to respond" },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 19, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 120, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 76, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SPO2", "value": 95, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } }
|
||||
],
|
||||
"expectedOutcomes": [
|
||||
{ "afterOffsetMinutes": 60, "type": "alert", "alertType": "WARNING_HEART_RATE", "description": "HR 98 enters warning range" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "RAPID_DETERIORATION", "description": "HR climbed 82→112 in 90 minutes" },
|
||||
{ "afterOffsetMinutes": 120, "type": "score", "scoreType": "NEWS2", "expectedMinimum": 5, "description": "NEWS2 medium risk from HR + SpO2 contributions" },
|
||||
{ "afterOffsetMinutes": 120, "type": "alert", "alertType": "NEWS2_WARNING", "description": "NEWS2 5-6" },
|
||||
{ "afterOffsetMinutes": 150, "type": "alert", "alertType": "NEWS2_EMERGENCY", "description": "NEWS2 ≥7 — HR scores 3 (≥131), SpO2 falling" }
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user