MIMIC-IV数据部署1:数据的准备(博主因手头上还有15+个SCI项目,龟速更新)
作者:陈刚(数据分析师,设计师)
小编近期在对MIMIC数据库、SQL语言0基础的情况下,在短短几天内,成功部署了MIMIC-IV数据库,并成功提取到了数据。
小编使用的电脑是:神舟游戏本,Win 11系统。
RAM:64G
硬盘:2T
现将下载数据到部署的完整流程以免费的方式分享给有需要的同学们。
0. 注册
在下面的网站,注册、申请、推荐人(已经是MIMIC的用户)从邮箱里帮忙确认。
注册有许多专门的教程,写的很详细,可以查询下。
考试答题可以使用GPT之类的AI工具辅助,不需要自己动脑。
1. 用到的数据准备(小编之后分享网盘)
在开始操作之前,同学们可以先看下博主“科研杂录”的教学视频,简单了解下。
参考他说的一些流程、思路,具体怎么操作我下面会逐一细致讲解。
MIMIC-IV数据库保姆级安装教程_哔哩哔哩_bilibili
注册通过后,我们就可以下载数据了。
数据的下载分为两个部分。
1.1 人口学信息、住院情况、诊断结果、生化指标数据
拉到页面的最下面。把那个将近10个G的临床数据文件给下载下来。
如果是第一次下载,需要对协议点击同意。之后才会看到下载文件的界面。
可以在晚上睡觉的时候下载,第二天早上起来“收数据”。
下载之后解压,注意保存的文件路径(Win系统在文件资源管理器中获取文件路径的方法:shift+右键选中文件,复制文件路径)。
MIMIC-IV v3.1
1.2 影像学(Radiology)等检查数据
影像学检查部分的数据需要在这个note链接中下载。同样是打开网页后,拉到最底部。
这个文件相对较小,将近2个G。博主用谷歌浏览器下载了一个多小时。
下载之后解压,注意保存的文件路径。
MIMIC-IV-Note: Deidentified free-text clinical notes v2.2
2. 用到的软件准备
7-zip
7-Zip
PostgreSQL(安装的时候所有软件全部打钩,pgAdmin4这个软件可以直接调取数据,如果嫌麻烦,可以不安装Navicat这个软件(需自行破解),小编的电脑上就没有安装)
PostgreSQL: Windows installers
小编均从官网安装的最新版,
安装后,需要记得把7-zip安装路径和PostgreSQL安装路径下的bin文件文件夹,
两个路径添加到环境变量中哦,
系统属性-高级-环境变量-系统变量 Path,
不然没法用相关软件运行shell呢。
3. 用到的脚本准备
临床与影像学检查的脚本是分开的。
3.1 临床数据的脚本
github上已经有人分享写好的临床数据的sql脚本。点击以下链接,把这整个都下载下来。
GitHub - MIT-LCP/mimic-code: MIMIC Code Repository: Code shared by the research community for the MIMIC family of databases
3.2 影像学检查脚本
影像学检查的部分,感谢CSDN一位博主的无偿分享。
MIMIC IV NOTE数据库安装_mimic-iv-note 2.2-CSDN博客
creat.sql、load_7z.sql两个脚本的内容复制到代码编辑器里,并分别保存。注意文件保存的路径。
里面具体写了什么,我们不管,复制保存就好。
creat.sql
-------------------------------------------
-- Create the tables and MIMIC-IV schema --
-------------------------------------------
----------------------
-- Creating schemas --
----------------------
DROP SCHEMA IF EXISTS mimiciv_note CASCADE;
CREATE SCHEMA mimiciv_note;
---------------------
-- Creating tables --
---------------------
-- note schema
DROP TABLE IF EXISTS mimiciv_note.discharge;
CREATE TABLE mimiciv_note.discharge
(
note_id VARCHAR(25) NOT NULL,
subject_id INTEGER NOT NULL,
hadm_id INTEGER NOT NULL,
note_type CHAR(2) NOT NULL,
note_seq INTEGER NOT NULL,
charttime TIMESTAMP NOT NULL,
storetime TIMESTAMP,
text TEXT NOT NULL
);
DROP TABLE IF EXISTS mimiciv_note.discharge_detail;
CREATE TABLE mimiciv_note.discharge_detail
(
note_id VARCHAR(25) NOT NULL,
subject_id INTEGER NOT NULL,
field_name VARCHAR(255) NOT NULL,
field_value TEXT NOT NULL,
field_ordinal INTEGER NOT NULL
);
DROP TABLE IF EXISTS mimiciv_note.radiology;
CREATE TABLE mimiciv_note.radiology
(
note_id VARCHAR(25) NOT NULL,
subject_id INTEGER NOT NULL,
hadm_id INTEGER,
note_type CHAR(2) NOT NULL,
note_seq INTEGER NOT NULL,
charttime TIMESTAMP NOT NULL,
storetime TIMESTAMP,
text TEXT NOT NULL
);
DROP TABLE IF EXISTS mimiciv_note.radiology_detail;
CREATE TABLE mimiciv_note.radiology_detail
(
note_id VARCHAR(25) NOT NULL,
subject_id INTEGER NOT NULL,
field_name VARCHAR(255) NOT NULL,
field_value TEXT NOT NULL,
field_ordinal INTEGER NOT NULL
);
load_7z.sql
-----------------------------------------
-- Load data into the MIMIC-IV schemas --
-----------------------------------------
-- To run from a terminal:
-- psql "dbname=<DBNAME> user=<USER>" -v mimic_data_dir=<PATH TO DATA DIR> -f load_gz.sql
\cd :mimic_data_dir
-- making sure that all tables are emtpy and correct encoding is defined -utf8-
SET CLIENT_ENCODING TO 'utf8';
-- note schema
\cd note
\COPY mimiciv_note.discharge FROM PROGRAM '7z e -so discharge.csv.gz' DELIMITER ',' CSV HEADER NULL '';
\COPY mimiciv_note.discharge_detail FROM PROGRAM '7z e -so discharge_detail.csv.gz' DELIMITER ',' CSV HEADER NULL '';
\COPY mimiciv_note.radiology FROM PROGRAM '7z e -so radiology.csv.gz' DELIMITER ',' CSV HEADER NULL '';
\COPY mimiciv_note.radiology_detail FROM PROGRAM '7z e -so radiology_detail.csv.gz' DELIMITER ',' CSV HEADER NULL '';
到这里,我们就把所有安装要用到的文件给准备好了。