VitalDB 概述

网站地址: https://vitaldb.net/dataset/

 

介绍

这是由术中生物信号和临床信息组成的 6,388 名手术患者的综合数据集。数据集中包含的生物信号数据是高质量数据,例如 500 Hz 波形信号和间隔 1-7 秒的数值。还提供了 60 多项与手术相关的临床信息,以帮助解释信号。

该数据集免费提供,旨在帮助那些想要使用手术患者监测信号研究和开发新医疗 AI 算法的研究人员。我们期待这个世界上最大的生物信号数据集的发布将极大地促进医疗 AI 研究的发展。

 

 

如果您在研究中使用 VitalDB 开放数据集,请引用以下出版物:

Lee HC、Park Y、Yoon SB、Yang SM、Park D、Jung CW。VitalDB,外科患者高保真多参数生命体征数据库。Sci Data。2022 年 6 月 8 日;9(1):279。doi :10.1038/s41597-022-01411-5。PMID :35676300;PMCID:PMC9178032。 

 

数据集摘要

  • 数据来自于韩国首尔国立大学医院 31 间手术室中的 10 间接受常规或紧急手术的非心脏(普通、胸外科、泌尿外科和妇科)手术患者。
  • 数据的获取和发布已获得首尔国立大学医院机构审查委员会的批准(H-1408-101-605)。该研究还在 clinicaltrials.gov 上注册(NCT02914444)。
  • 病例文件以生命文件的形式使用 Vital Recorder 1.7.4 版进行记录。每个病例文件包含高分辨率数据,波形数据的时间分辨率为 500 Hz,数值数据的时间分辨率为 1-7 秒,平均每个病例有 280 万个数据点。
  • 该数据集包含来自 6,388 例病例的总共 557,622 条(平均 87 条,范围 16-136 条)数据轨迹。提取重要文件中的所有数据轨迹,将其转换为 csv,并使用 gzip 进行压缩。

 

数据集摘要

 

 

普通外科

(样本量 = 4,930)

胸外科

(人数=1,111)

妇科

(n = 230)

泌尿科

(n = 117)

全部的

(样本量 = 6,388)

人口统计

性别(男)

2,524(51.2%)

618(55.6%)

0(0%)

101(86.3%)

3,243(50.8%)

年龄(岁)

59(48-68)

61(52-70)

45 (35-55)

64(58-72)

59(48-68)

身高(厘米)

162(156-169)

163(156-169)

159(155-163)

168(161-173)

162(156-169)

重量(公斤)

60(53-69)

61(54-69)

59(53-66)

69 (62-77)

61(53-69)

手术方法

打开

3,104(63.0%)

190(17.1%)

65(28.3%)

6(5.1%)

3,368(52.7%)

影像内窥镜

1,691(34.2%)

889(80.0%)

140(60.9%)

34(29.1%)

2,701(42.3%)

机器人

135(2.7%)

32(2.9%)

25(10.9%)

77(65.8%)

269(4.2%)

麻醉

一般的

4,630(93.9%)

1,093(98.4%)

203(88.3%)

117(100.0%)

6,043(94.6%)

246(5.0%)

0(0.0%)

27(11.7%)

0(0.0%)

273(4.3%)

镇静

54(1.1%)

18(1.6%)

0(0.0%)

0(0.0%)

72(1.1%)

麻醉时长(分钟)

 

150(90-245)

170(110-220)

135 (95-185)

190(79-231)

150(90-240)

麻醉药

七氟醚

2,076(42.1%)

255(23.0%)

172(74.8%)

34(29.1%)

2,537(39.7%)

地氟烷

1,012(20.5%)

226(20.3%)

69(30.0%)

106(90.6%)

1,383(21.6%)

丙泊酚靶控注射

2,490(50.5%)  

996(89.6%)

5(2.2%)

7(6.0%)

3,498(54.8%)

瑞芬太尼靶控注射

3,639(73.8%)

1,000(90.0%)

110(47.8%)

86(73.5%)

4,835(75.7%)

设备

有轨电车-Rac 4A (SNUADC)

4,910(99.6%)

1,103(99.3%)

226(98.3%)

116(99.1%)

6,355(99.5%)

太阳能8000M

4,930(100.0%)

1,111(100.0%)

230(100.0%)

117(100.0%)

6,388(100%)

普里默斯

4,915(99.7%)

1,104(99.4%)

226(98.3%)

117(100.0%)

6,362(99.6%)

商务信息系统

4,282(86.9%)

1,004(90.4%)

196(85.2%)

84(71.8%)

5,566(87.1%)

乐队

3,713(75.3%)

1,005(90.5%)

115(50.0%)

86(73.5%)

4,919(77.0%)

维吉利奥

85(1.7%)

227(20.4%)

4(1.7%)

32(27.4%)

348(5.4%)

EV1000

598(12.1%)

1(0.1%)

0(0.0%)

0(0.0%)

599(9.4%)

警戒二

63(1.3%)

0(0.0%)

0(0.0%)

0(0.0%)

63(1.0%)

心肺复苏

29(0.6%)

0(0.0%)

0(0.0%)

0(0.0%)

29(0.5%)

信息技术服务

33(0.7%)

0(0.0%)

0(0.0%)

0(0.0%)

33(0.5%)

飞行管理系统2000

15(0.3%)

0(0.0%)

0(0.0%)

0(0.0%)

15(0.2%)

 

 

设备和数据轨道描述

 

设备

设备类型

公司

参数

数据类型

参数数量

采集间隔(秒)

有轨电车4A

(新加坡国立大学发展研究中心)

病人监护仪

通用电气医疗

心电图、二氧化碳图、体积图、呼吸、血压

海浪

6

1/500

太阳能8000M

病人监护仪

通用电气医疗

心率、血压、血氧饱和度、体温、气体浓度等。

数字

四十四

2

普里默斯

麻醉机

德尔格

气体浓度、体积和流量、气道压力

波形和数字

三十七

1/62.5 表示波浪,7 表示数值数据

商务信息系统

脑电图监测仪

柯惠医疗

EEG 波、BIS 和相关参数

波形和数字

8

1/128 为脑电图波,1 为数值数据

管弦乐队®

靶控输液泵

费森尤斯卡比

靶浓度、血浆浓度和效应部位浓度;输注量、残留量、总容量、输注速率和压力;药物名称和浓度

数字

51

1

维吉利奥

心输出量监测仪

爱德华生命科学公司

每搏输出量及其派生参数

数字

5

2

EV1000

心输出量监测仪

爱德华生命科学公司

每搏输出量及其派生参数

 

9

2

警戒二

心输出量监测仪

爱德华生命科学公司

心输出量及衍生参数、体温、血氧饱和度、

 

14

2

心肺复苏

心输出量监测仪

德尔特克斯

每搏输出量、心输出量及相关参数

波形和数字

十三

1/180 用于血流和动脉压力波;1 用于数值数据

信息技术服务

脑/躯体血氧仪

柯惠医疗

脑氧饱和度

数字

2

5

飞行管理系统2000

快速输液系统

贝尔蒙特仪器

输注量、输注速率、温度、压力

数字

7

每输注 2.875 毫升

 

参数列表

临床信息

 

范围

数据源

描述

单元

干酪素

随机的

案例 ID;00001 至 06388 之间的随机数

 

主语

电子病历

受试者 ID;患者的未识别医院 ID

 

案例开始

案件档案

录制开始时间;设置为 0 以实现匿名化

案例结束

案件档案

记录结束时间;从 casestart 开始

安纳斯塔特

案件档案

麻醉开始时间;从 casestart 开始

结束

案件档案

麻醉结束时间;从病例开始

操作启动

案件档案

操作开始时间;从 casestart 开始

已打开

案件档案

操作结束时间;从 casestart 开始

年龄

电子病历

年龄

性别

电子病历

性别

男/女

高度

电子病历

高度

厘米

重量

电子病历

重量

公斤

体重指数

电子病历

体重指数

公斤/平方米

阿萨

电子病历

ASA 身体状况分类

 

埃莫普

电子病历

紧急行动

 

部门

电子病历

外科

 

操作类型

电子病历

手术类型

 

解析

电子病历

诊断

 

操作名称

电子病历

操作名称

 

方法

电子病历

手术方法

 

位置

电子病历

手术体位

 

ane_type

电子病历

麻醉类型

 

管理员

电子病历

案件开始受理时间

迪斯

电子病历

从外壳开始放电时间

los_postop

电子病历

术后住院时间

洛斯伊库

电子病历

术后ICU住院时间

医院死亡

电子病历

住院死亡率

 

preop_htn

电子病历

术前高血压

 

预操作

电子病历

术前糖尿病

 

手术前心电图

电子病历

术前心电图(正常窦性心律/左前束传导阻滞/等)

 

preop_pft

电子病历

术前肺功能

 

preop_hb

电子病历

术前血红蛋白

克/分升

预操作

电子病历

术前血小板计数

千分之一千

preop_pt

电子病历

术前物理治疗

操作前

电子病历

术前aPTT

手术前

电子病历

术前钠

毫摩尔/升

preop_k

电子病历

术前K

毫摩尔/升

preop_gluc

电子病历

术前血糖

毫克/分升

preop_alb

电子病历

术前白蛋白

克/分升

操作前

电子病历

术前GOT

国际单位/升

preop_alt

电子病历

术前GPT

国际单位/升

前手术包

电子病历

术前血尿素氮

毫克/分升

预操作

电子病历

术前肌酐

毫克/分升

preop_ph

电子病历

术前pH值

 

preop_hco3

电子病历

术前HCO3-

毫摩尔/升

preop_be

电子病历

术前血碱过剩

毫摩尔/升

preop_pao2

电子病历

术前 PaO2

毫米汞柱

preop_paco2

电子病历

术前PaCO2

毫米汞柱

preop_sao2

电子病历

术前 SpO2

科马克

电子病历

Cormack 等级

 

呼吸道

电子病历

航线

 

管尺寸

电子病历

气管插管尺寸

毫米

dltube尺寸

电子病历

双腔管尺寸

法语

图像大小

电子病历

LMA 尺寸

 

iv1

电子病历

静脉输液管位置 (1)

 

iv2

电子病历

静脉输液管位置 (2)

 

艾琳1

电子病历

动脉导管位置 (1)

 

艾琳2

电子病历

动脉导管位置 (2)

 

线1

电子病历

中心线位置 (1)

 

线2

电子病历

中心线位置 (2)

 

intraop_ebl

电子病历

估计失血量

毫升

手术内

电子病历

术中尿量

毫升

intraop_rbc

电子病历

术中红细胞输注

单元

intraop_ffp

电子病历

术中FFP输血

单元

晶体内

电子病历

术中晶体

毫升

胶体内部

电子病历

术中胶体

毫升

intraop_ppf

电子病历

丙泊酚注射液

毫克

intraop_mdz

电子病历

咪达唑仑

毫克

intraop_ftn

电子病历

芬太尼

微克

intraop_rocu

电子病历

罗库溴铵

毫克

intraop_vecu

电子病历

维库溴铵

毫克

intraop_eph

电子病历

麻黄碱

毫克

眼内

电子病历

苯肾上腺素

微克

术中

电子病历

肾上腺素

微克

intraop_ca

电子病历

氯化钙

毫克

 

血流动力学参数

* 参数名称格式为“设备名称/数据轨道名称”。

W=波形;N=数字;S=字符串

 

范围

描述

类型/Hz

单元

SNUADC/艺术

动脉压力波

无线/500

毫米汞柱

神经外科/心脏外科

中心静脉压波

无线/500

毫米汞柱

SNUADC/ECG_II

心电图Ⅱ导联波

无线/500

毫伏

SNUADC/ECG_V5

心电图V5导联波

无线/500

毫伏

有限元/模数转换器

股动脉压力波

无线/500

毫米汞柱

SNUADC/PLETH

体积描记波

无线/500

无单位

Solar8000/ART_DBP

舒张动脉压

毫米汞柱

Solar8000/ART_MBP

平均动脉压

毫米汞柱

Solar8000/ART_SBP

收缩压

毫米汞柱

Solar8000/BT

体温

Solar8000/CVP

中心静脉压

毫米汞柱

太阳能8000/ETCO2

呼气末二氧化碳

毫米汞柱

Solar8000/FEM_DBP

股动脉舒张压

毫米汞柱

Solar8000/FEM_MBP

股动脉平均动脉压

毫米汞柱

Solar8000/FEM_SBP

股动脉收缩压

毫米汞柱

Solar8000/FEO2

呼出的氧气含量

Solar8000/FIO2

吸入氧浓度

Solar8000/GAS2_已过期

呼气挥发性浓度

Solar8000/GAS2_INSPIRED

吸入挥发性物质浓度

太阳能8000/HR

心率

/分钟

Solar8000/INCO2

吸气二氧化碳

毫米汞柱

Solar8000/无创血压_舒张压

无创舒张动脉压

毫米汞柱

Solar8000/NIBP_MBP

无创平均动脉压

毫米汞柱

Solar8000/无创血压

无创收缩动脉压

毫米汞柱

Solar8000/PA_DBP

肺舒张动脉压

毫米汞柱

Solar8000/PA_MBP

肺平均动脉压

毫米汞柱

Solar8000/PA_SBP

肺收缩动脉压

毫米汞柱

Solar8000/PLETH_HR

基于体积描记法的心率

/分钟

Solar8000/PLETH_SPO2

经皮血氧饱和度

Solar8000/RR

根据心电图测量呼吸频率

/分钟

太阳能8000/RR_CO2

根据二氧化碳图测量呼吸频率

/分钟

Solar8000/ST_AVF

aVF 导联的 ST 段

毫米

Solar8000/ST_AVL

aVL 导联 ST 段

毫米

Solar8000/ST_AVR

aVR 导联的 ST 段

毫米

Solar8000/ST_I

I导联ST段

毫米

Solar8000/ST_II

II 导联 ST 段

毫米

Solar8000/ST_III

III 导联 ST 段

毫米

Solar8000/ST_V5

V5 导联 ST 段

毫米

Solar8000/VENT_COMPL

气道顺应性(来自呼吸机)

毫升/毫巴

Solar8000/VENT_INSP_TM

吸气时间(来自呼吸机)

Solar8000/VENT_MAWP

平均气道压力(来自呼吸机)

毫巴

Solar8000/VENT_MEAS_PEEP

呼气末正压(来自呼吸机)

毫巴

Solar8000/VENT_MV

每分钟通气量(来自呼吸机)

升/分钟

Solar8000/VENT_PIP

吸气峰值压力(来自呼吸机)

毫巴

Solar8000/VENT_PPLAT

平台压(来自呼吸机)

毫巴

Solar8000/VENT_RR

呼吸频率(来自呼吸机)

/分钟

Solar8000/VENT_SET_FIO2

设定吸入氧气的分数(来自呼吸机)

Solar8000/通风口设置_PCP

在压力控制模式下设置吸气峰值压力(来自呼吸机)

水柱

Solar8000/VENT_SET_TV

在容量控制模式下设置潮气量(来自呼吸机)

毫升

Solar8000/VENT_TV

测量潮气量(来自呼吸机)

毫升

普里默斯/AWP

气道压力波

女子62.5

百帕

Primus/二氧化碳

二氧化碳图

女子62.5

毫米汞柱

Primus/合规

气道顺应性

毫升/毫巴

Primus/ETCO2

呼气末二氧化碳

毫米汞柱

Primus/EXP_DES

呼气地氟醚压力

千帕

Primus/EXP_SEVO

呼气七氟醚压力

千帕

Primus/FEN2O

过期 N2O 的比例

Primus/FEO2

呼出的氧气含量

Primus/FIN2O

吸入 N2O 的比例

Primus/FIO2

吸入氧浓度

Primus/FLOW_AIR

空气流量

毫升/分钟

Primus/FLOW_N2O

N2O 流速

毫升/分钟

Primus/FLOW_O2

O2 流量

毫升/分钟

Primus/INCO2

吸气二氧化碳

毫米汞柱

Primus/INSP_DES

吸气地氟醚压力

千帕

Primus/INSP_SEVO

吸气七氟醚压力

千帕

Primus/MAC

肺泡内挥发性物质最低浓度

无单位

Primus/MAWP_MBAR

平均气道压力

毫巴

普里默斯/MV

每分钟通气量

大号

Primus/PAMB_MBAR

环境压力

毫巴

Primus/PEEP_MBAR

呼气末正压(PEEP)

毫巴

Primus/PIP_MBAR

吸气峰压

毫巴

Primus/PPLAT_MBAR

平台压力

毫巴

Primus/RR_CO2

根据二氧化碳图测量呼吸频率

/分钟

Primus/SET_AGE

患者年龄

Primus/SET_FIO2

设定吸入氧浓度

Primus/设置流量触发

设置流量触发值

毫升/分钟

Primus/设置新鲜流

设置新鲜气体流量

毫升/分钟

Primus/设置_INSP_PAUSE

设置吸气暂停

Primus/设置_INSP_PRES

设定吸气压力

毫巴

Primus/设置_INSP_TM

设定吸气时间

Primus/设置_INTER_PEEP

设定呼气末正压 (PEEP)

毫巴

Primus/设置PIP

设定吸气峰值压力

毫巴

Primus/设置_RR_IPPV

设置呼吸频率

/分钟

Primus/SET_TV_L

设定潮气量(升)

大号

Primus/电视

潮气量

毫升

Primus/VENT_LEAK

呼吸机漏气

毫升/分钟

管弦乐队/AMD_RATE

输注速率(胺碘酮 2 mg/mL)

毫升/小时

管弦乐队/AMD_VOL

输注量(胺碘酮 2 mg/mL)

毫升

管弦乐队/DEX2_RATE

输注速率(右美托咪啶 2 mcg/mL)

毫升/小时

管弦乐队/DEX2_VOL

输注量(右美托咪啶 2 mcg/mL)

毫升

管弦乐队/DEX4_RATE

输注速率(右美托咪啶 4 mcg/mL)

毫升/小时

管弦乐队/DEX4_VOL

输注量(右美托咪啶 4 mcg/mL)

毫升

管弦乐队/DOBU_RATE

输注速率(多巴酚丁胺 2 mg/mL)

毫升/小时

管弦乐队/DOBU_VOL

输注量(多巴酚丁胺 2 mg/mL)

毫升

管弦乐队/DOPA_RATE

输注速率(多巴胺 2 mg/mL)

毫升/小时

管弦乐队/DOPA_VOL

输注量(多巴胺 2 mg/mL)

毫升

管弦乐队/DTZ_RATE

输注速率(地尔硫卓 1 mg/mL)

毫升/小时

管弦乐队/DTZ_VOL

输注量(地尔硫卓 1 mg/mL)

毫升

管弦乐队/EPI_RATE

输注速率(肾上腺素 20 mcg/mL)

毫升/小时

管弦乐队/EPI_VOL

输注量(肾上腺素 20 mcg/mL)

毫升

管弦乐队/FUT_RATE

输注速率(呋喃 0.5 mg/mL)

毫升/小时

管弦乐队/FUT_VOL

输注量(福坦0.5毫克/毫升)

毫升

管弦乐队/MRN_RATE

输注速率(米力农 200 mcg/mL)

毫升/小时

管弦乐队/MRN_VOL

输注量(米力农 200 mcg/mL)

毫升

管弦乐队/NEPI_RATE

输注速率(去甲肾上腺素 20 mcg/mL)

毫升/小时

管弦乐队/NEPI_VOL

输注量(去甲肾上腺素 20 mcg/mL)

毫升

管弦乐队/NPS_RATE

输注速率(硝普钠 0.2 mg/mL)

毫升/小时

管弦乐队/NPS_VOL

输注量(硝普钠0.2mg/mL)

毫升

管弦乐队/NTG_RATE

输注速率(硝酸甘油0.2mg/mL)

毫升/小时

管弦乐队/NTG_VOL

输注量(硝酸甘油0.2mg/mL)

毫升

管弦乐队/OXY_RATE

输注速率(催产素0.2 U/mL)

毫升/小时

管弦乐队/OXY_VOL

输注量(催产素0.2U/mL)

毫升

管弦乐队/PGE1_RATE

输注速率(前列腺素-E1 2 mg/mL)

毫升/小时

管弦乐队/PGE1_VOL

输注量(前列腺素-E1 2 mg/mL)

毫升

管弦乐队/PHEN_RATE

输注速率(苯肾上腺素 100 mcg/mL)

毫升/小时

管弦乐队/PHEN_VOL

输注量(苯肾上腺素 100 mcg/mL)

毫升

管弦乐队/PPF20_CE

效应部位浓度(丙泊酚 20 mg/mL)

微克/毫升

管弦乐队/PPF20_CP

血浆浓度(丙泊酚 20 mg/mL)

微克/毫升

管弦乐队/PPF20_CT

目标浓度(丙泊酚 20 mg/mL)

微克/毫升

管弦乐队/PPF20_RATE

输注速率(丙泊酚 20 mg/mL)

毫升/小时

管弦乐队/PPF20_VOL

输注量(丙泊酚20mg / mL)

毫升

管弦乐队/RFTN20_CE

效应部位浓度(瑞芬太尼 20 mcg/mL)

纳克/毫升

管弦乐队/RFTN20_CP

血浆浓度(瑞芬太尼 20 mcg/mL)

纳克/毫升

管弦乐队/RFTN20_CT

目标浓度(瑞芬太尼 20 mcg/mL)

纳克/毫升

管弦乐队/RFTN20_RATE

输注速率(瑞芬太尼 20 mcg/mL)

毫升/小时

管弦乐队/RFTN20_VOL

输注量(瑞芬太尼 20 mcg/mL)

毫升

管弦乐队/RFTN50_CE

效应部位浓度(瑞芬太尼 50 mcg/mL)

纳克/毫升

管弦乐队/RFTN50_CP

血浆浓度(瑞芬太尼 50 mcg/mL)

纳克/毫升

管弦乐队/RFTN50_CT

目标浓度(瑞芬太尼 50 mcg/mL)

纳克/毫升

管弦乐队/RFTN50_RATE

输注速率(瑞芬太尼 50 mcg/mL)

毫升/小时

管弦乐队/RFTN50_VOL

输注量(瑞芬太尼 50 mcg/mL)

毫升

管弦乐队/ROC_RATE

输注速率(罗库溴铵 2 mg/mL)

毫升/小时

管弦乐队/ROC_VOL

输注量(罗库溴铵 2 mg/mL)

毫升

管弦乐队/VASO_RATE

输注速率(加压素0.2 U/mL)

毫升/小时

管弦乐队/VASO_VOL

输注量(加压素0.2 U/mL)

毫升

管弦乐队/VEC_RATE

输注速率(维库溴铵 1 mg/mL)

毫升/小时

管弦乐队/VEC_VOL

输注量(维库溴铵 1 mg/mL)

毫升

国际清算银行/国际清算银行

双频谱指数值

无单位

BIS/EEG1_WAV

来自通道 1 的脑电图波

无线 128

紫外线

BIS/EEG2_WAV

来自通道 2 的脑电图波

无线 128

紫外线

双相/肌电图

肌电图功率

分贝

国际清算银行/欧洲金融委员会

光谱边缘频率

赫兹

商务标准/质量保证

信号质量指标

国际清算银行/斯洛文尼亚

抑制比

BIS/托托

总功率

分贝

信息/SCO2_L

脑氧饱和度(左)

信息/SCO2_R

脑氧饱和度(右)

维吉利奥/CI

心脏指数

升/分钟/平方米

维吉利奥/CO

心输出量

升/分钟

维吉利奥/SV

每搏输出量

毫升/次

维吉利奥/SVI

每搏输出量指数

毫升/拍/平方米

维吉利奥/SVV

每搏输出量变异度

EV1000/ART_MBP

平均动脉压

毫米汞柱

EV1000/CI

心脏指数

升/分钟/平方米

EV1000/CO

心输出量

升/分钟

EV1000/CVP

中心静脉压波

水柱

EV1000/SV

每搏输出量

毫升/次

EV1000/SVI

每搏输出量指数

毫升/拍/平方米

EV1000/SVR

全身血管阻力

直径-秒/cm5

EV1000/SVRI

全身血管阻力指数

直径-尺寸-平方米/厘米5

EV1000/SVV

每搏输出量变异度

警惕/BT_PA

肺动脉温度

警戒/CI

心脏指数

升/分钟/平方米

警戒/CO

心输出量

升/分钟

警戒/EDV

舒张末期容积

毫升

警戒/EDVI

舒张末期容积指数

毫升/平方米

警戒/ESV

收缩末期容积

毫升

警戒/ESVI

收缩末期容积指数

毫升/平方米

警戒/HR_AVG

平均心率

/分钟

警觉性/RVEF

右心室射血分数

警戒/信噪比

信噪比

分贝

警觉/SQI

信号质量指标

警戒/安全

每搏输出量

毫升/次

警戒/SVI

每搏输出量指数

毫升/拍/平方米

警觉性/SVO2

混合静脉血氧饱和度

心脏Q/动态血压

动脉压力波

宽/180

毫米汞柱

CardioQ/FLOW

流波

宽/180

厘米/秒

心脏Q/CI

心脏指数

升/分钟/平方米

心肺复苏术

心输出量

升/分钟

CardioQ/FTc

流动时间已校正

多发性硬化症

CardioQ/FTp

流量达到峰值的时间

多发性硬化症

心率/心率

心率

/分钟

心脏问答/MA

平均加速度

厘米/秒2

心脏Q/MD

分钟距离

厘米

CardioQ/PV

峰值速度

厘米/秒

CardioQ/SD

行程距离

厘米

CardioQ/SV

每搏输出量

毫升/次

CardioQ/SVI

每搏输出量指数

毫升/拍/平方米

FMS/流量

流速

毫升

FMS/输入_AMB_温度

输入环境温度

FMS/输入温度

输入流体温度

FMS/输出_AMB_温度

输出环境温度

FMS/输出温度

输出流体温度

FMS/压力

输液管路压力

毫米汞柱

FMS/总成交量

总输注量

毫升

 

实验室结果

 

范围

数据源

类别

描述

单元

参考值

白细胞

电子病历

加拿大广播公司

白细胞计数

×1000/微升

4~10

血红蛋白

电子病历

加拿大广播公司

血红蛋白

克/分升

13~17

血细胞比容

电子病历

加拿大广播公司

血细胞比容

39~52

血小板

电子病历

加拿大广播公司

血小板计数

×1000/微升

130~400

血沉

电子病历

加拿大广播公司

红细胞沉降率

毫米/小时

0~9

葡萄糖

电子病历

化学

葡萄糖

毫克/分升

70~110

蛋白

电子病历

化学

总蛋白

克/分升

6.0~8.0

白蛋白

电子病历

化学

白蛋白

克/分升

3.3~5.2

电子病历

化学

总胆红素

毫克/分升

0.2~1.2

星号

电子病历

化学

天冬氨酸转移酶

国际单位/升

1~40

替代

电子病历

化学

丙氨酸转移酶

国际单位/升

1~40

包子

电子病历

化学

血尿素氮

毫克/分升

10~26

cr

电子病历

化学

肌酐

毫克/分升

0.70~1.40

肾小球滤过率

电子病历

化学

肾小球滤过率

毫升/分钟/1.73平方米

90~120

循环负荷

电子病历

化学

肌酐清除率

毫升/分钟

75~125

电子病历

化学

毫摩尔/升

135~145

电子病历

化学

毫摩尔/升

3.5~5.5

伊卡

电子病历

化学

钙离子

毫摩尔/升

1.05~1.35

电子病历

化学

氯化物

毫摩尔/升

98~110

弹药

电子病历

化学

微克/分升

27.2~102

慢性淋巴细胞白血病

电子病历

化学

C反应蛋白

毫克/分升

0~0.5

紫胶

电子病历

化学

乳酸

毫摩尔/升

0.5~2.2

普丁尔

电子病历

凝血

凝血酶原时间(INR)

印度卢比

0.8~1.2

点%

电子病历

凝血

凝血酶原时间 (%)

80~120

点秒

电子病历

凝血

凝血酶原时间(秒)

10.6~12.9

适配体

电子病历

凝血

活化部分凝血活酶时间

26.7~36.6

谎言

电子病历

凝血

纤维蛋白原

毫克/分升

192~411

酸碱度

电子病历

ABGA

pH

 

7.35~7.45

二氧化碳分压

电子病历

ABGA

二氧化碳分压

毫米汞柱

35~48

氧合量

电子病历

ABGA

O2 分压

毫米汞柱

83~108

碳酸氢钠

电子病历

ABGA

碳酸氢盐

毫摩尔/升

18~23.0

电子病历

ABGA

基础过剩

毫摩尔/升

-2.0~3.0

sao2

电子病历

ABGA

动脉血氧饱和度

95~98

 

数据使用协议

1. 目的

本协议(以下简称“协议”)依据韩国个人信息保护法第18条第(2)款第4项、韩国生命伦理法第16条第(3)款以及1996年健康保险流通与责任法案(HIPPA)第45 CFR第160部分和第164部分制定。本协议旨在指定允许数据用户(以下简称“用户”)访问VitalDB团队(以下简称“提供商”)提供的有限数据集(以下简称“数据”)所需的详细信息。

 

2. 条款

除非另有规定,本协议中使用的术语定义应受韩国个人信息保护法和美国HIPPA法规的管辖。

 

3. 许可

用户可以根据我们的使用条款使用来自提供商网站的数据集。

该数据集将根据 Creative Commons 署名-非商业-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 许可证发布给用户。此许可证类型已应用于 VitalDB 开放数据集,以最大限度地传播和使用数据。

 

4. 提供商的义务

提供商准备数据并将其呈现给用户。以下唯一个人标识符和受保护的健康信息 (PHI) 将从提供的数据中删除:

姓名(包括中文及全名)、地址、唯一识别符(居民身份证号、护照号、外国人登记号、驾驶证号、病历号、健康保险号、社会福利号、士兵编号、营业执照号)、时间(出生日期、周年纪念日、死亡日期、证明日期、入院日期、出院日期、手术日期等)、电话号码(手机号码、家庭电话号码、工作电话号码、传真号码)、电子邮件地址、主页地址、账号、卡号、各种证件及执照号码、生物特征信息(指纹、声音、虹膜等)、

 

5. 用户的义务

1)用户可以将数据用于研究和开发目的。

2) 未经提供商同意,用户不得向任何未受雇于用户的人披露数据。如果用户希望向其员工披露数据,则用户必须将合同记录在案,合同中规定的限制和条件与对员工适用的限制和条件相同,并对数据的使用承担全部法律责任。

3)除法律规定外,用户不得超出本协议范围使用或披露数据。

4) 用户必须采取适当的安全措施,防止超出本协议范围的数据的使用或披露。

5) 如果用户使用或披露数据超出本协议范围,则必须在24小时内向提供商报告。

6) 用户不得试图从数据中识别任何个人信息。

 

6. 合同变更

1)提供商在有合理理由的情况下可以更改本协议,在这种情况下,提供商应在更改应用前不迟于 14 天将更改日期和原因发布到 VitalDB 网站。

2) 根据第1款规定对合同进行的任何变更,均应在用户同意后生效。但是,如果用户未在一定时间内表示拒绝的意思表示,则视为用户同意修改后的合同。

3) 用户有义务定期查看VitalDB主页上的通知。

4)因用户未及时确认本协议的变更而造成的任何损失由用户自行承担。

 

7. 合同终止

1) 除另有规定外,本协议期限为五年。但如果没有通知,合同期限将自动延长。

2) 用户可以随时通过删除所提供的数据并通知提供商这一事实来终止合同。

3) 提供商可随时终止本协议,但需提前 30 天向用户发出通知。

4) 出现下列情况时,合同立即终止:

a) 发现用户违反了 HIPAA、个人信息保护法或生物伦理法。

b) 用户违反其所属国家或组织的法律或法规。

c) 提供商可自行判断推定用户违反了本协议。

d) 服务商的利益因服务商自行判断而受到侵犯。

 

8. 其他

1)如果由于相关立法变化而导致数据不再可用,则提供商可能会在向用户发出 14 天通知后限制数据的使用。

2) 除本协议另有规定外,用户的权利不得转让给任何第三方。

 

Web API

VitalDB Web 应用程序编程接口 (API) 是一种独立于语言的接口,允许用户通过 HTTP 安全协议获取 VitalDB 开放数据集。所有 Web API 的端点都可以通过发送带有 GET 方法的 HTTP 请求或在 Web 浏览器中输入地址来访问。

响应是采用GZip 压缩的逗号分隔值 (CSV) 格式的文件。

每个 CSV 文件的开头都有一个标题行其中包含列名。 

支持的端点及其用途如下。

端点 URL

方法

目的

https://api.vitaldb.net/cases

得到

下载临床信息

https://api.vitaldb.net/trks

得到

下载曲目列表

https://api.vitaldb.net/{tid}

得到

下载轨迹数据

{tid} :曲目列表中的曲目标识符

https://api.vitaldb.net/labs

得到

下载实验室结果

 

临床信息

端点 URL:https://api.vitaldb.net/cases

 

该端点包含与临床信息相关的信息。

参数列表可在此处获得。

请注意,所有时间点均以案件开始时间为单位,以秒为单位。因此,在所有案件中,案件开始始终为零,案件结束则为整个案件的长度(以秒为单位)。

 

曲目列表

端点 URL:https://api.vitaldb.net/trks

 

此端点包含与轨道相关的信息。

各列的定义如下。

 

列名称

描述

干酪素

案例标识符

姓名

曲目名称

时间

轨道标识符

 

tname 的完整列表可在此处查看。

追踪数据

端点 URL:https: //api.vitaldb.net/TID

 

要下载包括实际测量值的轨迹数据,您可以向该地址发送 GET 请求。对于TID ,您可以使用轨迹列表上的轨迹 ID。

同一案件中的所有曲目都使用相同的开始时间,因此它们是时间同步的。

 

轨迹数据有两列:时间和值

第一列有时间(s),第二列有相应的值。

但根据轨道类型(ttype),存储的形式会有所不同。

  • 数字数据轨道
  • 缺少值的行将被省略。
  • 因此,行之间的时间间隔可能会有所不同。
  • 波形数据跟踪
  • 时间列有三个值:开始时间(0)、时间间隔(s)和结束时间(s)。
  • 假设行之间的时间间隔是恒定的(单调增加的时间)。
  • 不会省略具有缺失值的行,因此数据可以作为数组加载。

 

 

实验室结果

 

端点 URL:https://api.vitaldb.net/labs

 

该端点包含测试结果。

 

变量名称

描述

干酪素

案例标识符

日期

测试时间(基于案例开始的秒数)

姓名

测试名称

结果

测试结果

 

VitalDB Python 库

本文档介绍了 VitalDB Python 库,它有助于在 Python 语言中使用 Vital 文件格式和 VitalDB 数据。

 

安装

可以使用 python 包安装程序 (PIP) 安装 VitalDB Python 库。

 

$ pip install vitaldb

然后您需要导入vitaldb库。

 

import vitaldb

 

重要文件 API

您可以使用vital_trks函数从重要文件中读取曲目列表

 

vitaldb.vital_recs (ipath,track_names=None,interval=None,return_timestamp=False,return_datetime=False,return_pandas=False,排除= None )

参数列表

ipath :要读取的重要文件路径
track_names :轨道名称列表,例如)['SNUADC/ECG','Solar 8000/HR']
间隔:每个样本的间隔。如果没有,则为最大分辨率。如果没有波迹,则为 1 秒
return_timestamp :返回 unix 时间戳
return_datetime :返回第一列中每个样本的日期时间
return_pandas :返回 pandas 数据框
返回值

具有输入参数指定的相同间隔的样本的 numpy 数组。

 

该库包含一个 VitalFile 类,用于读取和写入 Vital 文件格式。

vitaldb.VitalFile (ipath、track_names=None、header_only=False、skip_records=None、exclude=None、userid=None、maxlen=None、interval= None )

参数列表

ipath :
caseid:开放数据集的caseid
路径:文件路径
list:要合并文件的文件路径列表
track_names :列表或逗号分隔的轨道名称(带设备名称)。如果缺失,则加载所有轨道。
header_only / skip_records :仅当为 True 时才读取轨道信息。其他大小,所有轨道数据(默认)。
True:仅读取曲目名称
排除:列出或用逗号分隔的轨道名称(带设备名称)
userid :如果是 vitaldb.net,则从云端下载重要文件或 parquet 文件时的用户 ID
maxlen :设置 VitalFile 的最大长度(以秒为单位)
间隔:每个样本的间隔。如果没有,则为最大分辨率。如果没有波迹,则为 1 秒
返回值

VitalFile 对象

 

 

示例代码

以下示例代码将 caseid 为 1 的重要文件下载到当前工作目录

 

vf = vitaldb.VitalFile(1)

vf.to_vital('1.vital')

 结果:

您可以使用 Vital Recorder 打开并查看下载的重要文件。

 

下一个示例代码仅下载 SNUADC/ECG_II 轨道。它比前一个示例更快。

import vitaldb

vf = vitaldb.VitalFile(1, ['SNUADC/ECG_II'])

vf.to_vital('1.vital')

 

Results:

 

vitaldb.read_vital(ipath, track_names=None, exclude=None, header_only=False, maxlen=None)

Parameter list

  • ipath: vital file path to read
  • track_names: list of track names, eg) ['SNUADC/ECG', 'Solar 8000/HR']
  • exclude: list or comma separated track names (with device names)
  • header_only: read track information only if True.
  • maxlen: set max length of a VitalFile in seconds.

Return value

  • VitalFile object read from .vital file

 

vitaldb.read_csv(ipath, track_names=None, exclude=None, interval=None)

Parameter list

  • ipath: vital file path to read
  • track_names: list of track names, eg) ['SNUADC/ECG', 'Solar 8000/HR']
  • exclude: list or comma separated track names (with device names)
  • interval: interval of each sample. if None, maximum resolution. if there is no wave tracks, 1 sec

Return value

  • VitalFile object read from .csv file

 

vitaldb.read_wfdb(ipath, track_names=None, exclude=None, header_only=False)

Parameter list

  • ipath: vital file path to read
  • track_names: list of track names, eg) ['SNUADC/ECG', 'Solar 8000/HR']
  • exclude: list or comma separated track names (with device names)
  • header_only:read track information only if True.

Return value

  • VitalFile object read from .csv.gz file, written in waveform-database format

 

vitaldb.read_parquet(ipath, track_names=None, exclude=None)

Parameter list

  • ipath: vital file path to read
  • track_names: list of track names, eg) ['SNUADC/ECG', 'Solar 8000/HR']
  • exclude: list or comma separated track names (with device names)

Return value

  • VitalFile object read from .parquet file

 

After loading the vital file, you can convert it to pandas or numpy format for data analysis.

vitaldb.VitalFile.to_numpy(track_names, interval, return_datetime=False, return_timestamp=False)

Parameter list

  • track_names:  list or comma separated track names (with device names)
  • interval: time interval of each row
  • return_datetime: add time in datetime format to each record
  • return_timestamp: add time in timestamp format to each record

Sample Code

The following code downloads arterial waveform from the first case of open dataset and show.

 

import vitaldb

import matplotlib.pyplot as plt

 

track_names = ['SNUADC/ART']

vf = vitaldb.VitalFile(1, track_names)

samples = vf.to_numpy(track_names, 1/100)

 

plt.figure(figsize=(20, 5))

plt.plot(samples[:, 0])

plt.show()

 

vitaldb.VitalFile.to_pandas(track_names, interval, return_datetime=False, return_timestamp=False)

Parameter list

  • track_names:  list or comma separated track names (with device names)
  • interval: time interval of each row
  • return_datetime: add time in datetime format to each record
  • return_timestamp: add time in timestamp format to each record

 

You can save the vital files in several formats.

vitaldb.VitalFile.to_vital(opath, compresslevel=1)

  • Save as vital file

Parameter list

  • opath: file path to save

 

vitaldb.VitalFile.to_csv(opath, track_names, interval, return_datetime=False, return_timestamp=False)

  • Save as csv file

Parameter list

  • opath: file path to save
  • track_names: list of track names
  • interval: time interval of each row
  • return_datetime: add time in datetime format to each record
  • return_timestamp: add time in timestamp format to each record

 

vitaldb.VitalFile.to_wfdb(opath, track_names=None, interval=None)

  • Save as waveform-database file

Parameter list

  • opath: file path to save
  • track_names: list of track names
  • interval: time interval of each row

 

vitaldb.VitalFile.to_wav(opath, track_names, srate=None)

  • Save as wave file

Parameter list

  • opath: file path to save
  • track_names: list of track names
  • srate: sample frequency

 

vitaldb.VitalFile.to_parquet(opath)

  • Save as parquet file

Parameter list

  • opath: file path to save

 

There are other functions for using and editing VitalFile.

 

vitaldb.VitalFile.crop(dtfrom=None, dtend=None)

  • Cut the vital file to the desired time

Parameter list

  • dtfrom: start time in unix timestamp format
  • dtend: end time in unix timestamp format

 

vitaldb.VitalFile.get_track_names()

  • Return only the track names contained in the vital file

 

vitaldb.VitalFile.get_track_samples(dtname, interval)

  • Get samples of each track

Parameter list

  • * dtname: list or comma separated track names (with device names)
  • * interval: interval of samples in sec. if None, maximum resolution. if no resolution, 1/500

 

vitaldb.VitalFile.remove_track(dtname)

  • Delete track by name

Parameter list

  • dtname: device and track name

 

vitaldb.VitalFile.add_track(dtname, recs, srate=0, unit=’’, mindisp=0, maxdisp=0)

Parameter list

  • dtname: device and track name
  • recs: list or comma separated dictionary with ‘val’ and ‘dt’ as key
  • srate: If wave track, Hz of float type
  • unit: unit of string type
  • mindisp: minimum value
  • maxdisp: maximum value

 

vitaldb.VitalFile.find_track(dtname)

  • Find track from name

Parameter list

  • dtname: device and track name

 

Platform API

You can access the vital files from cloud storage or intranet server with the api module.

vitaldb.login(id, pw, host=None, port=None)

  • Use the setserver function above to set the site with given host and port

Parameter list

  • id: id to login
  • pw: pw to login
  • host: IP address (default value: vitaldb.net)
  • port: string type of port number

 

vitaldb.filelist(bedname=None, dtstart=None, dtend=None)

  • request file list

 

Parameter list

  • bedname: bed name and bed number connected with “_”
  • dtstart: start time in “Y-m-d h:m:s” format
  • dtend: end time in “Y-m-d h:m:s” format

 

vitaldb.download(filename, localpath=None)

  • Request file download

 

Parameter list

  • filename: file name to download(‘0000_00_000000_000000.vital’)
  • localpath: local path to download

Sample code

The following sample code downloads all vital files with bedname and periods.

import vitaldb

import pandas as pd

import os

# path to save downloaded files

DOWNLOAD_DIR = "Download"

SERVER_IP = 'xxx.xx.xxx.xxx'

SERVER_PORT = '80'

LOGIN_ID = ''  # Please enter your login id

LOGIN_PW = ''  # Please enter your login password

BED_NAME = "MICU"

START_DATE = "2022-01-01"

END_DATE = "2022-01-31"

if vitaldb.login(LOGIN_ID, LOGIN_PW, SERVER_IP, SERVER_PORT):  # login

    # check filelist

    filelist = vitaldb.filelist(bedname=BED_NAME, dtstart=START_DATE, dtend=END_DATE)

    print(pd.DataFrame(filelist))

    if not os.path.exists(DOWNLOAD_DIR):

        os.mkdir(DOWNLOAD_DIR)

    # files load & download

    for file in filelist:

        print('downloading ' + file['filename'], end='...')

        localpath = DOWNLOAD_DIR + '/' + file['filename']

        res = vitaldb.download(file['filename'], localpath)

        print('done')

else:

        print('login error')

Dataset API

You can use vitaldb open datasets with vitaldb python library.

Find cases in the VitalDB open dataset

caseids = vitaldb.find_cases(['ECG_II', 'ART'])

len(caseids)

Results: 3644

Read an open dataset case

vals = vitaldb.load_case(caseids[0], ['ECG_II','ART'], 1/100)

print(vals)

 

ecg = vals[:,0]

art = vals[:,1]

 

# plot

import matplotlib.pyplot as plt

plt.figure(figsize=(20,10))

plt.subplot(211)

plt.plot(ecg[110000:111000], color='g')

plt.subplot(212)

plt.plot(art[110000:111000], color='r')

plt.show()

 

Results:

[[       nan        nan]

 [       nan        nan]

 [       nan        nan]

 ...

 [  0.148893 -32.5087  ]

 [ -0.325087  19.8266  ]

 [       nan        nan]]