Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
S

synthea

> 编程语言
Open source

Synthetic Patient Population Simulator

3.3K stars0 likes0 views
WebsiteGitHub

About

Synthetic Patient Population Simulator

SyntheaTM Patient Generator

SyntheaTM is a Synthetic Patient Population Simulator. The goal is to output synthetic, realistic (but not real), patient data and associated health records in a variety of formats.

Read our wiki and Frequently Asked Questions for more information.

Currently, SyntheaTM features include:

  • Birth to Death Lifecycle
  • Configuration-based statistics and demographics (defaults with Massachusetts Census data)
  • Modular Rule System
    • Drop in Generic Modules
    • Custom Java rules modules for additional capabilities
  • Primary Care Encounters, Emergency Room Encounters, and Symptom-Driven Encounters
  • Conditions, Allergies, Medications, Vaccinations, Observations/Vitals, Labs, Procedures, CarePlans
  • Formats
    • HL7 FHIR (R4, STU3 v3.0.1, and DSTU2 v1.0.2)
    • Bulk FHIR in ndjson format (set exporter.fhir.bulk_data = true to activate)
    • C-CDA (set exporter.ccda.export = true to activate)
    • CSV (set exporter.csv.export = true to activate)
    • CPCDS (set exporter.cpcds.export = true to activate)
  • Rendering Rules and Disease Modules with Graphviz

Developer Quick Start

These instructions are intended for those wishing to examine the Synthea source code, extend it or build the code locally. Those just wishing to run Synthea should follow the Basic Setup and Running instructions instead.

Installation

System Requirements: SyntheaTM requires Java JDK 17 or newer. We strongly recommend using a Long-Term Support (LTS) release of Java, 17 or 25, as issues may occur with more recent non-LTS versions.

To clone the SyntheaTM repo, then build and run the test suite:

git clone https://github.com/synthetichealth/synthea.git
cd synthea
./gradlew build check test

Changing the default properties

The default properties file values can be found at src/main/resources/synthea.properties. By default, synthea does not generate CCDA, CPCDA, CSV, or Bulk FHIR (ndjson). You'll need to adjust this file to activate these features. See the wiki for more details, or use our guided customizer tool.

Generate Synthetic Patients

Generating the population one at a time...

./run_synthea

Command-line arguments may be provided to specify a state, city, population size, or seed for randomization.

run_synthea [-s seed] [-p populationSize] [state [city]]

Full usage info can be printed by passing the -h option.

…

Some settings can be changed in ./src/main/resources/synthea.properties.

SyntheaTM will output patient records in C-CDA and FHIR formats in ./output.

SyntheaTM GraphViz

Generate graphical visualizations of SyntheaTM rules and modules.

./gradlew graphviz

Concepts and Attributes

Generate a list of concepts (used in the records) or attributes (variables on each patient).

./gradlew concepts
./gradlew attributes

License

Copyright 2017-2025 The MITRE Corporation

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

GitHub Issues· 235 open

View all on GitHub
  • #1700

    Proposal: stable de-identified export manifest for downstream benchmarks

    Updated Sep 14, 2026
  • #1703

    CSV SYSTEM column depends on whether FHIR export is enabled

    Updated Sep 14, 2026
  • #1702

    FHIR R4 allergy export loses reaction severity by mutating a HashMap key.

    bugUpdated Sep 14, 2026
  • #1365

    US Core 3.1

    bugUpdated Sep 8, 2026
  • #1694

    HbA1c and serum glucose are generated independently, so they contradict each other (r = 0.03 across 492 patients)

    bugUpdated Sep 7, 2026
  • #1698

    Release v4.0.0 jar identifies itself as v3.4.0-18-ga07a65555 and stamps that into every record

    bugUpdated Sep 7, 2026
  • #1697

    CSV export rounds numeric observation values to one decimal; FHIR export of the same run does not

    bugUpdated Sep 7, 2026
  • #1696

    CSV export drops the panel observation itself; only its components are written

    bugUpdated Sep 7, 2026

Highlights

  • •Birth to Death Lifecycle
  • •Configuration-based statistics and demographics (defaults with Massachusetts Census data)
  • •Modular Rule System
  • •Drop in Generic Modules
  • •Custom Java rules modules for additional capabilities
  • •Primary Care Encounters, Emergency Room Encounters, and Symptom-Driven Encounters
  • •Conditions, Allergies, Medications, Vaccinations, Observations/Vitals, Labs, Procedures, CarePlans
  • •HL7 FHIR (R4, STU3 v3.0.1, and DSTU2 v1.0.2)
  • •Bulk FHIR in ndjson format (set exporter.fhir.bulk_data = true to activate)
  • •C-CDA (set exporter.ccda.export = true to activate)

> Tags

Javafhirhealth-datasimulationsynthea

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言