Skip to content
Flock

Realistic test data, built from your own database schema.

Point Flock at your schema and get realistic patients back as SQL, HL7 v2, or FHIR. Every record is made up, so there is no patient data to protect.

Install
A desktop app for Windows x64 (signed) or an Apple Silicon Mac (not yet signed), or the CLI.
Where it runs
On your machine. No real patient record is ever used.
Works with
Schemas from Postgres or SQL Server DDL, or a live Postgres, SQL Server, MySQL, or MariaDB database. It writes SQL inserts, CSV, HL7 v2, and FHIR R4.
Account
A free Pidgeon account. Signing in needs internet.
Free in the beta
No limit on how many patients you generate.

Compared with what you use: Synthea generates FHIR from its own data model. Flock fills your own schema, in foreign-key order, and also writes HL7 v2.

Not yet: Flock can load data straight into Postgres and SQL Server only. For other databases, it writes a SQL file for you to run.

Compliance won’t let you copy production to staging without a data use agreement and two committee sign-offs. Meanwhile, staging holds a few stale test patients.

Flock builds the data from your schema in one run, including the edge cases production hasn’t sent you yet.

Your schema

CREATE TABLE patient (  id INT PRIMARY KEY,  mrn VARCHAR(20),  birth_date DATE);CREATE TABLE encounter (  id INT PRIMARY KEY,  patient_id INT    REFERENCES patient(id),  admit_at TIMESTAMP);

SQL, in foreign-key order

INSERT INTO patient  VALUES (1, 'MRN004812',          '1958-03-14');INSERT INTO encounter  VALUES (1, 1,          '2026-09-26 08:42');

The same patient in HL7 v2

MSH|^~\&|FLOCK|HOSP|EHR|HOSP|20260926084200||ADT^A01|F000001|P|2.5.1PID|1||MRN004812||REYES^DANA||19580314|FPV1|1|I|4WEST^412^1||||||||||||||||V000001
Example data. One schema in, and the same made-up patient comes out as SQL and as HL7 v2.

Built on public health data

Flock shapes patients with public health statistics: how common each condition is, which ones appear together, and normal lab ranges. A diabetic patient gets diabetes medications and a believable A1c.

Try it on your own schema.