Synthea 是一个开源的合成患者数据生成器,能够模拟从出生到死亡的完整电子健康记录,生成高度逼真但不涉及真实患者隐私的医疗数据,常用于医疗系统测试、AI 训练和公共卫生研究。
项目简介
Synthea 由 MITRE Corporation 旗下的 Synthetic Health 团队开发,采用 Apache License 2.0 开源协议,基于 Java 实现。 它不是电子病历系统,而是一个"患者模拟器"——通过模块化的疾病模型和人口统计学规则,生成符合临床逻辑的合成健康记录。美国卫生信息技术协调办公室(ONC)还曾发起挑战赛,鼓励社区增强 Synthea 的能力。
核心能力
| 能力 | 说明 |
|---|---|
| 全生命周期模拟 | 从出生到死亡,包含就诊、诊断、用药、手术、疫苗接种等完整病程 |
| 模块化疾病模型 | 内置糖尿病、哮喘、心血管病、代谢综合征、COVID-19 等多种疾病模块 |
| 多格式导出 | 支持 HL7 FHIR(R4/STU3/DSTU2)、C-CDA、CSV、JSON 等格式 |
| 可定制参数 | 可指定人口规模、年龄范围、性别、地理区域、随机种子等 |
| 隐私安全 | 合成数据与真实患者无映射关系,规避 HIPAA/GDPR 合规风险 |
| 可扩展 | 支持自定义疾病模块和人口模型 |
技术架构
- 语言:Java(需要 JDK 11+)
- 构建:Gradle
- 疾病建模:基于 JSON 定义的模块化状态机引擎,模拟疾病触发、状态转移和干预响应
- 数据标准:严格遵循 HL7 FHIR 标准,生成 Patient、Condition、Encounter、Observation、MedicationRequest 等资源
- 部署:命令行工具,支持本地运行和批量生成
典型使用场景
- 医疗软件测试:为 EHR/HIS 系统提供测试数据,避免使用真实患者数据的风险。
- AI/ML 模型训练:提供大规模标注数据,支持疾病预测、临床 NLP 等模型开发。
- 公共卫生研究:模拟疾病传播、政策干预效果(如疫苗接种计划)。
- 教育与培训:帮助学生理解临床决策流程。
- 互操作性测试:生成标准 FHIR 数据,验证系统间的接口兼容性。
优势
- 开源免费,社区活跃,MITRE 背书。
- 数据符合临床逻辑,具备时间维度和因果一致性。
- 原生支持 FHIR 标准,可直接导入 HAPI FHIR 等服务器。
- 隐私安全,合成数据不涉及真实患者。
- 模块化设计,易于扩展自定义疾病模型。
局限
- 默认人口模型基于美国数据,其他地区需要适配。
- 不包含医学影像数据。
- 合成数据不能替代真实数据用于临床决策验证。
- 大规模生成时数据量较大,需要足够的磁盘空间。