Patient Vital Sign Time Series
This dataset provides high-frequency, time-stamped vital sign measurements for anonymized patients, including heart rate, blood pressure, respiratory rate, oxygen saturation, body temperature, and consciousness level. Designed for health monitoring and early warning system development, it supports longitudinal patient analysis and real-time clinical decision support. Device and location metadata enable context-aware analytics and integration with hospital systems.
Sample rows
preview · 8 of 200 rows · all 14 columns| patient_idstring | measurement_locationstring | oxygen_saturationfloat | consciousness_levelstring | record_idstring | timestampdatetime | heart_ratefloat | respiratory_ratefloat | systolic_bpfloat | diastolic_bpfloat | mean_arterial_pressurefloat | body_temperaturefloat | device_idstring | notesstring |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| P001 | ICU | 98 | alert | R00001 | 2024-03-07T07:23:14Z | 82 | 16 | 124 | 81 | 95 | 36.8 | DXA_ICU_01 | Routine morning check, patient stable and responsive. |
| P002 | ward | 93 | verbal | R00002 | 2024-02-18T19:15:48Z | 110 | 22 | 144 | 98 | 113 | 38.5 | BP_WARD_11 | Patient reports headache; blood pressure elevated, monitoring advised. |
| P003 | home | 97 | alert | R00003 | 2024-01-04T05:42:09Z | blank | blank | blank | blank | blank | 36.9 | OXI_HOME_07 | Device error, only SpO2 and temperature recorded. |
| P004 | ER | 84 | pain | R00004 | 2024-04-12T13:56:35Z | 131 | 33 | 178 | 115 | 136 | 39.6 | DXA_ER_03 | Severe infection suspected, patient febrile and in distress. |
| P005 | ICU | 100 | alert | R00005 | 2024-03-27T09:08:21Z | 65 | 14 | 120 | 77 | 91 | 36.4 | DXA_ICU_05 | Post-op monitoring, patient awake and comfortable. |
| P006 | ward | 96 | alert | R00006 | 2024-02-22T17:30:17Z | 90 | 19 | 136 | 87 | 103 | 37.1 | BP_WARD_02 | Routine vitals, patient with mild cough. |
| P007 | ICU | 0 | unresponsive | R00007 | 2024-03-03T21:12:40Z | 0 | 0 | 0 | 0 | 0 | 28 | DXA_ICU_09 | Code blue called, patient found unresponsive, resuscitation initiated. |
| P008 | ward | 92 | verbal | R00008 | 2024-01-28T11:04:13Z | 99 | 21 | 142 | 92 | 109 | 37.7 | BP_WARD_14 | Patient alert but slightly disoriented; elevated BP noted. |
| P009 | ICU | 97 | alert | R00009 | 2024-03-14T07:56:55Z | 74 | 17 | 126 | 80 | 95 | 36.6 | DXA_ICU_02 | Patient recovering after sedation, stable. |
| P010 | ER | 87 | pain | R00010 | 2024-01-14T16:10:44Z | 120 | 36 | 170 | 105 | 127 | 41.2 | DXA_ER_07 | Hypertensive crisis, patient agitated and febrile. |
| P011 | ICU | 99 | alert | R00011 | 2024-02-05T07:42:08Z | 60 | 14 | 112 | 70 | 84 | 36.3 | DXA_ICU_11 | Vitals within normal limits, no complaints. |
| P012 | ward | 93 | verbal | R00012 | 2024-04-03T08:01:19Z | 105 | 25 | 135 | 85 | 102 | 38.3 | BP_WARD_13 | Moderate dyspnea, patient oriented and verbal. |
| P013 | home | 95 | alert | R00013 | 2024-02-18T22:36:01Z | blank | blank | blank | blank | blank | 37 | OXI_HOME_15 | Self-monitoring, partial data due to device battery low. |
| P014 | ICU | 96 | alert | R00014 | 2024-03-18T10:28:50Z | 98 | 20 | 130 | 84 | 99 | 36.9 | DXA_ICU_15 | Post-anesthesia monitoring. Stable recovery. |
| P015 | ER | 52 | unresponsive | R00015 | 2024-01-11T23:07:36Z | 115 | 44 | 205 | 145 | 165 | 45 | DXA_ER_12 | Hyperpyrexia and hypotension, patient unresponsive, emergency intervention. |
| P016 | ICU | 97 | alert | R00016 | 2024-03-22T06:16:30Z | 77 | 15 | 122 | 76 | 91 | 36.7 | DXA_ICU_13 | Patient sleeping, normal vital readings. |
| P017 | ICU | 96 | alert | R00017 | 2024-02-23T09:51:18Z | 88 | 18 | 133 | 85 | 101 | 37.2 | DXA_ICU_14 | Routine ICU check, no significant findings. |
| P018 | ER | 85 | pain | R00018 | 2024-04-10T20:38:11Z | 132 | 31 | 180 | 110 | 133 | 40.2 | DXA_ER_08 | Patient with sepsis, altered mental status and febrile. |
| P019 | ICU | 99 | alert | R00019 | 2024-02-13T03:29:04Z | 58 | 13 | 112 | 68 | 83 | 36.2 | DXA_ICU_10 | Low-normal vitals, patient resting comfortably. |
| P020 | ward | 95 | verbal | R00020 | 2024-03-01T14:44:59Z | 102 | 19 | 137 | 88 | 104 | 37.5 | BP_WARD_12 | Patient recovering from chest infection, mild cough persists. |
What the 200 rows show
from the 200-row sampleER (measurement location) stands out: mean oxygen_
- 97median oxygen_
saturation - 50patients
- 85median heart_
rate - 16median respiratory_
rate - 127median systolic_
bp - 81median diastolic_
bp
Median 97, from 0 to 100.
- string 6
- float 7
- datetime 1
Columns
14 columns in three groups| column | type | description | example |
|---|---|---|---|
| Text 6 columns | |||
patient_id | string | Anonymized unique identifier for each patient | P001 |
record_id | string | Unique identifier for each vital sign measurement recordunique | R00001 |
consciousness_level | string | Patient's level of consciousness (e.g., alert, verbal, pain, unresponsive)alert · verbal · pain · unresponsive · unknown · optional | alert |
device_id | string | Identifier for the medical device used to record the measurementoptional | DXA_ICU_01 |
measurement_location | string | Location where the measurement was taken (e.g., ICU, ward, home)4 locations · optional | ICU |
notes | string | Optional free-text notes about the measurement or patient conditionoptional | Routine morning check, pa… |
| Numbers 7 columns | |||
heart_rate | float | Heart rate in beats per minute (bpm)0 or more · optional | 82 |
respiratory_rate | float | Respiratory rate in breaths per minute0 or more · optional | 16 |
systolic_bp | float | Systolic blood pressure in mmHg0 or more · optional | 124 |
diastolic_bp | float | Diastolic blood pressure in mmHg0 or more · optional | 81 |
mean_arterial_pressure | float | Mean arterial pressure in mmHg0 or more · optional | 95 |
oxygen_saturation | float | Peripheral capillary oxygen saturation (SpO2) as a percentage0 to 100 · optional | 98 |
body_temperature | float | Body temperature in degrees Celsius25 to 45 · optional | 36.8 |
| Dates and times 1 column | |||
timestamp | datetime | Date and time when the vital sign measurement was recorded | 2024-03-07T07:23:14Z |
15 SQL practice questions for the Patient Vital Sign Time Series
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.
ICU readings with low oxygen
Return record_id, patient_id and oxygen_saturation for every record measured in the ICU (measurement_location = 'ICU') with an oxygen_saturation below 92. Order the rows by oxygen_saturation ascending, then record_id ascending.
Tables: patient_vital_sign_time_series · your result: 3 columns, 3 rowsDistinct consciousness levels
Return each distinct consciousness_level found in the data, one row per level, in a single column named consciousness_level. Order the values alphabetically.
Tables: patient_vital_sign_time_series · your result: 1 columns, 5 rowsRecords per location
Count the records at each measurement_location. Return measurement_location and record_count, ordered by record_count descending, then measurement_location ascending.
Tables: patient_vital_sign_time_series · your result: 2 columns, 4 rows
- 04Average heart rate by locationBeginner
- 05Card: average temperature of febrile recordsPower BI
- 06Locations with many low-oxygen recordsIntermediate
- 07Heart rate bandsIntermediate
- 08Records per monthIntermediate
- 09Locations hotter than the overall averageIntermediate
- 10Matrix: average MAP by location and consciousnessPower BI
- 11Rank patients by peak heart rateAdvanced
- 12Jumps in heart rate between readingsAdvanced
- 13Running count of records by monthAdvanced
- 14Share of critical records by locationAdvanced
- 15Visual: readings above a patient's own averagePower 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.99Use it for
A healthcare dashboard
Oxygen_
saturation by measurement_ location and a breakdown of consciousness_ level. Excel, Power BI or Tableau. Why do the 31 ER rows have a mean oxygen_
saturation of 60.5? A root-cause class exercise
Hand out the rows and one question. The answer is in the data, not in the brief.
- Patients200P00198ICUP00293wardP00397home
A software demo
Believable patients with record_
id, timestamp and heart_ rate to fill a screen in front of a buyer.
blueprint · patient-vital-sign-time-series
Behind this dataset
Same schema. As many rows as you need.
These 200 rows came out of a blueprint — 14 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.
- Each row captures a timestamped vital sign reading
- Contains anonymized patient ID, heart rate, blood pressure, temperature
- Readings sampled at regular intervals
- Segments by hospital department
- No personally identifiable information
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
- patient-vital-sign-time-series