Sample Healthcare Dataset Generator

Anonymized fake patient records for health-tech demos

Produces synthetic patient records with demographics, diagnoses, vitals, and visit dates as CSV or JSON. Useful for health-tech dashboard demos, EHR prototypes, and medical data tool testing without exposing real PHI. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

Is any of this data real?

No. Every name, diagnosis, and date is randomly generated in your browser from fixed sample pools. Nothing is fetched from a real medical record, so there is no PHI and nothing leaves your device.

This generator produces realistic-looking but entirely fake patient records so you can build and demo health-tech dashboards, EHR prototypes, and analytics tools without touching real protected health information. Everything is created locally in your browser.

How it works

Each record is assembled from fixed sample pools using a simple uniform random pick per field:

  • A patient ID like P-00042 from a running counter.
  • A name combined from first-name and surname pools.
  • An age (1–95) and sex, then plausible vitals: systolic/diastolic blood pressure and heart rate drawn from normal physiological ranges.
  • A primary diagnosis chosen from a list of common conditions, each paired with its real ICD-10 code so the data passes a glance test.
  • A last-visit date randomly placed within the past two years.

The output is serialized to either CSV (with a header row) or pretty-printed JSON.

Why synthetic patient data is essential in health-tech

Healthcare software development faces a fundamental tension: the data that makes demos compelling — diverse diagnoses, realistic vitals, varied demographics — is exactly the data most tightly regulated under HIPAA and equivalent frameworks. Using de-identified real data is legally complex and still carries residual re-identification risk. Synthetic data generated from statistical distributions has no re-identification risk because there is no real person behind any record. There is no PHI because there is no patient.

What each patient record contains

FieldDescription
patientIdSequential ID in P-NNNNN format
nameFirst and surname from randomised name pools
ageInteger 1–95
sexMale or Female
systolicBPSystolic blood pressure, drawn from physiologically plausible ranges
diastolicBPDiastolic blood pressure, consistent with systolic
heartRateHeart rate in BPM, within normal-to-mildly-elevated range
diagnosisCommon condition name from a fixed list
icd10CodeReal ICD-10 code paired with the diagnosis
lastVisitRandom date within the past two years

The diagnosis list uses real ICD-10 codes paired with common conditions — for example Type 2 diabetes mellitus (E11.9), essential hypertension (I10), and chronic obstructive pulmonary disease (J44.9). This means the data passes a glance test and works correctly in demos of diagnosis code lookup, clinical grouping, and comorbidity analysis tools.

Vitals are drawn from ranges representing a mix of healthy and mildly abnormal readings — more useful for demo purposes than all-normal values, and realistic for a general outpatient population.

Common use cases

EHR prototype development: Populate a patient list, record viewer, or clinical note interface with enough records to validate layout, scrolling, and search without real data.

Analytics dashboards: Drive charts showing diagnoses by frequency, age distribution, blood pressure trending, and visit recency — fields commonly featured in population health management tools.

Non-production environment testing: Any dev, staging, or QA environment that must not contain real PHI but needs realistic-looking data to test UI, imports, or business logic.

Tips and notes

Use a few hundred rows for dashboard layout work and a few thousand to stress pagination and charting. Because the diagnosis codes are real ICD-10 entries, the dataset is good for demoing code-lookup or grouping features. Save the output if you need a stable dataset — each generation is independently random.