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 for more information.
Currently, SyntheaTM features:
- 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
- FHIR (STU3 v3.0.1, DSTU2 v1.0.2 and R4)
- C-CDA
- CSV
- Rendering Rules and Disease Modules with Graphviz
System Requirements: SyntheaTM requires Java 1.8 or above.
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
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.
Usage is
run_synthea [-s seed] [-p populationSize] [-m moduleFilter] [state [city]]
For example:
run_synthea Massachusetts
run_synthea Alaska Juneau
run_synthea -s 12345
run_synthea -p 1000
run_synthea -s 987 Washington Seattle
run_synthea -s 21 -p 100 Utah "Salt Lake City"
run_synthea -m metabolic*
Some settings can be changed in ./src/main/resources/synthea.properties
.
SyntheaTM will output patient records in C-CDA and FHIR formats in ./output
.
Generate graphical visualizations of SyntheaTM rules and modules.
./gradlew graphviz
Generate a list of concepts (used in the records) or attributes (variables on each patient).
./gradlew concepts
./gradlew attributes
Copyright 2017-2019 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.
Note: The assets in this repository were stewarded by OSEHRA and transferred to Logica on February 14th, 2020 upon OSEHRA's permanent closure. While the work remains available as Open Source for continued community use, copyright and licensing statements may not have been updated to reflect this transfer.