MIMIC-IV官方视图解析 - AKI 肌酐 (kdigo_creatinine、kdigo_stages)

图片

图片

判断AKI我们可以通过肌酐和尿量两个指标来看, 今天我们主要提取肌酐。

kidgo指南的表格

AKI诊断标准:
符合以下情况之一者即可被诊断为AKI:
①48小时内Scr升高超过26.5μmol/L(0.3mg/dl);
②Scr升高超过基线1.5倍——确认或推测为7天内发生;
③尿量<0.5ml/(kg·h),且持续6小时以上。
AKI分期标准:
分期Scr尿量
1期升高为基线的1.5~1.9倍,或升高超过26.5μmol/L(0.3mg/dl)<0.5ml/(kg·h) 持续6~12h
2期升高为基线的2.0~2.9倍<0.5ml/(kg·h) ≥12h
3期升高为基线的3倍,或绝对值≥353.6μmol/L(4.0mg/dl),或开始使用肾脏替代治疗,或患者<18岁且eGFR<35ml/(min·1.73m2)<0.3ml/(kg·h) ≥24h,或无尿≥12h
结果解读根据AKI分期的推荐处理如下:
相关解释1.单用尿量改变作为诊断标准时,需要除外尿路梗阻及其他导致尿量减少的原因。2.指南推荐血清肌酐和尿量仍然作为AKI最好的标志物(ⅠB)。
参考来源1. KDIGO Clinical Practice Guideline for Acute Kidney Injury. 2012.3. http://www.kidney-international.org2. 图片作者:大连医科大学附属第一医院 重症医学科 李青栋

图片

AKI是MIMIC相关研究的常用指标,MIMIC数据库里面AKI诊断按照KIDGO指南,内容太多,今天这个只包括肌酐水平评估:

MIMIC数据库里面的基线值并不是一个固定的值而是动态的值。

主要涉及ICU住院记录icustays和实验室检查labevents两张表。

labevents表里CHARTTIME表示测量时间,VALUENUM表示测量值。

icustays表里面intime和outtime分别表示出入ICU时间。

 两张表格根据subject_id这个患者唯一标识进行连接。

一、kdigo_creatinine.sql 提取入ICU前7天所有肌酐值


-- Extract all creatinine values from labevents around patient's ICU stay 从患者入住 ICU 期间的实验室事件中提取所有肌酐值
-- 提取入ICU前7天所有肌酐值
WITH cr AS (SELECTie.hadm_id, ie.stay_id, le.charttime-- 如果同一个时间点有两个检查就取平均值, AVG(le.valuenum) AS creat-- 主要涉及ICU住院记录icustays和实验室检查labevents两张表。FROM mimiciv_icu.icustays ieLEFT JOIN mimiciv_hosp.labevents le-- 使用subject_id连接表格ON ie.subject_id = le.subject_id-- 使用ITEMID 50912提取肌酐AND le.itemid = 50912AND le.valuenum IS NOT NULL-- 只包括<150的肌酐值,超过为异常值    AND le.valuenum <= 150-- 提取范围是入ICU时间前7天。AND le.charttime >= mimiciv_derived.DATETIME_SUB(ie.intime, INTERVAL '7' DAY)AND le.charttime <= ie.outtimeGROUP BY ie.hadm_id, ie.stay_id, le.charttime
)-- -- 每个肌酐检查值之前48小时的肌酐最小值
, cr48 AS (-- add in the lowest value in the previous 48 hours-- 添加过去 48 小时内的最低值SELECTcr.stay_id, cr.charttime, MIN(cr48.creat) AS creat_low_past_48hrFROM cr-- add in all creatinine values in the last 48 hours-- 添加过去 48 小时内的所有肌酐值LEFT JOIN cr cr48ON cr.stay_id = cr48.stay_idAND cr48.charttime < cr.charttimeAND cr48.charttime >= mimiciv_derived.DATETIME_SUB(cr.charttime, INTERVAL '48' HOUR)GROUP BY cr.stay_id, cr.charttime
)-- 每个肌酐检查值之前七天最小肌酐值
, cr7 AS (-- add in the lowest value in the previous 7 days-- 添加前 7 天内的最低值SELECTcr.stay_id, cr.charttime, MIN(cr7.creat) AS creat_low_past_7dayFROM cr-- add in all creatinine values in the last 7 days-- 添加过去 7 天内的所有肌酐值LEFT JOIN cr cr7ON cr.stay_id = cr7.stay_idAND cr7.charttime < cr.charttimeAND cr7.charttime >= mimiciv_derived.DATETIME_SUB(cr.charttime, INTERVAL '7' DAY)GROUP BY cr.stay_id, cr.charttime
)SELECTcr.hadm_id, cr.stay_id, cr.charttime, cr.creat, cr48.creat_low_past_48hr, cr7.creat_low_past_7day
FROM cr
LEFT JOIN cr48ON cr.stay_id = cr48.stay_idAND cr.charttime = cr48.charttime
LEFT JOIN cr7ON cr.stay_id = cr7.stay_idAND cr.charttime = cr7.charttime
;

图片

二、kdigo_stages.sql 基线标准 

如何理解上面说的这个基线值是动态的?我们来看下kdigo标准的sql


CREATE MATERIALIZED VIEW work.organfailure_kdigo_stage_cr_only ASSELECTcr.stay_id, cr.charttime, cr.creat_low_past_7day, cr.creat_low_past_48hr, cr.creat, CASE-- 3x baseline-- 7天内超过基线值3倍 WHEN cr.creat >= (cr.creat_low_past_7day * 3.0) THEN 3-- *OR* cr >= 4.0 with associated increase-- 肌酐超过4mg/dl同时基线值1.5倍-- 或者-- 肌酐超过4mg/dl同时在48小时内增长超过0.3mg/dl(4-3.7)WHEN cr.creat >= 4-- For patients reaching Stage 3 by SCr >4.0 mg/dl-- require that the patient first achieve ...--      an acute increase >= 0.3 within 48 hr--      *or* an increase of >= 1.5 times baselineAND (cr.creat_low_past_48hr <= 3.7 OR cr.creat >= (1.5 * cr.creat_low_past_7day))THEN 3-- TODO: initiation of RRT-- 超过基线值2倍WHEN cr.creat >= (cr.creat_low_past_7day * 2.0) THEN 2-- 48小时内Cr增长超过0.3mg/dlWHEN cr.creat >= (cr.creat_low_past_48hr + 0.3) THEN 1-- 7天内超过基线值1.5倍WHEN cr.creat >= (cr.creat_low_past_7day * 1.5) THEN 1ELSE 0 END AS aki_stage_creatFROM mimiciv_derived.kdigo_creatinine cr

图片

 

 

我们来从organfailure_kdigo_stage_cr_only里面选取一个病人来看。

  • stay_id:30013402

图片

可以看出来,这个病人住ICU前七天到出ICU期间一共做了12次下肌酐,第3次肌酐前面两次肌酐分别为1.6和1.5,都是48小时内,所有48小时内基线和7天内基线都是他们中的最小值1.5,增加超过0.3,所以是AKI1级;第7次肌酐检查时,前48小时基线值和前7天基线值就不一样了,增长超过基线两倍,所以是AKI2级

我们看到在kdigo_stages.sql下还有提取尿量和CRRT的代码,感兴趣同学看这篇和后续文章,本章暂时不讲解

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

图片

三、(必看)官方代码里面存在的的问题!!!

我们看图中红框内的代码

图片

图片

在 KDIGO AKI 标准第21页(KDIGO-2012-AKI-Guideline, 后台回复 “KDIGO AKI 2012” 下载)中,AKI 第 3 阶段的定义是满足以下两个条件:

  1. sCR >=4.0

  2. sCR 增量 >=0.3 48h内 or sCR 基线* 1.5

然而,上述代码的逻辑是由固定数字3.7定义的。这是错误的定义,所以应该改为

图片

 

CREATE MATERIALIZED VIEW work.organfailure_kdigo_stage_cr_only_2 AS
SELECTcr.stay_id, cr.charttime, cr.creat_low_past_7day, cr.creat_low_past_48hr, cr.creat, CASE-- 3x baseline-- 7天内超过基线值3倍 WHEN cr.creat >= (cr.creat_low_past_7day * 3.0) THEN 3-- *OR* cr >= 4.0 with associated increase-- 肌酐超过4mg/dl同时基线值1.5倍-- 或者-- 肌酐超过4mg/dl同时在48小时内增长超过0.3mg/dl(4-3.7)WHEN cr.creat >= 4-- For patients reaching Stage 3 by SCr >4.0 mg/dl-- require that the patient first achieve ...--      an acute increase >= 0.3 within 48 hr--      *or* an increase of >= 1.5 times baseline-- 这行修改了代码AND (cr.creat >= (cr.creat_low_past_48hr+0.3) OR cr.creat >= (1.5 *cr.creat_low_past_7day))THEN 3-- TODO: initiation of RRT-- 超过基线值2倍WHEN cr.creat >= (cr.creat_low_past_7day * 2.0) THEN 2-- 48小时内Cr增长超过0.3mg/dlWHEN cr.creat >= (cr.creat_low_past_48hr + 0.3) THEN 1-- 7天内超过基线值1.5倍WHEN cr.creat >= (cr.creat_low_past_7day * 1.5) THEN 1ELSE 0 END AS aki_stage_creatFROM mimiciv_derived.kdigo_creatinine cr

查看筛选出来的数据是有很大差异的

图片

图片

该问题官方已经准备在下个版本修复

图片

这是有道理的,对于初始肌酐为 4.0 或更高的人来说,这不会导致 AKI。我会尽快修复它,可能值得进行前后比较。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/674055.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用Intersection Observer实现图片懒加载性能优化

ntersection Observer是浏览器所提供的一个 Javascript API&#xff0c;用于异步的检测目标元素以及祖先或者是顶级的文档视窗的交叉状态 这句话的意思就是&#xff1a; 我们可以看的图片当中&#xff0c;绿色的 target element&#xff08;目标元素&#xff09;&#xff0c;…

强化学习 | 基于 Q-Learning 算法解决 Treasure on Right 游戏

Hi&#xff0c;大家好&#xff0c;我是半亩花海。在本篇技术博客中&#xff0c;我们将探讨如何使用 Q-Learning 算法来解决 Treasure on Right 游戏&#xff0c;实现一个简单的强化学习。 一、游戏背景 Treasure on Right 游戏——一个简单的命令行寻宝游戏&#xff0c;是一个…

删除和清空Hive外部表数据

外部表和内部表区别 未被external修饰的是内部表&#xff08;managed table&#xff09;&#xff0c;被external修饰的为外部表&#xff08;external table&#xff09;&#xff1b; 区别&#xff1a; 内部表数据由Hive自身管理&#xff0c;外部表数据由HDFS管理&#xff1b; …

SpringBoot和SpringMVC

目录 一、springboot项目 &#xff08;1&#xff09;创建springboot项目 &#xff08;2&#xff09;目录介绍 &#xff08;3&#xff09;项目启动 &#xff08;4&#xff09;运行一个程序 &#xff08;5&#xff09;通过其他方式创建和运行springboot项目 二、SpringMVC…

高可用 k8s 1.29 一键安装脚本, 丝滑至极

博客原文 文章目录 集群配置配置清单集群规划集群网络规划 环境初始化主机配置 配置高可用ApiServer安装 nginx安装 Keepalived 安装脚本需要魔法的脚本不需要魔法的脚本配置自动补全加入其余节点 验证集群 集群配置 配置清单 OS&#xff1a; ubuntu 20.04kubernetes&#xf…

【Scala】1. 变量和数据类型

1. 变量和数据类型 1.1 for begining —— hello world 新建hello.scala文件&#xff0c;注意object名字与文件名一致。 object hello { def main(args:Array[String]): Unit { println("hello world!") } }运行后打印结果如下&#xff1a; hello world!Pr…

Golang 并发 生产者消费者模式

Golang 并发 生产者消费者模式 生产者-消费者模式能够带来的好处 生产者消费者模式是一种常见的并发编程模式&#xff0c;用于解决生产者和消费者之间的数据传递和处理问题。在该模式中&#xff0c;生产者负责生成数据&#xff08;生产&#xff09;&#xff0c;而消费者负责处…

【射影几何13 】梅氏定理和塞瓦定理探讨

梅氏定理和塞瓦定理 目录 一、说明二、梅涅劳斯&#xff08;Menelaus&#xff09;定理三、塞瓦(Giovanni Ceva&#xff09;定理四、塞瓦点的推广4.1 共线定理4.2 三角形外的塞瓦点 一、说明 在射影几何中&#xff0c;梅涅劳斯&#xff08;Menelaus&#xff09;定理和塞瓦定理是…

最大子数组和[中等]

一、题目 给定一个长度为n的环形整数数组nums&#xff0c;返回nums的非空 子数组 的最大可能和 。 环形数组 意味着数组的末端将会与开头相连呈环状。形式上&#xff0c;nums[i]的下一个元素是nums[(i 1) % n]&#xff0c;nums[i]的前一个元素是nums[(i - 1 n) % n]。 子数…

论文封面下划线总是对不齐,这3步你肯定没做!

论文封面 在写论文时&#xff0c;总会遇到论文封面下划线对不齐&#xff0c;学会下面这三招轻松搞定封面。 解决方法 ①选中文字&#xff0c;点击“插入”&#xff0c;选择“表格”&#xff0c;找到“文本转化为表格”。列数为2&#xff0c;文字分割位置选空格&#xff0c;设置…

第21讲:动态内存管理

1.为什么要有动态内存分配 2.malloc和free 3.calloc 4.realloc 5.笔试题 6.总结c/c中程序内存区域划分 1.为什么要有动态内存分配 为了调整申请的空间大小&#xff0c;使程序员可以申请和释放空间&#xff0c;提高程序的灵活性 2.malloc和free 作用&#xff1a;分配一块…

python将.db数据库文件转成Excel文档

python实现.db数据库转Excel 程序实现 上一篇文章程序实现以下功能&#xff1a; 1.读取一个Excel文件,文件名通过函数传参数传入 2.将文件读取的内容保存到一个数据库文件中 3.数据库的文件名以传入的Excel文件的文件名命名 4.将excel文件的工作簿的名字作为数据库的表单名 5…

apache_exporter安装说明

Apache Exporter 问题描述 需要监控apache服务&#xff0c;部署了apache_exporter&#xff0c;对过程进行一下记录。 源码参见apache_exporter ①下载 https://github.com/Lusitaniae/apache_exporter/releases②解压缩 tar -xzvf apache_exporter-0.7.0.linux-amd64.tar…

深入了解Redis:选择适用于你的场景的持久化方案

自然语言处理的发展 文章目录 自然语言处理的发展强烈推荐前言&#xff1a;Redis提供了几种主要的持久化方案&#xff1a;RDB快照持久化&#xff1a;工作原理&#xff1a; AOF日志文件持久化&#xff1a;混合持久化&#xff1a; 总结强烈推荐专栏集锦写在最后 强烈推荐 前些天…

相机图像质量研究(7)常见问题总结:光学结构对成像的影响--镜片固化

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

戴上HAUWEI WATCH GT 4,解锁龙年新玩法

春节将至&#xff0c;华为WATCH GT 4作为一款颜值和实力并存的手表&#xff0c;能为节日增添了不少趣味和便利。无论你是钟情于龙年表盘或定制属于自己的表盘&#xff0c;还是过年用来抢红包或远程操控手机拍全家福等等&#xff0c;它都能成为你的“玩伴”。接下来&#xff0c;…

C语言 服务器编程-日志系统

日志系统的实现 引言最简单的日志类 demo按天日志分类和超行日志分类日志信息分级同步和异步两种写入方式 引言 日志系统是通过文件来记录项目的 调试信息&#xff0c;运行状态&#xff0c;访问记录&#xff0c;产生的警告和错误的一个系统&#xff0c;是项目中非常重要的一部…

JUnit 5 注解总结与解析

前言 大家好&#xff0c;我是chowley&#xff0c;通过前篇的JUnit实践&#xff0c;我对这个框架产生了好奇&#xff0c;除了断言判断&#xff0c;它还有哪些用处呢&#xff1f;下面来总结一下它的常见注解及作用。 正文 在Java单元测试中&#xff0c;JUnit是一种常用的测试框…

linux互斥锁:递归锁,非递归锁用法详解

在实际的项目中经常涉及到共享资源&#xff0c;共享资源被多个线程访问会出现竞争现象&#xff1b;为了解决竞争和保护共享资源常用的机制之一就是互斥锁&#xff01; 互斥锁又分为递归锁和非递归锁&#xff0c;互斥锁默认是非递归锁&#xff0c;也是我们常用的上锁方式。那么什…

零基础学Python之整合MySQL

Python 标准数据库接口为 Python DB-API&#xff0c;Python DB-API为开发人员提供了数据库应用编程接口。 不同的数据库你需要下载不同的DB API模块&#xff0c;例如你需要访问Oracle数据库和Mysql数据&#xff0c;你需要下载Oracle和MySQL数据库模块。 DB-API 是一个规范. 它…