Calibrated synthetic patients, delivered your way.

Stop faking test data. Generate US patient records whose fields move together like a real population — blood pressure with age, A1c with BMI — as one-time snapshots or year-by-year histories. Call it from a REST API or from your AI agent over MCP.

Free: 5,000 rows/day. No credit card.

POST /v1/datasets/person
$ curl -s -X POST …/v1/datasets/person \
    -b 'sidgen_session=…' \
    -d '{"clientId":"…","count":5000,"seed":418293}'
→ 202 · dataset job queued · poll /v1/datasets/{id}
bmi · n=6000generated vs NHANES 2017–20
163248
generatedreferenceKS D=0.023 · ✓ pass n=6000
Export FHIR R4, JSONL, or CSV. Free tier: 5,000 rows/day.
calibrated against  NHANES · ACS · CDC · KFF
Provenance & safety

No patient data ever
touched these models.

The generators are fit to published aggregate statistics — national survey distributions, not individual records. No PHI is ingested, stored, or modeled at any stage, so the output is synthetic by construction: nothing to re-identify, nothing to leak.

0 patient records ingestedpublic statistics onlyno re-identification surfacesafe to share, train & ship

↳ No BAA required — synthetic output calibrated to public statistics contains no protected health information.

data lineage · what goes in, what comes out
input
Public aggregate statistics
NHANES · ACS · CDC · KFF — published summary distributions
fit marginals + joints
model
Distribution model
parameters only — never individual-level data
deterministic draw
output → your team
Synthetic records
0 PHI · reproducible · safe to share
individual patient recordsnever ingested · never stored · never required
Calibrated, not random

Every column is fit to a published distribution — then tested against it.

Faker-style libraries sample uniformly. We fit marginals and joint distributions to national survey data, so a draw reproduces the real shape — skew, tails, and conditional structure included.

marginal fidelity · generated draw vs MEC-weighted NHANES
joint fidelity · the part libraries skip
age × bp_sys · joint densityn=6000 · 22×14 grid
bp_sys · 90 → 190
age · 18 → 90
density highρ = 0.45 gen · 0.44 ref

Marginals are easy. Joints are the test.

Any library can match one column at a time. The hard part is the relationships between them — blood pressure rises with age, A1c rises with BMI, income tracks insurance. Sample those independently and your data falls apart the moment a model looks at two fields together.

  • joint distributions across attribute pairs
  • conditional-on-age and on-sex slices hold their shape
  • rare cohorts stay balanced at scale

↳ Full per-attribute + joint report ships with every dataset. See the Person fidelity analysis →

What you get

The same four guarantees on every generator.

01 / not random fillers

Distributions, not dice rolls

Marginals and joints fit to NHANES, ACS, and CDC. Validated with Kolmogorov–Smirnov against the published reference data on every build.

02 / bring nothing

No source dataset required

Other tools train on your real records first. We generate from public statistics — bring nothing, get production-grade test data with zero PHI exposure.

03 / reproducible

Deterministic by seed

Same seed, same data, byte-identical, every time. Reproducible test runs, bug reports, and benchmarks across your whole team.

04 / at scale

Bulk export to 1M rows

Up to one million records as CSV, JSONL, or FHIR R4 per dataset. Free tier covers 5,000 rows/day; larger one-off datasets are free by request.

Built for

Built for demos, CI fixtures, and model training.

Early-stage teams

Ship a demo that holds up to scrutiny.

Fill a demo or prototype with records whose distributions match real US health statistics. No BAA, no pilot site, no waiting.

→ matches NHANES / ACS / CDC
Engineering & QA

Reproducible fixtures that never drift.

Seed-deterministic datasets for CI: byte-identical every run, so a failing test means a real regression — not reshuffled mock data. Validate pipelines without exposing PHI.

→ deterministic · joint-distribution accurate
Data & analytics

Train and tune on a dataset built for accuracy.

Augment thin training sets and balance rare cohorts against a source calibrated end-to-end, not just per column. Joint and conditional slices match, so models generalize.

→ up to 1M rows · joint + conditional fidelity
Free tier

5,000 rows / day

CSV · JSONL · FHIR R4 · resets 00:00 UTC · no cardCreate a free account
Need more

Free, by request

Higher quotas & one-off datasets up to 1M rowsSee the details