白鲸鱼🐳
发布于

MIMIC数据库, 如何检索成年患者的收缩压?

从mimiciv_icu.chartevents表获取收缩压

-- 检索成年患者的收缩压
-- Retrieves the systolic blood pressure for adult patients
WITH agetbl AS
(
  SELECT ad.subject_id
  FROM mimiciv_hosp.admissions ad
  INNER JOIN mimiciv_hosp.patients p ON ad.subject_id = p.subject_id
	INNER JOIN mimiciv_derived.age da ON ad.subject_id = da.subject_id
  where
  -- filter to only adults
	-- 仅筛选到成年人
   da.age > 15
  -- group by subject_id to ensure there is only 1 subject_id per row
	-- 按subject_id分组以确保每行只有1个subject_id
  group by ad.subject_id
)
, sysbp as  -- 收缩压
(
  SELECT  ce.subject_id, ce.valuenum
  FROM mimiciv_icu.chartevents ce
  INNER JOIN agetbl ON ce.subject_id = agetbl.subject_id
  WHERE itemid IN 
	(
			6 -- ABP [Systolic]ABP [收缩压]
    , 51 -- Arterial BP [Systolic] 动脉血压 [收缩压]
    , 455 -- NBP [Systolic] 非侵入式血压 [收缩压]
    , 6701 -- Arterial BP #2 [Systolic]动脉血压 #2 [收缩压]
    , 220050 -- Arterial Blood Pressure systolic 动脉收缩压
    , 220179 -- Non Invasive Blood Pressure systolic) 无创血压(收缩压)
	)
)
SELECT width_bucket(s.valuenum, 0, 300, 300) AS systolic_blood_pressure, COUNT(*) AS count
FROM sysbp s
GROUP BY systolic_blood_pressure
ORDER BY systolic_blood_pressure;

 

让我们逐行解释每部分代码:

  1. agtbl(成年患者表:这部分代码从不同的表中获取成年患者的信息。首先,从admissions表中获取入院信息,然后通过与patients表和age表的连接,筛选出年龄大于15岁的成年患者。最后,按照subject_id进行分组,确保每行只有一个subject_id
  • SELECT ad.subject_id: 选择admissions表中的subject_id字段。
  • FROM mimiciv_hosp.admissions ad: 从admissions表中选择数据,并将其命名为ad
  • INNER JOIN mimiciv_hosp.patients p ON ad.subject_id = p.subject_id: 通过subject_id字段将admissions表和patients表连接起来。
  • INNER JOIN mimiciv_derived.age da ON ad.subject_id = da.subject_id: 通过subject_id字段将admissions表和age表连接起来。
  • WHERE da.age > 15: 筛选出年龄大于15岁的成年患者。
  • GROUP BY ad.subject_id: 按照subject_id字段进行分组,确保每行只有一个subject_id

2. sysbp(收缩压表:这部分代码从chartevents表中获取收缩压数据。通过与上一步筛选出的成年患者表agtbl的连接,仅保留成年患者的收缩压数据。筛选条件是itemid为指定的收缩压相关项,比如动脉血压、非侵入式血压等。

    • SELECT ce.subject_id, ce.valuenum: 选择chartevents表中的subject_idvaluenum字段。
    • FROM mimiciv_icu.chartevents ce: 从chartevents表中选择数据,并将其命名为ce
    • INNER JOIN agetbl ON ce.subject_id = agetbl.subject_id: 通过subject_id字段将chartevents表和上一步得到的成年患者表agtbl连接起来。
    • WHERE itemid IN (...): 筛选出指定的收缩压相关项。

3. 最终查询:这部分代码对收缩压数据进行分组和计数。使用width_bucket函数将收缩压值分成300个范围,然后计算每个范围内的记录数量。最后,按照收缩压值的范围排序输出结果。

    • SELECT width_bucket(s.valuenum, 0, 300, 300) AS systolic_blood_pressure: 使用width_bucket函数将收缩压值分成300个范围,并将结果命名为systolic_blood_pressure
    • COUNT(*) AS count: 计算每个范围内的记录数量,并将结果命名为count
    • FROM sysbp s: 从上一步得到的收缩压表sysbp中选择数据,并将其命名为s
    • GROUP BY systolic_blood_pressure: 按照收缩压值的范围进行分组。
    • ORDER BY systolic_blood_pressure: 按照收缩压值的范围排序输出结果。

 

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)

 

浏览 (70)
点赞
收藏
评论