MIMIC数据库就是一个可为临床研究者提供临床数据的利器。
该数据库于2003年在美国国立卫生研究院的资助下,由美国麻省理工学院计算生理学实验室、美国哈佛医学院贝斯以色列女执事医疗中心(Beth Israel Deaconess Medical Center,BIDMC)和飞利浦医疗公司共同建立。
研究者可根据一定的纳排标准筛选感兴趣患者的临床信息,利用这些信息可进行后续的数据分析然后撰写文章,通过数据收集与分析可作为发表sci论文的重要依据。另外,MIMIC是一个公开数据库,所有患者的信息都经过脱敏处理,发文不需要临床伦理审查。
以下各类疾病都有涉及:
MIMIC 数据库目前已经产生了MIMIC Ⅱ、Ⅲ、Ⅳ三个版本。MIMIC数据库包含了BIDMC所有内外科ICU患者的数据,数据团队为保护患者隐私,对患者信息进行去标识化处理,向全世界的研究人员免费开放。
MIMIC Ⅳ数据库主要有三类数据:
患者入院信息, 以每次入院为单位记录, 每条记录有一个单独的hadm_id, hospital_expire_flag只当次住院是否院内死亡, 部分院内死亡患者没有deathtime, 可能是数据库本身问题
病人定义:
分为六个模块,Core、Hosp、ICU、ED、CXR、Note
Core模块包含患者跟踪数据。这里描述了人口统计、入院信息和住院病房转院情况
Hosp模块涵盖的信息包括实验室测量,微生物学,药物管理,和收费诊断等
官方链接:https://physionet.org/content/mimic-iv-ed/2.2/
文件大小:116.3 MB
官方介绍:MIMIC-IV-ED是贝斯以色列女执事医疗中心2011年至2019年期间急诊科(ED)入院情况的大型免费数据库。该数据库包含约425,000个ED停留。生命体征,分诊信息,药物调解,药物管理和出院诊断是可用的。所有数据都符合健康信息可携带性和责任法案(HIPAA)安全港规定。MIMIC-IV-ED旨在支持各种教育活动和研究。
内容介绍:急诊信息,包含急诊诊断,病人体征等信息。通过subject_id和hadm_id与其他模块相连接。急诊的患者如有hadm_id,则说明该患者住院治疗。ed患者不一定住院,住院的患者也不一定从急诊入院。
官方链接:https://physionet.org/content/mimic-cxr/2.0.0/
文件大小:4.6 TB
官方介绍:MIMIC胸部x射线(MIMIC- cxr)数据库v2.0.0是DICOM格式的大型公开胸片数据集,具有自由文本放射学报告。该数据集包含377,110张图像,对应于马萨诸塞州波士顿Beth Israel Deaconess医疗中心进行的227,835项放射学研究。为了满足1996年美国健康保险流通与责任法案(HIPAA)的安全港要求,该数据集被去识别化。已删除受保护的健康信息(PHI)。该数据集旨在支持医学领域的广泛研究,包括图像理解、自然语言处理和决策支持。
包含内容:X光胸片文件,源数据是dicom格式,但也提供了jpg格式的下载。包含了胸片及影像学报告。值得注意的是,存在有影像的患者没有住院记录的情况。
官方链接:https://physionet.org/content/mimic-iv-note/2.2/
文件大小:1.8GB
官方介绍:大型开放访问文本数据库的出现推动了自然语言处理(NLP)中最先进的模型性能的进步。可用于NLP的临床数据相对有限,这被认为是该领域发展的一个重大障碍。在这里,我们描述了MIMIC-IV- note:在MIMIC-IV临床数据库中包含的患者的去识别的自由文本临床笔记的集合。MIMIC-IV-Note包含来自美国马萨诸塞州波士顿贝斯以色列女执事医疗中心医院和急诊科收治的145,915名患者的331,794份未确定的出院摘要。该数据库还包含237,427名患者的2,321,355份未确定的放射学报告。根据《健康保险流通与责任法案》(HIPAA)的安全港规定,所有注释都删除了受保护的健康信息。所有笔记都可链接到MIMIC-IV,为其中的临床数据提供重要的背景。该数据库旨在促进临床自然语言处理和相关领域的研究。
官方参考安装地址:https://github.com/MIT-LCP/mimic-code
基于阿里云hologres进行mimic数据库组装,该数据库具有强大的性能和计算速度。
依次遵循一下步骤可以完成配置
包含内容:mimiciv_hosp、mimiciv_icu
参考地址:https://github.com/MIT-LCP/mimic-code/blob/main/mimic-iv/buildmimic/postgres/validate.sql
数据验证:
包含内容:mimiciv_ed
参考地址:https://github.com/MIT-LCP/mimic-code/blob/main/mimic-iv-ed/buildmimic/postgres/validate.sql
数据验证:
包含内容:mimiciv_note
参考地址:
数据验证:
为了避免耽搁大文件压垮内存
import os
def split_csv_file(source_file, target_path, batch_num, is_header=True):
# 打开源文件
with open(source_file, 'r') as f:
header = f.readline()
# 分批读取文件并切分
batch_count = 0
while True:
lines = [header] if is_header else []
for _ in range(batch_num):
line = f.readline()
if not line:
break
lines.append(line)
if len(lines) == 0 and is_header == False:
break
if len(lines) == 1 and is_header == True:
break
# 写入切分后的文件
with open(os.path.join(target_path, f"batch_{batch_count}.csv"), 'w') as batch_file:
batch_file.writelines(lines)
print(f'{batch_count}: {os.path.join(target_path, f"batch_{batch_count}.csv")}')
batch_count += 1
#使用示例
source_file = "/Users/jinzhang/Documents/mimic-iv-2.2/icu/chartevents.csv"
target_path = "/Users/jinzhang/Documents/mimic-iv-2.2/icu/split"
batch_num = 5000000
is_header = True
split_csv_file(source_file, target_path, batch_num, is_header)
\copy mimiciv_icu.chartevents FROM '/Users/jinzhang/Documents/mimic-iv-2.2/icu/split/batch_10.csv' DELIMITER ',' CSV HEADER NULL '' ENCODING 'UTF8';