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

文章讨论了MIMIC-IV数据库中患者入院信息的结构,特别是mimiciv_hosp.patients和mimiciv_icu.icustays表的内容。提到了icustays表中的时间计算错误,如负值和不合理的生存时间,并介绍了官方提供的解决方案。作者强调在处理大量数据时可能出现的误差及调查和修正的方法。

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

我们知道患者入院信息主要在mimiciv_hosp.patients表 和 mimiciv_icu.icustays表

  • subject_id: subject_id 是指定单个患者的唯一标识符。与单个 subject_id 关联的任何行都属于同一个人。由于 subject_id 是表的主键,因此每行都是唯一的。
  • Gender: 性别是患者的基因型性别
  • anchor_age, anchor_year, anchor_year_group:

这些列提供有关患者入院的实际患者年份以及患者当时的年龄的信息。

  • anchor_year 是患者的转移年份。
  • anchor_year_group 是一个年份范围 - 患者的anchor_year发生在此范围内。
  • anchor_age 是anchor_year 中患者的年龄。如果患者的anchor_age在anchor_year中超过89岁,那么他们的anchor_age将设置为91,无论他们的实际年龄有多大。
  • 示例:患者的anchor_year为2153,anchor_year_group为2008 - 2010,anchor_age为60。
    • 患者的 2153 年对应于 2008 年、2009 年或 2010 年。
    • 患者在2153年的转移年份是60岁,即他们在2008年、2009年或2010年是60岁。
    • 2154 年入院的患者将发生在 2009-2011 年,2155 年入院的患者将发生在 2010-2012 年,依此类推。

icustays表:该文件记录了患者在重症监护室(ICU)的留观信息。

  • subject_id:患者的唯一标识符。
  • hadm_id:入院号,表示患者的住院标识符。
  • stay_id:留观号,指患者在医院中的留观期间的唯一标识符。
  • first_careunit:首次护理单元,表示患者在住院期间所在的第一个护理单元。
  • last_careunit:最后护理单元,表示患者在住院期间所在的最后一个护理单元。
  • intime:入院时间,指患者入院的时间。
  • outtime:出院时间,表示患者出院的时间。
  • los:住院天数,表示患者在医院中的住院天数。

这里, EXTRACT(EPOCH FROM pa.dod - icu.intime)/(60*60*24) AS survive_time 可以用

,mimiciv_derived.datetime_diff(pa.dod, icu.intime, 'DAY') AS survive_time 替代

关于这种时间函数的使用可以查看MIMIC数据提取教程 - 官方提供的时间函数(一)

我们来看查询出来的数据:

这里的负值应该是有问题, 不可能入icu前就去世了,还有入icu时间

我们来查看下官方关于这个问题的解释:

Error in MIMIC-IV-v2.0 dod record · Issue #1346 · MIT-LCP/mimic-code

首先,由于 dod 是一个日期,因此您必须小心由于从日期时间中减去日期而导致的明显“负”生存,例如 对于 subject_id 19936081 和stay_id 39984717,他们的 intime 是 24 日,他们的 dod 是 24 日,但计算出来的 days_survived 是 -0.72。 相反,您可以通过将 intime 转换为日期来进行日期算术:

修复方法:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值