MiniMax logo

Skill

outbreak-analysis

analyze disease outbreak data and trends

Published by MiniMax Updated Aug 21
Covers Research Healthcare Data Analysis Statistics

Description

当用户处置疑似疾病暴发、需要画流行曲线、做三间分布描述、计算罹患率或 RR/OR、梳理暴发调查思路、形成与验证病因假设、设计回顾性队列或病例对照 研究时使用。同义场景:暴发调查、聚集性疫情分析、流行曲线/epi curve、 病例定义分层(疑似/临床/确诊)、发病时间分布、罹患率比较、2×2 表、 相对危险度 RR、比值比 OR、同源暴发/持续同源/人传人曲线形态、 食源性疾病暴发、现场流行病学调查、"帮我分析这份病例一览表"。

SKILL.md

outbreak-analysis:暴发调查分析规程

目的

把一份病例一览表(linelist)变成一份可审查的暴发调查分析:从病例定义 分层开始,经描述性三间分布与罹患率比较,到假设形成与验证设计。本技能 固化现场流行病学调查的经典步骤顺序 模型知识—待核实:步骤划分与命名 各教材略有差异,并给出 scripts/epi_curve.py 的标准用法。

铁律:

  1. 先描述,后推断:三间分布描述未完成前,不讨论病因结论。
  2. 病例定义先行:任何计数都必须说明用的是哪一层病例定义;换定义 必须重算。
  3. 个案数据合规:linelist 必须是去标识化版本(见 epi-data-access 第 4 节);发现姓名/身份证/详细住址等直接标识符时停止分析,先脱敏。
  4. 所有写入报告的数字必须能回溯到脚本输出或手工算式(evidence-or-silence)。

前置检查

  1. linelist 已落盘于工作区(建议 data/ 或派生目录),CSV 格式,UTF-8; 至少含发病日期列(默认 onset_date),可选病例类型列(case_type)。
  2. 数据已去标识化;伦理与数据来源已在 provenance 登记。
  3. 已明确本次分析回答的问题:是核实暴发存在、描述分布、还是验证假设。
  4. 背景信息向用户确认:涉及病种、暴露场景(聚餐/水源/集体单位)、 调查时间。这些信息只有用户能提供,不猜。

1 · 核实诊断与确认暴发存在

  1. 与用户核实:报告病例的诊断依据(临床症状、实验室检测)是否可靠; 是否存在误诊或报告错误的可能。
  2. 比较观察到的病例数与基线/期望水平:超出基线才可谈"暴发"。基线 来源(历年同期报告数)向用户或监测资料索取;拿不到基线时写明 [待补证据:建议查历年同期监测数据],不凭印象断言"明显增多"。

2 · 建立病例定义并分层

病例定义四要素:时间、地点、人群、临床/实验室标准。按证据强度分层:

分层含义(一般惯例)用途
疑似病例仅满足临床/流行病学标准敏感性高的病例搜索
临床诊断病例临床标准 + 流行病学关联描述性分析主口径
确诊病例实验室病原学/血清学证据假设验证主口径

模型知识—待核实:分层命名与各病种的判定标准以国家监测方案/诊疗 方案为准,不同病种差异很大,本表仅为通用框架。

规程:

  1. 把病例定义逐字写进报告方法节,包括纳入与排除标准。
  2. linelist 中用 case_type 列标记每例所属分层;分层变更要留痕。
  3. 敏感性分析意识:主分析用哪一层、换层后结论是否翻转,在报告 讨论节说明。

3 · 病例搜索与一览表整理

  1. 病例搜索途径(医疗机构记录、缺勤缺课登记、主动询问)由现场条件 决定,记录搜索范围与可能遗漏。
  2. linelist 建议列:case_id(去标识编号)、onset_datecase_type、 年龄/性别、居住地或暴露分组变量、关键暴露史(就餐/饮水/接触)、 转归。列不在多而在与假设相关。
  3. 整理只生成新文件,不改原始导出(原始数据只读原则)。

4 · 描述性分析:三间分布

4.1 时间分布:流行曲线

用脚本生成:

python scripts/epi_curve.py <linelist.csv> --interval day
python scripts/epi_curve.py <linelist.csv> --format json > curve.json

解读要点(结合病种潜伏期,潜伏期数值查诊疗方案,不凭记忆填写):

  • 点源/同源暴露:病例集中在约一个潜伏期内,曲线单峰陡起陡落;
  • 持续同源:平台状拖尾;
  • 增殖/人传人:多波次、间隔约一个代际间隔。

以上形态学对应关系为教科书经验法则 模型知识—待核实,仅作假设 线索,不作暴露模式的确证。

4.2 地点分布

按居住地/工作地/就餐地点统计;需要标点地图或分地区率时转 spatial-epi

4.3 人群分布

按年龄、性别、职业/班级/车间分组计算构成比与(有分母时的)组罹患率:

python scripts/epi_curve.py <linelist.csv> --group-by village \
    --population "村A=500,村B=300"

5 · 罹患率与 RR/OR

  1. 罹患率 = 期间新发病例数 / 暴露人口数(同源暴发中常以共同暴露 人群为分母)。分子分母口径必须同源同期。
  2. 暴露-发病 2×2 表:
发病未发病
暴露ab
非暴露cd
  • RR = a/(a+b) / c/(c+d),适用于队列/全暴露人群资料;
  • OR = (a·d)/(b·c),适用于病例对照资料(对照代表源人群暴露 分布时,OR 近似 RR)模型知识—待核实
  1. 计算用脚本或电子表格留算式;结果连同分母来源一起写入报告。
  2. 统计推断(置信区间、检验)样本量稍大时用 R/SPSS 完成(可委托 r-analysis 等计算类 skill),本技能只负责点估计与表格。

6 · 假设形成

  1. 综合三间分布、暴露史共性(共同就餐菜品、水源、集会)提出暴露假设。
  2. 假设要具体可检验:写清"暴露 X 于时间窗 T 内使发病风险升高",不要 停留在"可能与食物有关"。
  3. 与假设矛盾的病例(无暴露史的确诊例)如实列出,不删除——它们是 修正病例定义或暴露定义的线索。

7 · 假设验证:分析性研究设计提示

情形设计效应指标
暴露人群小且明确(一次聚餐全部参与者可枚举)回顾性队列RR
病例已确定、暴露人群大或不可枚举病例对照OR

设计纪律:

  1. 对照选择先于数据分析确定;对照应代表产生病例的源人群 模型知识—待核实
  2. 暴露回忆用统一问卷;调查者尽量对假设保持盲态(现场条件下难以 完全实现时如实说明)。
  3. 混杂与偏倚(回忆偏倚、选择偏倚)在讨论节明确列出,不掩饰。

8 · 控制措施与报告

  1. 控制措施不必等假设验证完成:描述性结果足以支持现场措施时 立即建议(停止供应可疑食品、水源消毒、隔离等),措施内容与执行 主体由用户与当地部门决定,本技能只提供证据摘要。
  2. 报告写作转 epi-writing 的暴发调查报告模板。

输出模板

## 暴发调查描述性分析(<日期>)

### 病例定义
- 疑似/临床/确诊分层标准:<逐字定义>[用户提供]

### 三间分布
- 时间:流行曲线见 <curve 图/ASCII>;峰日 <peak_date>,共 <total> 例
  [实验数据:epi_curve.py 输出]
- 地点:<分布描述>
- 人群:<年龄/性别/分组构成>

### 罹患率比较
| 分组 | 病例数 | 暴露人口 | 罹患率% |
| --- | --- | --- | --- |

### 假设
- <可检验的暴露假设>,依据:<三间分布与暴露史共性>
- 矛盾病例:<列出或写明"未发现">

### 下一步
- 验证设计:回顾性队列 / 病例对照;效应指标 RR / OR

本技能不做什么

  • 不做因果定论:RR/OR 显著不等于因果;结论措辞限于"提示/符合", 因果推断所需的更多证据标准不在本技能范围。
  • 不做多因素回归建模:logistic 回归等交给 python-analysis 等计算类 skill 或用户的统计环境,本技能止于 2×2 表。
  • 不提供临床诊疗建议:个体病例诊治一律由临床医生决定。
  • 不发布信息:疫情信息对外发布权限属于有权部门;本技能只产出 内部调查报告草稿(guardrail 第 8 条,对外可见动作需确认)。
  • 不编造病种参数:潜伏期、代际间隔等数值一律查方案后引用并标注 来源;拿不到就写 [待补证据]

收尾与下一步

  1. 汇总:病例总数、分层计数、峰日、罹患率表、假设与矛盾点。
  2. 指向产物路径(曲线 JSON、分析报告),登记 provenance。
  3. 建议下一步:
    • 假设验证设计细化 → 与用户/现场团队讨论;
    • 地区分布与地图 → spatial-epi
    • 报告成文 → epi-writing
    • 数据补齐或重新获取 → epi-data-access

© 2026 YourAI.tools. Every skill from an identity-verified publisher.

Independent catalog. Not affiliated with, endorsed by, or sponsored by Anthropic or any listed publisher. All trademarks belong to their respective owners.