mimic数据库使用介绍:
MIMIC数据库提取教程-提取某种疾病下的患者人口统计学指标
MIMIC-IV数据库衍生表格mimic_derived配置和使用
目录
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提供了四种匹配模式