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

在上一篇数据库提取教程中,小编教大家提取了“肺栓塞”患者的实验室指标,具体步骤可以参考MIMIC数据库提取教程-提取某种疾病下的实验室指标

在本期数据库提取教程,小编依旧以“肺栓塞”患者为例,教大家如何提取患者的人口统计学指标。

在mimiciv数据库中,患者的人口统计学信息主要分为两部分。

第一部分为患者的“语言”,“种族”,“婚姻状态”这几种信息,这些信息直接记录在了hosp模块的admissions表中,大家直接提取即可。

第二部分为患者的“年龄”,“身高”,“体重”这几个信息,这几个信息都不可以直接从表中直接提取,而是要经过计算才能获取患者正确的指标。

本期小编就教大家如何在mimiciv数据库中获取患者的“年龄”,“身高”,“体重”这几个很重要的指标。

一,获取患者的真实年龄

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

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

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

图片

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

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

图片

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

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

img

 

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

二,获取患者的身高

mimiciv数据库中患者的身高数据存放在icu模块的chartevents表中,并且身高会使用两种单位进行记录,分别是英寸跟厘米,为了数值的正确,必须将单位统一,这里小编会将使用英寸的测量数据转成厘米。

图片

-- MIMIC中测量身高有两种单位,分别是英寸跟厘米,两种都要统计,最终单位统一转成厘米base_ht AS (    SELECT        c.subject_id        -- 单位统一转成厘米,取最大值        ,MAX(          CASE WHEN c.itemid = 226707 THEN ROUND(CAST(c.valuenum * 2.54 AS NUMERIC), 2)          ELSE ROUND(CAST(c.valuenum AS NUMERIC), 2) END) as height    FROM mimiciv_icu.chartevents c    WHERE c.valuenum IS NOT NULL        -- 226707身高测试使用的是英寸,226730使用的是厘米        AND c.itemid in(226707,226730)    GROUP BY c.subject_id)

三,获取患者的体重

mimiciv数据库中患者的体重数据也存放在icu模块的chartevents表中,患者的体重数据有两种类型,分别是入院时测量的体重跟医院每天的测量体重。小编这里取的是患者两种体重的平均值。

图片

-- 测量体重,测量体重有两种类型,一种是患者入院时测量,另一种是在ICU中每日的测量值,-- 我们直接取平均值base_wt AS (    SELECT    c.subject_id,    ROUND(CAST(AVG(c.valuenum) AS NUMERIC),2) AS weight    FROM mimiciv_icu.chartevents c    WHERE c.valuenum IS NOT NULL        AND c.itemid IN(226512, 224639)        AND c.valuenum > 0    GROUP BY c.subject_id    )

最终提取出来的“肺栓塞”患者的人口统计学信息如下,小编为了大家学习的连贯性,直接把人口统计学指标加在了原有的指标上面。

图片

关注公众号“科研收录”,后台回复“人口统计学”,即可下载教程中完整的SQL脚本,如果大家在学习的过程中有遇到关于mimic数据库的问题,请在后台给小编留言。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值