Skip to main content
Flock generates a cohort, not a pile of independent rows. Demographics come from US Census distributions, condition correlations from a 108-condition comorbidity matrix grounded in public epidemiology (CDC WONDER, NHANES, CDC surveillance), and temporal order is enforced across every clinical event. The result reads like a population a real facility would see, which is what makes it useful for testing.

Demographics

Age, sex, race, and geography are drawn from US Census distributions for the selected region. Set the geographic focus with a state abbreviation:
Age brackets, sex ratios, and the race and ethnicity mix track the census figures for that region rather than a flat random spread.

Correlated conditions

Conditions co-occur the way they do in real patients. The comorbidity matrix carries conditional probabilities between condition pairs, so a generated patient with type 2 diabetes is likely to also carry hypertension, obesity brings sleep apnea and fatty liver disease along with it, and a COPD patient trends toward nicotine dependence and, less often, lung cancer. This is the credibility layer, not the headline: the point of Flock is schema-aware, FK-safe, no-PHI data, and the epidemiological grounding is what keeps that data from looking synthetic.

Temporal coherence

Every generated timeline holds together. Admission timestamps precede discharge timestamps, lab orders precede their results, medication start dates precede end dates, and a patient’s age stays consistent with their date of birth. A downstream system that validates ordering sees data it can actually process.

Family linkage

Households are modeled, not scattered. Spouses share addresses, parent and child records carry age-appropriate gaps, and emergency-contact fields reference other generated people rather than dangling.

Reproducible runs

Pass a seed to get the identical population every time, which makes a generated dataset something you can commit to a test fixture:

FHIR output

Generates FHIR transaction Bundles across the 137 spec-validated resource types Post generates, with references resolved inside each Bundle.