Synthea COVID-19 专供数据集 (synthea-covid) — AI-Ready Wikipedia

MITRE 三周建成的疫情合成 EHR:covid19 模块模拟 124,150 名患者(88,166 感染、18,177 住院、CFR 4.1%、峰值 548 台透析机 + 209 台呼吸机),10K/100K/VA/OMOP 四版 CSV 全开放,三篇顶刊文献校准,Apache 2.0 代码可复现

来源 Synthea GMF covid19 模块生成的合成 EHR 关系型 CSV 表族(16 表:patients/encounters/conditions/observations/procedures/payers 等),术语对齐 SNOMED-CT/RxNorm/LOINC/CVX发布时间: 2026-09-28最后更新: 2026-09-28 阅读 13
Synthea COVID-19 专供数据集 (synthea-covid) — AI-Ready Wikipedia

信息速览

数据集名称Synthea COVID-19 专供数据集 (synthea-covid) — AI-Ready Wikipedia
数据类型合成数据,结构化表格
规模发布包口径:10K 版 10,000 患者;100K 版 100,000 患者;VA veterans 版 147,451 患者(文件名 100k、实数 14.7 万,名实不符存照);OMOP 版 P
接入方式Synthea GMF covid19 模块生成的合成 EHR 关系型 CSV 表族(16 表:patients/encounters/conditions/observations/procedures/payers 等),术语对齐 SNOMED-CT/RxNorm/LOINC/CVX
AI 就绪度

INFOBOX — Synthea COVID-19 专供数据集一屏速览

维度 内容
本质 合成 COVID-19 患者 EHR 数据集——Synthea GMF 引擎 covid19 模块生成,无真实个体、无隐私风险
全名 Synthea™ Novel coronavirus (COVID-19) model and synthetic data set(Intelligence-Based Medicine 2020;1:100007)
主导 MITRE(Walonoski 等 8 人);2020-03~05 建模,2020-05-26 covid19 分支冻结,2020-11 论文发表
校准 三篇早期真实队列:Guan NEJM 2020(中国 1,099 例)、Zhou Lancet 2020(武汉 191 例)、Richardson JAMA 2020(纽约)
规模 论文模拟总体 124,150 患者 / 88,166 感染 / 18,177 住院;CFR 4.1%、住院率 20.6%
峰值资源 548 台透析机 + 209 台呼吸机;逐日输出 PPE 与医疗物资消耗
发布版本 四版并存:10K CSV(54 MB zip)/ 100K CSV(512 MB zip、17 文件)/ VA veterans(147,451 患者)/ OMOP CDM(PERSON 10,754)
数据形态 16 张关系型 CSV 表(patients 主表 + encounters 辐射明细);SNOMED-CT/RxNorm/LOINC/CVX 术语对齐
基准 无标准 ML 基准——定位是卫生系统建模/资源规划/教学;precisionFDA Challenge 11 为 VA 版关联场景
获取 官方下载页 / hdx.mitre.org / MITRE Box 直链 / Kaggle / data.va.gov / omock R 包,全免费
许可 代码 Apache 2.0;数据开放发布(Kaggle/VA 渠道标 CC0)
库内互链 synthea(rid460,通用引擎上游条目);litcovid、covidx-cxr、bimcv-covid、mimic-iv、cms-de-synpuf

Synthea COVID-19 专供数据集是"当真实数据来不及收集时,合成数据能走多远"的一次正面回答。2020 年 3 月,新冠疫情在美国爆发,医院系统面对一连串无法用直觉回答的问题:两周后需要多少张 ICU 床位?呼吸机和透析机的峰值缺口有多大?PPE(personal protective equipment,个人防护装备)消耗曲线长什么样?回答这些问题需要带完整临床轨迹的患者级数据——而真实 EHR 要么还在收集、要么被隐私法规锁死、要么脱敏脱掉了关键细节。MITRE 团队用 Synthea 的通用模块框架(GMF,General Module Framework)在三周内建成 covid19 疾病模块,以三篇早期顶刊队列校准参数,模拟出 124,150 名马萨诸塞州型患者——88,166 人感染、18,177 人住院、病死率 4.1%、疫情峰值需要 548 台透析机与 209 台呼吸机——并把成品打包成四个独立发布版本全部免费开放。

导语读法三则:

  1. 只想下数据:直奔 §5 获取与许可——注意四版谱系口径不同(10K/100K/VA/OMOP 的患者数互不一致)、zip 与解压体积双口径、VA 版文件名与实数名实不符三个事实。
  2. 要用数据写代码:直奔 §3 数据构成与 §9 坑点——2020 年发布包是 16 张表,别按现行 18 表数据字典写解析;124,150 是论文口径,不是任何下载包的行数。
  3. 关心"合成数据靠不靠谱":直奔 §2.4 校准方法与 §7 方法学启示——这个数据集把"以文献汇总统计校准合成分布"的完整流程走了一遍,包括它诚实的边界(冻结在 2020-05 的知识水平)。
  4. 拿它备课/做课程设计:直奔 §11 快速上手与 §0.5 路线对比——任务 1/6/7 是现成的三节课骨架(资源推演、隐私教学、方法学复刻),§7.5 五步流程可作期末作业模板。

§0 导读:这个数据集解决什么问题

0.1 2020 年 3 月的数据困境

2020 年春季,医疗 AI 与卫生服务研究者面对一个罕见的数据真空:疫情建模需要患者级、带完整临床轨迹、且能反映住院与资源消耗的数据,但三条传统路径同时失效。

第一条路径是等真实数据。 临床数据收集需要时间——病例从入院到出院再到统计分析,周期以月计;而卫生系统需要的是"下周需要多少呼吸机"的预报。早期中国的队列研究(Guan 等 NEJM、Zhou 等 Lancet)2 月起陆续发表,但它们是文献汇总统计,不是可以直接导入模型的原始数据。

第二条路径是申请真实 EHR。 HIPAA 下的真实电子病历获取需要 IRB 审批、数据使用协议、脱敏流水线,周期以季度计;而且脱敏本身有信息损失——日期漂移会破坏时序结构,泛化处理会抹掉年龄与费用的关联。

第三条路径是用脱敏公开数据凑合。 当时可得的公开"患者级"数据(如 CMS DE-SynPUF)是 claims(理赔)维度的合成或脱敏数据,没有症状、生命体征、检验结果这些临床细节,推不出 ICU 资源消耗。

MITRE 团队的判断是:在"完全没有"与"不够用"之间,还有一个选项——现场造一个。 Synthea 引擎本来就是为这种场景设计的:GMF 模块框架把疾病进展建模成状态机(state machine),JSON 文件定义状态与转移,引擎按 7 天时间步逐周模拟每个合成患者从感染到结局的完整轨迹。造一个 COVID 模块,理论上只需要写一个 JSON。

0.2 三周建成的模块,与它做对的事

从时间线看,covid19 模块的开发窗口极短:2020 年 3 月启动建模与校准,5 月 26 日 GitHub covid19 分支完成最后一次提交(“Fix bug for covid19 readmissions”)后冻结,前后约三个月。在这么短的窗口里,团队做了四件后来被证明很有价值的事:

第一,模块化而不是硬编码。 covid19 不是改引擎,而是一个独立的 GMF 模块(含 19 个子模块 JSON 文件),挂在 covid19 分支上。这保证了:(1) 模型与引擎版本解耦,冻结分支可以永久复现;(2) 参数调整不需要动 Java 代码;(3) 后来的其他疫情模块可以复制这套结构。

第二,只校准到可靠文献。 模块的感染分布、住院率、病死率、ICU 占用全部对齐三篇当时已发表的真实队列——中国 1,099 例(Guan 等,NEJM 2020;382:1708-1720)、武汉 191 例(Zhou 等,Lancet 2020;395:1054-1062)、纽约大系统(Richardson 等,JAMA 2020;323:2052)。校准结论落在真实文献区间内:模拟病死率 4.1%、住院率 20.6%。这是"以文献汇总统计校准合成分布"方法的完整示范——不碰任何个体数据,却能产出统计性质合理的患者级轨迹。

第三,资源消耗是一等公民。 模型不只输出"谁感染了",还输出住院、ICU、呼吸机、透析的逐日占用,以及 PPE 与医疗物资消耗。这正是卫生系统决策者真正要的东西——论文的核心展示就是"峰值的 548 台透析机 + 209 台呼吸机"这类资源规划推演。

第四,冻结与开放同时做。 分支冻结保证了永久可复现;四个发布版本(10K/100K/VA/OMOP)覆盖了从课堂教学到 OMOP 生态研究的不同入口,全部免费、全部无隐私负担。

0.3 与通用 Synthea(rid460)的分工:本条目写什么、不写什么

库内已有条目 synthea(rid460) 覆盖 Synthea 通用生成引擎的全部共性内容:GMF 模块框架的机制细节、引擎版本时间轴、FHIR/C-CDA/Bulk FHIR 等多格式导出体系、通用 CSV 生成管线、SyntheticMass 百万患者档案。本条目不重复这些内容——需要理解 GMF 状态机、时间步模拟、模块参数化机制的读者,请先读 rid460 条目对应章节。

本条目只写 COVID-19 专题的四块独有内容:

  • 发布版本谱系(§4):10K/100K/VA veterans/OMOP 四个独立发布包的构成、体积、口径差异与获取渠道——这些是 rid460 条目只用三行带过、而对实际下载数据的读者最关键的部分;
  • covid19 模块的设计与校准(§2):三篇文献校准的方法论、模块的疾病轨迹设计、分支冻结的复现语义;
  • 获取渠道纵深(§5):七条获取路径、各渠道 license 标注差异、下载实操;
  • 下游生态(§6):谁在用、怎么用、与真实 COVID 数据集(影像/ICU/文献)的对照关系。

一句话概括分工:rid460 写"Synthea 是什么、怎么生成任意数据",本条目写"2020 年那批现成的 COVID 数据是什么、去哪拿、怎么用"。

0.4 三分钟版本

  • 它是什么:MITRE 用 Synthea GMF 引擎 covid19 模块生成的合成 COVID-19 患者 EHR,16 张关系型 CSV 表,无真实个体、无隐私风险、全免费。
  • 规模口径:论文模拟总体 124,150 患者(88,166 感染、18,177 住院、CFR 4.1%、住院率 20.6%);实际下载包分 10K(10,000)、100K(100,000)、VA(147,451,文件名却叫 100k)、OMOP(PERSON 10,754)四版。
  • 校准方式:三篇早期真实队列(NEJM/Lancet/JAMA 2020)的人群汇总统计;模型冻结于 2020-05-26,只有原始毒株,无疫苗、无变异株、无长新冠。
  • 资源推演:峰值 548 台透析机 + 209 台呼吸机,逐日 PPE 与物资消耗——这是它区别于一般合成 EHR 的招牌能力。
  • 怎么用:官方下载页/hdx.mitre.org/MITRE Box/Kaggle/data.va.gov/omock R 包任选;16 表 pandas 直接加载;记住 16 vs 18 表、zip vs 解压、124,150 vs 包行数三组口径即可开工。

0.5 延伸阅读:同期疫情建模路线对比——为什么是患者级微模拟

把 covid19 模块放回 2020 年春季的疫情建模生态,才能看清它的路线选择。当时全球决策者依赖的模型绝大多数是聚合层面的:

  • 曲线拟合路线:以 IHME(Institute for Health Metrics and Evaluation)2020 年 3 月首版为代表,用统计曲线外推死亡与床位曲线——快,但统计假设脆弱(媒体对其修正幅度有广泛报道);
  • 传播动力学路线:SIR/SEIR 族仓室模型,把人口切成易感/暴露/感染/移除仓室,推疫情曲线与干预效果——机理清晰,但仓室内部无个体差异;
  • 医院容量估计器:面向单家医院或系统的 SEIR 变体工具,回答"我需要多少张床/多少台呼吸机"——正是 covid19 模块对标的任务,但同样停留在聚合输出。

Synthea covid19 模块走的是第三条路:患者级微模拟(microsimulation)——每个合成患者带完整人口学、既往病史、逐周临床轨迹,聚合统计量(住院率、CFR、资源峰值)是模拟运行后的产出而非输入假设。这个粒度差异带来三点不同:

维度 聚合模型(曲线拟合/仓室) covid19 模块(患者级微模拟)
输出粒度 人群级曲线(床位总数、死亡总数) 患者级轨迹 + 人群级聚合
个体重叠 无个体概念 既往病、年龄、性别与 COVID 结局的交互
数据形态 曲线/表格 关系型 EHR(16 表),可直接进 ML 管道
适用任务 疫情走势预测 资源规划、软件测试、教学、方法学演练
对"真实数据"的依赖 实时疫情统计(滚动更新) 冻结的文献校准点(一次性)

一句话总结定位:聚合模型回答"疫情会怎样",covid19 模块回答" 如果疫情发生在一群有完整病历的人身上,医疗系统会怎样"。后者不预测现实走势,但能产出可计算的患者级数据——这正是它作为"数据集"(而非"模型")被收录进本库的理由。

0.6 本条目的编辑口径声明

本条目写作遵循三条可查证的编辑纪律,供审校与后续维护者对照:

  1. 三源互证:全部硬数字经论文摘要、官方发布渠道、第三方独立验证三路交叉核对(逐项来源见附录 G;口径冲突的裁决记录见附录 E);
  2. 口径优先于直觉:凡遇双口径(zip/解压、论文总体/包行数、文件名/实数),主文一律双注并存照,不单边取数——本数据集的口径密度异常高,是坑点清单(§9)存在的原因;
  3. 分工红线:与库内 synthea(rid460)的分工在 §0.3 声明并在全文执行——机制细节出 rid460、版本谱系与获取生态归本条目;两条目互链但不互抄。违反此红线的段落应被视为编辑事故。

§1 数据集速览:十问十答

问 1:这份数据里有没有任何一个真实患者?

没有。每条记录由 GMF 状态机在 7 天时间步上模拟生成,不存在对应的真实个体。姓名、SSN、地址都是合成值(SSN 取自保留的测试号段)。这也是它无需 IRB、无需数据使用协议、下载即用的根本原因。

问 2:它和库内 synthea(rid460)条目是什么关系?

上游与专题的关系。rid460 写通用引擎(GMF 机制、版本时间轴、多格式导出、百万患者档案),本条目写 covid19 模块与四个独立发布版本。引擎机制细节(状态机语法、7 天时间步、模块参数化)一律见 rid460,本条目不重复。

问 3:数据规模到底该引哪个数?

看场景。写"这个数据集整体"引论文口径 124,150 患者/88,166 感染/18,177 住院;写"我下载的那个包"按包引:10K 版 10,000 行、100K 版 100,000 行、VA 版 147,451 行、OMOP 版 PERSON 10,754。混引是最常见的错误(坑 2)。

问 4:文件有多大?

双口径:10K 版 zip 54 MB(解压约 500 MB);100K 版 zip 512 MB(解压约 5 GB,17 个文件)。第三方实测解压后单文件:observations.csv 约 2.45 GB、medications.csv 约 999.3 MB、encounters.csv 约 988.9 MB(此三数为 rid460 条目存档的解压口径)。zip 与解压口径差近一个数量级(坑 3)。

问 5:任务是什么?有标注吗?

没有预设 ML 任务与人工标注——它不是"特征 + 标签"的监督学习数据集,而是完整临床轨迹的关系型数据库。常见用法是把 conditions/encounters 里的 COVID 诊断码当感染标签、把 outcomes(康复/死亡)当预测目标、把资源占用序列当时序回归目标。

问 6:有 leaderboard 或官方基准吗?

没有。它的定位是卫生系统建模、资源规划与教学,不是竞赛数据。唯一沾边的公开评测场景是 precisionFDA Challenge 11(VA 版的关联挑战赛),那是对参赛者方法的评测,不是对本数据集的基准(坑 5)。

问 7:从哪下载?

六条主渠道:官方 GitHub Pages 下载页(10K 直链)、hdx.mitre.org(三版并列)、MITRE Box 直链(100K)、Kaggle 社区镜像(多份,标 CC0)、data.va.gov(VA 版)、omock R 包(OMOP 版)。详见 §5。

问 8:license 是什么?

两层:生成代码 Apache 2.0(GitHub synthetichealth/synthea 的 covid19 分支);数据开放发布——官方页与论文未附加限制条款,Kaggle 镜像与 data.va.gov 页面标注 CC0。各渠道标注不完全统一,引用时注明所取渠道(坑 8)。

问 9:能用它做 2026 年的疫情建模吗?

不能。模型冻结于 2020-05-26,只建模了原始毒株,不含疫苗、变异株、Paxlovid、长新冠。它代表的是"2020 年春季美国早期疫情"这一特定情境(坑 6)。做教学、方法学演练、软件测试依然合适。

问 10:OMOP 版为什么在官方数据集仓里找不到?

因为官方没发。OHDSI 的 EunomiaDatasets 仓库没有 covid 条目;能拿到的 OMOP 版来自社区 R 包 omock 的自建封装,PERSON 10,754 与官方 10K 版的 10,000 存在约 7% 差异(坑 7)。

问 11:下载后的第一件事是什么?

跑一遍附录 H 的自检十问——先确认包对、表齐、口径对,再写任何代码。十问不过就开工,是本数据集事故的第一大来源。

问 12:怎么向审稿人证明"我用的确实是这份数据"?

三件套:(1) 引用论文 DOI(10.1016/j.ibmed.2020.100007)与获取渠道;(2) 报告包级指纹——版本(10K/100K/VA/OMOP)、patients.csv 行数、16 表清单;(3) 报告三个汇总统计量(感染占比约 71%、住院占比约 20.6%、CFR 约 4.1%)与论文口径对齐。三件套齐备即构成可核验的数据声明。

1.1 数据集信息卡(检索引用速查)

字段 内容
官方全名 Synthea™ Novel coronavirus (COVID-19) model and synthetic data set
本条目 slug synthea-covid(库内 URL 占位:https://www.qianfanghub.com/ai-ready-dataset/synthea-covid/714)
数据类型 合成 EHR(synthetic EHR),关系型 CSV 表族,16 表
生成引擎 Synthea GMF(General Module Framework),covid19 分支,19 个子模块 JSON
疾病覆盖 COVID-19 单病种专题(感染→症状→住院/居家→结局完整轨迹 + PPE/物资消耗)
人口学 马萨诸塞州型合成人口,全年龄段(出生到死亡 7 天时间步模拟)
论文口径 124,150 患者 / 88,166 感染 / 18,177 住院 / CFR 4.1% / 住院率 20.6% / 峰值 548 透析机 + 209 呼吸机
发布包口径 10K=10,000;100K=100,000(17 文件);VA=147,451(名 100k 实 14.7 万);OMOP=PERSON 10,754
体积口径 10K=54 MB zip / 约 500 MB 解压;100K=512 MB zip / 约 5 GB 解压
术语体系 conditions/procedures/allergies=SNOMED-CT;medications=RxNorm;observations=LOINC;immunizations=CVX
校准文献 Guan NEJM 2020;382:1708-1720;Zhou Lancet 2020;395:1054-1062;Richardson JAMA 2020;323:2052
论文 Walonoski J 等 8 人,Intelligence-Based Medicine 2020 Nov;1:100007,doi:10.1016/j.ibmed.2020.100007(开放获取)
时间线 2020-03~05 建模校准;2020-05-26 分支冻结;2020 春 10K 上线;2020-05 100K 发布;2020-06 VA 版;2020-11 论文见刊
license 代码 Apache 2.0;数据开放发布(Kaggle/VA 渠道标 CC0,渠道间标注不完全统一)
上游条目 库内 synthea(rid460)——通用引擎,本条目 COVID 专题的机制细节均互链该条目

1.2 概念辨析:Synthea 家族四类产物,别混

检索 Synthea 相关数据时容易撞见四个名字,它们是同一引擎的四类产物,规模、用途、条目归属各不相同:

产物 是什么 患者规模 条目归属
SyntheticMass 百万档案 全病种通用合成人口档案(FHIR/C-CDA/CSV) 1,000,000 库内 synthea(rid460)

| COVID-19 专供集(本条目) | covid19 模块生成的疫情专题合成 EHR | 10K/100K/VA/OMOP 四版 | 本条目 |
| Coherent Data Set | 后续年份的增强版合成数据集(含更丰富临床叙事) | 另行发布 | rid460 条目引文链(walonoski2022coherent) |
| mCode / Denver 等专题样本 | 下载页并列的其他专题小包 | 小规模 | rid460 条目下载章 |

辨析要点:COVID-19 专供集是"疾病模块级"的专题产物(只有 covid19 模块驱动的疾病轨迹 + 通用基础医疗事件),不是 SyntheticMass 的子集——两者的模块组合与版本基线不同;引用时不要写"SyntheticMass 中的 COVID 子集"。

§2 论文与时间线:三篇文献到一支冻结的分支

2.1 论文本身

本数据集的方法论论文是理解它的第一入口:

Walonoski J, Klaus S, Granger E, Hall D, Gregorowicz A, Neyarapally G, Watson A, Eastman J. Synthea™ Novel coronavirus (COVID-19) model and synthetic data set. Intelligence-Based Medicine. 2020 Nov; 1:100007. doi:10.1016/j.ibmed.2020.100007(ISSN 2666-5212;Elsevier,开放获取)

几个值得注意的出版细节:

  • 创刊卷文章:Intelligence-Based Medicine 是 Elsevier 2020 年新创刊的期刊(创刊号 Volume 1),这篇是创刊卷的第 7 篇文章(文章号 100007)——刊物与文章同岁,检索时按刊名找不到更早的引用传统。
  • 作者团队即 Synthea 核心团队:8 位作者全部来自 MITRE 合成数据团队。一作 Jason Walonoski 同时是 Synthea 原始方法论文(Walonoski 等,JAMIA 2018;25:230-238,doi:10.1093/jamia/ocx079,即 rid460 条目的主引文)的第一作者;Sarah Klaus、Derek Hall 等亦是 JAMIA 2018 论文的共同作者。可以把它读作"原班人马的续作":2018 年证明"合成患者可以生成",2020 年证明"突发公卫事件时合成患者可以应急"。
  • 开放获取:Elsevier 开放获取许可发表,论文全文可从出版方免费获取;本环境核验时 NCBI PMC 与部分镜像有访问限制,ScienceDirect 官方页与多学术镜像可读。
  • 论文的结构即数据集的说明书:摘要给出的核心数字(124,150/88,166/18,177/4.1%/20.6%/548/209)就是三源互证中"论文口径"的全部来源;正文给出模块设计与校准文献。

论文还有一个容易被忽略的立场表达:它明确论证了"合成优于脱敏"(synthetic beats de-identification)在应急场景下的性价比——脱敏数据要逐条处理且仍有重识别风险,合成数据则从源头不存在个体。这个论证后来成为 MITRE 推广 Synthea 的标准叙事之一(rid460 条目 §7 有展开)。

2.2 完整时间线(2020-03 至 2020-11,逐条存照)

时间 事件 依据/存照
2020-03 covid19 模块建模启动;以当时已发表的三篇早期队列文献设定校准目标 论文正文;三文献均为 2020 年 2-4 月在线发表
2020-03~05 模块迭代与参数校准;模拟总体 124,150 人并产出论文数字 论文摘要
2020 年春 首批 10K CSV 版经官方下载页上线 官方下载页(synthetichealth.github.io/synthea)
2020-05 100K CSV 版(512 MB zip/17 文件)经 hdx.mitre.org 发布,并挂 MITRE Box 直链 hdx.mitre.org 页面存档;Box 直链至今存活
2020-05-26 GitHub covid19 分支最后一次提交:“Fix bug for covid19 readmissions”,此后分支冻结,不再随主线演化 GitHub 分支提交历史
2020-06 VA veterans 版(100k_synthea_veterans_covid19_csv.zip,实含 147,451 患者)随 precisionFDA Challenge 11 场景发布,data.va.gov 上架 data.va.gov 页面;precisionFDA 挑战赛页
2020-10-15 论文 Available online(ScienceDirect 页显示口径) ScienceDirect 页面;与卷期口径并存,采卷期口径为主
2020-11 论文正式见刊:Intelligence-Based Medicine Volume 1, Article 100007 期刊卷期页
后续 OMOP CDM 版以社区 R 包 omock 封装分发(synthea-covid19-10k);OHDSI 官方 EunomiaDatasets 仓库始终未收录 covid 条目 omock 包文档;EunomiaDatasets 仓库清单

时间线读法:建模(3-5 月)、发布(春-6 月)、论文(11 月)三个阶段首尾相接但互不阻塞——数据在论文发表前半年就已可用,这在"疫情应急"场景下是有意为之:论文不是数据的前置条件,而是事后方法学存档。

时间线的另两种读法:

  • 按版本读:10K(春)→ 100K(5 月)→ VA(6 月)→ OMOP(社区后续)——四个包的时间差对应四个不同的发布决策(教学先行、研究跟进、场景定制、生态转译),这就是 §4 版本谱系的时间成因;
  • 按冻结点读:2020-05-26 是全线的分水岭——分支冻结在 100K 发布与 VA 发布之间,意味着 10K 与 100K 是"冻结前同批数据",VA 是"冻结后同引擎重生成";做跨包对比研究时应意识到这一差别。

2.3 covid19 模块的设计:19 个子模块与一条完整疾病轨迹

covid19 模块挂在 GitHub 仓库 synthetichealth/synthea 的 covid19 分支上,由 19 个子模块 JSON 文件组成(模块文件机制与 GMF 状态机语法见 rid460 条目 §2,此处只讲 covid19 特有的设计)。

疾病主轨迹按四段组织:

  1. infection(感染):易感状态按流行病学曲线暴露感染,感染概率随时间步推移受干预参数调节;
  2. symptoms(症状):感染后分流为无症状/轻症/重症谱系,产出症状事件(发热、咳嗽、呼吸困难等)进入 conditions/observations;
  3. 分流(hospitalization | home recovery):按校准的住院率(约 20.6%)分流——住院轨迹依次经过 admission → 普通病房 →(重症者)ICU → 呼吸机/透析;居家轨迹走康复路径;
  4. outcomes(结局):康复出院或死亡,病死率校准至约 4.1%(感染者口径)。

资源消耗子模块是它区别于一般疾病模块的招牌设计:

  • icu / ventilator 子模块:产出 ICU 占用与机械通气事件,写入 encounters 与 procedures;
  • 透析子模块:产出透析(dialysis)资源占用——这是论文摘要单独点名的两个峰值数字(548 台透析机、209 台呼吸机)的来源;
  • supplies_icu 子模块:产出 ICU 物资消耗记录,写入 supplies 表——PPE(口罩、防护服、手套)与医疗物资的逐日消耗时序由此而来,这是当时卫生系统最紧缺、决策层最关心的数据;
  • immunosuppression 子模块:产出免疫抑制状态相关事件。

readmissions bug 存照:分支最后一次提交是"Fix bug for covid19 readmissions"(2020-05-26)——即再入院逻辑的修复。这意味着:(1) 分支冻结时点的模型已含再入院轨迹;(2) 若用更早的 commit 复现,再入院事件分布会与发布包不一致。做精确复现时 checkout 的是冻结点 commit,不是任意历史版本。

与主线的关系存照:covid19 分支冻结后,Synthea 主线在 2020-09 发布 2.6.0/2.6.1(与 COVID 模块开发同期,rid460 条目版本表有记),但主线并未把 covid19 模块并入默认模块集——要重生成 2020 年发布的同构数据,须 checkout covid19 分支运行,而非用最新版引擎。

2.4 校准方法论:三篇文献校出了什么

covid19 模块的参数校准是"以文献汇总统计校准合成分布"方法的一个干净样本——不接触任何个体记录,只用三篇论文报告的人群统计量反推模块参数。三篇校准文献:

文献 队列 对校准的贡献
Guan WJ 等. N Engl J Med 2020;382:1708-1720 中国 552 家医院 1,099 例确诊住院患者 感染人群的症状谱系分布、住院占比基准、轻重症分流比例
Zhou F 等. Lancet 2020;395:1054-1062 武汉金银潭医院 191 例住院患者 重症轨迹:ICU 占用率、机械通气比例、病死率基线
Richardson S 等. JAMA 2020;323:2052 纽约 Northwell Health 系统住院患者 美国医疗系统语境下的住院结局、ICU/呼吸机使用率——使模拟人口贴合美国情境

校准结论与文献区间的对照(论文口径):

指标 模拟值 说明
感染者病死率(CFR) 4.1% 落在三篇文献报告的住院/感染人群病死率区间内;注意这是"感染者口径"而非"全人口口径"
感染者住院率 20.6% 即 88,166 感染中 18,177 住院;与早期文献观察到的住院比例一致
峰值资源占用 548 台透析机 + 209 台呼吸机 由 ICU/透析子模块逐日占用序列取峰值得出;是资源规划推演的展示性结论

校准方法的三点方法学余味(与 §7 方法学启示呼应):

  1. 校准目标全部是人群汇总统计(比例、率、峰值)——这意味着合成数据在汇总层面可对齐文献,但个体层面的因果结构(谁因何种合并症住院)是模块作者的建模假设,不是从数据中学到的;
  2. 三篇文献分别覆盖中国、武汉重症、纽约三个情境——美国情境的适配主要靠 Richardson 队列,这种"多情境拼图"是疫情早期数据不全时的务实做法;
  3. 校准是一次性的(冻结于 2020-05)——后来的真实世界数据(疫苗时代病死率骤降等)不会反映在模型里,这是"时代局限"(坑 6)的根源。

2.5 分支冻结的复现语义

对可复现性敏感的使用者需要知道三件事:

  1. 冻结点即发布态:2020-05-26 的 covid19 分支 HEAD 就是四个发布版本数据的生成状态;run_synthea -p covid19 在该分支上运行可重生成统计性质一致的人群(随机种子决定逐个体差异);
  2. 主线不兼容:主线后续版本的引擎改动(CQL 集成等,见 rid460 版本时间轴)不保证与冻结的 covid19 模块 JSON 向前兼容;用最新引擎跑 covid19 模块属于未测试路径;
  3. 版本语义即知识快照:分支冻结不只是工程动作,也是知识论承诺——这个模型永远代表"2020 年 5 月人类对 COVID 的认知",引用时须连同这个时间戳一起声明。

2.6 论文摘要逐句拆解:每个数字背后是什么

论文摘要(公开可读)浓缩了数据集的全部关键主张,逐句对应如下——这也是快速判断"引用是否准确"的对照表:

摘要主张 数据集层面的含义 本条目对应章节
模拟 Massachusetts 型人口 124,150 患者 模拟总体的规模与人口锚定(人口普查统计驱动的 demographics) §2.4、§3.1
88,166 感染 COVID-19 感染模块的产出规模;感染率约 71% 是"模块参数下的模拟结果",非真实流行率 §2.4、§3.4
18,177 住院 住院分流轨迹的产出;住院率 20.6% 为感染者口径 §2.3、§2.4
病死率 4.1% 感染者口径的结局统计,校准至三篇文献区间 §2.4 校准对照表
峰值 548 台透析机 + 209 台呼吸机 资源消耗子模块的峰值统计——数据集招牌能力的展示 §2.3 资源子模块、§11 任务 1
快速模块化建模(三周级开发窗口) GMF 模块化的工程价值:JSON 模块 + 现成引擎,不动 Java 代码 §0.2、§2.3
合成优于脱敏的伦理论证 数据集的存在理由:应急场景下零隐私负担的交换 §7.3

两个引用纪律:

  1. 摘要数字全部是模拟总体口径——任何"我下载的包里有 124,150 名患者"的表述都是口径错误(坑 2);
  2. “快速建模"主张的实质是工程可复制的路径(模块模板 + 文献校准 + 冻结发布),而非模型精度的主张——不要把"三周建成"读成"模型已经很完善”。

2.7 学术谱系:从 JAMIA 2018 到本篇的"方法论三部曲"之一

把这篇论文放回 Synthea 团队的发表序列,能看清它的方法论角色(前作细节均在 rid460 条目):

论文 年份/出处 方法论角色
Walonoski 等,JAMIA 2018;25:230-238 引擎方法论文(rid460 主引文) 立"合成患者可以系统生成"——GMF 框架、导出体系、隐私论证
Walonoski 等,Intell-Based Med 2020;1:100007(本条目) 疫情应急专题 立"合成数据可以应急"——文献校准、快速模块化、资源推演
Walonoski 等(Coherent Data Set 相关论文) 2022(rid460 引文链 walonoski2022coherent) 立"合成数据可以更真实"——临床叙事与一致性增强

三篇连读是一条清晰的论证递进:能生成(2018)→ 能应急(2020)→ 能逼真(2022)。本篇处在中间节点:它既不是引擎能力的完整展示(那是 JAMIA 2018),也不是逼真度的天花板(那是 Coherent),而是在极端时间约束下,合成数据方法论的最快可用版本。引用定位建议:研究合成数据方法学演进时按三部曲引;只做 COVID 数据来源声明时引本篇即可。

§3 数据构成与规格:16 张表看懂一个模拟医疗系统

3.1 从模拟到表:星型结构

covid19 模块运行后,Synthea 导出器把每个合成患者的全生命周期记录写成一组关系型 CSV 表,构成以 patients 主表为心、encounters 就诊表为枢纽的星型结构(star schema):

  • patients:每名合成患者一行, demographics(人口学)+ 合成身份字段 + 终身医疗费用汇总;
  • encounters:每次就诊一行,携带 Patient 外键、时间、就诊类型( wellness / 急诊 / 住院 / ICU 等)与费用字段,是所有临床明细表的关联枢纽;
  • 明细表(conditions、medications、observations、procedures、immunizations、allergies、careplans、imaging_studies、devices、supplies):各自以 Patient + Encounter 外键挂到就诊事件上;
  • 维度表(payers、payer_transitions、organizations、providers):保险计划、保险流转、医疗机构、医护人员的静态维度。

这个结构对用过任何 EHR 数据库(MIMIC、OMOP、真实 Synthea 输出)的人都是零学习成本——它就是 Synthea 的标准 CSV dump 形态。

3.2 16 表逐表速查(2020 发布包实包口径)

表名 一行是什么 关键列 术语体系
patients 一名合成患者的档案与终身费用 Id、BIRTHDATE、GENDER、RACE、ETHNICITY、HEALTHCARE_EXPENSES、HEALTHCARE_COSTS、SSN、DRIVERS、PASSPORT、INCOME —
encounters 一次就诊事件 Id、PATIENT、START/STOP、ENCOUNTERCLASS(outpatient/inpatient/emergency 等)、CODE、BASE_ENCOUNTER_COST、TOTAL_CLAIM_COST、PAYER_COVERAGE SNOMED-CT(就诊类型码)
conditions 一条诊断记录 START/STOP、PATIENT、ENCOUNTER、CODE、DESCRIPTION SNOMED-CT
medications 一次用药(含处方周期与费用) START/STOP、PATIENT、ENCOUNTER、CODE、DESCRIPTION、BASE_COST、PAYER_COVERAGE、DISPENSES、TOTALCOST RxNorm
observations 一条检验/生命体征测量 DATE、PATIENT、ENCOUNTER、CODE、DESCRIPTION、VALUE、UNITS、TYPE LOINC
procedures 一次操作/手术 DATE、PATIENT、ENCOUNTER、CODE、DESCRIPTION、BASE_COST、REASONCODE SNOMED-CT
immunizations 一次免疫接种 DATE、PATIENT、ENCOUNTER、CODE、DESCRIPTION、BASE_COST CVX
allergies 一条过敏记录 START/STOP、PATIENT、ENCOUNTER、CODE、DESCRIPTION SNOMED-CT
careplans 一份诊疗计划 ID、START/STOP、PATIENT、ENCOUNTER、CODE、DESCRIPTION、REASONCODE SNOMED-CT
imaging_studies 一次影像检查 DATE、PATIENT、ENCOUNTER、BODYSITE_CODE、MODALITY_CODE、SOP_CODE DICOM/SNOMED-CT 混合
devices 一次器械使用(含 UDI) START/STOP、PATIENT、ENCOUNTER、CODE、DESCRIPTION、UDI SNOMED-CT/GMDN
supplies 一次物资供应记录(PPE/物资消耗在此) DATE、PATIENT、ENCOUNTER、CODE、DESCRIPTION、QUANTITY SNOMED-CT
payers 一家保险计划 ID、NAME、OWNERSHIP、AMOUNT_COVERED、AMOUNT_UNCOVERED —
payer_transitions 一名患者的一次保险流转 PATIENT、MEMBERID、START/STOP、PAYER、PLAN_NAME、OWNERSHIP —
organizations 一家医疗机构 ID、NAME、ADDRESS、LAT/LON、UTILIZATION、REVENUE —
providers 一名医护人员 ID、ORGANIZATION、NAME、GENDER、SPECIALTY、ADDRESS NUCC(专科分类)

行数量级参考(100K 版解压口径,rid460 条目存档的第三方实测):observations.csv 约 2.45 GB 是最大表(生命体征/检验逐条记录天然高产),medications.csv 约 999.3 MB、encounters.csv 约 988.9 MB 次之;patients.csv 100,000 行。10K 版各表约为其十分之一。

3.2bis COVID 情境下的表特异性:哪些表里有"疫情"

16 表结构本身是 Synthea 通用的,但 covid19 模块的运行让各表的内容带上鲜明的疫情印记——按表定位"疫情在哪里":

  • conditions:COVID 诊断码(840539006)行、症状码行、并发症码行——感染事件的主记录处;
  • encounters: covid 相关就诊(急诊/住院/ICU 类 ENCOUNTERCLASS 与就诊码)——分流事件的骨架;
  • procedures / devices:氧疗、机械通气、透析等重症处置——资源占用的事件级记录;
  • supplies:PPE 与医疗物资的逐次供应记录——论文资源推演的原料表,也是这个数据集最"疫情特化"的一张表(通用 Synthea 输出里它存在感很低);
  • observations:感染期间的生命体征与检验值序列(发热、血氧等)——时序建模的主料;
  • patients:DEATHDATE 的分布变化(4.1% CFR 的落点)与费用字段中 covid 相关住院的权重;
  • immunizations:反而是最"无疫情"的表——冻结时点无疫苗,只有常规免疫记录(§3.3 的提醒在此复述一次)。

定位口诀:感染在 conditions、重症在 encounters/devices、消耗在 supplies、结局在 patients、无疫苗在 immunizations。找数据前先背这句话,能省一半的探索时间。

3.3 术语体系:四套标准术语对齐

明细表的临床编码全部使用真实世界标准术语——这是它"开箱即可做术语映射/NLP 实验"的底气:

表 术语标准 用途提示
conditions / procedures / allergies / careplans SNOMED-CT 诊断与操作码可直接对接 SNOMED 层级与映射表(如向 ICD-10 的映射)
medications RxNorm 药物码可对接 RxNorm API 做成分/剂型归一
observations LOINC 检验与生命体征码可对接 LOINC 面板语义(如 CBC、血氧饱和度)
immunizations CVX 疫苗码为 CDC 免疫登记标准

注意 covid19 分支冻结时疫苗尚未上市,immunizations 表里的记录以流感疫苗等常规免疫为主——不要把该表当 COVID 疫苗接种数据用(时代局限的另一面,坑 6 相关)。

3.4 COVID 专用语义:标签与目标怎么取

本数据集没有现成的"标签列",常用任务的目标构造方式:

  • 感染标签:conditions 表中 COVID-19 的 SNOMED-CT 诊断码(840539006,Disease caused by SARS-CoV-2)及其子码,或 encounters 中 covid 相关就诊码;ajspurr 等社区 EDA 按此口径在 patients 层面数出 124,150 名患者中 88,166 名感染——与论文口径吻合(三源互证中的第三方独立验证);
  • 结局标签:感染患者按 conditions STOP 与 patients.DEATHDATE 推结局(康复/死亡);论文口径 4.1% CFR 即由此类统计校准/导出;
  • 资源回归目标:encounters(ENCOUNTERCLASS=inpatient / ICU 相关码)+ devices + supplies 构造床位、呼吸机、透析、PPE 的占用时序;论文的"548 透析机 + 209 呼吸机"是同构口径的峰值统计;
  • 费用分析:encounters.TOTAL_CLAIM_COST 与 patients.HEALTHCARE_EXPENSES/HEALTHCARE_COSTS 直接支持费用回归与保险覆盖分析——这是合成身份字段(SSN/INCOME 等)之外的另一组"天然分析字段"。

3.5 16 表 vs 18 表:两代数据字典不可混写

这是写解析代码前必须搞清的版本漂移(坑 4 全文展开见 §9):

  • 2020 年发布包(本条目对象):16 张 CSV,即 §3.2 清单——没有 claims 与 claims_transactions 两表;
  • 现行 Synthea wiki「CSV File Data Dictionary」:18 张表——多出的两表是 claims(理赔单)与 claims_transactions(理赔交易明细),是主线引擎后来增强保险理赔模拟后新增的;
  • 后果:按现行 18 表字典写的加载代码,在 2020 covid19 包上会因文件缺失而报错;反过来,把 2020 包当"最新 Synthea 输出"写文档会漏掉字段演进。引用字典时必须注明版本,解析 2020 包时以实包文件清单为准。

3.5bis claims 系两表是什么:18 表字典里多出来的那部分

顺着坑 4 深入一层:现行主线数据字典多出的两张表究竟是什么,为什么 2020 covid19 包没有——

  • claims:一次保险理赔单(患者 × 服务 × 理赔金额 × 状态),主线引擎后期增强保险理赔模拟后引入,让 CSV 输出更接近美国医保生态的 claims 数据形态;
  • claims_transactions:理赔单下的逐笔交易明细(提交/批准/拒付等状态流转),与 claims 构成主从结构;
  • covid19 包为什么没有:分支冻结于 2020-05,理赔模拟增强是冻结之后才进主线的功能——不是"被删掉",而是"还没出生"。这也是"冻结分支不与主线向前兼容"(§2.5)的一个具体例证;
  • 对使用者的含义:如果你的分析设计依赖 claims 级理赔语义(理赔拒付率、理赔-服务映射),本数据集不满足——要么用 encounters 的费用字段近似,要么换用真实/合成 claims 数据(库内 cms-de-synpuf 方向)。反过来,claims 生态的分析范式(如理赔频率模型)也不能直接套在 encounters 上——两者的"事件"语义不同。

3.6 读取实操(pandas 十行起步)

100K 版解压后可直接 pandas 加载(注意内存:observations.csv 2.45 GB,低配机器建议 dtype 约束或只读所需列):

import pandas as pd

base = "csv/"   # 100k 解压目录
patients = pd.read_csv(base + "patients.csv")
encounters = pd.read_csv(base + "encounters.csv",
                         usecols=["Id", "PATIENT", "START", "ENCOUNTERCLASS",
                                  "CODE", "TOTAL_CLAIM_COST", "PAYER_COVERAGE"])
conditions = pd.read_csv(base + "conditions.csv",
                         usecols=["START", "STOP", "PATIENT", "ENCOUNTER",
                                  "CODE", "DESCRIPTION"])

# 感染标签:SNOMED-CT 840539006 = Disease caused by SARS-CoV-2
covid_code = 840539006
infected_ids = conditions.loc[conditions.CODE == covid_code, "PATIENT"].unique()
patients["infected"] = patients.Id.isin(infected_ids)
print(patients.infected.mean())   # 论文口径约 0.71(88,166/124,150)

三个工程提示:

  1. 患者数先对齐包版本:10K 包 patients.csv 应为 10,000 行,100K 包为 100,000 行;如果你的数字不是这两个,说明拿错了包或读错了文件(VA 包是 147,451);
  2. ID 大小写:UUID 主键区分大小写,表间 join 前不要做 lower() 归一;
  3. 日期列直接可解析:START/STOP/BIRTHDATE 均为 ISO 格式(pd.to_datetime 直读),时序特征工程无需清洗。

3.7 分析者视角的字段价值:三组"天然分析字段"

16 表里有三组字段组合是数据集作者明确设计出来的分析资产(rid460 条目写引擎如何生成它们,本节写分析者怎么用它们):

第一组:身份与人口学字段(patients 表)。 SSN、DRIVERS(驾照号)、PASSPORT、INCOME 与 BIRTHDATE/GENDER/RACE/ETHNICITY 并存。价值有二:(1) 做身份/隐私教学时,它是"合成身份"的现成教具——SSN 全部来自保留测试号段,学生可以放心练习去标识化与重识别防护流程;(2) INCOME 与费用字段组合可以做健康社会决定因素(SDOH)风格的分析演练。注意:所有关联都是模拟假设的产物,结论只对合成世界成立。

第二组:逐事件费用字段(encounters/medications/procedures 等表)。 BASE_ENCOUNTER_COST、TOTAL_CLAIM_COST、PAYER_COVERAGE、各明细表的 BASE_COST 构成从服务到理赔的完整费用链。配合 payers 表的 AMOUNT_COVERED/AMOUNT_UNCOVERED,可以搭出"一次住院从头到尾谁付了多少钱"的完整核算——这是 claims 数据(如 DE-SynPUF)做不到的粒度(claims 只有理赔总额,没有服务级成本)。

第三组:医疗网络维度(organizations/providers/payers/payer_transitions)。 organizations 带 LAT/LON 与 UTILIZATION/REVENUE,providers 带 SPECIALTY 与所属机构,payer_transitions 记录患者终身保险流转。三表组合可以构建患者-机构-保险的三方网络图——做医疗可及性(access to care)教学演练或图分析管道测试的现成素材。

3.8 与真实 EHR 的距离:使用前的心智校准

为了避免"结构像真实 EHR 就当真实 EHR 用"的错觉,四个结构级差异值得写进使用者预案:

  1. 就诊密度是模块驱动的:真实 EHR 的就诊分布由真实医疗行为决定;这里由 GMF 模块的事件规则决定(wellness 年检、症状驱动就诊等),分布形态"合理"但非真实统计;
  2. 文本叙事缺失:真实 EHR 的临床自由文本(病程记录、影像报告)在这里没有对应物——CSV 表族只有编码化数据,做 NLP 者请转临床文本语料类数据集;
  3. 检验结果是模拟值:observations 的 VALUE 列由模块参数生成,量纲与单位真实(UNITS 列),但数值分布是参数化假设——做生理信号/检验值统计建模时不具真实效度;
  4. 时间戳粒度友好但语义简化:所有事件对齐 7 天时间步,同日内事件的先后顺序是模块编排的结果,不承载真实临床时序的细粒度因果。

这四条不是缺陷清单,而是"合成数据模拟了结构、没模拟世界"的具体化——与 §7.1 的校准边界互为表里。

2.3bis 一次模拟运行的解剖:从时间步到 16 张表

给不熟悉生成式数据集的读者一个具象流程——"一名合成患者的 2020 年"是如何变成 CSV 行的:

  1. 人口生成:引擎按马萨诸塞州型人口统计为患者抽定出生年代、性别、种族与既往病谱系(慢病模块驱动)——这决定了 patients 表的一行和后续所有健康基线;
  2. 疫情暴露: covid19 模块按流行病学曲线决定每个时间步(7 天)谁被暴露、谁感染——infection 子模块状态机进入活动状态,产出 conditions 表的 COVID 诊断行(SNOMED-CT 840539006);
  3. 症状与分流:symptoms 子模块抽定症状谱系写入 observations/conditions;按住院率参数分流——住院者走 admission→(重症)ICU→呼吸机/透析的事件链,逐事件写入 encounters/devices/procedures;居家者走康复路径;
  4. 资源与物资:住院/ICU 期间,supplies_icu 子模块逐日产出 PPE 与物资消耗行(supplies 表);透析与呼吸机占用由对应子模块持续记录;
  5. 结局与结算:outcomes 子模块按校准的病死率抽定结局;康复或死亡(patients.DEATHDATE 落值);全程费用逐事件累加,落 patients.HEALTHCARE_EXPENSES/COSTS 与各表 COST 列;
  6. 汇总成型:百万级事件行按 16 表 schema 落盘、打包——论文口径的 88,166 感染/18,177 住院/4.1% CFR 是对这个产出做汇总统计的结果。

理解这个流程的收益:看任何一张表的任何一行,都能回答"这行是谁、在哪一步、为什么产生"——合成数据的完全可解释性是它与真实数据的本质区别,也是教学场景的最大卖点。

3.3bis 表间连接速查:五条最常用的 join 路线

想回答的问题 连接路线 键
某患者的全部 COVID 就诊轨迹 patients → encounters →(按 ENCOUNTERCLASS/CODE 过滤) patients.Id = encounters.PATIENT
每次住院用了什么药/做了什么检验 encounters → medications / observations / procedures encounters.Id = *.ENCOUNTER
ICU 期间呼吸机与透析占用 encounters(ICU 类)→ devices → procedures encounters.Id = devices.ENCOUNTER
PPE/物资消耗时序 encounters(住院类)→ supplies → 按 DATE 聚合 encounters.Id = supplies.ENCOUNTER
保险覆盖与自付分解 encounters → payers + patients + payer_transitions encounters.PAYER = payers.Id;patients.Id = payer_transitions.PATIENT

连接纪律:全部以 UUID 原样作为 join 键(大小写敏感);跨表时间对齐统一用 START/STOP 的 ISO 语义;聚合前先过滤 ENCOUNTERCLASS,避免门诊事件混入资源统计。

§4 版本谱系纵深:四个发布包的完整档案

Synthea COVID-19 数据不是一个包,而是四个独立发布版本——患者数、构成、格式、渠道各不相同。选错包、引错数、张冠李戴,是这个数据集最常见的使用事故(坑 2 的根源)。本节按发布顺序逐版存档。

4.1 四版谱系总表

版本 发布时点 包名/载体 患者数 体积 格式 主渠道
10K CSV 版 2020 年春 10k_synthea_covid19_csv.zip 10,000 54 MB zip / 约 500 MB 解压 16 表 CSV 官方下载页直链
100K CSV 版 2020-05 100k_synthea_covid19_csv.zip 100,000 512 MB zip / 约 5 GB 解压 16 表 CSV + 1 HTML 说明(17 文件) hdx.mitre.org / MITRE Box 直链
VA veterans 版 2020-06 100k_synthea_veterans_covid19_csv.zip 147,451(名实不符) zip(官方页未标注体积) 16 表 CSV(同构) data.va.gov / hdx.mitre.org
OMOP CDM 版 后续(社区) omock R 包 synthea-covid19-10k PERSON 10,754 由 R 包按需构建 OMOP CDM 表 CRAN omock 包

四版关系一句话:同一引擎(covid19 分支)、同一 16 表结构、四个不同的抽样与封装决定——10K 是轻量教学包,100K 是标准研究包,VA 版是面向退伍军人健康数据场景的扩样包,OMOP 版是 OHDSI 生态的社区转译包。

4.2 10K CSV 版:教学与快速验证的入口

  • 构成:16 张 CSV(与 §3.2 逐表清单一致),zip 体积 54 MB,解压约 500 MB——一部手机的存储余量就能装下,这是它作为教学默认包的理由;

  • 患者数:patients.csv 10,000 行;

  • 统计代表性注意:10,000 人样本上,论文口径的感染率(约 71%)与住院率(20.6%)的抽样波动不可忽略——做精确统计复现请用 100K 版,10K 版适合跑通流程与课堂演示;

  • 获取:官方 GitHub Pages 下载页(synthetichealth.github.io/synthea)下载区块直链,无需注册。

  • 适配/不适配:教学演示与流程验证 ★ / 需要 10,000 人以上的统计功效 ★(抽样波动,见上)

4.3 100K CSV 版:标准研究包

  • 构成:17 个文件 = 16 CSV + 1 HTML 说明(内含数据字典与使用提示);zip 512 MB,解压约 5 GB;

  • 患者数:patients.csv 100,000 行;

  • 第三方独立验证:社区 EDA(Kaggle ajspurr 等 notebook)实测 patients.csv 100,000 行、感染 88,166 的比例结构与论文口径一致(这一验证数字与论文的 124,150/88,166 是两个口径——见坑 2);

  • 单文件体积参考(解压口径,rid460 条目存档):observations.csv 约 2.45 GB、medications.csv 约 999.3 MB、encounters.csv 约 988.9 MB;

  • 获取:hdx.mitre.org(MITRE 运营的 HDX 站点,与 10K/VA 三版并列展示)或 MITRE Box 直链:
    https://mitre.box.com/shared/static/9iglv8kbs1pfi7z8phjl9sbpjk08spze.zip
    直链无登录门槛,是核验存照时确认仍然存活的一条路径(hdx.mitre.org 域名现跳转 MITRE 主站,原始包链接经 Box 直链继续服务——渠道漂移存照,见附录 F)。

  • 适配/不适配:研究与统计复现 ★ / 低内存环境与课堂快发 ★(512 MB zip / 5 GB 解压的体量,注意 §8.2 预案 2)

4.4 VA veterans 版:名为 100k、实为 14.7 万的扩样包

  • 包名照录:100k_synthea_veterans_covid19_csv.zip——文件名写 100k,实际含 147,451 名患者。名实不符的原因官方未出说明(推测为扩样后沿用旧名),本条目按实数存照(坑 2 的 VA 分支);

  • 场景:2020-06 随 precisionFDA Challenge 11 场景发布(与 VA/Dept of Veterans Affairs 相关的挑战赛情境),面向退伍军人健康研究社区;

  • 数据结构:与 10K/100K 同构的 16 表 CSV(生成引擎与模块相同,人口学参数面向 veterans 情境扩样);

  • 获取:data.va.gov(页面标注 CC0)与 hdx.mitre.org;

  • 使用提示:把它当"更大的同构样本"用即可;若你的论文引的是这个包,患者数必须写 147,451,不要写文件名的 100k。

  • 适配/不适配:最大样本需求与 veterans 情境 ★ / 与 10K/100K 混引患者数 ★★(名实不符,务必写实数)

4.5 OMOP CDM 版:社区转译包与它的生态缺位

  • 载体:不是官方 zip,而是 R 包 omock 提供的 synthea-covid19-10k 数据集——omock 是社区维护的 OMOP CDM 数据构建工具,将 Synthea 输出转译为 OHDSI 的 OMOP CDM(Common Data Model)表结构;
  • 规模:PERSON 表 10,754 行(女 5,165 / 男 5,589)——比官方 10K 版的 10,000 多约 7.5%。差异来源(转译过程中的生存/去重口径差异)官方文档未深究说明,本条目如实存照(坑 7);
  • 生态缺位存照:OHDSI 官方样例数据仓库 EunomiaDatasets 中没有 covid 条目——想用官方 Eunomia 容器拿到这份数据的路径不存在,必须经 omock 自建(Docker/本地构建);
  • 适用者:已在 OHDSI 工具链(Atlas/Hades/CohortMethod)里的团队——省去 CDM 映射工程;纯 CSV 用户没有绕道 OMOP 的必要。
  • 转译姿势提示:omock 的转译质量由社区维护,用它跑正式研究前建议抽查三处——PERSON 数与性别分布(对照 10,754/女 5,165/男 5,589 口径)、COVID 概念集映射(SNOMED 840539006 是否进 condition_occurrence)、观察期起止(observation_period 与 CSV 的就诊时间范围是否一致)。任何一处对不上,先查 omock 版本再疑数据。

4.6 双口径与体积存照(zip vs 解压)

体积引用必须先问口径。本数据集的两组数字:

版本 zip 口径 解压口径 倍率
10K 54 MB 约 500 MB 约 9×
100K 512 MB 约 5 GB 约 10×
  • CSV 文本压缩率高,zip 与解压体积差一个数量级是正常现象;
  • rid460 条目所记"COVID-19 100K 约 5.14 GB"属解压口径——与本条目的 512 MB zip 口径不矛盾,是同一包的两个口径;两条目各自存照、互为印证(三源互证时曾作为疑点提出,后澄清,详见附录 F 存照表);
  • 本条目主文引用发布包体积时用 zip 口径,解压口径以"约"字注明。

4.7 选版决策树

  • 课堂演示/跑通流程/存储紧张 → 10K(54 MB zip)
  • 研究/统计复现/写论文 → 100K(512 MB zip,标准研究包)
  • 在 OMOP/Atlas 工具链内 → omock 的 OMOP 版(PERSON 10,754)
  • 退伍军人健康场景或需要最大样本 → VA 版(147,451)
  • 需要自定义人群参数/更新知识 → 不用任何现成包,checkout covid19 分支自生成(见 §5.4)

4.8 自生成与官方包的等价性检验清单

走 §5.4 自生成路线的研究者,可用四步检验确认自生成数据与官方发布包"同一谱系"(统计同构而非逐行相同):

  1. 表清单核对:output/csv/ 应产出 §3.2 的 16 张表——多出 claims 系列表说明引擎基线错了(用了主线而非 covid19 分支);
  2. 结构核对:抽查各表列名与 §3.2 关键列一致(列集相同、顺序可不同);
  3. 统计量核对:感染占比应落在 71% 附近(88,166/124,150 的模块参数水平)、住院占比约 20.6%、CFR 约 4.1%——三个汇总量同时偏离说明模块参数被改过;
  4. 种子里程碑:官方包使用的随机种子未公开,逐行比对不可行也不必要——等价性的正确判据是分布层面的(第 3 步),不是记录层面的。

一句话:官方包与自生成数据共享"分布身份",不共享"记录身份"——引用官方数字用官方包,做二次开发用自生成,各取所需。

§5 获取与许可:七条渠道与两层 license

5.1 七条获取渠道总表

# 渠道 提供版本 门槛 存照备注
1 官方 GitHub Pages 下载页(synthetichealth.github.io/synthea) 10K 直链 无 下载区块点击即下
2 hdx.mitre.org(MITRE HDX 站点) 10K + 100K + VA 三版并列 无 域名现跳转 MITRE 主站,条目页存档可达
3 MITRE Box 直链 mitre.box.com/shared/static/9iglv8kbs1pfi7z8phjl9sbpjk08spze.zip 100K 无 核验时确认存活;无登录门槛
4 Kaggle 社区镜像(多份,如 SyntheaCovid100k 等) 100K 为主 Kaggle 账号 页面标 CC0;镜像与官方包一致性由上传者负责,用于正式研究前建议比对行数
5 data.va.gov VA veterans 版 无 页面标 CC0
6 omock R 包(CRAN) OMOP CDM 版 R 环境 社区封装,非官方 Eunomia 发行
7 自生成(GitHub covid19 分支 + run_synthea) 任意规模 Java/Maven 环境 代码 Apache 2.0;规模由 -p 参数控制

渠道选择提示:正式研究走 1/2/3 官方路径(可直接引 MITRE 为来源);快速实验与 notebook 教学走 4(Kaggle 的加载配套最全);OHDSI 团队走 6;需要改参数的研究走 7。

渠道体验注记(编辑核验期间的观察,非承诺性指标):官方 GitHub Pages 与 MITRE Box 直链为静态分发,稳定性最高;hdx.mitre.org 经历过域名跳转(附录 E 存照),历史上是三渠道中最易漂移的一层;Kaggle 依赖账号与配额,适合交互式探索而非自动化流水线——CI/CD 或批量任务请用官方直链 + 本地缓存,勿在流水线里直连 Kaggle。

5.2 license 两层读法

代码层:Apache License 2.0。 GitHub synthetichealth/synthea 仓库(含 covid19 分支与 19 个子模块 JSON)整体 Apache 2.0——修改模块、重分发代码、嵌入商业系统均无障碍,保留许可与声明即可。

数据层:开放发布,但渠道标注不完全统一。 这是引用时最需要精细的部分(坑 8):

  • 官方下载页与论文:标注数据集开放提供(论文明确以"无隐私负担的开放数据"为卖点),未附加限制性条款——语义上与公共领域近似;
  • Kaggle 镜像页:标注 CC0(CC1.0 公共领域贡献);
  • data.va.gov 的 VA 版页:标注 CC0;
  • hdx.mitre.org:遵循 HDX 站点的开放数据条款。

实务建议:引用时写"生成代码 Apache 2.0;数据开放发布(经 Kaggle/VA 渠道获取的部分按渠道标注 CC0)“,并注明实际获取渠道——不要笼统写"CC BY 4.0”(本数据集无此标注,也无需署名外的限制)。

三种常见场景的 license 声明模板(可直接抄):

  • 论文用官方包:“We used the Synthea COVID-19 synthetic data set (100K CSV release), generated by the MITRE Synthea engine (Apache License 2.0), obtained from the official MITRE distribution.”
  • 论文用 Kaggle 镜像:“…obtained via a public Kaggle mirror (marked CC0) of the MITRE Synthea COVID-19 data set; consistency with the official 100K release was verified by record counts.”
  • 产品/内部系统:引擎与模块按 Apache 2.0 保留许可声明;合成数据本身无隐私负担,但建议在数据字典中注明"synthetic — no real individuals"以防下游误用。

5.3 下载与装载实操(十分钟上手)

以 100K 版为例的最短路径:

# 1) 下载(任选其一)
#    - MITRE Box 直链(无门槛)
curl -L -o 100k_synthea_covid19_csv.zip \
  https://mitre.box.com/shared/static/9iglv8kbs1pfi7z8phjl9sbpjk08spze.zip
#    - 或官方下载页/hdx.mitre.org 页面点击下载

# 2) 校验构成:应为 17 个文件(16 CSV + 1 HTML)
unzip -l 100k_synthea_covid19_csv.zip | tail -3

# 3) 解压并核对患者数
unzip 100k_synthea_covid19_csv.zip -d synthea_covid_100k
head -2 synthea_covid_100k/csv/patients.csv | cut -c1-200
# patients.csv 行数应为 100,001(含表头)

核验存照:本条目编辑环境对 GitHub Pages / MITRE Box / raw.githubusercontent 的直接 curl 曾遭 SSL 拦截(编辑端网络策略,exit 35/60),渠道存照改经 WebFetch/WebSearch 完成;这不影响正常网络环境下的下载——上述 curl 命令为标准用法。编辑环境网络行为不影响对渠道本身的判断,仅作为"何时该换渠道"的经验注脚:某一直链失效时,§5.1 表中 2/3/4 号渠道互为备份。

其他版本的核对命令变体:

# 10K 版:构成应为 16 CSV;patients.csv 行数应为 10,001(含表头)
unzip -l 10k_synthea_covid19_csv.zip | tail -3
unzip 10k_synthea_covid19_csv.zip -d synthea_covid_10k
wc -l synthea_covid_10k/csv/patients.csv

# VA 版:包名照录(名 100k),行数必须核对为 147,452(含表头)——名实不符存照见 §4.4
unzip 100k_synthea_veterans_covid19_csv.zip -d synthea_covid_va
wc -l synthea_covid_va/csv/patients.csv

5.4 自生成路线(改参数的研究者)

当需要调整人群参数(人口规模、地区锚定、干预强度)时,用冻结分支自生成:

git clone https://github.com/synthetichealth/synthea.git
cd synthea
git checkout covid19          # 冻结分支(HEAD = 2020-05-26)
./run_synthea -p 10000        # -p 控制人口规模,模块含 covid19
# 输出在 output/csv/,16 表结构与官方包一致

两点提醒:

  1. 自生成数据的统计性质与官方包一致(同引擎同模块),但逐个体记录因随机种子而异——引用官方数字(124,150/88,166 等)时只能引官方包或论文,不能拿自生成样本冒充;
  2. 引擎版本与依赖以分支锁定状态为准,用最新主线跑 covid19 模块属未测试路径(§2.5)。

5.5 引用链

正式引用三层齐备:

  1. 数据集论文(必引):Walonoski J 等 8 人,Intelligence-Based Medicine 2020 Nov;1:100007,doi:10.1016/j.ibmed.2020.100007;
  2. 引擎方法论文(建议引):Walonoski J 等,JAMIA 2018;25(3):230-238,doi:10.1093/jamia/ocx079(rid460 条目主引文);
  3. 获取渠道注明(实务要求):官方下载页/hdx.mitre.org/MITRE Box/Kaggle/data.va.gov/omock 择一注明,VA 版与 OMOP 版尤须注明(渠道即口径)。

完整 BibTeX 见附录 G。

5.6 渠道故障转移矩阵(直链失效时怎么办)

静态直链会随站点改版漂移(hdx.mitre.org 域名跳转即是先例)。按"你要什么"给出转移路径:

场景 首选 失效时
要 10K 官方包 官方下载页直链 hdx.mitre.org 条目页(三版并列)
要 100K 官方包 MITRE Box 直链 官方下载页 → hdx 条目页 → Kaggle 镜像(先核对行数 100,000 再用)
要 VA 版 data.va.gov hdx 条目页
要 OMOP 版 omock(CRAN) 无平替——OMOP 转译只能经 omock 或自行映射(用 rid460 引擎自生成 CSV 后走 OMOP 映射工具)
全部直链失效 checkout covid19 分支自生成 引擎与模块都在 GitHub,仓库级失效概率远低于单一直链

两条经验法则:(1) 官方性降级要有意识——从官方直链转到 Kaggle 镜像属于渠道降级,务必核对 patients.csv 行数与包构成后再使用;(2) GitHub 仓库是终极后备——代码 Apache 2.0 + 分支冻结意味着"数据可再生",这是合成数据集独有的获取韧性。

§6 生态与影响:上游引擎、下游用途与真实数据对照

6.1 上游:库内 synthea(rid460)条目

本条目与 rid460 的分工在 §0.3 已完整声明,此处给检索者一张速查表:

你想了解 去哪个条目
GMF 状态机语法、7 天时间步机制、模块 JSON 结构 synthea(rid460) §2
引擎版本时间轴(2.5.0→3.3.0 十年迭代) synthea(rid460) 版本表
FHIR R4/Bulk FHIR/C-CDA 等多格式导出体系 synthea(rid460) 格式章
SyntheticMass 百万患者档案 synthea(rid460) 下载章
JAMIA 2018 方法论文精读 synthea(rid460)
covid19 模块设计、三文献校准、四版发布包、获取渠道、COVID 下游生态 本条目

两条目互为镜像引用:rid460 在"疾病模块"与"下载"两处预告了本专题条目;本条目所有机制细节回指 rid460。

6.2 下游使用生态:谁在用、怎么用

综合论文声明、渠道页面与社区镜像的实际使用,本数据集的下游可分为四类:

第一类:疫情建模与卫生政策教学。 这是最对口的用法——论文的核心展示(峰值 548 台透析机 + 209 台呼吸机)就是资源规划推演的样例。高校卫生政策/流行病学课程用它做"给定人群曲线,推资源缺口"的练习题:16 表结构简单,pandas/R 直接加载,无需隐私审批即可发放全班。

第二类:HL7 FHIR 与互操作性教学。 Azure 医疗教程与 NHS 相关教程曾将其用作 FHIR 转换示例数据——CSV 进、FHIR 出,是互操作管道的教学标准练习(注意:FHIR 版仅在教程中现场生成,无独立发布包)。这类用法看中的正是它"结构规整 + 无隐私风险 + 免审批"的组合。

第三类:Kaggle 社区 EDA 与教学 notebook。 多份 Kaggle 镜像(标 CC0)配套了探索性分析 notebook;ajspurr 等独立 EDA 实测的 patients.csv 行数与感染计数(124,150/88,166 的模拟总体口径在模拟档案上复核成立)构成了三源互证中的第三方验证环节。对初学者,这是最平滑的入门路径。

第四类:软件测试与方法学研究。 与通用 Synthea 一样,它是医疗软件测试、ETL 管道验证、合成数据方法学研究的零风险样本;OMOP 版的用户(OHDSI 工具链团队)用它做 CDM 管道的端到端测试。

一个反直觉的观察:它几乎不是作为 ML 训练集被使用的。没有 leaderboard、没有基准论文刷分、没有"在此数据集上 SOTA"的文献链——它的价值在"推演"与"教学",不在"训练"。这与 cinc-2020 那类挑战赛数据集形成鲜明光谱对照(见 §8.3)。

6.3 与真实 COVID 数据集的对照:合成-真实光谱上的位置

库内同时存在多个 COVID 相关数据集,本数据集在"合成-真实"光谱上的位置值得明确定位:

数据集 数据性质 模态 与本数据集的关系
synthea-covid(本条目) 合成(无真实个体) 结构化 EHR(16 表 CSV) 全临床轨迹 + 资源消耗推演;无隐私、免审批
litcovid 真实 PubMed COVID 文献标注 文献维度互补:本数据集给患者轨迹,litcovid 给文献语料
covidx-cxr 真实 胸部 X 光影像 + 标注 影像维度对照:本数据集无影像,imaging_studies 仅记录检查事件
bimcv-covid 真实 影像(CXR/CT)+ 临床元数据 同上;且 bimcv 的真实临床元数据可用于对照合成分布的合理性
mimic-iv 真实(脱敏) 重症监护 EHR 真实 ICU 对照:COVID 住院/ICU 轨迹的真实世界参照系
cms-de-synpuf 合成/脱敏 Medicare claims 合成数据同类:但 claims 维度(无临床细节),与本数据集的全临床轨迹合成互补

对照读法:做方法学演练、教学、管道测试用本数据集;做临床结论、流行病学推断、影像 AI,必须回到真实数据集(mimic-iv/covidx-cxr/bimcv-covid)。本数据集不能产出任何关于真实世界的科学结论——这是合成数据的本质边界,不是数据质量问题。

6.3bis 三种典型研究设计的取数路线

给常见研究/教学设计一张"数据从哪来"的路线卡:

设计类型 本数据集的角色 配套数据
合成数据方法学研究 研究对象本身——校准流程(§2.4)、冻结语义(§7.4)、分布身份(§4.8)都是可分析的样本 论文 + 三篇校准文献
卫生资源规划教学 唯一数据源——资源占用时序全部由 16 表构造 无需外部数据
ML 方法教学/管道测试 训练/测试环境——自构造目标(§3.4、§8.4) 可选:SNOMED/RxNorm/LOINC 术语服务
临床真实世界研究 不适用——请转 mimic-iv / 真实 EHR §6.3 对照族

路线读法:先定位设计类型,再决定本数据集是"对象"、“环境"还是"不用”。最贵的错误是把第三行的环境当第一行的对象来解释世界。

6.4 与 DE-SynPUF 的同类对比

cms-de-synpuf(CMS DE-SynPUF)与本数据集是库内"合成医疗保险类数据"的两大代表,对比一张表:

维度 synthea-covid(本条目) cms-de-synpuf
合成机制 生成式模拟(GMF 状态机,自底向上造人) 真实 claims 的统计再采样/脱敏合成
数据维度 全临床轨迹:症状、生命体征、检验、用药、ICU/资源 claims 理赔维度(诊断码 + 费用),无临床细节
时序密度 高(逐 7 天时间步逐事件) 低(理赔事件驱动)
病种覆盖 COVID-19 单病种专题 老年慢病谱系(2008-2010 抽样窗口)
人口 马萨诸塞州型全年龄段 65 岁以上 Medicare 受益人
费用字段 逐事件费用(Base_Encounter_Cost 等) 理赔金额

一句话:要临床细节与资源推演用本条目,要真实理赔结构与老年人群用 DE-SynPUF。

6.5 HuggingFace 生态存照

经 hf-mirror 检索核验:HuggingFace 上没有官方或权威机构发布的 COVID-19 Synthea 专集——相关数据以通用 Synthea 衍生集与社区上传为主。这意味着:从 HF 生态找本数据集会落空,请回到 §5 的七条渠道。此存照同时说明本数据集的生态重心在官方静态发布与 Kaggle 镜像,不在 HF 的 datasets 生态。

后续维护提示:若未来官方或权威机构在 HF 发布本数据集,应同步复查本节存照与 §5.1 渠道表,并按"官方性优先"原则调整渠道排序——HF 版本若出现,其与官方包的构成一致性仍须按 §6.2bis 的核对清单执行。

6.6 库内互链地图

  • 上游:synthea(rid460)——通用引擎,本条目的机制细节上游;
  • 同族:cms-de-synpuf——合成医保数据同类对照;
  • 真实 ICU 对照:mimic-iv(及 eicu-crd 若在库)——COVID 住院/ICU 轨迹的真实参照;
  • 真实影像对照:covidx-cxr、bimcv-covid、radiopaedia-covid(若在库)——COVID 影像数据族;
  • 文献语料对照:litcovid——COVID 文献标注语料;
  • 术语/CDM 生态:OMOP 相关条目(若库内有 OHDSI/CDM 条目则互链,omock 版的 CDM 语境出口)。

6.7 生态位复盘:它在 2020 年疫情数据生态中的位置

2020 年的疫情数据生态可分为三层,本数据集占了一层中很特别的位置:

  • 实时统计层(JHU 仪表盘、官方 CDC/WHO 数据):人群级病例/死亡计数,滚动更新——聚合模型的燃料;
  • 真实患者级层(陆续释出的临床队列、后来的 EHR 汇编):真但慢、少、受管控;
  • 合成患者级层:本数据集所在——2020 年上半年这个层位几乎空白,covid19 模块是极早把"患者级 + COVID + 全临床轨迹 + 零隐私"四个属性凑齐的公开数据集。

这个层位的独特价值在疫情后期更加显影:当真实患者级数据(如大规模 EHR 汇编、mimic-iv 的 COVID 扩展语境)逐步可得了,本数据集没有因此贬值——因为它的比较优势从来不是"真",而是当天可得 + 全轨迹 + 零审批的组合。生态位复盘的启示:合成数据的持续价值取决于"摩擦差距",只要真实数据的获取摩擦存在一天,合成数据的教学/管道/方法学生态位就存在一天。

6.2bis 使用 Kaggle 镜像生态的三个注意事项

Kaggle 是对初学者最平滑的入口,但镜像生态有三条需要写进使用纪律的注意:

  1. 镜像与官方包的一致性由上传者负责——不同镜像可能对应不同版本切片(甚至混入主线引擎生成的数据)。正式使用前执行一分钟核对:patients.csv 行数应为 100,000(100K 镜像)、16 表文件清单齐全、感染占比约 71%;
  2. CC0 标注是渠道标注——它是 Kaggle 页面对再分发的标注,引用论文时数据来源仍应写 MITRE 原始发布(渠道与来源分层声明,见坑 8);
  3. 配套 notebook 是资产也是偏置——社区 EDA(如 ajspurr 等的感染计数复核)提供了宝贵的第三方验证,但 notebook 的口径选择(如感染者分母)会被后来者无意识继承——引用社区统计前回到论文与官方口径核一遍。

互链使用三原则:

  1. 方向感:查"机制/引擎/版本"从本条目向上游跳(rid460),查"COVID 包/渠道/口径"留在本条目——跳错方向会绕路;
  2. 对照性:引用本数据集的任何"合理性"论证时,对照族(mimic-iv/covidx-cxr/bimcv-covid)里必须有至少一个真实数据源作为参照系被同时提及,防止合成结论裸奔;
  3. 不循环:本条目与 rid460 的互链是分工声明,不是内容复制——审校时若发现两条目出现超过一句的重复表述,以"留细节于上游条目、留口径于专题条目"为原则裁决。

§7 方法学启示:五条可迁移的经验

7.1 "以文献汇总统计校准合成分布"是应急数据缺口的标准化解法

covid19 模块展示了这个方法的完整闭环:目标(文献比例/率/峰值)→ 参数反推(GMF 模块参数)→ 生成(患者级轨迹)→ 汇总回验(CFR 4.1% 落回文献区间)。它的适用前提与边界同样清晰:

  • 适用:目标量是人群汇总统计(率、比例、峰值、时序形态)且文献可信;
  • 不适用:需要个体级因果结构(某合并症对某结局的效应)或需要分布尾部精度的场景——校准只约束汇总,不约束联合分布;
  • 迁移价值:任何"有可靠汇总统计、缺患者级数据"的疾病(罕见病、新发传染病)都可以复制这条路径。

7.2 无基准数据集的评估方式:面向任务回验,而非面向分数排行

本数据集没有 leaderboard,它的"评估"是校准回验——模拟产出的汇总统计量落回校准文献的区间。这给"如何评估一个没有标准答案的数据集"提供了一个模板:先声明数据集服务什么任务(资源规划/教学/管道测试),再验证它在该任务的统计量上与参照系一致,最后明确声明不服务什么任务(科学推断)。§2.4 的对照表就是这个评估的存档形式。

7.3 应急场景下"合成优于脱敏"的论证链

论文给出一组在 2020 年语境下很有说服力的对比:脱敏真实数据要等(收集期)、要批(IRB/DUA)、要脱(信息损失 + 重识别风险);合成数据当天可得、零审批、零重识别风险,代价是"只有汇总统计可信"。在应急决策(资源规划)场景下,这个交换是划算的——因为资源规划只需要汇总量。但同样的交换放在因果推断场景就不划算。这提醒数据集使用者:"合成 vs 脱敏"不是数据质量之争,而是任务适配之争。

7.4 知识快照语义:冻结是一种诚实

covid19 分支冻结于 2020-05-26 是一个值得借鉴的数据集工程实践:模型声明自己代表某个知识时点(2020 年春季、原始毒株、无疫苗),并且用版本冻结让这个声明永久成立。后来的使用者不会误以为它在建模"COVID"这个疾病本身——它建模的是"2020 年 5 月我们所知的 COVID"。对比那些静默更新、无版本语义的数据集,这种"过时的诚实"反而更可引用。时代局限(坑 6)不是这个数据集的缺陷,而是它的元数据。

7.5 想复制这个方法?五步流程清单

把 §7.1 的方法学拆成可操作的五步——这是"为另一个疾病/情境造一个 covid19 式数据集"的通用流程:

  1. 圈定汇总目标:从可信文献中挑出 3-5 个汇总统计量(率、比例、峰值、时长分布)作为校准靶——数量宁少勿多,每个靶都要有明确出处;
  2. 搭模块骨架:复制 covid19 模块的 JSON 结构(疾病轨迹四段式:感染→症状→分流→结局,机制语法见 rid460),把校准靶翻译成模块参数;
  3. 试跑与回验:先小规模模拟(万级人口),计算与校准靶同口径的模拟统计量,逐参数回验——这正是 §4.8 等价性检验第 3 步的泛化;
  4. 冻结与存档:模块定稿后打 tag/开分支并声明知识时点(§7.4 的诚实语义),配套一个数据字典快照;
  5. 发布即写限制:随发布声明"能代表什么、不能代表什么"(本条目 §10 DAIMS 的"任务适配/不适配"两行是模板)。

五步中没有一步需要真实个体数据——这正是这个数据集留下的最可迁移的遗产:当文献有汇总、现实无数据时,流程化的合成是一条可复制的出路。

§8 AI-Ready 评估:能不能直接喂给模型

8.1 五维打分

维度 评分 说明
可获取性 ★★★★★ 七条渠道全免费无门槛,最小包 54 MB;Kaggle 一键加载
结构规整度 ★★★★★ 16 表星型结构,ISO 日期、标准术语、UUID 主键,零清洗起步
任务就绪度 ★★★☆☆ 无预设任务与标签列——感染/结局/资源目标需自行构造(§3.4 有现成口径)
真实世界效度 ★★☆☆☆ 合成数据本质边界:汇总统计可对齐文献,个体级推断无保证;且知识冻结于 2020-05
可复现性 ★★★★☆ 分支冻结 + Apache 2.0 + 种子可控,可完整重生成;但跨版本(vs 主线引擎)不兼容
综合 ★★★★☆ 作为"零风险结构化 EHR + 疫情推演"用途是库内 AI-Ready 程度最高的样本之一;作为"真实临床 ML 数据源"则不适格

打分依据的两点注记:

  1. "结构规整度"五星是合成数据的固有红利——没有录入错误、缺失机制不可控、单位混乱等真实数据的经典脏问题;这不是 MITRE 的数据质量功劳,而是"数据由 schema 生成"的结构性优势;
  2. "真实世界效度"两星不是质量缺陷而是类型边界——放在"合成数据"类目内它是合格线以上(汇总统计有校准回验);放在"真实临床数据"类目内才是不适格。评分前先选对比较类目,是解读一切数据集评分的前提。

8.2 使用前的五个工程预案

  1. 先定口径再写代码:包版本(10K/100K/VA/OMOP)、患者数(10,000/100,000/147,451/10,754)、表数(16)三个常量写进配置,不硬编码在逻辑里;
  2. 大表内存预案:100K 版 observations.csv 约 2.45 GB——低内存环境用 usecols/dtype/chunksize 三件套,或先裁剪所需列落 parquet;
  3. 时序切分按患者切:构造预测任务时按 Patient 切训练/测试集,按 Encounter 切会泄漏同一患者信息;
  4. 术语映射先建表:SNOMED-CT/RxNorm/LOINC 的映射表(如向 ICD-10)在建库时一次性落盘,勿在每次任务里现查;
  5. 声明知识时点:任何产出(论文/报告/模型卡)注明"基于 Synthea COVID-19 合成数据(模型知识时点 2020-05)",防止下游误读为真实数据结论。

8.3 库内 AI-Ready 光谱对照

把库内 COVID/合成系数据集放在"任务就绪度 × 真实效度"光谱上看:

数据集 任务就绪度 真实效度 定位
synthea-covid(本条目) ★★★☆☆(自构造目标) ★★☆☆☆(合成 + 知识冻结) 推演/教学/管道测试
cms-de-synpuf ★★★☆☆ ★★☆☆☆(合成 claims) 理赔管道测试
mimic-iv ★★★★☆ ★★★★★(真实脱敏 ICU) 临床 ML 研究
covidx-cxr ★★★★★(自带标注) ★★★★☆(真实影像) 影像 AI 基准

光谱读法:本数据集的位置不在"基准赛程"上,而在光谱的"零摩擦"一端——当你需要今天就能开工、无审批、无清洗的结构化 EHR 时,它是库内最快的那条路。

8.4 特征工程速查:三类任务的候选特征起点

给构造 ML 任务的团队一张特征起点速查表(全部来自 16 表既有列,无需外部数据):

任务类型 候选特征(表.列) 目标变量
感染/重症预测 patients.BIRTHDATE/GENDER/RACE、conditions.CODE 全病史(感染前截断)、observations 关键生命体征序列、medications 用药史 conditions 的 COVID 诊断码(感染);ICU 相关 encounter 事件(重症)

| 资源占用回归 | encounters.ENCOUNTERCLASS/START 序列、devices/supplies 事件、organizations.UTILIZATION | 逐日 ICU/呼吸机/透析/PPE 占用(devices + supplies + encounters 聚合) |
| 费用/保险分析 | encounters.TOTAL_CLAIM_COST/BASE_ENCOUNTER_COST、payer_transitions 流转史、patients.INCOME/HEALTHCARE_EXPENSES | 个体总费用(patients.HEALTHCARE_COSTS);自付/覆盖分解 |

三条工程提醒:特征截断时点务必在感染事件之前(防标签泄漏,与坑 6 的知识冻结是两回事);类别特征(CODE 列)先建码表字典再 embed;时序窗口特征按 7 天时间步对齐(数据生成的原生节律)。

8.5 时间维度上的 AI-Ready:知识快照与数据新鲜度

常规 AI-Ready 评估把"新鲜度"当作数据集资产项,本数据集提供了一个反例视角:它的价值恰在于不更新。冻结的 2020-05 知识时点意味着:

  • 教学与管道测试场景获得了一个永不漂移的基准环境——十年后跑同一管道,输入分布不变,回归测试才有意义;
  • 情境化研究(“早期疫情长什么样”)获得了一个可引用的情境快照——比滚动更新的真实数据更可复现;
  • 代价是不能追踪 COVID 本身的演化——那本来就不是它的任务(§6.2)。

评估启示:AI-Ready 不等于"越新越好"——对方法学与工程类用途,版本冻结 + 知识时点声明比持续更新更 AI-Ready。这是把"数据集"当"软件制品"管理的思路(语义化版本、变更日志、支持期声明),值得推广到同类合成资产。

8.2bis 反模式清单:五种常见错误用法

与 §8.2 的"预案"(该做什么)相对,五种反模式(别做什么)按危害排序:

  1. 把合成分布当真实流行病学引用——"该数据集显示感染率 71%"是模块参数,不是任何真实人群的流行率;引用疫情结论请转真实数据源(§6.3);
  2. 按 encounter 随机切训练/测试——同一患者的事件会跨集泄漏;唯一切分单位是 Patient(§8.2 预案 3);
  3. 跨包混样本——把 10K、100K、VA 包拼接成"大样本"会引入三份不同的抽样参数与人口学配置;除非论文明确处理了包间同质性,否则单包使用;
  4. 用主线引擎重生成后冒充官方包——主线与 covid19 分支的引擎基线不同(§2.5、§3.5bis),产出的分布统计量可能偏离论文口径;引用官方数字只用官方包;
  5. 把资源峰值当预测目标逐日对齐真实日历——模拟时间的"峰值"是校准参数下的推演结果,与真实日历上的任何一天都无对应;资源时序只用于相对形态与推演练习。

§9 检索者坑点清单:八个高频误读

按踩坑概率排序的优先级速览(正文逐条展开):坑 2(口径混引)> 坑 4(18 表字典)> 坑 3(体积双口径)> 坑 6(时代局限)> 坑 1(条目分工)> 坑 8(license 混引)> 坑 5(基准幻觉)> 坑 7(Eunomia 缺位)。前四个坑覆盖了本数据集绝大多数的使用事故;从 Kaggle 镜像进入的初学者请先读坑 2 与坑 4。

坑 1:把它当通用 Synthea 条目用,找不到引擎细节。
本条目只写 COVID-19 专题(模块设计、四版发布包、获取渠道、下游生态)。GMF 状态机语法、引擎版本时间轴、FHIR/C-CDA 多格式体系、百万患者档案等通用内容一律在库内 synthea(rid460) 条目——两条目是姊妹篇关系,机制细节请先读 rid460 再回来。反向亦然:rid460 只用三行带过 COVID 专供集,四版谱系的全部细节在本条目。

坑 2:把 124,150 当下载包的行数;把 VA 版文件名的 100k 当实数。
三组数字各有口径,混引即错:

数字 口径 什么时候用
124,150 患者(88,166 感染、18,177 住院) 论文模拟总体 描述数据集整体、引论文结论
10,000 / 100,000 10K/100K 包实数 描述你手上那个包
147,451 VA 版实数(文件名 100k_synthea_veterans_covid19_csv.zip 名实不符) 引 VA 包时必须写实数
10,754(女 5,165/男 5,589) OMOP 版 PERSON OHDSI 工具链语境

第三方 EDA 在 124,150 模拟档案上复核感染 88,166 成立,但这不等于任何发布包有 124,150 行——patients.csv 行数按包为 10,000/100,000/147,451。

坑 3:体积引用不问口径——512 MB 与 5.14 GB"矛盾"。
512 MB 是 100K 包的 zip 口径,约 5 GB(第三方细测 5.14 GB)是解压口径,同一包的两个数字;rid460 条目记 5.14 GB(解压)、本条目主文记 512 MB(zip),互不矛盾。CSV 文本压缩率高,zip 与解压差约 10 倍是正常现象。引用时先声明口径,再给数字。

坑 4:按现行 18 表数据字典写解析代码。
现行 Synthea wiki「CSV File Data Dictionary」是 18 表(多 claims、claims_transactions 两张理赔表);2020 年 covid19 发布包实为 16 表,无任何 claims 文件。按新字典写的加载清单在实包上直接文件缺失报错。解析 2020 包以 §3.2 的 16 表清单为准;引用字典时注明版本。

坑 5:以为有 ML 基准或 leaderboard 可刷。
本数据集没有标准 ML 基准、没有官方排行榜、没有"SOTA"文献链——它的定位是卫生系统建模/资源规划/教学。precisionFDA Challenge 11(2020-06,与 VA 版关联)是对参赛者方法的挑战赛场景,不是对本数据集的打分基准。想在它上面做 ML,需要自行构造目标(§3.4 有现成口径)并自行设计验证。

坑 6:拿它做 2026 年的疫情建模;把 immunizations 表当 COVID 疫苗数据。
模型冻结于 2020-05-26,只含原始毒株情境:无疫苗、无变异株、无长新冠、无后来的治疗手段。immunizations 表(CVX 码)里是流感疫苗等常规免疫记录——covid19 分支冻结时疫苗尚未上市,该表不可能有 COVID 疫苗数据。它能代表"2020 年春季美国早期疫情",不能代表 COVID 这个疾病本身;引用时连同知识时点一起声明。

坑 7:去 OHDSI EunomiaDatasets 找 OMOP 版。
OHDSI 官方样例数据仓库 EunomiaDatasets 没有 covid 条目——OMOP 版只有社区 R 包 omock 的 synthea-covid19-10k 一条路(自建构建,PERSON 10,754)。另注意 10,754 与官方 10K 版的 10,000 有约 7% 差异,跨包对数时勿混。

坑 8:license 笼统写"CC BY 4.0"或"CC0"。
本数据集没有 CC BY 4.0 标注。正确写法分两层:生成代码 Apache 2.0;数据开放发布,其中 Kaggle 镜像页与 data.va.gov 页标注 CC0、官方下载页与论文未附加限制条款、hdx.mitre.org 遵循 HDX 开放条款。各渠道标注不完全统一——引用时写"代码 Apache 2.0;数据开放发布(X 渠道标 CC0)"并注明实际渠道,不要跨渠道混贴单一标签。

坑点维护注记:以上八坑按"口径类(2/3/4)> 时代类(6)> 定位类(1/5/8)> 生态类(7)"分组记忆;新渠道或新版本出现时(如官方重开 FHIR 发布包、EunomiaDatasets 收录 covid 条目),先复查坑 4/坑 7/坑 8 是否已失效再更新本条目。

§10 DAIMS 数据资产信息模型速览

DAIMS 字段 内容
资产名称 Synthea™ Novel coronavirus (COVID-19) model and synthetic data set
资产标识 库内 slug synthea-covid(URL 占位 https://www.qianfanghub.com/ai-ready-dataset/synthea-covid/714);DOI 10.1016/j.ibmed.2020.100007(论文)
资产类别 合成数据(synthetic data)/ 结构化 EHR / 关系型 CSV 表族
生成主体 The MITRE Corporation(Synthea 团队 8 人)
生成机制 Synthea GMF 状态机,covid19 分支(19 子模块 JSON),7 天时间步生命历程模拟
校准依据 三篇真实队列汇总统计:Guan NEJM 2020;382:1708-1720 / Zhou Lancet 2020;395:1054-1062 / Richardson JAMA 2020;323:2052
知识时点 冻结于 2020-05-26(原始毒株时期;无疫苗/变异株/长新冠建模)
规模(论文口径) 模拟总体 124,150 患者;88,166 感染;18,177 住院;CFR 4.1%;住院率 20.6%;峰值 548 透析机 + 209 呼吸机
规模(发布包口径) 10K=10,000;100K=100,000(17 文件);VA=147,451(名实不符存照);OMOP=PERSON 10,754
体积(zip/解压双口径) 10K:54 MB / 约 500 MB;100K:512 MB / 约 5 GB(第三方细测 5.14 GB)
数据结构 16 张关系型 CSV(patients 主表 + encounters 枢纽 + 10 临床明细 + 4 保险/机构维度);现行 wiki 字典 18 表为另一代版本
术语体系 SNOMED-CT(conditions/procedures/allergies/careplans)、RxNorm(medications)、LOINC(observations)、CVX(immunizations)
版本谱系 四版并存:10K CSV / 100K CSV / VA veterans / OMOP CDM(omock 社区封装)
获取渠道 官方下载页 / hdx.mitre.org / MITRE Box 直链 / Kaggle / data.va.gov / omock R 包 / 自生成分支(共 7 条)
许可 代码 Apache 2.0;数据开放发布(Kaggle 与 data.va.gov 渠道标 CC0;渠道间标注不完全统一)
隐私状态 全合成、无真实个体、SSN 取保留测试号段——免 IRB、免数据使用协议
任务适配 资源规划推演(床位/ICU/呼吸机/透析/PPE)、卫生政策教学、FHIR/CDM 管道测试、软件测试、方法学研究
不适配 真实世界科学推断、当下(2020-05 后)疫情建模、个体级因果发现、影像 AI
基准状态 无标准 ML 基准与 leaderboard;precisionFDA Challenge 11 为 VA 版关联场景(非打分基准)
引用要求 数据集论文(walonoski2020covid19)必引 + 引擎论文(walonoski2018synthea)建议引 + 注明获取渠道
上游/关联资产 库内 synthea(rid460,通用引擎上游);cms-de-synpuf(合成 claims 同类);mimic-iv / covidx-cxr / bimcv-covid / litcovid(真实数据对照族)
已知局限 时代局限(知识冻结);汇总校准不约束个体级联合分布;OMOP 版与官方 10K 约 7% 差异;VA 名实不符;16 vs 18 表代际漂移
核验存照 三源互证(论文摘要/官方渠道/第三方 EDA)+ 双口径澄清,详见附录 E 与 FACTS 档案

§11 快速上手:五个常见任务的路线图

任务 1:课堂教学——“给人群曲线,推资源缺口”(10 分钟)
下 10K 包(54 MB)→ pandas 读 encounters + devices + supplies → 按 START 日期聚合 ICU/呼吸机/透析/PPE 消耗序列 → 取峰值对照论文的 548/209 口径。完整流程零审批,课堂即可发放。

任务 2:资源消耗时序回归(100K 版)
下 100K 包 → encounters(ENCOUNTERCLASS、CODE)+ devices + supplies 构造逐日资源占用 → 以患者为单位切训练/测试 → 模型目标为峰值/累计占用。注意坑 4(16 表)与 §8.2 预案 3(按患者切分)。

任务 3:费用与保险分析
encounters.TOTAL_CLAIM_COST / BASE_ENCOUNTER_COST / PAYER_COVERAGE + patients.HEALTHCARE_EXPENSES / INCOME + payers / payer_transitions → 费用回归或保险覆盖差异分析。合成身份字段(INCOME 等)可直接用于公平性教学演示。

任务 4:FHIR/互操作管道教学
官方包 CSV → 参照 Azure/NHS 类教程的映射脚本转 FHIR Bundle → 灌入测试服务器。或用通用引擎直接导 FHIR(路线见 rid460 条目格式章)。本数据集无独立 FHIR 发布包,教程内现场转换为常规用法。

任务 5:OMOP 工具链端到端测试
R 环境装 omock → 构建 synthea-covid19-10k(PERSON 10,754)→ 灌入本地 CDM/Atlas → 跑 cohort 演练。记住坑 7:不存在的官方 Eunomia 包,勿在 EunomiaDatasets 里白找。

任务 6:去标识化与合成数据教学(隐私课程)
下任意版 → 展示 patients 表的 SSN/DRIVERS/PASSPORT 字段 → 让学生尝试"重识别"(注定失败,字段全合成)→ 对照讲真实数据的 HIPAA 去标识化成本 → 收尾于 §7.3 的"合成 vs 脱敏"论证。一节课就能把"为什么合成数据是数字公共产品"讲透。

任务 7:方法学复刻练习(课程设计/读书会)
读 §2.4 校准方法 → 按 §7.5 五步流程为另一个有可靠汇总文献、缺患者级数据的疾病(罕见病或新发传染病情境)设计一个 GMF 模块方案 → 期末以 §4.8 等价性检验第 3 步的"分布身份"判据验收。covid19 模块本身就是这份作业的标准答案。


附录 A:16 表字母序速查清单(2020 发布包实包)

# 表名 # 表名
1 allergies 9 patients
2 careplans 10 payers
3 conditions 11 payer_transitions
4 devices 12 procedures
5 encounters 13 providers
6 imaging_studies 14 supplies
7 immunizations 15 observations
8 medications 16 organizations

注:16 表无 claims/claims_transactions(现行 wiki 字典 18 表为另一代版本,坑 4);逐表关键列见 §3.2。

附录 B:论文口径 vs 发布包口径对照全表

口径 患者数 感染数 住院数 出处 使用场景
论文模拟总体 124,150 88,166 18,177 论文摘要 描述数据集整体
10K 包 10,000 抽样比例约 71% 抽样比例约 20.6% 官方下载页 教学演示
100K 包 100,000 结构与论文口径一致(社区 EDA 复核) 同左 官方渠道 + 第三方 EDA 统计复现/研究
VA 包 147,451 —(同引擎扩样) 同左 data.va.gov 最大样本需求
OMOP 版 10,754(PERSON) CDM 转译口径 同左 omock 包 OHDSI 工具链

核心规则:论文数字只配论文口径引用;包数字只配包口径引用。(坑 2)

附录 C:术语与缩写表

缩写 全称 说明
GMF General Module Framework 通用模块框架——Synthea 的疾病建模状态机体系(机制详见 rid460)
EHR Electronic Health Record 电子健康记录
CFR Case Fatality Rate 病死率(本数据集为感染者口径)
PPE Personal Protective Equipment 个人防护装备
ICU Intensive Care Unit 重症监护病房
SNOMED-CT Systematized Nomenclature of Medicine—Clinical Terms 临床医学术语标准(诊断/操作)
RxNorm RxNorm 美国国家医学图书馆药物术语标准
LOINC Logical Observation Identifiers Names and Codes 检验/观测术语标准
CVX CDC Vaccine Codes CDC 免疫接种码标准
OMOP CDM Observational Medical Outcomes Partnership Common Data Model OHDSI 观察性医疗数据通用数据模型
FFRDC Federally Funded Research and Development Center 联邦资助研发中心(MITRE 身份)
DUA Data Use Agreement 数据使用协议(真实数据路径的成本项)
IRB Institutional Review Board 机构审查委员会(伦理审批)
UDI Unique Device Identification 医疗器械唯一标识
HDX (MITRE)Health Data Exchange 站点 MITRE 运营的数据发布渠道之一
SEIR Susceptible-Exposed-Infected-Removed 仓室传播动力学模型族(§0.5 对比路线之一)
microsimulation 微观模拟 以个体为单位逐时间步模拟的建模范式(covid19 模块所属路线)
star schema 星型模型 以事实表为中心、维度表辐射的关系结构(16 表的组织方式)
EDA Exploratory Data Analysis 探索性数据分析(Kaggle 社区验证的主力形式)
SDOH Social Determinants of Health 健康社会决定因素(§3.7 第二组字段的演练方向)
DPG Digital Public Good 数字公共产品(Synthea 家族 2022 年获认证的定位,见 rid460)
UDI Unique Device Identification 医疗器械唯一标识(devices 表的 UDI 列)
CDC Centers for Disease Control and Prevention 美国疾病控制与预防中心(CVX 码与流感统计的发布方)

附录 D:库内互链清单

slug/条目 互链方向 一句话
synthea(rid460) 双向 通用引擎上游——GMF 机制/版本轴/多格式导出均在彼条目;本条目为其 COVID 专题姊妹篇
cms-de-synpuf 双向 合成医保同类——claims 维度合成 vs 本库全临床轨迹合成(§6.4 对比表)
mimic-iv 本条目指向 真实 ICU 对照——COVID 住院轨迹的真实世界参照系
covidx-cxr 本条目指向 真实 COVID 影像对照——本库无影像,imaging_studies 仅事件记录
bimcv-covid 本条目指向 真实影像 + 临床元数据——可对照校验合成分布合理性
litcovid 本条目指向 COVID 文献标注语料——文献维度互补
radiopaedia-covid(若在库) 本条目指向 COVID 影像病例库对照
eicu-crd(若在库) 本条目指向 真实 ICU 对照族补充
OMOP/OHDSI 相关(若在库) 双向 omock 版的 CDM 语境出口

附录 E:口径差异与编辑核验存照表

项 口径 A 口径 B 采信与处理
100K 体积 512 MB(zip,官方页) 约 5 GB / 5.14 GB(解压,第三方实测;rid460 条目记后口径) 双口径并存;主文用 zip 口径 + "约"字注明解压口径(坑 3 澄清)
VA 患者数 文件名 100k 实数 147,451 按实数写;文件名照录并注明名实不符(坑 2)
数据表数 2020 包 16 表(实包核对) 现行 wiki 字典 18 表(+claims×2) 按实包 16 表写;代际漂移存照(坑 4)
OMOP 患者数 官方 10K 版 10,000 omock PERSON 10,754 两口径并存照;差异约 7%,来源未深究(坑 7)
论文日期 Available online 2020-10-15(ScienceDirect 页) 2020 Nov 卷期(Volume 1, Article 100007) 采卷期口径 2020-11;页端口径存照
hdx.mitre.org 原始数据页 现跳转 MITRE 主站(Box 直链仍存活) 渠道漂移存照;获取走 §5.1 七渠道
论文模拟档案 论文口径 124,150/88,166 第三方 EDA(ajspurr 等)实测同数 三源互证成立;与发布包行数分属不同口径(坑 2)
HuggingFace 生态 (预期存在官方集) hf-mirror 检索无官方 COVID 专集 存照:HF 无本数据集官方条目,获取走官方渠道(§6.5)
Kaggle 镜像一致性 官方 100K 包构成(100,000 行/16 表) 镜像切片与版本由上传者决定 使用镜像前执行行数与表清单核对(§6.2bis)

附录 F:标准引用格式(BibTeX)

@article{walonoski2020covid19,
  title   = {Synthea(TM) Novel coronavirus (COVID-19) model and synthetic data set},
  author  = {Walonoski, Jason A and Klaus, Sarah and Granger, Evan and Hall, Derek
             and Gregorowicz, Andrej and Neyarapally, Girish and Watson, Alissa
             and Eastman, Jonathan},
  journal = {Intelligence-Based Medicine},
  volume  = {1},
  pages   = {100007},
  year    = {2020},
  issn    = {2666-5212},
  doi     = {10.1016/j.ibmed.2020.100007}
}

@article{walonoski2018synthea,
  title   = {Synthea: An approach, method, and software mechanism for generating
             synthetic patients and the synthetic electronic health care record},
  author  = {Walonoski, Jason A and Kramer, Mark and Nichols, Joseph and Quina, Andre
             and Moesel, Chris and Hall, Dylan and Duffett, Carlton and Dube, Kudakwashe
             and Gallagher, Thomas and McLachlan, Scott},
  journal = {Journal of the American Medical Informatics Association},
  volume  = {25},
  number  = {3},
  pages   = {230--238},
  year    = {2018},
  doi     = {10.1093/jamia/ocx079}
}

引用说明:使用本数据集必引 walonoski2020covid19;涉及生成引擎与 GMF 机制建议并引 walonoski2018synthea;正文须注明所取发布版本与获取渠道(§5.5)。

附录 G:本条目核验来源清单(一手来源与抓取时点 2026-09)

# 来源 核验内容 状态
1 论文(ScienceDirect,doi:10.1016/j.ibmed.2020.100007) 摘要核心数字(124,150/88,166/18,177/4.1%/20.6%/548/209)、作者 8 人、卷期 Volume 1 Article 100007 已核(经镜像;NCBI PMC 有访问限制,存照)
2 官方下载页(synthetichealth.github.io/synthea) 10K 包直链与 54 MB zip 口径 已核
3 hdx.mitre.org / MITRE Box 直链 100K 包 512 MB zip、17 文件构成;VA 版并列展示;hdx 域名跳转存照 已核(Box 直链存活)
4 GitHub synthetichealth/synthea covid19 分支 冻结提交(“Fix bug for covid19 readmissions”,2020-05-26)、19 子模块 JSON 已核
5 data.va.gov VA 包名 100k_synthea_veterans_covid19_csv.zip、CC0 标注 已核
6 Kaggle(镜像页 + ajspurr 等 EDA notebook) CC0 标注;patients.csv 行数与感染计数第三方复核 已核
7 omock 包文档(CRAN) synthea-covid19-10k、PERSON 10,754(女 5,165/男 5,589) 已核
8 OHDSI EunomiaDatasets 仓库 无 covid 条目(缺位核验) 已核
9 hf-mirror(HuggingFace 镜像检索) 无官方 COVID 专集 已核
10 库内数据库查重 SQL(url_name ILIKE ‘%synthea%’) 仅 rid460 一行——synthea-covid 为真新条目 已核(2026-09-28)
11 库内 synthea(rid460)条目 分工边界(引擎细节归 rid460)、5.14 GB 解压口径互证、Kaggle 镜像互证 已核

待核项存照(不影响主文结论):OMOP 版 10,754 与官方 10K 的约 7% 差异来源未深究;论文 Available online 精确日期采卷期口径规避;VA 名实不符的官方解释缺失(推测扩样沿用旧名)。三项均已在附录 E 与 §9 对应坑点声明。

核验方法注记(后续维护者可复用的操作化说明):

  1. 三源的构成:本条目将来源分为三层——A 层为论文(ScienceDirect 及其镜像),B 层为官方发布渠道(GitHub Pages 下载页、hdx.mitre.org、MITRE Box、data.va.gov、GitHub 仓库),C 层为第三方独立验证(Kaggle EDA notebook、omock 文档、EunomiaDatasets 仓库存照)。硬数字入库前须至少 A+B 两源一致;关键数字(患者数/体积/CFR)须 A+B+C 三源齐全或差异已存照。
  2. 网络受限环境下的替代路径:编辑环境对部分域名存在 SSL 拦截(curl exit 35/60),此时改经 WebFetch/WebSearch 抓取页面快照完成核验;PMC 等受限库改用出版方页与学术镜像。替代路径不影响核验效力,但须在来源清单标注实际抓取方式。
  3. 数字的再验证入口:患者数与感染占比可用任意发布包在数分钟内复算(§3.4 口径 + §3.6 代码);CFR 与资源峰值为论文口径,复算需重跑冻结分支的完整模拟——此两项建议引用时直接挂论文 DOI,不建议二手复算值。

附录 H:下载数据后的自检十问(两分钟核对单)

  1. 包对了吗?——patients.csv 行数是 10,000 / 100,000 / 147,451 中的哪一个,与你以为的版本一致吗(坑 2)?
  2. 表齐了吗?——16 张 CSV 都在,且没有 claims 系列表吗(坑 4)?
  3. 体积对吗?——zip 与解压体积的量级关系(约 10 倍)符合预期吗(坑 3)?
  4. 说明文件在吗?——100K 包应含 1 个 HTML 说明(17 文件构成)。
  5. 感染占比在位吗?——patients 层面 COVID 诊断占比应约 71%(模块参数水平),明显偏离说明拿错包或过滤错了。
  6. 统计口径选对了吗?——你要引的是论文总体(124,150)还是包行数?两者在文中各归各位了吗?
  7. 时间理解对了吗?——你知道这个数据建模的是 2020 年 5 月前的原始株情境吗(坑 6)?
  8. license 声明准备了吗?——代码 Apache 2.0 + 数据渠道标注,模板见 §5.2(坑 8)。
  9. 引用齐了吗?——walonoski2020covid19 必引、渠道已注明(§5.5)。
  10. 分工清楚了吗?——引擎机制问题将去 rid460 查,本条目只管 COVID 专题(坑 1)?

十问全过,即可开工;任何一问答不上,回到对应坑点章节。


相关数据集导航

以下为站内 AI-Ready 数据集百科中与本词条共享多个主题标签的相关数据集,按相关度降序排列:

  • nwicu — 共享标签:电子健康记录 / 公共卫生与流行病学 / COVID-19 / 临床电子病历
  • n3c — 共享标签:电子健康记录 / 公共卫生与流行病学 / COVID-19 / 临床电子病历
  • isaric-ccp — 共享标签:电子健康记录 / 公共卫生与流行病学 / COVID-19 / 临床电子病历
  • cdsl-covid-data-shared-learning — 共享标签:电子健康记录 / 公共卫生与流行病学 / COVID-19
  • jhu-csse-covid-19 — 共享标签:公共卫生与流行病学 / COVID-19 / 时序数据
  • our-world-in-data — 共享标签:公共卫生与流行病学 / 时序数据
  • seer-nci — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历
  • virus-registry — 共享标签:电子健康记录 / COVID-19 / 临床电子病历
  • gemini — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历
  • qresearch — 共享标签:电子健康记录 / 公共卫生与流行病学 / 临床电子病历

导航说明:本章节由全站统一标签体系自动计算生成(标签重合度算法),双向可达;点击链接可跳转至对应数据集词条。

返回 AI-Ready 数据集