blinoff/S-OH
Scent of Health (S-OH) Dataset The Scent of Health (S-OH) dataset is the largest public clinical electronic nose (eNose) collection for non-invasive disease screening via exhaled breath analysis. It comprises 1,234 patients across nine diagnostic groups (healthy controls and eight diseases), each providing a 17-channel multivariate time series of breath measurements. Property Value Patients 1,234 Diagnostic groups 9 (healthy + 8 diseases) Time series channels 17… See the full description on the dataset page: https://huggingface.co/datasets/blinoff/S-OH.
Scent of Health (S-OH) Dataset
The Scent of Health (S-OH) dataset is the largest public clinical electronic nose (eNose) collection for non-invasive disease screening via exhaled breath analysis. It comprises 1,234 patients across nine diagnostic groups (healthy controls and eight diseases), each providing a 17-channel multivariate time series of breath measurements.
Diagnostic Groups
Demographics:
- Age range: 18–89 years (mean 53.9, std 13.4)
- Gender: 690 female (55.9%), 544 male (44.1%)
Dataset Structure
File 1: S-OH_metadata.csv
CSV file containing patient metadata with the following columns:
File 2: S-OH_data_dict.json
JSON dictionary where each key is a patient ID (as string) with the following structure:
{
"patient_id": int,
"patient_diag_class": int,
"startDateTime": "ISO timestamp",
"startTimeGases": int,
"endTimeGases": int,
"durationSec": int,
"sensors": [
{
"id": "enose",
"sampleRate": 0.4,
"channels": [
{"id": "R1", "samples": [float, ...]},
{"id": "R2", "samples": [float, ...]},
...
{"id": "R17", "samples": [float, ...]},
{"id": "humidity", "samples": [float, ...]},
{"id": "temperature", "samples": [float, ...]}
]
},
{
"id": "ze03",
"sampleRate": 0.4,
"channels": [{"id": "0", "samples": [float, ...]}]
},
{
"id": "mhz14",
"sampleRate": 0.4,
"channels": [{"id": "0", "samples": [float, ...]}]
},
{
"id": "ze08",
"sampleRate": 0.4,
"channels": [{"id": "0", "samples": [float, ...]}]
},
{
"id": "bme280",
"sampleRate": 0.4,
"channels": [
{"id": "pressure", "samples": [float, ...]},
{"id": "temperature", "samples": [float, ...]},
{"id": "humidity", "samples": [float, ...]}
]
}
]
}eNose Channels (17 channels)
The eNose sensor array consists of 17 channels printed on a single chip:
Auxiliary Sensors
Temporal Train/Test Splits
The dataset includes explicit temporal splits to enable drift-aware evaluation. For each disease, test weeks were selected to be temporally separated from training weeks, simulating real-world deployment conditions.
Ethics
- The study protocol was approved by the Local Ethics Committee at Moscow Regional Research and Clinical Institute (MONIKI) and Central Research Institute of Tuberculosis (CRIT).
- All participants provided written informed consent.
Citation
If you use this dataset in your research, please cite:
License
This dataset is released under the MIT License. You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the dataset, subject to the following conditions:
Permission is hereby granted, free of charge, to any person obtaining a copy of this dataset and associated documentation files (the "Dataset"), to deal in the Dataset without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Dataset, and to permit persons to whom the Dataset is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Dataset. THE DATASET IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE DATASET OR THE USE OR OTHER DEALINGS IN THE DATASET.
Contact
For questions or issues, please open an issue on this repository or contact the authors (see paper for details).
