白鲸鱼🐳
发布于

MIMIC数据库, 如何统计特定icd代码超过特定年龄的患者住院记录数?

一,获取患者的真实年龄

mimiciv数据库为了保护患者的隐私,并没有直接记录患者的真实年龄,patients表中记录了两个关于年龄的字段:

anchor_age:患者相对anchor_year的相对年龄。

anchor_year:计算患者年龄的基准年份。

anchor_age并不是患者的入院时的真实年龄,而是根据anchor_year做了偏移,真实年龄的计算公式是:

患者的真实年龄=anchor_age+患者的入院时间-anchor_year

上图中的ROUND函数是将年龄转为2位小数

上图小编使用到了DATETIME_DIFF函数,该函数为mimiciv官方函数,作用是求两个时间的差,这个函数小编是安装在mimiciv_derived模块中,如果大家不是安装在这个模块中,请把函数前缀替换成自己的模块名哈。

 

SELECT
    ad.subject_id,
    -- 患者表中记录的是年龄是脱敏数据,是一个相对年龄,必须经过转换才可得出患者的真实年龄
    -- 年龄计算公式为 患者相对年龄+患者入院时间年份-偏移年份
    MAX(ROUND(pa.anchor_age + mimiciv_derived.DATETIME_DIFF(ad.admittime, 
    mimiciv_derived.DATETIME(pa.anchor_year, 1, 1, 0, 0, 0), 'YEAR'),2)) AS age

FROM admissions ad, patients pa
WHERE ad.subject_id = pa.subject_id
GROUP BY
ad.subject_id

二、 查询30岁以上高血压患者

 

-- 统计特定icd代码超过特定年龄的患者人数
-- Count the number of patients with a specific icd9 code above a certain age
WITH agetbl AS 
	(
	SELECT ad.subject_id,
	-- 患者表中记录的是年龄是脱敏数据,是一个相对年龄,必须经过转换才可得出患者的真实年龄
    -- 年龄计算公式为 患者相对年龄+患者入院时间年份-偏移年份
    MAX(ROUND(p.anchor_age + mimiciv_derived.DATETIME_DIFF(ad.admittime, 
    mimiciv_derived.DATETIME(p.anchor_year, 1, 1, 0, 0, 0), 'YEAR'),2)) AS age 
	FROM mimiciv_hosp.admissions ad 
	INNER JOIN mimiciv_hosp.patients p 
	ON ad.subject_id = p.subject_id 
-- 	WHERE 
-- 	-- filter to only adults above 30
-- 	DATETIME_DIFF(ad.admittime, p.dob, YEAR) > 30
-- 	-- group by subject_id to ensure there is only 1 subject_id per row
	GROUP BY ad.subject_id
	) 
SELECT dia.subject_id, COUNT(DISTINCT dia.subject_id) AS "Hypertension Age 30+ 患者数", age  
from mimiciv_hosp.diagnoses_icd dia 
INNER JOIN agetbl 
ON dia.subject_id = agetbl.subject_id 
WHERE dia.icd_code 
-- 401% relates to Hypertension
LIKE '401%' -- 以高血压病患者为例
AND age > 30
GROUP BY dia.hadm_id, dia.subject_id, agetbl.age

这里有问题 , 我们改下代码

mimic数据库使用介绍:

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

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

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

CITI 课程考试补充答案

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

 

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

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

安装常见问题(一)

安装常见问题(二)

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

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

 

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

MIMIC数据库,常用查询SQL基础(二)

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

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

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

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

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

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

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

MIMIC-IV 数据查询加速教程

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

MIMIC数据提取教程 - 提取患者首次入ICU数据

MIMIC数据提取教程 - 官方提供的时间函数(一)

MIMIC-IV数据分析 - 使用Python进行心脏病案例分析

MIMIC-IV数据分析 - 使用Python进行心脏病案例分析(二)

MIMIC-IV数据分析 - 使用R语言探索icustay_detail视图

MIMIC数据提取教程 - 如何提取患者入ICU后第一个WBC和SpO2值

MIMIC数据提取教程 - 如何提取患有肥胖症疾病的患者?

MIMIC数据提取教程 - 提取入住ICU第一天生命体征(血氧饱和度、血压、呼吸、体温)

MIMIC数据提取教程 - 提取血管紧张素受体阻滞剂(ARB)药物

MIMIC-IV数据库,如何提取器官衰竭AKI的尿量指标?

MIMIC-IV-ED适合科研小白的安装方法(提供数据集下载)

MIMIC-IV-ED数据集介绍

MIMIC数据库, 使用Python研究万古霉素的剂量 (一)

MIMIC-IV数据库, 如何提取患者ICU生存时间?

MIMIC-IV官方视图解析 - cardiac_marker心脏标记表

MIMIC-IV官方视图解析-序贯器官衰竭评分(SOFA)

MIMIC-IV官方视图解析-格拉斯哥昏迷评分(GCS)

浏览 (265)
点赞 (1)
收藏
评论