{
  "scenario": {
    "id": "medication-false-alarm-01",
    "name": "Medication-Induced False Alarm (Stable Patient on Beta-Blocker)",
    "description": "45-year-old female on metoprolol (beta-blocker) with baseline low HR (~52 bpm) and controlled hypertension. Vitals fluctuate near warning thresholds but patient never truly deteriorates. Tests the system's alert behavior near boundaries and alert-fatigue patterns.",
    "durationMinutes": 180,
    "tags": ["false-alarm", "beta-blocker", "bradycardia", "boundary-testing", "alert-fatigue", "stable"]
  },
  "patient": {
    "firstName": "Sandra",
    "lastName": "Kowalski",
    "dateOfBirth": "1981-03-14",
    "gender": "Female"
  },
  "encounter": {
    "department": "GeneralMedicine",
    "encounterType": "Inpatient",
    "attendingPhysician": "Dr. Helen Tranh",
    "roomBed": "GM-214A",
    "admissionReason": "Observation for controlled hypertension, medication titration"
  },
  "events": [
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 54, "unit": "bpm", "source": "Device" },
      "note": "Baseline vitals — patient on scheduled metoprolol, resting comfortably. NEWS2=0"
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 136, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 78, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "GCS_EYE", "value": 4, "unit": "score", "source": "Manual" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "GCS_VERBAL", "value": 5, "unit": "score", "source": "Manual" }
    },
    {
      "offsetMinutes": 0,
      "type": "observation",
      "data": { "code": "GCS_MOTOR", "value": 6, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 0,
      "type": "medication",
      "data": {
        "drugName": "metoprolol tartrate",
        "dose": 25,
        "doseUnit": "mg",
        "route": "PO",
        "administeredBy": "nurse-rn-12"
      },
      "note": "Scheduled beta-blocker dose — expected to maintain low HR"
    },

    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 50, "unit": "bpm", "source": "Device" },
      "note": "HR dips to lower boundary of warning range (41-50) post-dose. NEWS2=1 (HR=1)"
    },
    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 134, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 76, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 15,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 49, "unit": "bpm", "source": "Device" },
      "note": "HR remains in warning range — metoprolol peak effect. NEWS2=1 (HR=1)"
    },
    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 132, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 75, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 37.0, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 30,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 52, "unit": "bpm", "source": "Device" },
      "note": "HR recovers to normal range (51-90). NEWS2=0"
    },
    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 130, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 74, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 45,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 51, "unit": "bpm", "source": "Device" },
      "note": "Routine check — all within normal limits. NEWS2=0"
    },
    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 133, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 76, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 37.0, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 60,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 48, "unit": "bpm", "source": "Device" },
      "note": "HR dips again after position change — back into warning range. NEWS2=1 (HR=1)"
    },
    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 16, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 128, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 73, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 75,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 53, "unit": "bpm", "source": "Device" },
      "note": "HR recovers again — normal range. NEWS2=0"
    },
    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 131, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 75, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 37.0, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 90,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 55, "unit": "bpm", "source": "Device" },
      "note": "Stable — metoprolol wearing off slightly before next dose. NEWS2=0"
    },
    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 130, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 74, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 105,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 120,
      "type": "medication",
      "data": {
        "drugName": "metoprolol tartrate",
        "dose": 25,
        "doseUnit": "mg",
        "route": "PO",
        "administeredBy": "nurse-rn-12"
      },
      "note": "Second scheduled metoprolol dose"
    },

    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 52, "unit": "bpm", "source": "Device" },
      "note": "Pre-dose vitals taken with medication. NEWS2=0"
    },
    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 126, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 72, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 37.0, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 120,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 48, "unit": "bpm", "source": "Device" },
      "note": "Post-dose HR dip — second metoprolol taking effect. NEWS2=1 (HR=1)"
    },
    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 112, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 68, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.8, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 135,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 47, "unit": "bpm", "source": "Device" },
      "note": "Lowest HR of scenario — SBP also drifts near warning boundary. NEWS2=2 (HR=1, SBP=1)"
    },
    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 110, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 66, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 150,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 50, "unit": "bpm", "source": "Device" },
      "note": "HR still in warning but recovering, SBP back to normal. NEWS2=1 (HR=1)"
    },
    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 14, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 114, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 70, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 37.0, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "SPO2", "value": 98, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 165,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    },

    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "HEART_RATE", "value": 52, "unit": "bpm", "source": "Device" },
      "note": "End of scenario — patient stable, HR back in normal range. NEWS2=0"
    },
    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "RESP_RATE", "value": 15, "unit": "/min", "source": "Device" }
    },
    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "SYSTOLIC_BP", "value": 118, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "DIASTOLIC_BP", "value": 72, "unit": "mmHg", "source": "Device" }
    },
    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "TEMP_C", "value": 36.9, "unit": "°C", "source": "Manual" }
    },
    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "SPO2", "value": 97, "unit": "%", "source": "Device" }
    },
    {
      "offsetMinutes": 180,
      "type": "observation",
      "data": { "code": "AVPU", "value": 0, "unit": "score", "source": "Manual" }
    }
  ],
  "expectedOutcomes": [
    {
      "afterOffsetMinutes": 15,
      "type": "alert",
      "alertType": "WARNING_HEART_RATE",
      "description": "HR drops to 50 bpm (warning range 41-50) after first metoprolol dose — expected medication effect"
    },
    {
      "afterOffsetMinutes": 15,
      "type": "score",
      "scoreType": "NEWS2",
      "expectedMinimum": 1,
      "description": "NEWS2=1 (HR=1 only) — below WARNING threshold of 5, no escalation needed"
    },
    {
      "afterOffsetMinutes": 30,
      "type": "alert",
      "alertType": "WARNING_HEART_RATE",
      "description": "HR 49 bpm — sustained warning-range bradycardia during metoprolol peak effect"
    },
    {
      "afterOffsetMinutes": 45,
      "type": "score",
      "scoreType": "NEWS2",
      "expectedMinimum": 0,
      "description": "NEWS2=0 — HR recovers to 52 bpm (normal range), all parameters normal"
    },
    {
      "afterOffsetMinutes": 75,
      "type": "alert",
      "alertType": "WARNING_HEART_RATE",
      "description": "HR dips to 48 bpm after position change — transient, self-resolving"
    },
    {
      "afterOffsetMinutes": 135,
      "type": "alert",
      "alertType": "WARNING_HEART_RATE",
      "description": "HR 48 bpm after second metoprolol dose — repeat of earlier pattern"
    },
    {
      "afterOffsetMinutes": 150,
      "type": "alert",
      "alertType": "WARNING_HEART_RATE",
      "description": "HR 47 bpm — lowest point of scenario, still within warning (not critical)"
    },
    {
      "afterOffsetMinutes": 150,
      "type": "alert",
      "alertType": "WARNING_SYSTOLIC_BP",
      "description": "SBP 110 mmHg — briefly enters warning range (101-110), self-resolves by T+165"
    },
    {
      "afterOffsetMinutes": 150,
      "type": "score",
      "scoreType": "NEWS2",
      "expectedMinimum": 2,
      "description": "Peak NEWS2=2 (HR=1 + SBP=1) — maximum score in scenario, well below WARNING threshold of 5"
    },
    {
      "afterOffsetMinutes": 165,
      "type": "alert",
      "alertType": "WARNING_HEART_RATE",
      "description": "HR 50 bpm — still in warning range but trending upward toward recovery"
    },
    {
      "afterOffsetMinutes": 180,
      "type": "score",
      "scoreType": "NEWS2",
      "expectedMinimum": 0,
      "description": "NEWS2=0 at end of scenario — patient fully stable, no active alerts. Confirms no escalation occurred."
    }
  ]
}