
Description
当用户处置疑似疾病暴发、需要画流行曲线、做三间分布描述、计算罹患率或 RR/OR、梳理暴发调查思路、形成与验证病因假设、设计回顾性队列或病例对照 研究时使用。同义场景:暴发调查、聚集性疫情分析、流行曲线/epi curve、 病例定义分层(疑似/临床/确诊)、发病时间分布、罹患率比较、2×2 表、 相对危险度 RR、比值比 OR、同源暴发/持续同源/人传人曲线形态、 食源性疾病暴发、现场流行病学调查、"帮我分析这份病例一览表"。
SKILL.md
outbreak-analysis:暴发调查分析规程
目的
把一份病例一览表(linelist)变成一份可审查的暴发调查分析:从病例定义
分层开始,经描述性三间分布与罹患率比较,到假设形成与验证设计。本技能
固化现场流行病学调查的经典步骤顺序 模型知识—待核实:步骤划分与命名
各教材略有差异,并给出 scripts/epi_curve.py 的标准用法。
铁律:
- 先描述,后推断:三间分布描述未完成前,不讨论病因结论。
- 病例定义先行:任何计数都必须说明用的是哪一层病例定义;换定义 必须重算。
- 个案数据合规:linelist 必须是去标识化版本(见 epi-data-access 第 4 节);发现姓名/身份证/详细住址等直接标识符时停止分析,先脱敏。
- 所有写入报告的数字必须能回溯到脚本输出或手工算式(evidence-or-silence)。
前置检查
- linelist 已落盘于工作区(建议
data/或派生目录),CSV 格式,UTF-8; 至少含发病日期列(默认onset_date),可选病例类型列(case_type)。 - 数据已去标识化;伦理与数据来源已在 provenance 登记。
- 已明确本次分析回答的问题:是核实暴发存在、描述分布、还是验证假设。
- 背景信息向用户确认:涉及病种、暴露场景(聚餐/水源/集体单位)、 调查时间。这些信息只有用户能提供,不猜。
1 · 核实诊断与确认暴发存在
- 与用户核实:报告病例的诊断依据(临床症状、实验室检测)是否可靠; 是否存在误诊或报告错误的可能。
- 比较观察到的病例数与基线/期望水平:超出基线才可谈"暴发"。基线
来源(历年同期报告数)向用户或监测资料索取;拿不到基线时写明
[待补证据:建议查历年同期监测数据],不凭印象断言"明显增多"。
2 · 建立病例定义并分层
病例定义四要素:时间、地点、人群、临床/实验室标准。按证据强度分层:
| 分层 | 含义(一般惯例) | 用途 |
|---|---|---|
| 疑似病例 | 仅满足临床/流行病学标准 | 敏感性高的病例搜索 |
| 临床诊断病例 | 临床标准 + 流行病学关联 | 描述性分析主口径 |
| 确诊病例 | 实验室病原学/血清学证据 | 假设验证主口径 |
模型知识—待核实:分层命名与各病种的判定标准以国家监测方案/诊疗 方案为准,不同病种差异很大,本表仅为通用框架。
规程:
- 把病例定义逐字写进报告方法节,包括纳入与排除标准。
- linelist 中用
case_type列标记每例所属分层;分层变更要留痕。 - 敏感性分析意识:主分析用哪一层、换层后结论是否翻转,在报告 讨论节说明。
3 · 病例搜索与一览表整理
- 病例搜索途径(医疗机构记录、缺勤缺课登记、主动询问)由现场条件 决定,记录搜索范围与可能遗漏。
- linelist 建议列:
case_id(去标识编号)、onset_date、case_type、 年龄/性别、居住地或暴露分组变量、关键暴露史(就餐/饮水/接触)、 转归。列不在多而在与假设相关。 - 整理只生成新文件,不改原始导出(原始数据只读原则)。
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
- 罹患率 = 期间新发病例数 / 暴露人口数(同源暴发中常以共同暴露 人群为分母)。分子分母口径必须同源同期。
- 暴露-发病 2×2 表:
| 发病 | 未发病 | |
|---|---|---|
| 暴露 | a | b |
| 非暴露 | c | d |
- RR = a/(a+b) / c/(c+d),适用于队列/全暴露人群资料;
- OR = (a·d)/(b·c),适用于病例对照资料(对照代表源人群暴露 分布时,OR 近似 RR)模型知识—待核实。
- 计算用脚本或电子表格留算式;结果连同分母来源一起写入报告。
- 统计推断(置信区间、检验)样本量稍大时用 R/SPSS 完成(可委托 r-analysis 等计算类 skill),本技能只负责点估计与表格。
6 · 假设形成
- 综合三间分布、暴露史共性(共同就餐菜品、水源、集会)提出暴露假设。
- 假设要具体可检验:写清"暴露 X 于时间窗 T 内使发病风险升高",不要 停留在"可能与食物有关"。
- 与假设矛盾的病例(无暴露史的确诊例)如实列出,不删除——它们是 修正病例定义或暴露定义的线索。
7 · 假设验证:分析性研究设计提示
| 情形 | 设计 | 效应指标 |
|---|---|---|
| 暴露人群小且明确(一次聚餐全部参与者可枚举) | 回顾性队列 | RR |
| 病例已确定、暴露人群大或不可枚举 | 病例对照 | OR |
设计纪律:
- 对照选择先于数据分析确定;对照应代表产生病例的源人群 模型知识—待核实。
- 暴露回忆用统一问卷;调查者尽量对假设保持盲态(现场条件下难以 完全实现时如实说明)。
- 混杂与偏倚(回忆偏倚、选择偏倚)在讨论节明确列出,不掩饰。
8 · 控制措施与报告
- 控制措施不必等假设验证完成:描述性结果足以支持现场措施时 立即建议(停止供应可疑食品、水源消毒、隔离等),措施内容与执行 主体由用户与当地部门决定,本技能只提供证据摘要。
- 报告写作转
epi-writing的暴发调查报告模板。
输出模板
## 暴发调查描述性分析(<日期>)
### 病例定义
- 疑似/临床/确诊分层标准:<逐字定义>[用户提供]
### 三间分布
- 时间:流行曲线见 <curve 图/ASCII>;峰日 <peak_date>,共 <total> 例
[实验数据:epi_curve.py 输出]
- 地点:<分布描述>
- 人群:<年龄/性别/分组构成>
### 罹患率比较
| 分组 | 病例数 | 暴露人口 | 罹患率% |
| --- | --- | --- | --- |
### 假设
- <可检验的暴露假设>,依据:<三间分布与暴露史共性>
- 矛盾病例:<列出或写明"未发现">
### 下一步
- 验证设计:回顾性队列 / 病例对照;效应指标 RR / OR
本技能不做什么
- 不做因果定论:RR/OR 显著不等于因果;结论措辞限于"提示/符合", 因果推断所需的更多证据标准不在本技能范围。
- 不做多因素回归建模:logistic 回归等交给 python-analysis 等计算类 skill 或用户的统计环境,本技能止于 2×2 表。
- 不提供临床诊疗建议:个体病例诊治一律由临床医生决定。
- 不发布信息:疫情信息对外发布权限属于有权部门;本技能只产出 内部调查报告草稿(guardrail 第 8 条,对外可见动作需确认)。
- 不编造病种参数:潜伏期、代际间隔等数值一律查方案后引用并标注
来源;拿不到就写
[待补证据]。
收尾与下一步
- 汇总:病例总数、分层计数、峰日、罹患率表、假设与矛盾点。
- 指向产物路径(曲线 JSON、分析报告),登记 provenance。
- 建议下一步:
- 假设验证设计细化 → 与用户/现场团队讨论;
- 地区分布与地图 →
spatial-epi; - 报告成文 →
epi-writing; - 数据补齐或重新获取 →
epi-data-access。
More skills from the MiniMax-Code-Plugins repository
View all 36 skillsarticle2tasks
convert articles into Dida365 tasks
Aug 18Content CreationMCPTask Managementcitation-verify
verify academic citation accuracy
Aug 21Code AnalysisDocumentationQAResearchclaim-check
verify research claims against evidence
Aug 21AuditCode AnalysisResearchcn-literature
search and organize Chinese academic literature
Aug 21Data CleaningDocumentsResearchcold-start-interview
initialize research profiles via interviews
Aug 21DocumentationOnboardingProductivityResearchcustomize
customize research guardrails and settings
Aug 21Best PracticesConfigurationResearch
More from MiniMax
View publisherandroid-native-dev
develop Android native applications
skills
Jul 13AccessibilityAndroidKotlinMobile +1buddy-sings
generate singing performances for AI companions
skills
Jul 13AgentsAudioCreativecolor-font-skill
select color palettes and font pairings
skills
Jul 13DesignPresentationsThemesTypographydesign-style-skill
select visual design systems for presentations
skills
Jul 13DesignDesign SystemPowerPointPresentationsflutter-dev
build cross-platform apps with Flutter
skills
Jul 13DartFlutterMobilePerformance +1frontend-dev
build visually striking frontend web pages
skills
Jul 13AnimationCreativeDesignFrontend +1