mimic数据统计

是否能联通

psql -h 127.0.0.1 -U Shinelon-d mimic --password

pgadmin建库

psql -d mimiciv -f mimic-iv/buildmimic/postgres/create.sql

也可以pgadmin直接运行create.sql

导入csv.gz数据

psql -d mimic -v ON_ERROR_STOP=1 -v mimic_data_dir=H:/mimic-iv-2.2 -f C:\Users\Shinelon\Downloads\mimic-code-main\mimic-iv\buildmimic\postgres\load_gz.sql

医院表

表名功能描述
admissions患者入院信息(入院时间、出院时间、入院类型、科室等)
d_hcpcsHCPCS 编码字典(解释 HCPCS 代码对应的医疗服务 / 物品含义)
d_icd_diagnosesICD-9 诊断编码字典(关联diagnoses_icd,提供诊断名称、缩写等)
d_icd_proceduresICD-9 手术编码字典(关联procedures_icd,解释手术编码含义)
d_labitems实验室检测项字典(关联labevents,解释itemid对应的检测名称、单位等)
diagnoses_icd患者诊断记录(存储 ICD-9 编码,关联subject_idhadm_id
drgcodesDRG 分组信息(患者的诊断相关分组,用于医保付费等)
emar电子用药医嘱(用药医嘱概要,如药品、时间)
emar_detail电子用药医嘱详情(剂量、频率、给药途径等)
hcpcs_eventsHCPCS 服务记录(患者接受的 HCPCS 编码对应的医疗服务)
labevents实验室检测结果(患者的检验数据,关联d_labitemsitemid
microbiologyevents微生物检测结果(细菌培养、药敏试验等)
omr门诊病历记录(Outpatient Medical Records,门诊相关数据)
patients患者基本信息(性别、出生日期、唯一标识subject_id等)
pharmacy药房信息(药品库存、调配记录等)
poe医嘱录入(Provider Order Entry,医嘱录入的基本信息)
poe_detail医嘱详情(poe的补充信息,如医嘱具体参数)
prescriptions处方记录(患者的处方信息,含药品、剂量、开方时间等)
procedures_icd手术记录(存储 ICD-9 手术编码,关联subject_idhadm_id
provider医护人员信息(ID、姓名、科室等)
services院内服务记录(患者所在服务单元,如 ICU、普通病房等)
transfers转科记录(患者在院内的科室转移时间、去向等)

卒中icd数据和提取

  • ICD-9 和 ICD-10 中 “卒中(stroke)” 的核心编码范围如下:

    ICD-9-CM(MIMIC-III 常用)

    卒中编码集中在 430–438(循环系统疾病类目),关键亚类包括:

    • 430:蛛网膜下腔出血
    • 431:脑内出血(非创伤性)
    • 434:脑动脉闭塞(如脑血栓形成、脑栓塞)
    • 436:急性难分类脑血管病
    • 排除:435(短暂性脑缺血发作,TIA)通常不被视为卒中

    ICD-10-CM(MIMIC-IV 常用)

    卒中编码对应 I60–I69(脑血管疾患类目),关键亚类包括:

    • I60:非创伤性蛛网膜下腔出血
    • I61:非创伤性脑内出血
    • I63:脑梗死(缺血性卒中)
    • I64:未特指为出血或梗死的卒中
    • I69:脑血管病后遗症(如卒中后偏瘫)

    应用场景(如 MIMIC 数据库)

    • 若使用 MIMIC-III(ICD-9),可通过 diagnoses_icd.icd_code and diagnoses_icd.icd_version=9 BETWEEN '430' AND '438' 筛选卒中病例;
    • 若使用 MIMIC-IV(ICD-10),则通过 diagnoses_icd10.icd_code BETWEEN 'I60' AND 'I69' 筛选。

提取所有ICD-9编码为434(缺血性卒中)的患者唯一ID(subject_id)

SELECT DISTINCT di.subject_id
FROM MIMICIV_HOSP.diagnoses_icd di – ICD-9诊断表
WHERE di.icd_code like ‘434%’ and di.icd_version=9 – 注意ICD编码是字符串类型,需加单引号
or di.icd_code like ‘163%’ and di.icd_version=10 – 注意ICD编码是字符串类型,需加单引号

提取AD的患者

G301 G309 G308 G300 3310

SELECT DISTINCT di.subject_id FROM MIMICIV_HOSP.diagnoses_icd di
WHERE (di.icd_version = 9 AND di.icd_code = ‘3310’) OR
(di.icd_version = 10 AND (di.icd_code IN (‘G301’, ‘G309’, ‘G308’, ‘G300’)) );

诊断排序

SELECT
icd_code,
count(icd_code) AS item_count – 每个itemid的出现次数
FROM MIMICIV_HOSP.diagnoses_icd
GROUP BY icd_code-- 按icd项目分组
ORDER BY desc item_count ; – 按itemid排序

匹配icd title

`import pandas as pd

# 读取诊断数据

all_diagnosis_df = pd.read_csv(r’H:\mimic-iv-2.2\all_diagnosis.csv’)

# 读取ICD字典数据

d_icd_df = pd.read_csv(r’H:\mimic-iv-2.2\hosp\csv\d_icd_diagnoses.csv’)

# 去除icd_code中的所有空格(包括中间和首尾的空格)

# 为原始数据添加处理后的icd_code列,用于匹配

all_diagnosis_df[‘icd_code_clean’] = all_diagnosis_df[‘icd_code’].astype(str).str.replace(r’\s+', ‘’, regex=True)

d_icd_df[‘icd_code_clean’] = d_icd_df[‘icd_code’].astype(str).str.replace(r’\s+', ‘’, regex=True)

# 提取ICD字典中处理后的所有icd_code并转为集合(提高查找效率)

icd_codes_in_dict = set(d_icd_df[‘icd_code_clean’].unique())

# 提取待匹配的所有处理后的icd_code(去重)

all_icd_codes = all_diagnosis_df[‘icd_code_clean’].unique()

# 同时保留原始icd_code用于显示

original_icd_mapping = dict(zip(all_diagnosis_df[‘icd_code_clean’], all_diagnosis_df[‘icd_code’]))

# 存储未找到匹配的icd_code(原始值和处理后的值)

not_found_codes = []

# 逐个匹配并检查

print(“开始匹配ICD代码(已自动去除空格)…”)

for clean_code in all_icd_codes:

​ original_code = original_icd_mapping[clean_code]

​ if clean_code not in icd_codes_in_dict:

​ not_found_codes.append({

​ ‘原始代码’: original_code,

​ ‘处理后代码’: clean_code

​ })

​ print(f"未找到匹配: 原始代码=‘{original_code}’,处理后代码=‘{clean_code}’")

# 打印总结信息

print(f"\n匹配完成。共检查 {len(all_icd_codes)} 个唯一ICD代码,其中 {len(not_found_codes)} 个未找到匹配。")

# 执行合并操作(使用处理后的代码进行匹配)

merged_df = pd.merge(

​ all_diagnosis_df,

​ d_icd_df[[‘icd_code_clean’, ‘icd_version’, ‘long_title’, ‘icd_code’]], # 保留原始icd_code

​ on=‘icd_code_clean’,

​ how=‘left’,

​ suffixes=(‘’, ‘_dict’) # 区分原始和字典中的icd_code

)

# 调整列顺序,移除临时的clean列

merged_df = merged_df.drop(columns=[‘icd_code_clean’])

# 可选:如果需要可以将字典中的原始icd_code重命名

# merged_df = merged_df.rename(columns={‘icd_code_dict’: ‘icd_code_from_dict’})

# 保存结果文件

csv_path = r’H:\mimic-iv-2.2\all_diagnosis_filled.csv’

merged_df.to_csv(csv_path, index=False)

print(f"\n合并结果已保存至: {csv_path}")

# 可选:将未找到的代码保存到文件

if not_found_codes:

​ not_found_df = pd.DataFrame(not_found_codes)

​ not_found_path = r’H:\mimic-iv-2.2\icd_codes_not_found.csv’

​ not_found_df.to_csv(not_found_path, index=False)

​ print(f"未找到的ICD代码已保存至: {not_found_path}")

​ `

前20的诊断

一般诊断数越多病例越多越好出文章

icd_codeitem_counticd_versionlong_title
4019973619Unspecified essential hypertension
2724638759Other and unspecified hyperlipidemia
I105170610Essential (primary) hypertension
E7854858110Hyperlipidemia, unspecified
53081462389Esophageal reflux
25000410299Diabetes mellitus without mention of complication, type II or unspecified type, not stated as uncontrolled
Z878913889310Personal history of nicotine dependence
42731351809Atrial fibrillation
311346329Depressive disorder, not elsewhere classified
4280345979Congestive heart failure, unspecified
41401342379Coronary atherosclerosis of native coronary artery
K2193373710Gastro-esophageal reflux disease without esophagitis
V1582301979Personal history of tobacco use
F3292878710Major depressive disorder, single episode, unspecified
5849276419Acute kidney failure, unspecified
2449270659Unspecified acquired hypothyroidism
I25102539810Atherosclerotic heart disease of native coronary artery without angina pectoris
3051245429Tobacco use disorder
2859232889Anemia, unspecified

实验室检查分析统计

统计每个itemid的记录数,并按itemid排列

SELECT
itemid,
count(itemid) AS item_count – 每个itemid的出现次数
FROM MIMICIV_HOSP.labevents
GROUP BY itemid – 按检测项目分组
ORDER BY itemid desc; – 按itemid排序(此时排序有效)

依旧是匹配之后出前20的实验室指标

itemiditem_countlabelfluidcategory
512213325700HematocritBloodHematology
509123282278CreatinineBloodChemistry
512653216656Platelet CountBloodHematology
510063189474Urea NitrogenBloodChemistry
512223188835HemoglobinBloodHematology
513013171798White Blood CellsBloodHematology
512493167190MCHCBloodHematology
512793167075Red Blood CellsBloodHematology
512503167074MCVBloodHematology
512483167073MCHBloodHematology
512773166860RDWBloodHematology
509713150261PotassiumBloodChemistry
509833119778SodiumBloodChemistry
509023083705ChlorideBloodChemistry
508822972827BicarbonateBloodChemistry
508682965452Anion GapBloodChemistry
509312749562GlucoseBloodChemistry
508932190816Calcium, TotalBloodChemistry
509602154209MagnesiumBloodChemistry

医嘱procedure分析

SELECT
itemid,
count(itemid) AS item_count – 每个itemid的出现次数
FROM MIMICIV_HOSP.procedures_icd
GROUP BY itemid – 按检测项目分组
ORDER BY itemid desc; – 按itemid排序(此时排序有效)

前20procedure

icd_codeitem_counticd_versionlong_titleicd_code_dict
3893139289Venous catheterization, not elsewhere classified3893
02HV33Z1006110Insertion of Infusion Device into Superior Vena Cava, Percutaneous Approach02HV33Z
8938100419Other nonoperative respiratory measurements8938
389798439Central venous catheter placement with guidance3897
885690439Coronary arteriography using two catheters8856
96678119Enteral infusion of concentrated nutritional substances966
399573749Hemodialysis3995
004071589Procedure on single vessel0040
967170369Continuous invasive mechanical ventilation for less than 96 consecutive hours9671
895265069Electrocardiogram8952
549162459Percutaneous abdominal drainage5491
960462039Insertion of endotracheal tube9604
372257889Left heart cardiac catheterization3722
874454829Routine chest x-ray, so described8744
451354709Other endoscopy of small intestine4513
006651009Percutaneous transluminal coronary angioplasty [PTCA]0066
992550069Injection or infusion of cancer chemotherapeutic substance9925
3E0G76Z487110Introduction of Nutritional Substance into Upper GI, Via Natural or Artificial Opening3E0G76Z
396148339Extracorporeal circulation auxiliary to open heart surgery3961
389947129Other puncture of vein3899

HCPC分析

HCPC 全称为 Healthcare Common Procedure Coding System(医疗通用程序编码系统),是美国用于标准化描述医疗服务、医疗程序、医疗用品(如器械、药品)的编码体系,由美国医疗保险和医疗补助服务中心(CMS)与美国医学会(AMA)共同维护,核心作用是统一医疗服务的标识,支撑医保结算、医疗数据统计和服务费用核算。

核心组成与用途

  1. 主要编码类型
    • Level I(CPT 编码):对应医生提供的诊疗服务(如手术、检查、门诊治疗),由 AMA 制定,编码为 5 位数字(如 99213 代表常规门诊随访)。
    • Level II:对应医疗用品、设备、特殊服务(如轮椅、假肢、家庭医疗服务),编码以字母开头 + 4 位数字(如 E0100 代表标准轮椅)。
  2. 核心用途
    • 医保报销:作为美国医保(如 Medicare/Medicaid)判断服务是否覆盖、计算报销金额的依据;
    • 数据标准化:统一不同医疗机构的服务记录,便于医疗质量分析、疾病与治疗关联研究;
    • 费用核算:明确医疗服务的具体编码,对应收费标准。

SELECT
hcpcs_cd,
count(hcpcs_cd) AS item_count – 每个itemid的出现次数
FROM MIMICIV_HOSP.hcpcsevents
GROUP BY hcpcs_cd – 按检测项目分组
ORDER BY hcpcs_cd desc; – 按itemid排序(此时排序有效)

前20hcpc

hcpcs_cditem_countcodeshort_descriptionlong_description
G037853184G0378Hospital observation per hrHospital observation service, per hour
992194440199219Hospital observation services
992181022299218Hospital observation services
99220977599220Hospital observation services
4326296043262Digestive system
9345492393454Cardiovascular
4497092144970Digestive system
4326483943264Digestive system
4323971943239Digestive system
4756271747562Digestive system
C9600627C9600Perc drug-el cor stent singPercutaneous transcatheter placement of drug eluting intracoronary stent(s), with coronary angioplasty when performed; single major coronary artery or branch
4323544143235Digestive system
6444739864447Nervous system
4538038245380Digestive system
9345837393458Cardiovascular
6441534764415Nervous system
9298032892980Cardiovascular
4327432343274Digestive system
3624631136246Cardiovascular system

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

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

相关文章

孟德尔随机化小试 从软件安装数据下载到多种检验

孟德尔随机化(Mendelian Randomization, MR)作为一种利用基因数据推断因果关系的强大工具,在流行病学研究中应用广泛。本文将详细讲解MR的核心原理、完整分析流程,并附上关键代码实现,帮助你从零开始完成一次MR分析。1…

记一次:postman请求下载文件的使用方法

前言:笔者的后端接口是swagger,遇到像文件导出下载的功能就实现不了。然后使用postman工具就可以了。注:postman工具使用send下拉选项中有请求下载,如图完美解决。后续有其它方法在补充。

快速搭建项目(若依)

RuoYi-Vue 是一个 Java EE 企业级快速开发平台,低代码的框架。 1.环境要求: 其中MySQL和Redis放在服务器上或者本机上。 2.代码搭建: 代码下载地址:https://gitee.com/y_project/RuoYi-Vue,在官方文档里面可下载若依…

iOS开发之UICollectionView为什么需要配合UICollectionViewFlowLayout使用

1. UICollectionView 的职责分离UICollectionView 本质上只是一个容器,用来展示一系列的 cell(单元格)。 它本身 不关心 cell 的摆放方式,只负责:Cell 的复用(避免性能浪费)Cell 的增删改查滚动…

一、部署LNMP

一、准备环境操作系统:CentOS 7.x(最少 2 核 CPU 2GB 内存 20GB 磁盘)网络:能访问公网(用于下载包)软件版本:Nginx 1.20MySQL 5.7/8.0PHP 7.4WordPress 6.x(商城插件 WooCommerce&…

【时时三省】vectorCAST 便捷使用技巧

山不在高,有仙则名。水不在深,有龙则灵。 ----CSDN 时时三省 目录 1,工程的共享 2,工程的关键文件保存 2,工作环境目录下,各个文件夹的作用 1,build 和 environment 的区别 2,vcm的作用 3,tst 文件的妙用 4,配置文件的妙用 5,复制测试环境 6,vectorCAST…

TOPSIS 优劣解距离法总结

TOPSIS 优劣解距离法总结 1. 基本思想 TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)方法通过计算方案与正理想解(最优值)和负理想解(最劣值)的距离,来评价方案的优…

机器学习笔试题

人工智能与机器学习单选题(50道)1. 机器学习的核心目标是:A. 通过硬编码规则解决问题 B. 从数据中自动学习模式 C. 提高计算机硬件性能 D. 优化数据库查询速度2. 以下属于监督学习任务的是:A. 聚类分析 B. 图像分类 C. 异常检测 D…

CISP-PTE之路--10文

1.TCP/UDP 工作在 OSI 哪个层? 应用层 传输层 数据链路层 表示层 答案:传输层 解析:TCP(传输控制协议)和 UDP(用户数据报协议)是 OSI 模型中传输层的核心协议,负责端到端的数据传输管理,如可靠性(TCP)、实时性(UDP)等。 2.下列哪种设备可以隔离 ARP 广播帧? …

接口性能测试工具 - JMeter

1. 下载和运行JMeter 是由 Java 语言编写的, 因此 JMeter 的使用依赖于 Java 环境 - JRE.前往 oracle 官网下载 JMeter 压缩包.Mac 用户解压完成后, 在包内的 bin 目录下运行 sh jmeter:Windows 用户直接运行 bin 目录下的 jmeter.bat:即可进入 JMeter 主页面:1.1 添加环境变量…

Go语言实战案例-数据库事务处理

在实际业务中,很多操作需要保证 要么全部成功,要么全部失败,否则可能造成数据不一致。比如:• 用户转账(A 账户扣款,B 账户加款)• 下单支付(生成订单、扣减库存、记录支付&#xff…

为何vivo做了头显,小米却选择AI眼镜

在押注下一代智能终端这件事上,手机厂商为何步调不一致?文|游勇编|周路平在手机销量和创新都陷入停滞的背景下,主流手机厂商正在探索下一代交互终端,试图寻找新的增长点。今年6月,小米发布了AI眼…

Day24 目录遍历、双向链表、栈

day24 目录遍历、双向链表、栈显示指定目录下的所有 .h 文件 功能描述 遍历指定目录(递归进入子目录),查找所有以 .h 为后缀的头文件,将其完整路径(路径 文件名)存储到双向链表中,并正向或反向…

JupyterLab 安装(python3.10)

目录 一、环境 二、安装 三、启动Jupyterlab 四、通过chrome浏览器进行访问 五、打开Jupyter Notebook 六、pandas验证 JupyterLab 是一个基于 Web 的交互式开发环境,是经典 Jupyter Notebook 的下一代版本。它支持多种编程语言(如 Python、R、Juli…

【neo4j】安装使用教程

一、安装 1.0 前置条件 安装配置好jdk17及以上 注意我使用的是neo4j 5.26.10版本,匹配java17刚好 Java Archive Downloads - Java SE 17.0.12 and earlier 无脑安装即可 配置以下环境变量 1.1 安装程序 Neo4j Deployment Center - Graph Database & Anal…

AECS(国标ECALL GB 45672-2025)

车载紧急呼叫功能作为车辆遇险时的响应机制,为司机和乘客的安全营救提供通信支持。为了能够降低通信延迟,提高响应速度,基于4G/5G的下一代紧急呼叫技术(NG eCall)将在欧盟于2027年起成为强制标准,中国也已经…

week3-[循环嵌套]好数

week3-[循环嵌套]好数 题目描述 如果一个正整数 xxx 只有最左边一位不是 000,其余都是 000,那么称其为好数。例如 400040004000 和 222 都是好数,但是 120120120 不是。 给定正整数 nnn,在 111 到 nnn 间有多少个数是好数&#xf…

智能制造加速器:某新能源车智慧工厂无线网络优化提升方案

随着工业4.0和智能制造的快速发展,传统制造工厂的网络架构正面临前所未有的挑战。为了满足柔性生产、实时数据驱动以及高可靠运营的需求,某新能源车智慧工厂启动了一项无线网络优化提升项目。本项目通过部署智能组网设备,构建高效、稳定、智能…

nginx-自制证书实现

nginx-自制证书实现一、 确认nginx是支持https功能的二、生成私钥三、 根据ca.key生成nginx web服务器使用的证书签名请求文件nginx.csr四、使用ca.key给nginx.csr进行签名,生成公钥证书nginx.crt五、将证书与域名绑定六、添加域名解析并访问一、 确认nginx是支持ht…

FreeRTOS,事件标注组创建,xEventGroupCreate、xEventGroupCreateStatic

1. xEventGroupCreate ():动态创建(临时借内存) 作用: 向系统(FreeRTOS 的堆内存)“临时申请” 一块内存来存放事件组,不需要我们自己提前准备内存。 例子(基于你的代码修改&#xf…