Welcome to the repo of the ontology-based rare disease common data model (RD-CDM) harmonising international registry use, HL7® FHIR®, and the GA4GH Phenopacket Schema.
Latest docs: https://rd-cdm.readthedocs.io/en/latest/
The corresponding paper for RD-CDM v2.0.0 has been published in Nature Scientific Data:
https://www.nature.com/articles/s41597-025-04558-z
- Project Description
- What you get from PyPI
- Features
- Installation
- CLI tools
- Validating with BioPortal
- Contributing & Contact
- Resources
- License
- Citing
- Acknowledgements
The ontology-based RD-CDM harmonizes rare disease data capture across registries. It integrates ERDRI-CDS, HL7 FHIR, and GA4GH Phenopacket Schema to support interoperable data for research and care. RD-CDM v2.0.x comprises 78 data elements covering formal criteria, personal information, patient status, disease, genetic findings, phenotypic findings, and family history.
Installing rd-cdm from PyPI provides:
-
Schema
src/rd_cdm/schema/rd_cdm.yaml— LinkML schema defining the data model structure. Theversionanddatefields here are the single source of truth for the data model version.
-
Instances
src/rd_cdm/instances/code_systems.yamlsrc/rd_cdm/instances/data_elements.yamlsrc/rd_cdm/instances/value_sets.yamlsrc/rd_cdm/instances/rd_cdm.yaml— merged instance, version-stamped withrd_cdm_versionandrd_cdm_dateat the topsrc/rd_cdm/instances/jsons/rd_cdm.jsonsrc/rd_cdm/instances/csvs/rd_cdm.csv
-
Generated Python classes (LinkML)
src/rd_cdm/python_classes/rd_cdm.py— LinkML runtime dataclassessrc/rd_cdm/python_classes/rd_cdm_pydantic.py— Pydantic v2 models
-
CLI entry points
rd-cdm-merge— merge instance parts intord_cdm.yamlrd-cdm-json— export tojsons/rd_cdm.jsonrd-cdm-csv— export tocsvs/rd_cdm.csvrd-cdm-validate— validate ontology codes via BioPortal
- Interoperability: Aligns with HL7 FHIR v4.0.1 and GA4GH Phenopacket v2.0
- Ontology-driven: Uses SNOMED CT, LOINC, NCIT, MONDO, OMIM, HPO, and more
- Modular: Clear separation of schema, instances, and exports
- Self-describing exports: Every YAML, JSON, and CSV file carries
rd_cdm_versionandrd_cdm_dateso outputs are unambiguous without needing to know which package version was installed - Tooling: Merge, export, and validation utilities via simple CLI commands
- Pydantic models: Runtime validation generated from the LinkML schema
From PyPI:
pip install rd-cdmOptional extras:
pip install rd-cdm[test] # pytest, requests-mock
pip install rd-cdm[docs] # sphinx, sphinx-rtd-theme, sphinx-copybutton
pip install rd-cdm[dev] # linkml (for regenerating Python classes)git clone https://github.com/BIH-CEI/rd-cdm.git
cd rd-cdm
python -m venv .venv && source .venv/bin/activate
pip install -U pip
pip install -e ".[test,dev]"
pytest -qWe use a src/ layout. Use the installed CLI entry points shown below rather than running scripts directly.
After installation the following commands are available:
# Merge instance parts → src/rd_cdm/instances/rd_cdm.yaml
rd-cdm-merge
# Export merged YAML → src/rd_cdm/instances/jsons/rd_cdm.json
rd-cdm-json
# Export merged YAML → src/rd_cdm/instances/csvs/rd_cdm.csv
rd-cdm-csv
# Validate all ontology codes against BioPortal
rd-cdm-validateThe recommended order when updating the model is:
rd-cdm-merge && rd-cdm-json && rd-cdm-csv && rd-cdm-validaterd-cdm-validate checks all ontology codes in the merged instance against
BioPortal and reports version drift and missing or deprecated terms.
Sign up at https://bioportal.bioontology.org/accounts/new, go to your account settings, and copy your API key.
macOS / Linux:
export BIOPORTAL_API_KEY="your-key-here"Windows (PowerShell):
setx BIOPORTAL_API_KEY "your-key-here"The RD-CDM is a community-driven effort. Please feel free to open issues, discuss features, or submit pull requests. For larger contributions consider reaching out directly.
See the Contributing section of our documentation
for full guidelines.
RareLink is a REDCap-based framework for rare disease research linking international registries to FHIR and Phenopackets, built on the RD-CDM.
- Human Phenotype Ontology 🔗
- Monarch Initiative Disease Ontology 🔗
- Online Mendelian Inheritance in Man 🔗
- Orphanet Rare Disease Ontology 🔗
- SNOMED CT 🔗
- ICD-11 🔗
- ICD-10-CM 🔗
- NCBI Taxonomy 🔗
- LOINC 🔗
- HGNC 🔗
- NCI Thesaurus OBO Edition 🔗
For the ontology versions used in each RD-CDM release, see the resources page in our documentation.
Graefe, A.S.L., Hübner, M.R., Rehburg, F. et al. An ontology-based rare disease common data model harmonising international registries, FHIR, and Phenopackets. Sci Data 12, 234 (2025). https://doi.org/10.1038/s41597-025-04558-z
- Adam SL Graefe
- Filip Rehburg
- Samer Alkarkoukly
- Daniel Danis
- Peter N. Robinson
- Oya Beyan
- Sylvia Thun