Skip to main content
An empty test database doesn’t catch real bugs. A database full of copied production data is a compliance problem and a security review you have to sit through. Flock is the third option: point it at your schema and it generates a synthetic population that fits your tables, keeps every foreign key valid, and contains no PHI because no real record ever entered the pipeline.

One loop: schema in, seeded database out

Flock reads your database schema, a live connection or a SQL DDL file, and maps the foreign keys into a dependency graph. It generates records in that dependency order so every reference resolves. You get the population as FK-ordered SQL INSERTs, CSV, HL7 v2 message streams, or FHIR transaction Bundles, and you can seed a connected database directly.

Why the data looks real

The generated cohort isn’t uniform noise. Demographics track US Census age, sex, race, and geographic distributions, and clinical content is grounded in a 108-condition comorbidity matrix built from public epidemiology (CDC WONDER, NHANES, CDC surveillance). Diabetes pulls in hypertension, obesity pulls in sleep apnea, and temporal order holds across the record: admissions precede discharges, lab orders precede results, medication start dates precede end dates. That grounding is why a QA run against Flock data surfaces the failures a hand-built handful of test patients never will. It is a credibility proof-point, not the headline. The headline is schema-aware, FK-safe, no-PHI data in your target format.

When something fails

Getting Flock

Flock is a paid product and requires a Pidgeon account sign-in. Post’s free CLI (message generation and validation) does not include Flock; the flock command is delivered through the Flock desktop app and the Pro CLI. See Get started with Flock.

Next steps

Schema Intelligence

How Flock classifies tables and maps foreign keys.

Population Generation

Demographics, correlated conditions, and temporal coherence.

Output Formats

SQL, CSV, HL7 v2, and FHIR Bundles.

Seed a database

From an empty schema to a seeded population.