当前位置: 首页 > article >正文

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 '';

到这里,我们就把所有安装要用到的文件给准备好了。


http://www.kler.cn/a/524904.html

相关文章:

  • 冲刺蓝桥杯之速通vector!!!!!
  • 【C++ 真题】P1706 全排列问题
  • 算法随笔_31:移动零
  • USB 3.1-GL3510-52芯片原理图设计
  • 51单片机开发:定时器中断
  • spring中解决循环依赖的方法
  • Linux线程安全
  • unity实现回旋镖函数
  • 【面试】【详解】计算机网络(TCP 三次握手,四次挥手)
  • Windows 程序设计7:文件的创建、打开与关闭
  • Vue.js组件开发-实现导出PDF文件可自定义添加水印及水印样式方向
  • 10.1 DriveInfo类获取磁盘分区信息
  • 011-mac自带vnc
  • leetcode——二叉树的最大深度(java)
  • Selenium 浏览器操作与使用技巧——详细解析(Java版)
  • 8. 网络编程
  • 鸢尾花书01---基本介绍和Jupyterlab的上手
  • 杨立昆退休?中国Deepseek超Llama 4触发Meta
  • 单片机基础模块学习——超声波传感器
  • Python的那些事第五篇:数据结构的艺术与应用
  • 【redis】redis操作zset类型的key发生了什么?
  • 企业知识管理平台助力企业创新与竞争力提升的有效策略探讨
  • 网关登录校验
  • Qwen2.5-max 性能
  • JAVA实战开源项目:网上超市系统(Vue+SpringBoot) 附源码
  • 蓝桥备赛指南(5)