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" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "hypothermia-elderly-01",
|
||||
"name": "Elderly Hypothermia — Subtle Deterioration",
|
||||
"description": "85-year-old woman brought from nursing home with low-grade hypothermia and confusion. Vitals look deceptively near-normal except low temperature and altered mentation. Tests whether the system catches the NEWS2 escalation from temperature and AVPU contributions that are easy to miss clinically.",
|
||||
"durationMinutes": 180,
|
||||
"tags": ["elderly", "hypothermia", "subtle", "avpu", "nursing-home"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "Mei-Ling",
|
||||
"lastName": "Wu",
|
||||
"dateOfBirth": "1941-04-12",
|
||||
"gender": "Female",
|
||||
"mrn": "SIM-006"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Emergency",
|
||||
"room": "ED-5",
|
||||
"bed": "B",
|
||||
"encounterType": "Emergency",
|
||||
"chiefComplaint": "Found confused and cold at nursing home, not eating for 2 days"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 68, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 118, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 72, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 35.8, "unit": "°C", "source": "manual" }, "note": "Low-normal temperature" },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "AVPU", "value": 1, "unit": "score", "source": "manual" }, "note": "Responds to voice — confused" },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "GLUCOSE_MG_DL", "value": 62, "unit": "mg/dL", "source": "lab" }, "note": "Borderline hypoglycemia" },
|
||||
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "HEART_RATE", "value": 64, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "RESP_RATE", "value": 13, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 114, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 70, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "TEMP_C", "value": 35.4, "unit": "°C", "source": "manual" }, "note": "Temperature dropping further" },
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 45, "type": "observation", "data": { "code": "AVPU", "value": 1, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "HEART_RATE", "value": 58, "unit": "bpm", "source": "monitor" }, "note": "Bradycardic — hypothermia effect" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "RESP_RATE", "value": 11, "unit": "/min", "source": "manual" }, "note": "RR dropping — warning range" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 108, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 66, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "TEMP_C", "value": 35.0, "unit": "°C", "source": "manual" }, "note": "Hypothermic — critical range" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SPO2", "value": 95, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "AVPU", "value": 2, "unit": "score", "source": "manual" }, "note": "Now responds to pain only" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "GLUCOSE_MG_DL", "value": 54, "unit": "mg/dL", "source": "lab" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "WBC_K_UL", "value": 3.8, "unit": "×10³/µL", "source": "lab" }, "note": "Low WBC — possible immunosuppression" },
|
||||
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "HEART_RATE", "value": 54, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 10, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 104, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 62, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 34.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": 2, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "HEART_RATE", "value": 50, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "RESP_RATE", "value": 9, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 100, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 58, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "TEMP_C", "value": 34.5, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SPO2", "value": 93, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "AVPU", "value": 2, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "HEART_RATE", "value": 46, "unit": "bpm", "source": "monitor" }, "note": "HR in critical range" },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 8, "unit": "/min", "source": "manual" }, "note": "RR critical" },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 96, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 54, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "TEMP_C", "value": 34.2, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SPO2", "value": 91, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "AVPU", "value": 3, "unit": "score", "source": "manual" }, "note": "Unresponsive — ICU transfer" }
|
||||
],
|
||||
"expectedOutcomes": [
|
||||
{ "afterOffsetMinutes": 45, "type": "alert", "alertType": "WARNING_TEMP_C", "description": "Temp 35.4 enters warning range" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "WARNING_RESP_RATE", "description": "RR 11 enters warning range" },
|
||||
{ "afterOffsetMinutes": 90, "type": "score", "scoreType": "NEWS2", "expectedMinimum": 7, "description": "NEWS2 HIGH — temp 3pts + AVPU 3pts + RR + low WBC" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "NEWS2_EMERGENCY", "description": "NEWS2 ≥7 with AVPU score 3" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "QSOFA_WARNING", "description": "qSOFA ≥2: AVPU 2 + RR borderline — depends on exact threshold" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "SEPSIS_WARNING", "description": "SIRS: temp <36, WBC <4 — possible sepsis in elderly" },
|
||||
{ "afterOffsetMinutes": 180, "type": "alert", "alertType": "RAPID_DETERIORATION", "description": "Multi-parameter decline: HR, RR, temp, SpO2 all trending down" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "medication-false-alarm-01",
|
||||
"name": "Post-Metoprolol BP Drop — Expected Pharmacology",
|
||||
"description": "68-year-old man admitted for hypertension management. Receives metoprolol for high BP. BP and HR drop into warning range afterward — this is the expected drug effect, not deterioration. Tests whether clinicians rate the post-medication alerts as false positives.",
|
||||
"durationMinutes": 180,
|
||||
"tags": ["medication", "false-positive", "hypertension", "expected-response"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "David",
|
||||
"lastName": "Huang",
|
||||
"dateOfBirth": "1958-11-03",
|
||||
"gender": "Male",
|
||||
"mrn": "SIM-004"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Medical",
|
||||
"room": "MED-7A",
|
||||
"bed": "2",
|
||||
"encounterType": "Inpatient",
|
||||
"chiefComplaint": "Uncontrolled hypertension, headache"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 92, "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": 168, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 98, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 30, "type": "medication", "data": { "drugName": "metoprolol", "dose": 50, "doseUnit": "mg", "route": "PO", "administeredBy": "nurse-rn-2" }, "note": "Metoprolol administered for BP control" },
|
||||
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "HEART_RATE", "value": 78, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 142, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 88, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SPO2", "value": 97, "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": 64, "unit": "bpm", "source": "monitor" }, "note": "HR dropping — expected metoprolol effect" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 118, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 76, "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": 98, "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": 56, "unit": "bpm", "source": "monitor" }, "note": "HR in low range — metoprolol peak effect" },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 106, "unit": "mmHg", "source": "manual" }, "note": "SBP approaching warning range" },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 68, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 36.7, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "HEART_RATE", "value": 52, "unit": "bpm", "source": "monitor" }, "note": "HR 52 — warning range but expected" },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "RESP_RATE", "value": 13, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 102, "unit": "mmHg", "source": "manual" }, "note": "SBP 102 — warning range but expected" },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 64, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "TEMP_C", "value": 36.7, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SPO2", "value": 98, "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": 58, "unit": "bpm", "source": "monitor" }, "note": "Stabilizing — effect wearing off slightly" },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 110, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 70, "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": 97, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } }
|
||||
],
|
||||
"expectedOutcomes": [
|
||||
{ "afterOffsetMinutes": 120, "type": "alert", "alertType": "WARNING_SYSTOLIC_BP", "description": "SBP 106 enters warning range — should be annotated with metoprolol context if Phase 15 active" },
|
||||
{ "afterOffsetMinutes": 150, "type": "alert", "alertType": "WARNING_HEART_RATE", "description": "HR 52 enters low warning range — expected metoprolol effect" },
|
||||
{ "afterOffsetMinutes": 150, "type": "alert", "alertType": "RAPID_DETERIORATION", "description": "HR dropped 92→52 and SBP dropped 168→102 — trajectory alert, but pharmacologically expected" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "post-op-pain-01",
|
||||
"name": "Post-Operative Pain Crisis — Opioid Effect on Respiratory Rate",
|
||||
"description": "45-year-old woman post-abdominal surgery with escalating pain. Morphine administered at 30 minutes. Respiratory rate drops to warning range afterward — expected opioid effect. Heart rate rises from pain before medication, then normalizes. Tests whether clinicians distinguish pain-related tachycardia from pathological tachycardia, and opioid-related respiratory depression from deterioration.",
|
||||
"durationMinutes": 180,
|
||||
"tags": ["post-op", "pain", "opioid", "respiratory-depression", "medication-effect"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "Sarah",
|
||||
"lastName": "Lin",
|
||||
"dateOfBirth": "1981-09-17",
|
||||
"gender": "Female",
|
||||
"mrn": "SIM-007"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Surgical",
|
||||
"room": "SURG-6C",
|
||||
"bed": "1",
|
||||
"encounterType": "Inpatient",
|
||||
"chiefComplaint": "Post-op day 0 — open appendectomy (complicated appendicitis)"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 86, "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": 134, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 82, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 37.4, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "HEART_RATE", "value": 104, "unit": "bpm", "source": "monitor" }, "note": "Tachycardia from pain" },
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "RESP_RATE", "value": 20, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 146, "unit": "mmHg", "source": "manual" }, "note": "Hypertensive from pain" },
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 92, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "TEMP_C", "value": 37.5, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 20, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 30, "type": "medication", "data": { "drugName": "morphine", "dose": 4, "doseUnit": "mg", "route": "IV", "administeredBy": "nurse-rn-4" }, "note": "Morphine for post-op pain" },
|
||||
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "HEART_RATE", "value": 82, "unit": "bpm", "source": "monitor" }, "note": "HR normalizing with pain relief" },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 126, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 78, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "TEMP_C", "value": 37.4, "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": 76, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "RESP_RATE", "value": 10, "unit": "/min", "source": "manual" }, "note": "RR dropping — morphine respiratory depression" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 118, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 72, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "TEMP_C", "value": 37.3, "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": 74, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 9, "unit": "/min", "source": "manual" }, "note": "RR 9 — warning range" },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 116, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 70, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 37.2, "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": 150, "type": "observation", "data": { "code": "HEART_RATE", "value": 76, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "RESP_RATE", "value": 11, "unit": "/min", "source": "manual" }, "note": "RR recovering slowly" },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 120, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 74, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "TEMP_C", "value": 37.3, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SPO2", "value": 95, "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": 78, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 13, "unit": "/min", "source": "manual" }, "note": "RR normalizing" },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 122, "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": 37.4, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } }
|
||||
],
|
||||
"expectedOutcomes": [
|
||||
{ "afterOffsetMinutes": 20, "type": "alert", "alertType": "WARNING_HEART_RATE", "description": "HR 104 — pain-related tachycardia, not pathological" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "WARNING_RESP_RATE", "description": "RR 10 enters warning range — morphine respiratory depression" },
|
||||
{ "afterOffsetMinutes": 120, "type": "alert", "alertType": "RAPID_DETERIORATION", "description": "RR dropped 20→9 — trajectory alert but pharmacologically expected" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "respiratory-failure-01",
|
||||
"name": "Post-Surgical Respiratory Deterioration",
|
||||
"description": "55-year-old man on surgical ward after abdominal surgery. Stable for 2 hours, then gradual respiratory deterioration: falling SpO2, rising RR, supplemental oxygen started. NEWS2 reaches HIGH risk by hour 3.",
|
||||
"durationMinutes": 240,
|
||||
"tags": ["respiratory", "surgical", "deterioration", "supplemental-o2"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "Robert",
|
||||
"lastName": "Wang",
|
||||
"dateOfBirth": "1971-08-22",
|
||||
"gender": "Male",
|
||||
"mrn": "SIM-002"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Surgical",
|
||||
"room": "SURG-4B",
|
||||
"bed": "1",
|
||||
"encounterType": "Inpatient",
|
||||
"chiefComplaint": "Post-op day 1 — laparoscopic cholecystectomy"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 76, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 132, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 82, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 37.0, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "HEART_RATE", "value": 78, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "RESP_RATE", "value": 15, "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": 80, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "TEMP_C", "value": 37.1, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "HEART_RATE", "value": 82, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 18, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 126, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 78, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 37.3, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SPO2", "value": 95, "unit": "%", "source": "monitor" }, "note": "SpO2 starting to drift down" },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 140, "type": "observation", "data": { "code": "HEART_RATE", "value": 88, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 140, "type": "observation", "data": { "code": "RESP_RATE", "value": 21, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 140, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 124, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 140, "type": "observation", "data": { "code": "TEMP_C", "value": 37.4, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 140, "type": "observation", "data": { "code": "SPO2", "value": 93, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 140, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SUPPLEMENTAL_O2", "value": 1, "unit": "flag", "source": "manual" }, "note": "Nurse starts 2L nasal cannula" },
|
||||
|
||||
{ "offsetMinutes": 160, "type": "observation", "data": { "code": "HEART_RATE", "value": 94, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 160, "type": "observation", "data": { "code": "RESP_RATE", "value": 24, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 160, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 120, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 160, "type": "observation", "data": { "code": "TEMP_C", "value": 37.5, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 160, "type": "observation", "data": { "code": "SPO2", "value": 92, "unit": "%", "source": "monitor" }, "note": "SpO2 92 despite supplemental O2" },
|
||||
{ "offsetMinutes": 160, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "HEART_RATE", "value": 102, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 26, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 118, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "TEMP_C", "value": 37.6, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SPO2", "value": 90, "unit": "%", "source": "monitor" }, "note": "SpO2 dropping further" },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SUPPLEMENTAL_O2", "value": 1, "unit": "flag", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "HEART_RATE", "value": 108, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "RESP_RATE", "value": 28, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 116, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "TEMP_C", "value": 37.7, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "SPO2", "value": 88, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "SUPPLEMENTAL_O2", "value": 1, "unit": "flag", "source": "manual" } },
|
||||
{ "offsetMinutes": 210, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "HEART_RATE", "value": 112, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "RESP_RATE", "value": 30, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 114, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "TEMP_C", "value": 37.8, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SPO2", "value": 86, "unit": "%", "source": "monitor" }, "note": "Critical desaturation — ICU consult called" },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SUPPLEMENTAL_O2", "value": 1, "unit": "flag", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } }
|
||||
],
|
||||
"expectedOutcomes": [
|
||||
{ "afterOffsetMinutes": 140, "type": "alert", "alertType": "WARNING_RESP_RATE", "description": "RR 21 enters warning range" },
|
||||
{ "afterOffsetMinutes": 140, "type": "score", "scoreType": "NEWS2", "expectedMinimum": 4, "description": "NEWS2 rising from SpO2 and RR contributions" },
|
||||
{ "afterOffsetMinutes": 160, "type": "alert", "alertType": "NEWS2_WARNING", "description": "NEWS2 5-6 with supplemental O2 + low SpO2 + high RR" },
|
||||
{ "afterOffsetMinutes": 160, "type": "alert", "alertType": "RAPID_DETERIORATION", "description": "SpO2 dropping 98→92 over short window" },
|
||||
{ "afterOffsetMinutes": 180, "type": "alert", "alertType": "NEWS2_EMERGENCY", "description": "NEWS2 ≥7 with critical SpO2 on supplemental O2" },
|
||||
{ "afterOffsetMinutes": 210, "type": "alert", "alertType": "WARNING_HEART_RATE", "description": "HR 108 enters warning range" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,111 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "sepsis-ed-01",
|
||||
"name": "ED Sepsis Deterioration — UTI Source",
|
||||
"description": "72-year-old woman presents to ED with UTI symptoms. Over 4 hours she develops sepsis: rising temperature, tachycardia, hypotension. Antibiotics started at 1 hour. Sepsis bundle completed by hour 2.",
|
||||
"durationMinutes": 240,
|
||||
"tags": ["sepsis", "ed", "deterioration", "bundle-completion"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "Eleanor",
|
||||
"lastName": "Chen",
|
||||
"dateOfBirth": "1954-03-15",
|
||||
"gender": "Female",
|
||||
"mrn": "SIM-001"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Emergency",
|
||||
"room": "ED-12",
|
||||
"bed": "A",
|
||||
"encounterType": "Emergency",
|
||||
"chiefComplaint": "Fever, confusion, dysuria for 2 days"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 88, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "RESP_RATE", "value": 18, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 128, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 78, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 38.2, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 97, "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": 94, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "RESP_RATE", "value": 20, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 122, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 74, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 30, "type": "observation", "data": { "code": "TEMP_C", "value": 38.6, "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": 30, "type": "observation", "data": { "code": "WBC_K_UL", "value": 14.2, "unit": "×10³/µL", "source": "lab" }, "note": "Initial labs — elevated WBC" },
|
||||
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "HEART_RATE", "value": 105, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "RESP_RATE", "value": 22, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 112, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 68, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "TEMP_C", "value": 39.1, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SPO2", "value": 95, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 65, "type": "medication", "data": { "drugName": "ceftriaxone", "dose": 2, "doseUnit": "g", "route": "IV", "administeredBy": "nurse-rn-1" }, "note": "Broad-spectrum antibiotics started" },
|
||||
|
||||
{ "offsetMinutes": 75, "type": "order_result", "data": { "orderDescription": "SEP-1: Blood cultures", "resultValue": "2 sets drawn — pending", "resultedBy": "nurse-rn-1" } },
|
||||
{ "offsetMinutes": 80, "type": "order_result", "data": { "orderDescription": "SEP-1: Serum lactate", "resultValue": "2.8 mmol/L", "resultedBy": "lab-tech-1" } },
|
||||
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "HEART_RATE", "value": 112, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "RESP_RATE", "value": 24, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 102, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 62, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "TEMP_C", "value": 39.3, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "SPO2", "value": 94, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "AVPU", "value": 1, "unit": "score", "source": "manual" }, "note": "Patient confused — responds to voice" },
|
||||
{ "offsetMinutes": 90, "type": "observation", "data": { "code": "LACTATE_MMOL_L", "value": 2.8, "unit": "mmol/L", "source": "lab" } },
|
||||
|
||||
{ "offsetMinutes": 100, "type": "order_result", "data": { "orderDescription": "SEP-1: Broad-spectrum antibiotics", "resultValue": "Ceftriaxone 2g IV administered", "resultedBy": "nurse-rn-1" } },
|
||||
{ "offsetMinutes": 105, "type": "order_result", "data": { "orderDescription": "SEP-1: IV fluid bolus", "resultValue": "1L NS bolus started", "resultedBy": "nurse-rn-1" } },
|
||||
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "HEART_RATE", "value": 118, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 26, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 96, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 58, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 39.4, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SPO2", "value": 93, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "AVPU", "value": 1, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "HEART_RATE", "value": 115, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "RESP_RATE", "value": 24, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 100, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 60, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "TEMP_C", "value": 39.0, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "SPO2", "value": 94, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "AVPU", "value": 1, "unit": "score", "source": "manual" } },
|
||||
{ "offsetMinutes": 150, "type": "observation", "data": { "code": "LACTATE_MMOL_L", "value": 3.4, "unit": "mmol/L", "source": "lab" }, "note": "Repeat lactate — rising" },
|
||||
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "HEART_RATE", "value": 108, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 22, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 105, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 64, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "TEMP_C", "value": 38.7, "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" }, "note": "Mentation improving — alert again" },
|
||||
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "HEART_RATE", "value": 98, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "RESP_RATE", "value": 20, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 112, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 68, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "TEMP_C", "value": 38.3, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SPO2", "value": 96, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "LACTATE_MMOL_L", "value": 2.1, "unit": "mmol/L", "source": "lab" }, "note": "Lactate improving after fluids" }
|
||||
],
|
||||
"expectedOutcomes": [
|
||||
{ "afterOffsetMinutes": 30, "type": "alert", "alertType": "WARNING_TEMP_C", "description": "Temperature 38.6 enters warning range" },
|
||||
{ "afterOffsetMinutes": 60, "type": "alert", "alertType": "WARNING_HEART_RATE", "description": "HR 105 enters warning range" },
|
||||
{ "afterOffsetMinutes": 60, "type": "alert", "alertType": "SEPSIS_WARNING", "description": "SIRS criteria met: temp >38.3, HR >90, RR >20, WBC >12" },
|
||||
{ "afterOffsetMinutes": 90, "type": "alert", "alertType": "QSOFA_WARNING", "description": "qSOFA ≥2: RR 24, SBP 102, AVPU 1" },
|
||||
{ "afterOffsetMinutes": 90, "type": "bundle", "description": "Sepsis bundle auto-created with 4 orders" },
|
||||
{ "afterOffsetMinutes": 105, "type": "bundle", "description": "All 4 bundle elements completed — COMPLIANT" },
|
||||
{ "afterOffsetMinutes": 120, "type": "score", "scoreType": "NEWS2", "expectedMinimum": 7, "description": "NEWS2 reaches HIGH risk" },
|
||||
{ "afterOffsetMinutes": 120, "type": "alert", "alertType": "NEWS2_EMERGENCY", "description": "NEWS2 ≥7 or single parameter 3" },
|
||||
{ "afterOffsetMinutes": 120, "type": "alert", "alertType": "RAPID_DETERIORATION", "description": "HR climbed 88→118 and SBP dropped 128→96 rapidly" }
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
{
|
||||
"scenario": {
|
||||
"id": "stable-baseline-01",
|
||||
"name": "Stable Observation Patient — Control",
|
||||
"description": "40-year-old healthy male admitted for 4-hour observation after minor outpatient procedure. Vitals remain normal throughout with natural physiological noise. No alerts should fire. This is a control scenario to test for false positives.",
|
||||
"durationMinutes": 240,
|
||||
"tags": ["stable", "control", "observation", "no-alerts"]
|
||||
},
|
||||
"patient": {
|
||||
"firstName": "James",
|
||||
"lastName": "Liu",
|
||||
"dateOfBirth": "1986-05-10",
|
||||
"gender": "Male",
|
||||
"mrn": "SIM-003"
|
||||
},
|
||||
"encounter": {
|
||||
"department": "Day Surgery",
|
||||
"room": "DS-3",
|
||||
"bed": "A",
|
||||
"encounterType": "Observation",
|
||||
"chiefComplaint": "Post-procedure observation — arthroscopic knee surgery"
|
||||
},
|
||||
"events": [
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "HEART_RATE", "value": 72, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 124, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 76, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "SPO2", "value": 99, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 0, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "HEART_RATE", "value": 75, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "RESP_RATE", "value": 13, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 120, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 74, "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": 98, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 60, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "HEART_RATE", "value": 70, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 126, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 78, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "SPO2", "value": 99, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 120, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "HEART_RATE", "value": 73, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 122, "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": 98, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 180, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } },
|
||||
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "HEART_RATE", "value": 74, "unit": "bpm", "source": "monitor" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SYSTOLIC_BP", "value": 124, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "DIASTOLIC_BP", "value": 76, "unit": "mmHg", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "TEMP_C", "value": 36.7, "unit": "°C", "source": "manual" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "SPO2", "value": 99, "unit": "%", "source": "monitor" } },
|
||||
{ "offsetMinutes": 240, "type": "observation", "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "manual" } }
|
||||
],
|
||||
"expectedOutcomes": []
|
||||
}
|
||||
Reference in New Issue
Block a user