| Literature DB >> 35845039 |
Devender Kumar1, Sadasivan Puthusserypady1, Helena Dominguez2, Kamal Sharma3, Jakob E Bardram1.
Abstract
ECG is a non-invasive tool for arrhythmia detection. In recent years, wearable ECG-based ambulatory arrhythmia monitoring has gained increasing attention. However, arrhythmia detection algorithms trained on existing public arrhythmia databases show higher FPR when applied to such ambulatory ECG recordings. It is primarily because the existing public databases are relatively clean as they are recorded using clinical-grade ECG devices in controlled clinical environments. They may not represent the signal quality and artifacts present in ambulatory patient-operated ECG. To help build and evaluate arrhythmia detection algorithms that can work on wearable ECG from free-living conditions, we present the design and development of the CACHET-CADB, a multi-site contextualized ECG database from free-living conditions. The CACHET-CADB is subpart of the REAFEL study, which aims at reaching the frail elderly patient to optimize the diagnosis of atrial fibrillation. In contrast to the existing databases, along with the ECG, CACHET-CADB also provides the continuous recording of patients' contextual data such as activities, body positions, movement accelerations, symptoms, stress level, and sleep quality. These contextual data can aid in improving the machine/deep learning-based automated arrhythmia detection algorithms on patient-operated wearable ECG. Currently, CACHET-CADB has 259 days of contextualized ECG recordings from 24 patients and 1,602 manually annotated 10 s heart-rhythm samples. The length of the ECG records in the CACHET-CADB varies from 24 h to 3 weeks. The patient's ambulatory context information (activities, movement acceleration, body position, etc.) is extracted for every 10 s interval cumulatively. From the analysis, nearly 11% of the ECG data in the database is found to be noisy. A software toolkit for the use of the CACHET-CADB is also provided.Entities:
Keywords: ambulatory ECG; arrhythmia dataset; arrhythmias; atrial fibrillation; context-aware ECG; wearable ECG
Year: 2022 PMID: 35845039 PMCID: PMC9283915 DOI: 10.3389/fcvm.2022.893090
Source DB: PubMed Journal: Front Cardiovasc Med ISSN: 2297-055X
Technical specifications and ECG annotation statistics of publicly available ECG databases. Freq, sampling frequency (Hz); Ch, no. of ECG channels.
|
|
|
|
| |||||
|---|---|---|---|---|---|---|---|---|
| AFDB ( | 2 | 250 | 23 | 10 h | 4 | 25 | ✗ | Continuous, controlled environment |
| MITDB ( | 2 | 360 | 48 | 30 min | 15 | 47 | ✗ | Continuous, controlled environment |
| NSRDB ( | 2 | 128 | 18 | 24 h | 1 | 18 | ✗ | Continuous, ambulatory |
| DeepQ ( | 1 | 250 | 897 | 5 min | 8 | 299 | ✗ | Intermittent, controlled environment |
| OA-ADB ( | 6 | 400 | 2,000 | 30 s | 15 | 200 | ✗ | Continuous, ambulatory, patient-operated |
| CinC2017 ( | 1 | 300 | 8,528 | 9–60 s | 4 | – | ✗ | Intermittent, patient-operated |
| CACHET-CADB | 1 | 1,024 | 1602 | 10s | 4 | 24 | ✓ | Continuous, ambulatory, patient-operated |
Figure 1Data collection setup: (i) a chest-mounted single channel wireless ECG monitor collecting ECG and inertial (movement) measurements, and (ii) the mCardia mobile application for collection of patient-reported data (28).
Figure 2Overview of data collection and annotation process.
Figure 3Mobile application used for ECG annotation.
Specifications of the collected data. S, sensed; PR, patient-reported; EB, event-based.
|
|
|
|
|
|---|---|---|---|
| ECG | S | EcgMove4 | 1,024 Hz |
| 3D acceleration | S | EcgMove4 | 64 Hz |
| Rotation rate sensor | S | EcgMove4 | 64 Hz |
| Pressure sensor | S | EcgMove4 | 8 Hz |
| Events | PR | EcgMove4 & Phone | EB |
| Sleep | PR & S | Phone | 1/Day |
| Dietary | PR | Phone | 1/Day |
Figure 4(A–C) Show the 10 s ECG recordings of AF, NSR, and Noise classes, respectively.
Figure 5The structure of the data records in CACHET-CADB. Overall, the database is divided into two major parts; (i) the raw recordings in binary files and (ii) the contextual information including patient-reported data and the annotations. Each record is organized according to patient ID first and day in study subsequently.
Metadata for the signal files described in the unisens.xml file of each record.
|
|
|
|
|
|
|---|---|---|---|---|
| Duration | String | Total recording time in seconds | ||
| General | Timestamp Start | String | Recording start time | |
| Measurement Id | String | Anonymous user id | ||
| Height | String | Height in centimeters | ||
| Weight | String | Weight in kilograms | ||
| Patient and | SensorVersion | String | Recording device version | |
| Device | SensorType | String | Recording device type | |
| Age | String | Age at recording in years | ||
| SensorLocation | String | ECG sensors location on body | ||
| PersonId | String | Anonymous user id | ||
| Gender | String | Gender (M/F) | ||
| ECG | ECG.bin | Binary | ECG I | Resolution: 12 bit, |
| Accelerometer | Acc.bin | Binary | accX, accY, accZ | 3D acceleration sensor |
| Angular Rate | Angularrate.bin | Binary | AngularRateX, | Rotation rate sensor: |
| Pressure | Press.bin | Binary | Press | Measurement range: 300–1,100 hPa |
| Marker | Marker.csv | Integer | Contains indexes of |
Contextual-data descriptor table.
|
|
|
|
|---|---|---|
| Time rel | [s] | Relative time from start of measurements in seconds |
| Day rel | [d] | Number of days from start of measurement |
| Time rel | [hh:mm:ss] | Relative time from start of measurement |
| Date abs | [yyyy-mm-dd] | Absolute date |
| Time abs | [hh:mm:ss] | Absolute time |
| ActivityClass | – | Activity Class (0 = unknown, 1 = lying, 2 = sitting/standing, 3 = cycling, 4 = slope up, 5 = jogging, 6 = slope down, 7 = walking, 8 = sitting/lying, 9 = standing, 10 = sitting/lying/standing, 11 = sitting, 99 = not worn) |
| ActivityEnergyExpenditure | [kcal/d] | Activity energy expenditure (AEE) in kcal/d |
| Altitude | [m] | Altitude from barometer |
| BodyPosition | – | Body position (0 = unknown, 1 = lying supine, 2 = lying left, 3 = lying prone, 4 = lying right, 5 = upright, 6 = sitting/lying, 7 = standing, 99 = not worn) |
| InclinationDown | [deg] | Inclination of sensor axis down against the vertical (0–180°) |
| InclinationForward | [deg] | Inclination of sensor axis forward against the vertical (0–180°) |
| InclinationRight | [deg] | Inclination of sensor axis right against the vertical (0–180°) |
| MET | MET value directly calculated from regression models | |
| MovementAcceleration | [g] | MovementAcceleration: Raw acceleration, bandpass filtered, vector magnitude |
| NonWearSleepWake | – | Sleep/Wake detection (0 = wake, 1 = sleep, 2 = not worn) |
| NonWearTime | – | Non wear detection (0 = worn, 1 = not worn) |
| StepCount | [steps] | Count of steps per output interval |
| TotalEnergyExpenditure | [kcal/d] | Total energy expenditure (TEE = BMR + AEE) |
| VerticalSpeed | [m/s] | Vertical speed, calculated from barometer |
The attributes are the columns of the context.xlsx file in the annotation folder of each day.
Metadata of patient-entered context data “dailyInfo” in JSON file.
|
|
|
|---|---|
| Date_time | Day for which the “ |
| Bed_time | Bed time |
| Awake_time | Wake up time |
| Sleep_quality | Self-assessed sleep quality (1–5) |
| Stress_level | Self-assessed stress level (1–5) |
| Lunch_time | Lunch time |
| Lunch_weight | Lunch quantity (heavy, moderate, light) |
| Breakfast_time | Breakfast time |
| Breakfast_weight | Breakfast quantity (heavy, moderate, light) |
| Dinner_time | dinner time |
| Dinner_weight | Dinner quantity (heavy, moderate, light) |
| Other_time | Time of any other meal/drink |
| Other_weight | Meal/Drink quantity (heavy, moderate, light) |
Metadata of patient-entered “event” field in JSON file representing patient-reported symptoms that the patient may have experienced during the recording period.
|
|
|
|---|---|
| Id | Unique id |
| Notes | Note describing the unusual experience/symptoms |
| Labels | n/a |
| Source | How was the event entered? |
| Deleted | Was the event Deleted? (true/false) |
| Comments | n/a |
| Duration | Time in seconds for which symptoms lasted |
| Symptom | Symptom experienced during the unusual event (e.g., “Dizziness”) |
| Activity | Patients activity when the unusual symptoms were experienced |
| Completed | Were the details of an event filled in? True: All fields were completed. False: Not filled/ Partially filled |
| Reviewed | n/a |
| Date_time | Time of the event as experienced by the patient |
The patient could delete an event, e.g., if it was created by accidentally tapping the ECG device.
The patient's comments are removed for anonymity.
ECG annotation overview showing the class of rhythm types, its code in the annotation.csv file, and the number of available annotations for each class.
|
|
|
|
|---|---|---|
| AF | 1 | 747 |
| NSR | 2 | 615 |
| Noise | 3 | 221 |
| Others | 4 | 19 |
Figure 6Analysis of ECG quality, QRS complex, and R-peak detection.
Signal quality assessments and detection of QRS complex/R-peaks. Non-wear Time: Time for which device was taken off (for changing, bathing, for any other reasons).
|
|
|
|
| |||
|---|---|---|---|---|---|---|
| P1 |
| 12 | 1,158,069 | 241.58 | 7.48 | 6.15 |
| P2 |
| 7 | 673,950 | 139.40 | 6.47 | 1.03 |
| P3 |
| 15 | 1,440,323 | 315.77 | 8.40 | 41.08 |
| P4 |
| 8 | 739,199 | 173.14 | 5.80 | 10.85 |
| P5 |
| 8 | 665,666 | 147.97 | 16.27 | 25.50 |
| P7 |
| 12 | 913,892 | 260.16 | 12.43 | 41.91 |
| P6 |
| 12 | 1,241,040 | 257.34 | 3.26 | 8.82 |
| P8 |
| 22 | 2,895,927 | 479.16 | 9.90 | 77.98 |
| P9 |
| 12 | 921,713 | 247.78 | 29.61 | 82.21 |
| P10 |
| 16 | 1,297,163 | 359.85 | 31.72 | 80.28 |
| P11 |
| 16 | 1,363,671 | 326.96 | 12.72 | 61.26 |
| P12 |
| 14 | 1,988,086 | 308.91 | 6.88 | 6.31 |
| P13 |
| 19 | 1,964,554 | 412.19 | 2.65 | 16.63 |
| P14 |
| 12 | 1,035,832 | 262.94 | 29.90 | 111.36 |
| P15 |
| 14 | 1,385,906 | 315.49 | 28.05 | 79.08 |
| P16 |
| 17 | 1,567,938 | 359.86 | 6.29 | 25.71 |
| P17 |
| 15 | 1,280,062 | 325.34 | 6.02 | 19.18 |
| P18 |
| 5 | 431,256 | 92.95 | 3.23 | 1.54 |
| P19 |
| 4 | 272,549 | 75.22 | 3.59 | 2.51 |
| P21 |
| 8 | 778,148 | 168.93 | 10.34 | 12.10 |
| P23 |
| 7 | 762,802 | 160.54 | 7.24 | 6.33 |
| PNSR-1 |
| 1 | 105,079 | 24.00 | 0.49 | 0.56 |
| PNSR-3 |
| 1 | 92,134 | 26.44 | 27.14 | 0.00 |
| PNSR-4 |
| 2 | 191,867 | 48.00 | 5.63 | 2.05 |
| Total | 259 | 25,166,826 | 5529.94 | 726.57 |
Figure 7Explainable deep learning: This Figure shows a contextualized view of a deep learning-based AF detection model Andersen's (25) performance on a single day of ECG from CACHET-CADB. In 24 h of ECG under free-living conditions, short segments of false positive in a model's output are linked to change in activity, change in body position, and sudden movement accelerations.