Emergency Department Triage Patterns

This dataset provides detailed records of emergency department triage decisions, including patient demographics, structured symptoms, vital signs, and triage outcomes. It enables urgent care optimization, patient flow modeling, and clinical research into triage patterns and outcomes. The comprehensive structure supports both operational analytics and advanced predictive modeling.

  • opened 17 times
  • last updated 22 Jul 2025
  • by GoMask
The brief that made it

Modeling and optimizing emergency department patient flow

Sample rows

preview · 8 of 200 rows · all 20 columns
triage_idstringarrival_modestringvital_signs_diastolic_bpintegertriage_levelstringpatient_idstringvisit_idstringtriage_datetimedatetimeageintegersexstringchief_complaintstringsymptom_codesstringvital_signs_temperaturefloatvital_signs_heart_rateintegervital_signs_respiratory_rateintegervital_signs_systolic_bpintegervital_signs_oxygen_saturationfloattriage_scalestringtriage_nurse_idstringdispositionstringtriage_notesstring
TRI0001ambulance802P001V10012023-03-05T17:43:00Z79femaleAcute confusion and generalized weaknessR41.0,R5336.9972014289.2CTASNUR23847admittedElderly patient, confused, oriented to person only. Daughter reports recent falls.
TRI0002walk-in563P002V10022023-03-05T18:11:00Z4maleFever and cough for 2 daysR50.9,J0039.1132289298.1MTSNUR78234observationChild alert, drinking fluids, mild retractions, no cyanosis.
TRI0003walk-in764P003V10032023-03-05T19:07:00Z32femaleLower abdominal pain, mild nauseaR10.3037.5891712399.2ESINUR12953dischargedPatient ambulatory, pain intermittent, no vomiting, no fever.
TRI0004transfer382P004V10042023-03-05T19:21:00Z0unknownNewborn assessment after transferblank36.3144407095.4otherblankobservationStable newborn, transferred for observation due to mild respiratory distress.
TRI0005ambulance921P005V10052023-03-05T21:14:00Z45maleChest pain radiating to left armR07.9,I20.037.21082015595.7ESINUR45722admittedSudden onset chest pain, diaphoresis, hypertensive. ECG pending.
TRI0006walk-in744P006V10062023-03-06T06:34:00Z23femaleAnkle sprain during basketball gameS93.436.77815116100MTSNUR67892dischargedMild swelling, able to bear weight, no deformity.
TRI0007ambulance921P007V10072023-03-06T07:12:00Z67maleSudden onset right-sided weaknessI63.936.11042217890.6CTASNUR31855admittedSlurred speech, facial droop, FAST positive, urgent CT ordered.
TRI0008ambulance623P008V10082023-03-06T09:35:00Z16maleConcussion after football collisionS06.036.5921811699.3MTSNUR84019observationBrief loss of consciousness, no vomiting, GCS 15.

What the 200 rows show

from the 200-row sample

Transfer (arrival mode) stands out: mean vital_signs_diastolic_bp is 39.3, against 70.2 for the rest.

  • 71.5median vital_signs_diastolic_bp
  • 3dispositions
  • 4sexes
  • 4triage scales
  • 37median age
  • 36.8median vital_signs_temperature
Mean vital_signs_diastolic_bp by arrival_mode200 rows
0408070.1ambulance62 rows70.3walk-in116 rows39.3transfer22 rows
vital_signs_diastolic_bp200 rows, in bands of 10
03570511122735673672060100vital_signs_diastolic_bp →

Median 71.5, from 22 to 94.

triage_level200 rows · 5 values
  1. 256
  2. 355
  3. 440
  4. 134
  5. 515
20 columns by typefrom the column list below
  • string 12
  • integer 5
  • float 2
  • datetime 1

Columns

20 columns in three groups
blueprint · 20 columns
columntypedescriptionexample
Text 12 columns
triage_idstringUnique identifier for each triage decision record.uniqueTRI0001
patient_idstringUnique identifier for the patient associated with this triage event.P001
visit_idstringUnique identifier for the patient's emergency department visit.V1001
sexstringSex of the patient.male · female · other · unknownfemale
chief_complaintstringPrimary symptom or reason for the patient's visit as described by the patient.Flank pain, hematuria
symptom_codesstringComma-separated list of standardized symptom codes (e.g., SNOMED, ICD-10) relevant to this triage event.optionalR41.0,R53
triage_levelstringTriage acuity level assigned to the patient (e.g., ESI, CTAS, MTS).6 values2
triage_scalestringName of the triage scale used (e.g., ESI, CTAS, MTS, other).ESI · CTAS · MTS · otherCTAS
triage_nurse_idstringIdentifier for the nurse or clinician who performed the triage.optionalNUR23847
arrival_modestringMode of patient arrival (e.g., ambulance, walk-in, transfer).ambulance · walk-in · transfer · other · optionalambulance
triage_notesstringFree-text notes or observations recorded by the triage nurse.optionalElderly patient, confused…
dispositionstringInitial disposition decision after triage (e.g., admitted, discharged, observation, transferred).admitted · discharged · observation · transferred · other · optionaladmitted
Numbers 7 columns
ageintegerAge of the patient at the time of triage (in years).0 to 12079
vital_signs_temperaturefloatPatient's body temperature in degrees Celsius at triage.25 to 45 · optional36.9
vital_signs_heart_rateintegerPatient's heart rate in beats per minute at triage.20 to 250 · optional97
vital_signs_respiratory_rateintegerPatient's respiratory rate in breaths per minute at triage.5 to 80 · optional20
vital_signs_systolic_bpintegerPatient's systolic blood pressure in mmHg at triage.40 to 300 · optional142
vital_signs_diastolic_bpintegerPatient's diastolic blood pressure in mmHg at triage.20 to 200 · optional80
vital_signs_oxygen_saturationfloatPatient's oxygen saturation percentage at triage.50 to 100 · optional89.2
Dates and times 1 column
triage_datetimedatetimeDate and time when the triage assessment was performed.2023-03-05T17:43:00Z

15 SQL practice questions for the Emergency Department Triage Patterns

Written for this data and checked against it: 12 SQL and 3 Power BI exercises from beginner to advanced. Try the first three free; the practice kit has all 15, a starter .sql file and an answer key with every expected result.

  1. 01BeginnerFreeDISTINCT · ORDER BY

    Distinct triage scales used

    Return each distinct triage scale used in the data as a single column named triage_scale, ordered alphabetically.

    Tables: emergency_department_triage_patterns · your result: 1 columns, 4 rows
  2. 02BeginnerFreeGROUP BY · COUNT

    Visits per disposition

    Count the visits for each disposition. Return the columns disposition and visit_count, ordered by visit_count from highest to lowest, then by disposition alphabetically.

    Tables: emergency_department_triage_patterns · your result: 2 columns, 3 rows
  3. 03BeginnerFreeGROUP BY · AVG · SUM

    Average heart rate by triage level

    For each triage_level, return triage_level, the average vital_signs_heart_rate rounded to 2 decimals as avg_heart_rate, and the sum of age as total_age. Order by triage_level ascending.

    Tables: emergency_department_triage_patterns · your result: 3 columns, 5 rows
  1. 04Walk-in patients with low oxygenBeginner
  2. 05Table visual: arrivals by modePower BI
  3. 06Nurses with many triagesIntermediate
  4. 07Age group bucketsIntermediate
  5. 08Monthly triage volumeIntermediate
  6. 09Arrival modes hotter than averageIntermediate
  7. 10Admission rate by triage levelPower BI
  8. 11Rank oldest patients per triage levelAdvanced
  9. 12Gap since previous triageAdvanced
  10. 13Running total of monthly visitsAdvanced
  11. 14Share of visits by arrival and dispositionAdvanced
  12. 15Heart rate anomalies by triage levelPower BI

Get the practice kit: the full dataset, all 15 exercises, a starter .sql and the answer key. One-time $3.99.

Get the practice kit · $3.99

Use it for

  • median vital s…71.5200 rowsmean vital signs dias…70.1ambula…70.3walk-in39.3transf…

    A healthcare dashboard

    Vital_signs_diastolic_bp by arrival_mode and a breakdown of triage_level. Excel, Power BI or Tableau.

  • Why do the 22 transfer rows have a mean vital_signs_diastolic_bp of 39.3?

    A root-cause class exercise

    Hand out the rows and one question. The answer is in the data, not in the brief.

  • A software demo

    Believable triages with patient_id, visit_id and triage_datetime to fill a screen in front of a buyer.

Not quite right?

Make it yours.

Same 20 columns, your size and your rules. See 20 rows before you pay.

Preview 20 rows free

1,000 rows: $1.99 · 10,000: $12.99One-time. No subscription. All prices

This dataset200 rows20 columns
Yours1,000 rows20 columns

blueprint · emergency-department-triage-patterns

Behind this dataset

Same schema. As many rows as you need.

These 200 rows came out of a blueprint — 20 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.

Rules it was built with
  • Link triage level to presenting symptoms
  • Simulate wait times and resource allocation
  • Include patient demographics and outcomes
  • Annotate emergency severity index
Rows
Open the blueprint in Data Factory

1 credit per row. Preview 20 rows free. Buy rows for the full run.

Exports
CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
Licence
yours to use, including commercially
API slug
emergency-department-triage-patterns

What should your data show?

Preview 20 rows free
No signup. No card.