Where to run it¶
Registry Forge is plain Python, so it runs anywhere Python 3.10 or later runs: a laptop, a Jupyter server, Google Colab, Amazon Web Services (AWS) or another approved platform. The question to settle first is where the records are allowed to go, because that decides which of these environments can be used for real participant data and which are only for the invented cohort.
Confirm first · Your computer · Jupyter · Google Colab · AWS · Other platforms · Sources
Confirm before you start¶
An environment here means the computer or cloud service where the code runs and the records are stored while it runs: your own computer, an institutional server, a Jupyter server, Colab Enterprise, Amazon SageMaker AI or a Databricks workspace, for example. Work through this list with the registry's study team and information security office before any real record is copied into one. The invented cohort needs none of it.
| Confirm | Why |
|---|---|
| The protocol, the Institutional Review Board (IRB) determination and any data use agreement allow participant records to be processed in that environment | The records are identified health information; the approvals say where they may be stored and processed |
| For a cloud service, the institution has a business associate agreement (BAA) with the provider and the specific service is on the provider's list of services the BAA covers | A BAA covers listed services only; a service that is not listed is not covered even in the same account |
| The information security office has approved the environment for identified health data, including disk encryption and who can sign in | Personal laptops and free notebook services are usually not approved |
| Python 3.10 or later is available, and packages can be installed from the internet, an internal mirror or wheels copied in | run_all.py makes no network calls, but installing packages does |
There is storage for the inputs and the outputs, and a decided place for each output folder: the run folder and restricted/ stay in the approved environment; reports/ is reviewed in full before anything leaves |
Decoded text and the outputs can be larger than the delivered files, and each folder has a different privacy level |
The data cut-off date is chosen, and vital_status.csv is ready if deaths come from outside the records |
Survival figures need a fixed end date |
| A practice run on the invented cohort has been done in the same environment | It shows every output and confirms the install before real records are touched |
Your own computer¶
Good for the sample data, the invented cohort and learning the outputs. Use it for real records only if the computer is approved for identified health data.
unzip RegistryForge.zip
cd RegistryForge
python -m pip install -r requirements.txt
python -m pytest -q tests # confirms the install
python examples/make_synthetic_cohort.py --out practice_run
python pipeline/run_all.py --base-dir practice_run --cutoff 2026-10-31
On Windows, use py in place of python. Open pipeline/dashboard.html in a browser and load practice_run/dashboard_data.json to see the record viewer.
Jupyter¶
Works the same in JupyterLab, Jupyter Notebook and an institutional JupyterHub.
- Unzip RegistryForge.zip where the notebook server can see it.
- Open
notebooks/run_registry_forge.ipynb(also on the Downloads page). - Check the settings cell.
USE_INVENTED_COHORT = Trueruns the invented cohort; set it toFalseandRUN_DIRto your run folder for real records, once the environment is approved. - Run the cells in order. The notebook checks the Python version, packages and free disk space, installs missing packages, runs everything and lists where each output went.
To run from a notebook without the run notebook, call the command line from a cell: !python pipeline/run_all.py --base-dir practice_run --cutoff 2026-10-31.
Google Colab¶
The free Colab is a quick way to try the pipeline on the invented cohort with nothing installed on your computer. It is not for real participant records: the free Colab is a consumer service, and Google lists Colab Enterprise, not the free Colab, among the Google Cloud services its BAA covers (checked November 2026 on Google's HIPAA compliance page; see Sources).
- Download run_registry_forge.ipynb.
- Open colab.research.google.com, choose File, then Upload notebook, and pick the file.
- Run the cells in order. The notebook downloads the pipeline from this site; if the download is blocked, it asks you to upload
RegistryForge.zipinstead. - Files in a Colab runtime are deleted when the session ends. Download any report you want to keep (the last cell shows how).
For real records on Google Cloud, Colab Enterprise in a project covered by the institution's Google Cloud BAA can run the same notebook, if the institution has approved it.
Amazon Web Services¶
Run the pipeline in the AWS account that already holds the exports, so the records never leave it. AWS lists Amazon SageMaker AI and Amazon EC2 among its HIPAA eligible services; the account owner accepts the AWS BAA in AWS Artifact, and SageMaker Studio Lab is excluded from eligibility (checked November 2026; see Sources).
What to confirm in AWS first
- The AWS BAA is accepted for the account, and the account is designated for protected health information under the institution's AWS policy.
- An IAM role for the notebook or instance can read the exports in S3 and write to an encrypted output prefix, and nothing else.
- Whether the environment has internet access. Without it, install packages from an internal mirror or from wheels copied into S3 (see Installation).
SageMaker AI (JupyterLab)
- Copy
RegistryForge.zipinto an S3 prefix the registry controls, then into the JupyterLab space:aws s3 cp s3://your-bucket/tools/RegistryForge.zip .and unzip it. - Open
notebooks/run_registry_forge.ipynband run it once on the invented cohort. - Copy the export into the working directory (for example
aws s3 cp --recursive s3://your-bucket/registry-export/ run_2026_10/, so thatrun_2026_10/CCDA and FHIR data/holds the chunk files andrun_2026_10/uuid_mapping.csvthe mapping), setUSE_INVENTED_COHORT = FalseandRUN_DIR = 'run_2026_10', and run it again. - Copy outputs back to the encrypted output prefix:
aws s3 cp --recursive run_2026_10/ s3://your-bucket/registry-forge-runs/run_2026_10/. Keeprestricted/there; reviewreports/in full before anything leaves.
EC2
The same steps from a terminal: copy and unzip the package, python3 -m pip install -r requirements.txt, run the practice cohort, then python3 pipeline/run_all.py --base-dir run_2026_10 --cutoff 2026-10-31 --vital-status run_2026_10/vital_status.csv. Use an encrypted volume for the run folder.
The Quickstart and Data extraction (Databricks) pages describe the working directory the pipeline reads.
Other platforms¶
The same pattern works on any platform that runs Python 3.10 or later and that the institution has approved for identified health data: copy in the zip, install requirements.txt, run the invented cohort once, then run run_all.py or the notebook on a run folder.
| Platform | Notes |
|---|---|
| Microsoft Azure Machine Learning | Run the notebook in a compute instance; keep the run folder on storage covered by the institution's agreement with Microsoft |
| Databricks | The Databricks export writes the three CSV files the pipeline reads. To run the pipeline there too, copy them from a volume to the driver's local disk, run run_all.py with %sh or from the notebook, and copy outputs back; the pipeline reads ordinary files, not Spark tables |
| Posit Workbench, an institutional HPC cluster or a secure research enclave | Use a Python 3.10 or later environment; on a cluster, run run_all.py as one job, since the pipeline runs on a single machine |
Sources¶
The service lists change; check them again before relying on them.
- HIPAA compliance on Google Cloud (lists Colab Enterprise among the products the Google Cloud BAA covers)
- AWS HIPAA eligible services reference and the services in scope list (lists Amazon SageMaker AI, excluding Studio Lab)
- Google Colab
- Project Jupyter