MIMIC数据提取教程 - 如何提取外科患者信息

本文介绍了MIMIC-IV重症医学数据库的下载、安装教程,包括常见问题解决方案,SQL基础查询、疾病指标提取、手术患者统计以及PostgreSQLUNION操作符的应用。还讨论了SQL模糊查询在MIMIC中的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

图片

mimic数据库使用介绍:

MIMIC-IV,重症医学数据库介绍和使用说明

MIMIC数据库下载权限申请保姆级教程(上)

MIMIC数据库下载权限申请保姆级教程(下)

CITI 课程考试补充答案

​CITI 课程考试补充答案(二)

MIMIC数据库安装保姆级教程(上)

MIMIC数据库安装保姆级教程(下)

安装常见问题(一)

安装常见问题(二)

MIMIC-IV数据库安装常见问题(三)

MIMIC数据库,常用查询指令SQL基础(一)

MIMIC数据库提取教程-提取某种疾病下的实验室指标

MIMIC数据库提取教程-提取某种疾病下的患者人口统计学指标

MIMIC数据库官方函数的安装与使用

手把手教会你认识跟安装MIMIC-IV物化视图

【重要】 MIMIC数据集直接下载!

Python连接MIMIC-IV数据库并图表可视化

MIMIC-IV数据库衍生表格mimic_derived配置和使用

MIMIC-IV 数据查询加速教程

目录

01 冠脉搭桥术后的患者有多少? 

PostgreSQL UNION 操作符

语法

实例


MIMIC的很多文章都是关于一些内科疾病的,以脓毒症(Spesis)居多,一方面是这类病人在MIMIC的病人里面所占的比例很大,另外官方也给了很多诊断筛选(特别是sepsis)的物化视图,让大家可以很方便地找到想要找的自己感兴趣的目标患者。

图片

 但是MIMIC里面也有很多外科患者,特别是MIMIC4相对于MIMIC3来说,外科ICU患者比例是增多的,下面图分别展示了MIMIC4各种ICU类型患者数量。(注意,这里patient_num其实是ICU住院人次,并非唯一病人)

图片

图片

01 冠脉搭桥术后的患者有多少? 

比如我们有些同学在外科ICU, 想知道做过某种手术的患者有多少?比如心血管手术后的患者中冠脉搭桥术后的患者有多少?

患者住院期间做的所有操作和手术都记录在procedure_icd表里面

图片

首先我需要知道冠脉搭桥的icd编码都有哪些?因为是mimiciv数据库,表里面还混用了icd9 和 icd10,所以我们两个都要知道。

  • https://www.findacode.com/

可以从这个网站中查询icd9和icd10的操作和手术代码, 我们科研直接搜索查询

图片

但是这种方法太慢了而且有可能遗漏, 其实我们可以直接问chatgpt, chatgpt对于这种确定性问题特别准确, 下面是chatgpt给的答案

冠脉搭桥术的ICD编码为:

  • ICD-10-PCS编码为:02H00JZ、02H03JZ、02H04JZ、02H07JZ、02H08JZ、02H0XJZ、02H30JZ、02H33JZ、02H34JZ、02H37JZ、02H38JZ、02H3XJZ、02H40JZ、02H43JZ、02H44JZ、02H47JZ、02H48JZ、02H4XJZ、02H70JZ、02H73JZ、02H74JZ、02H77JZ、02H78JZ、02H7XJZ、02H80JZ、02H83JZ、02H84JZ、02H87JZ、02H88JZ、02H8XJZ。

  • ICD-9-CM编码为:36.10、36.11、36.12、36.13、36.14、36.15、36.16、36.17、36.19。

我们可以发现冠脉搭桥术的ICD编码 ICD9是361开头,ICD10是02H开头,够了!

图片

当然我们通过查表方式验证下, 我们发现procedure_icd 表里面并没有ICD-10-CM的, 所以有的GPT回复带有"I25"的可以去掉

图片

但是有的GPT没办法直接定位到02H, 只能定位到021

图片

图片

这个结果就不对了, 因为021开头还包括其他血管的bypass,所有我们可以在long_title字段里面过滤下

图片

图片

02 PostgreSQL UNION 操作符

PostgreSQL UNION 操作符合并两个或多个 SELECT 语句的结果。

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。

请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。

语法

UNIONS 基础语法如下:

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

UNION

SELECT column1 [, column2 ]
FROM table1 [, table2 ]
[WHERE condition]

这里的条件语句可以根据您的需要设置任何表达式。

实例

创建 COMPANY 表(下载 COMPANY SQL 文件 ),数据内容如下:

runoobdb# select * from COMPANY;
 id | name  | age | address   | salary
----+-------+-----+-----------+--------
  1 | Paul  |  32 | California|  20000
  2 | Allen |  25 | Texas     |  15000
  3 | Teddy |  23 | Norway    |  20000
  4 | Mark  |  25 | Rich-Mond |  65000
  5 | David |  27 | Texas     |  85000
  6 | Kim   |  22 | South-Hall|  45000
  7 | James |  24 | Houston   |  10000
(7 rows)

创建 DEPARTMENT 表(下载 DEPARTMENT SQL 文件 ),数据内容如下:

runoobdb=# SELECT * from DEPARTMENT;
 id | dept        | emp_id
----+-------------+--------
  1 | IT Billing  |      1
  2 | Engineering |      2
  3 | Finance     |      7
  4 | Engineering |      3
  5 | Finance     |      4
  6 | Engineering |      5
  7 | Finance     |      6
(7 rows)

现在,我们在 SELECT 语句中使用 UNION 子句将两张表连接起来,如下所示:

SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
   ON COMPANY.ID = DEPARTMENT.EMP_ID
   UNION
SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
    ON COMPANY.ID = DEPARTMENT.EMP_ID;

得到结果如下:

 emp_id | name  |  dept
--------+-------+--------------
      5 | David | Engineering
      6 | Kim   | Finance
      2 | Allen | Engineering
      3 | Teddy | Engineering
      4 | Mark  | Finance
      1 | Paul  | IT Billing
      7 | James | Finance
(7 rows)

03 SQL模糊查询

SQL模糊查询的语法为:

Select column FROM table Where column LIKE 'pattern'

SQL提供了四种匹配模式

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值