✦
医学科研新动向
✦
GEO介绍
MIMIC (Medical Information Mart for Intensive Care) 数据库是一个公开的临床数据库,包含了上万名在哈佛大学附属贝斯以色列女执事医疗中心(BIDMC)重症监护病房 (ICU) 患者的详细医疗记录。该数据库自发布以来,为全球研究人员提供了宝贵的资源,用于研究重症监护中的疾病管理、医疗决策和治疗效果。
下面整理一个MIMIC-IV v3.0 数据库下载安装的完整代码及流程:
/ TO /
/ TO /
01
软件准备
在安装MIMIC-IV v3.0数据库之前,需要以下软件:
7-zip:用于解压MIMIC数据包。由于MIMIC数据的体积较大,7-zip是一款高效的解压缩工具,安装后需配置其路径至环境变量中,方便命令行调用。
PostgreSQL:这是我们用于存储和操作MIMIC-IV数据的数据库系统。安装后,请将PostgreSQL的
/bin
路径添加到环境变量中,确保可以在命令行中运行PostgreSQL命令。Navicat:Navicat是一个可视化的数据库管理工具,用于简化数据库的操作过程,尤其适合进行复杂的查询和数据管理。
02
文件夹准备
为了保证MIMIC数据安装顺利,我们需要将所需文件提前整理好,并配置好安装路径。具体步骤如下:
下载MIMIC-IV v3.0数据:访问PhysioNet下载MIMIC-IV v3.0数据。这些数据是整个安装过程的核心部分。
下载MIMIC-IV安装代码:访问GitHub项目MIT-LCP下载MIMIC-IV的安装代码。该代码包含所有必要的SQL文件,用于将MIMIC数据载入PostgreSQL数据库。
简化安装流程:为了方便操作,将以下文件复制到MIMIC-IV3.0的文件夹中,确保所有SQL文件集中管理:
create.sql
load_7z.sql
index.sql
functions.sql
concepts_postgres
文件夹
注意:MIMIC数据的表结构在create.sql
中定义,为避免字符长度不够导致数据加载失败,建议将create.sql
中的admissions
表的language
字段从VARCHAR(10)
修改为VARCHAR(100)
。
03
开始安装
接下来,需要通过命令行将MIMIC数据导入到PostgreSQL数据库中。具体的操作步骤如下:
Drop database if exists mimiciv3;
create database mimiciv3 owner postgres;
\c mimiciv3;
\set mimic_data_dir '你的MIMIC数据存放路径'
\encoding 'utf8'
\i 代码存放路径/create.sql
\i 代码存放路径/load_7z.sql
\i 代码存放路径/index.sql
\i 代码存放路径/functions.sql
\i 代码存放路径/postgres-make-concepts.sql
删除旧数据库:
Drop database if exists mimiciv3;
如果数据库mimiciv3
已存在,此命令会删除它,以免数据冲突。创建新数据库:
create database mimiciv3 owner postgres;
创建一个名为mimiciv3
的新数据库,专门用于存储MIMIC数据。切换数据库:
\c mimiciv3;
切换到刚刚创建的mimiciv3
数据库,后续的所有操作将在此数据库中进行。设置MIMIC数据路径:
\set mimic_data_dir '你的MIMIC数据存放路径'
设置一个路径变量,以便在加载数据时可以直接引用该路径。加载SQL文件:
\i 代码存放路径/create.sql
:创建数据库表结构,定义数据库的基本框架。\i 代码存放路径/load_7z.sql
:加载7-zip解压后的数据文件到数据库中。\i 代码存放路径/index.sql
:为数据库中的表创建索引,加速查询操作。\i 代码存放路径/functions.sql
:创建必要的数据库函数,以便后续的数据处理。\i 代码存放路径/postgres-make-concepts.sql
:生成概念表,方便后续进行更高级的数据查询与分析。
注意:在运行postgres-make-concepts.sql
之前,请确保修改文件中的路径,使其与文件实际存放路径一致,以避免路径错误。
04
单独运行关键脚本
MIMIC数据库提供了多种派生表,例如ICU中的每小时记录、SOFA评分和Sepsis 3定义。这些表需要单独创建,方便分析更细致的数据。
icu_hourly.sql:创建ICU的每小时数据表,为每位患者在ICU停留的每小时生成一行数据。此表可以和其他表联合查询,以便分析ICU的具体时间段数据。
sofa.sql:用于计算SOFA评分,这是用于评估器官衰竭的重要工具。
sepsis3.sql:用于根据Sepsis 3定义识别脓毒症患者。
运行之前请确保将代码修改为以下内容:
-- THIS SCRIPT IS AUTOMATICALLY GENERATED. DO NOT EDIT IT DIRECTLY.
DROP TABLE IF EXISTS mimiciv_derived.icustay_hourly;
CREATE TABLE mimiciv_derived.icustay_hourly AS
WITH all_hours AS (
SELECT
it.stay_id,
CASE
WHEN DATE_TRUNC('HOUR', it.intime_hr) = it.intime_hr
THEN it.intime_hr
ELSE DATE_TRUNC('HOUR', it.intime_hr) + INTERVAL '1 HOUR'
END AS endtime,
GENERATE_SERIES(-24, CAST(CEIL(EXTRACT(EPOCH FROM it.outtime_hr - it.intime_hr) / 3600.0) AS INT)) AS hrs
FROM mimiciv_derived.icustay_times AS it
)
SELECT
stay_id,
CAST(hr_unnested AS BIGINT) AS hr,
endtime + CAST(hr_unnested AS BIGINT) * INTERVAL '1 HOUR' AS endtime
FROM all_hours
CROSS JOIN UNNEST(ARRAY[all_hours.hrs]) AS _t(hr_unnested);
以上就是MIMIC-IV v3.0数据库安装的详细步骤与每个步骤。如果有任何问题或疑问,欢迎留言讨论~
-END-
文字丨本人编写,如有补充,请随时告诉我