数据分析

Mimic Skill

试用

从 MIMIC-IV 重症监护数据库中提取数据的专用技能。当用户提到 MIMIC、MIMIC-IV、查询 MIMIC 数据、提取 ICU 患者数据(生命体征/实验室检查/诊断/合并症)且涉及 MIMIC 数据库时使用此技能。支持 SQL 和 Python (psycopg2) 两种查询方式,数据通过 Postgr...

它能做什么

从 MIMIC-IV 重症监护数据库中提取数据的专用技能。当用户提到 MIMIC、MIMIC-IV、查询 MIMIC 数据、提取 ICU 患者数据(生命体征/实验室检查/诊断/合并症)且涉及 MIMIC 数据库时使用此技能。支持 SQL 和 Python (psycopg2) 两种查询方式,数据通过 PostgreSQL 连接。

技能文档

MIMIC-IV Data Extraction Skill

Extract intensive care data from the MIMIC-IV database. Provides SQL templates and Python code; users handle database connections themselves.

Connection Method

Users provide their own PostgreSQL connection parameters. This skill only provides query code.

Important Changes in MIMIC-IV (vs MIMIC-III)

⚠️ If you have used MIMIC-III, please note the following changes!

1. Table Name Changes

MIMIC-III (❌ Deprecated)MIMIC-IV (✅ Correct Usage)Description
icustay_idstay_idICU stay ID
inputevents_mvinputeventsInput events (merged mv and cv)
inputevents_cvinputeventsMerged into inputevents
procedureevents_mvprocedureeventsProcedure events
datetimeeventsdatetimeeventsNew table (datetime events)
ingredienteventsingredienteventsNew table (drug ingredient events)

2. New Tables (MIMIC-IV)

Table NameDescription
ingredienteventsDrug active ingredient events
datetimeeventsDatetime events
emarElectronic medication administration record
emar_detailElectronic medication administration detail
poeProvider order entry records
poe_detailProvider order entry detail

3. New Modules (MIMIC-IV)

MIMIC-IV is now divided into 6 modules:

ModuleDescriptionMain Tables
hospHospital-level datapatients, admissions, labevents, diagnoses_icd, etc.
icuICU-level dataicustays, chartevents, inputevents, etc.
edEmergency department dataedstays, edcharting, etc.
cxrChest X-ray metadatacxr_records, cxr_paths, etc.
noteClinical notesdischarges, echos, etc.
ecgECG dataecg_records, ecg_paths, etc.

4. Field Name Conventions

Correct (lowercase):

SELECT ce.subject_id, ce.stay_id, ce.itemid, ce.charttime
FROM chartevents ce
WHERE ce.stay_id = 100001

Incorrect (camelCase or old field names):

SELECT ce.subjectId, ce.icustay_id  -- Field does not exist!
FROM chartevents ce

Supported Query Types

Query TypeReference File
Vital Signsreferences/vital_signs.md
Laboratory Testsreferences/labs.md
Diagnoses and Comorbiditiesreferences/diagnoses.md
Database Schemareferences/schema.md
Common Query Templatesreferences/common_queries.md

Workflow

  1. Confirm the query type needed by the user
  2. Read the corresponding references file to get SQL/Python templates
  3. Adjust query conditions based on specific user requirements
  4. Provide both SQL and Python implementations
  5. Explain how to customize parameters (e.g., time range, itemid, etc.)

Key Conventions

  • MIMIC-IV uses stay_id as the ICU stay identifier (not MIMIC-III's icustay_id)
  • anchor_age is truncated (patients >89 are all set to 91)
  • chartevents is linked via stay_id, labevents via hadm_id
  • itemid comes from d_items (vital signs) and d_labitems (lab tests)
  • Time representation: MIMIC-IV uses absolute timestamps (TIMESTAMP type), time functions can be used directly

Common Query Scenarios

1. Extract First Day Vital Signs in ICU

SELECT 
    ce.subject_id,
    ce.stay_id,
    ce.itemid,
    di.label,
    ce.charttime,
    ce.valuenum,
    ce.valueuom
FROM chartevents ce
INNER JOIN icustays ic ON ce.stay_id = ic.stay_id
INNER JOIN d_items di ON ce.itemid = di.itemid
WHERE ce.charttime >= ic.intime
  AND ce.charttime < ic.intime + INTERVAL '1 day'
  AND ce.itemid IN (220045, 220050, 220051, 220052, 223762, 220210, 220277, 223835)
  AND ce.valuenum IS NOT NULL
ORDER BY ce.stay_id, ce.charttime;

2. Extract First Day Laboratory Tests in ICU

SELECT 
    le.subject_id,
    le.hadm_id,
    le.itemid,
    dli.label,
    le.charttime,
    le.valuenum,
    le.valueuom
FROM labevents le
INNER JOIN admissions a ON le.hadm_id = a.hadm_id
INNER JOIN d_labitems dli ON le.itemid = dli.itemid
WHERE le.charttime >= a.admittime
  AND le.charttime < a.admittime + INTERVAL '1 day'
  AND le.itemid IN (50912, 51006, 50983, 50971, 50902, 50882)
  AND le.valuenum IS NOT NULL
ORDER BY le.subject_id, le.charttime;

3. Extract Patient Diagnoses (ICD Codes)

SELECT 
    d.subject_id,
    d.hadm_id,
    d.seq_num,
    d.icd_code,
    d.icd_version,
    did.long_title
FROM diagnoses_icd d
LEFT JOIN d_icd_diagnoses did
    ON d.icd_code = did.icd_code AND d.icd_version = did.icd_version
WHERE d.hadm_id = %(hadm_id)s
ORDER BY d.seq_num;

Notes

1. Table and Field Name Case Sensitivity

  • All lowercase: All table and field names in MIMIC-IV are lowercase
  • Use double quotes: If you must use uppercase or camelCase names, wrap them in double quotes (not recommended)

2. Time Handling

  • Absolute timestamps: All time fields are TIMESTAMP type (UTC timezone)
  • Time functions: You can directly use functions like EXTRACT, DATE_PART, INTERVAL
  • Timezone conversion: Use AT TIME ZONE for local time conversion
-- Convert to local time (e.g., Eastern Time)
SELECT charttime AT TIME ZONE 'America/New_York'
FROM chartevents
WHERE stay_id = 100001;

3. Large Table Query Optimization

  • The chartevents table has hundreds of millions of rows; when querying, be sure to:
    • Filter by stay_id
    • Limit the charttime range
    • Add a LIMIT clause (for testing)
    • Use EXPLAIN to analyze the query plan

4. Numeric vs Text Results

  • valuenum: Numeric results (for calculations)
  • value: Text results (for qualitative results, e.g., "Positive", "Negative")
-- Correct: Use valuenum for numeric results
SELECT AVG(valuenum) AS avg_creatinine
FROM labevents
WHERE itemid = 50912 AND valuenum IS NOT NULL;

-- Correct: Use value for text results
SELECT COUNT(*) AS num_positive
FROM labevents
WHERE itemid = 500061 AND value = 'Positive';


Last Updated: 2026-05-20
Updated by: 悟空(基于 MIMIC-IV 官方文档修正)

相关技能

Query the eICU Collaborative Research Database 2.0. Generates SQL and Python code for extracting ICU data including vital signs, labs, GCS, vasopressors, blo...

4 次安装

技能太多不知道该用哪个,每次都要翻半天?本技能根据用户需求智能匹配最合适的已安装技能。关键词+语义双重匹配,输出Top3推荐+理由+适用场景,不再试错浪费时间。 触发词:选技能、用哪个技能、技能推荐、技能匹配、技能选择、该用什么、帮我选技能 排除:技能创建(用skill_builder)、技能搜索安装(用skil...

4 次安装

检查你安装的所有 AI Skill:列出完整清单、找出内容重复或互相冲突的 Skill、评估每个是否成熟可靠,并告诉你怎么处理(放心用/合并/删除)。当用户问"我有哪些 skill / 哪些重复了 / skill 有没有问题 / 该留哪个"时调用。创建新 Skill、单体质量自检、C 盘清理、代码审查或安全扫描、纯知识问答时不要调用。

1 星标

Miro (miro.com). Use this skill for ANY Miro request — reading, creating, and updating data. Whenever a task involves Miro, use this skill instead of calling the API directly.

新项目建表拍脑袋,上线后慢查询满天飞?从需求到ER图到DDL到迁移策略,设计生产级数据库架构。覆盖规范化建模、索引策略、多租户设计、分库分表、向量数据库集成。支持MySQL/PostgreSQL/MongoDB/Redis/Milvus。 触发词:数据库设计、表结构设计、schema设计、ER图、建表、数据库建模...

1 次安装

技能装了一堆却功能重叠、触发打架、维护成本翻倍?本技能智能分析多个技能的核心能力,自动合并为一体化超级技能。支持吸收型/融合型/编排型三种合并策略,消除重复逻辑、统一触发条件、整合工作流程,从散装技能到一体化工作流。 触发词:技能合并、合并技能、技能整合、超级技能、技能组合、skill合并 排除:技能创建(用sk...

4 次安装