Skip to content

Quickstart

End-to-end in five minutes.

What you need

  • A folder (or a zip) of C-CDA XML files from a patient portal.
  • Python 3.9 or newer.

1. Install the package

pip install https://github.com/BoyceLab/RegistryForge4Patients/releases/latest/download/RegistryForgePatient.zip

(See Installation for editable-install and PyPI alternatives.)

2. Run the pipeline

registryforge-patient parse /path/to/your/ccda/folder --output ./out

Or with optional advanced exports:

registryforge-patient parse /path/to/your/ccda/folder --output ./out \
    --omop --phenopackets --mondo

3. Open the outputs

ls out/

You should see:

patient_master.csv                # long-format records
patient_features.csv              # one row per patient, ML-ready
dashboard.html                    # open this in a browser
parse_log.csv                     # which file produced which records
registry_forge_patient_bundle.zip # all of the above in one file
omop/                             # OMOP CDM v5.4 tables (if --omop)
phenopackets/                     # one .json per patient (if --phenopackets)

Open dashboard.html in any browser. Search any diagnosis, medication, lab value across every record. No server needed.

From Python instead of the CLI

from registryforge_patient import build_outputs

artifacts = build_outputs(
    input_path='/path/to/your/ccda/folder',
    output_dir='./out',
    with_omop=True,
    with_phenopackets=True,
    with_mondo=True,
)

Try it without your own data

The repository ships with synthetic demo files under sample_data/. Run:

registryforge-patient parse ./sample_data --output ./demo_out --omop --phenopackets --mondo

Open demo_out/dashboard.html and explore. Three demo patients, three years of records each, with conditions, medications, labs, and vitals - all clearly labeled as JaneDemoPatient / JoeDemoPatient / AlexDemoPatient so you can never confuse them for real patients.

Next steps