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

2024-02-01 20:36

本文主要是介绍MIMIC-IV数据库, 如何提取入院患者生存时间?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们知道患者入院信息主要在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 转换为日期来进行日期算术:

修复方法:

当我们进行此计算时,我们会看到:

3 名入住 ICU 的患者的死亡日期距其入住 ICU 时间已超过 1 年。 显然是错误的,可能是由于概率联系(您可以在“院外死亡率”部分的论文中信息 - https://www.nature.com/articles/s41597-022-01899-x )

3 入住 ICU 的患者的死亡日期为入住 ICU 前 1 天。 这些看起来也是错误的,但可能只是错误地记录了原始死亡日期数据

上面的查询中未显示,但还有大约 30 名左右的患者的 dod 与 ICU 入院日期相同,但发生在超时前一两天

我想说,总的来说,在跨数据库链接 60,000 多条记录时,您只需要预料到会出现一些错误。 由于数量很少,因此调查他们的记录(图表或通过注释)以弄清楚到底发生了什么,并更正查询中的数据应该是相当合理的。
也许我们可以将这一列及其更正添加到 icustay_detail 查询中?  https://github.com/MIT-LCP/mimic-code/blob/main/mimic-iv/concepts/demgraphics/icusay_detail.sql

于是我就去mimiciv_derived.icustay_detail去确认, 很遗憾, 没修复! 哈哈

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-IV数据库, 如何提取入院患者生存时间?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/668391

相关文章

Python标准库datetime模块日期和时间数据类型解读

《Python标准库datetime模块日期和时间数据类型解读》文章介绍Python中datetime模块的date、time、datetime类,用于处理日期、时间及日期时间结合体,通过属性获取时间... 目录Datetime常用类日期date类型使用时间 time 类型使用日期和时间的结合体–日期时间(

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Python实现批量提取BLF文件时间戳

《Python实现批量提取BLF文件时间戳》BLF(BinaryLoggingFormat)作为Vector公司推出的CAN总线数据记录格式,被广泛用于存储车辆通信数据,本文将使用Python轻松提取... 目录一、为什么需要批量处理 BLF 文件二、核心代码解析:从文件遍历到数据导出1. 环境准备与依赖库

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

SQL server数据库如何下载和安装

《SQLserver数据库如何下载和安装》本文指导如何下载安装SQLServer2022评估版及SSMS工具,涵盖安装配置、连接字符串设置、C#连接数据库方法和安全注意事项,如混合验证、参数化查... 目录第一步:打开官网下载对应文件第二步:程序安装配置第三部:安装工具SQL Server Manageme

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

go中的时间处理过程

《go中的时间处理过程》:本文主要介绍go中的时间处理过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1 获取当前时间2 获取当前时间戳3 获取当前时间的字符串格式4 相互转化4.1 时间戳转时间字符串 (int64 > string)4.2 时间字符串转时间