Play

The Test-Data Factory

Watch a production-shaped payload get washed into synthetic test data, then checked and compared — using the live tools, in your browser.

Most FHIR work stalls in the same place. You have a real payload that reproduces the bug, and you cannot put it in a ticket, a test fixture, or a screen share. So you hand-edit a copy, miss a field, and end up debugging your redaction instead of the thing you were chasing.

The factory is the way out of that loop: wash, check, compare — three tools that hand off to each other, all running on synthetic data you can actually share.

Bring your own payload, or don't

You do not need a real payload to try this. The Washer ships with sample payloads you can load, Compare has a built-in example with a deliberate resource gap and two field drifts, and the Workbench has a Scenario Library of synthetic PAS bundles — on every channel, stable production included. File upload is switched off on stable production, so paste your payload in rather than uploading it.

If you do bring your own: it must already be synthetic or properly de-identified. The Washer produces test data — it is not a HIPAA de-identification method, and it does not make PHI safe to paste.

What you end up with

A synthetic payload that keeps the shape of the real one, a conformance report from the validator build this site runs, and a field-level diff you can walk a partner through. The Washer replaces the patient and member identifying fields it recognizes with synthetic stand-ins — it is not HIPAA de-identification, and whether a result is safe to share stays your judgement, not this page's promise.

Provider and facility identity, including names, NPIs and addresses, passes through unchanged, and clinical notes are cleared rather than replaced. That is a permanent design decision, not a gap: provider and site data is public reference data, and the provider-to-site relationships have to survive intact or the payload stops exercising what it was collected for. It also means washed output can still carry real provider and facility identity — check before you share.

  1. Step 1

    Wash it

    Client-side only · not HIPAA de-id

    Paste a production-shaped FHIR payload. The Washer replaces patient and member names, addresses, identifiers, and dates with synthetic stand-ins that keep the same shape — so the result still exercises the same code paths. Provider and facility identity is deliberately kept, not washed. Nothing is uploaded: the wash runs entirely in your browser, and an automated network-silence test in CI keeps it that way.

    When the wash finishes, hit Send to Analyze — the washed payload travels with you.

  2. Step 2

    Check it

    The Analysis Workbench validates PAS payloads — Submit and Inquiry — against the Da Vinci PAS profiles, and tells you what conforms, what does not, and which requirement each finding traces back to. US Core requirements come along with it, because the PAS profiles build on them. DTR and CDex have their own workflows: a pasted DTR Questionnaire gets profile validation, and a CDex payload gets comprehension. Chosen on their own, US Core, PDex, HRex and CARIN Blue Button are tracked for requirement and version analysis only — pick one of those and you will get no conformance findings.

    From the loaded payload, Add to workbook accumulates it into a case you can compare next.

  3. Step 3

    Compare it

    Client-side only · no network

    Load a second payload — a partner's variant, an older capture, a known-good reference — and Compare shows you the field-level drift it detects, which resources are missing entirely, and which differences it classifies as cosmetic. Also fully client-side.

    No payload handy? Try an example loads two bundles with a deliberate resource gap and two field drifts.

Start anywhere

The steps hand off to each other, but none of them is a prerequisite. Each tool also takes a pasted payload directly, so you can drop into the middle of the loop with whatever you already have. (File upload is off on stable production — SEC-129 — so paste is the path that works everywhere.)