药物不良反应报告(ADR 数据分析报告生成器)
Overview
本技能把「ADR 监测数据」一键转化为符合药物流行病学报告规范的投稿级 Word 文档。
核心思路:先用 analyze.py 完成结构化编码与统计,再 figures.py 出图,最后 build_report.py
排版成含三线表、嵌入式矢量图、结论要点与附录的 .docx。所有数字保留 2 位小数、P 值统一为
P<0.001 / P=0.032 / P>0.05、三线表无竖线斜线、图题置底表题置顶、注明软件版本,并自动规避
禁用词(根据数据显示/由此可见/可能 等模糊表述)。
何时使用 / 触发场景
- 用户上传或给出 ADR/药害事件监测数据,要求「生成分析报告」「写一份 ADR 报告」「整理成投稿 Word」。
- 课题方向涉及:氟喹诺酮类、抗菌药物、中药注射剂、抗肿瘤药等的安全性再评价。
- 需要 SOC 分布、严重程度构成、月度趋势、药物类别风险 OR、森林图、帕累托图。
- 用户要求 PSM/IPTW/Logistic 回归但仅有汇总级数据时,本技能诚实给出方法学框架而非虚构结果。
重要:数据层级与学术诚实
- 汇总级监测数据(药品→报告数→ADR 文字表现,无个体协变量):
可执行全部描述性统计、类别风险 OR(Fisher)、SOC/严重度/月度趋势、6 张图。
PSM/IPTW/调整后 Logistic/Cox/亚组森林图/Love Plot 依赖个体患者协变量
(年龄、eGFR、疗程、剂量、合并用药、转归),不可虚构——改以附录1 方法学框架 + R 代码模板交付。 - 个体水平数据(每行一例患者)可补齐全部高级分析;可在 analyze.py 基础上扩展。
- 始终在报告正文「3.3 关于个体水平调整分析的说明」「附录1」中声明数据局限,不编造 1200 vs 2500 队列。
输入数据格式
adr_input.csv(必需)
列:drug, reports, pharm_class, ab_subclass, adr_text
- drug:怀疑药品通用名
- reports:该药本期报告例数(整数)
- pharm_class:药理类别(如 抗菌药物 / 消化系统用药 / 中药及中成药 / 激素及免疫调节药 等,脚本按 MERGE 规则归并)
- ab_subclass:抗菌药亚类(喹诺酮类/头孢类/大环内酯类/青霉素类;非抗菌药留空或填 —)
- adr_text:ADR 表现文字(用于 MedDRA 风格 SOC 关键词映射,逗号分隔多条)
adr_meta.csv(必需)
列:key, value
- n_general、n_severe_new:一般报告 / 新的严重报告例数
- monthly:4月=16;5月=16;6月=10 格式
- ref_class:风险比较参照类别(默认 抗菌药物)
- ab_subclasses:抗菌药亚类列表,逗号分隔(默认 喹诺酮类,头孢类,大环内酯类,青霉素类)
- outcome_soc:主要分析结局 SOC(默认 皮肤及皮下组织)
- period:数据时段文本
> 提示:直接运行 python analyze.py(无参数)会在当前目录生成带示范数据的 adr_input.csv / adr_meta.csv 模板,
> 用户按真实数据替换后即可。
使用流程(三步)
# 0) (可选)生成模板,按真实数据填写
python analyze.py
# 1) 分析与编码 → 产出 stats.json
python analyze.py adr_input.csv adr_meta.csv
# 2) 出图 → 产出 figs/fig1~fig6.png
python figures.py
# 3) 生成报告 → 产出 ADR_数据分析报告.docx
python build_report.py
依赖(隔离环境):numpy scipy matplotlib python-docx,Python 3.13+。
脚本说明
scripts/analyze.py:数据编码(SOC 映射SOC_MAP、类别归并MERGE)、描述性统计、Fisher/χ²、
OR(95%CI, Woolf 0.5 校正),输出stats.json。scripts/figures.py:6 张图(月度柱状折线、风险森林图、SOC 帕累托、药品帕累托、类型饼图、亚类×SOC 热力图)。scripts/build_report.py:读取stats.json与figs/,排版为投稿级 .docx(8 张三线表 + 6 图 + 附录)。
可扩展点
- 新增 SOC 关键词或药理类别:编辑
analyze.py顶部的SOC_MAP/MERGE。 - 个体水平数据:在
analyze.py增加逐例读取分支,并向build_report.py增补 PSM/Love Plot/亚组森林图。 - 编码方案文档见
references/coding_scheme.md。
输出清单(默认)
ADR_数据分析报告.docx:摘要、一~七章节、参考文献、附录1(方法学框架+R代码)、附录2(图表清单)、附录3(术语)。- 8 张三线表:表1 药理类别构成、表2 抗菌药亚类、表3 类别风险OR、表4 喹诺酮vs头孢、表5 SOC分布、表6 报告类型、附表1 调整变量明细、附表2 图表清单。
- 6 张图:图1 月度趋势、图2 风险森林图、图3 SOC帕累托、图4 药品帕累托、图5 类型饼图、图6 亚类×SOC热力图。