MIMIC全称:Medical Information Mart for Intensive Care
官方文件
- MIMIC数据库官网:https://mimic.mit.edu/ (主要包括两个部分的内容:官方说明文档和官方代码,还是蛮清晰的)
- 要使用这个数据库需要完成三个步骤:
- 在PhysioNet上面注册一个账号,然后去参加一个伦理考试,并提交考试的证书,这样就成为了一个credentialed user;
- 签署数据使用同意书(DUA)
- 根据教程可以选择云端访问数据(官方推荐),或者本地下载(我个人推荐)
1. 获取MIMIC数据库访问权限
注册、考试、申请可参照 链接1 链接2 (注意:如果是学生的话reference那里要写自己的导师,虽然有些博主说很快就收到了审核通过信息,但是我第一次等了三周多还被拒了,research topic那里写得不清楚,后面改了research topic再申请,第二天就通过了)
2. 云端访问MIMIC数据库
- 目前MIMIC-III和MIMIC-IV都提供了云端的版本,并且给了几种不同的访问路径,官方推荐云端访问的三大理由是不需要安装、更新及时、可以直接访问mimic_derived数据集(也就是衍生表格,这个如果是本地的话需要自己生成,但也不难)
- 我自己尝试了一下BigQuery,确实可以比较直接的看到MIMIC的数据以及衍生表格数据,但是如果想要自己对数据进行更加深入的处理,我更推荐本地数据库的方式访问。
Bigquery界面如下: 想通过BigQuery访问,主要是在官网链接一下你的Google账户,然后就可以按照这个指南进行访问啦
3. 本地配置MIMIC-IV数据库(postgres)
一开始我是想着直接用python或者matlab读取数据进行预处理,但是我发现我天真了,像chartevents这个非常庞大而又非常重要的表格就有差不多六亿行(如果我没记错的话),excel看了都直接表示我不行,所以最后还是选择用postgres这个数据库软件进行数据的索引和处理。
相对于MIMIC-III来说,MIMIC-IV更新,而且结构更加清晰,这里以MIMIC-IV的本地配置为例:
1) load原始数据:可参照链接1或者链接2,(这两个链接内容都差不多,写得也都比较清楚,任选其一即可) 2)load衍生数据:除了原始数据,官方其实还提供了一个叫做"mimic_derived”的数据集,这里面主要是从原始数据中提取到的一些表格,比如说患者的基本信息,一些重要的评价指标sofa,spasii之类的,这对于科研工作者们更好地使用MIMIC数据集提供了很好的帮助,一方面可以直接用这些数据进行研究,另外一方面研读官方代码,自己可以很快掌握postgres的语法,从而获取自己想要的内容。
- 获得mimic_derived相对应的sql配置文件:可以从官网的界面中选择code按钮找到所有的配置文件,需要注意的一个点就是concepts文件下面放的都是BigQuery的语法写的,跟postgres的语法不一样,要使用postgres的配置文件,需要找到concepts–>postgres,对应链接
- 运行配置文件:
第一条:指定搜索路径,to后面第一个是搜索结果放的位置,像这里我们要把检索的结果放在mimic_derived里面,所以就把mimic_derived放在to后面,因为这些衍生表格的生成同样要用到mimic_core, mimic_hosp, mimic_icu(mimic_ed我没用,所以可以不用写),所以他们也属于search_path; 第二条:定义一些函数,因为在生成衍生表格的过程中,会用到一些postgres自身没有的函数,所以这些要提前声明一下,这里官方只写了sql的文件名字,但实际运行的时候要写清楚这个文件所在的路径才能运行成功; 第三条:终于要生成concepts了,运行吧,主要和上一条一样的问题,写清楚路径。
注意事项
- 2022.6.12官方推出了MIMIC-IV-2.0,更加简洁地将数据划分为了hosp和icu,所以就没有mimic_core了,我这个写的还是基于MIMIC-IV-1.0来的;
- 正常来说配置原始数据差不多四五个小时,如果时间过长还没有结束,可能是postgres卡住了,我建议取消任务,重新配置(可以在pgAdmin 4中仪表盘上看到sessions,psql对应的就是命令行的任务,如果是active应该就是正常的,如果是idle建议取消重新来过);
- pgAdmin(postgres的官方可视化软件)还是挺好用的,可以直观看到数据结构,访问数据,也可以自己创建检索直接运行;
- postgreSQL的参考教程1和参考教程2,最快速的入门方法依然是看官方sql文件,理解对应的语法,这里我不得不说pgAdmin的一大好处就是,在其中打开sql文件,是有关键词上色的,这样就可以快速找到postgres的关键词,然后弄清楚这些关键词的作用就可以快速读懂sql的文件啦;
- 官方提供的文件其实挺全的,GitHub上的issue里面也设置了问答区,我这里介绍的只是冰山一角,大家感兴趣的话可以自己进行深入探讨,也可以直接去咨询开发团队。
以上就是我磕磕绊绊的探索历程,欢迎大家交流,祝大家科研顺利~
|