Open to Everyone
What Makes a Good PyHealth PR
Anyone can contribute a model, dataset, task, or fix to PyHealth — no need to join the Research Initiative. This is a quick-start guide to making your pull request complete and review-ready. For the full walkthrough — dev setup, data access, and per-type file checklists — see the documentation.
Learn From Example PRs
The best way to understand our expectations is to study contributions that got it right. Both include complete implementations, synthetic-data tests, docs, and clear PR descriptions.
ChestX-ray14 Dataset + Classification Tasks
An exemplary dataset contribution: full implementation, binary and multilabel tasks, synthetic-data tests, API docs, and example notebooks — with a clear PR description and file guide.
View PR #392Model Compatibility Updates (PyHealth 2.0)
A great example of maintaining the library: systematic updates across multiple models, backward compatibility where possible, clear documentation of breaking changes, and updated examples and tests.
View PR #610How PRs Are Evaluated
Every contribution is reviewed against three criteria.
Completeness
Production-ready code: synthetic-data tests, Google-style docstrings, proper base-class inheritance, and working examples.
Relevance to Healthcare
Addresses a healthcare-specific problem or dataset. Grounding in a peer-reviewed publication strengthens the case.
Relevance to the Package
Adds functionality others will reuse, integrates with existing components, and follows established patterns — growing PyHealth thoughtfully.
Quick Checklist
Before opening your PR, make sure you have:
- Implementation file inheriting from the right base class (dataset / task / model), with type hints and Google-style docstrings.
- Documentation — a new
.rstfile underdocs/api/…and an update to the matching index so it appears in the docs. - Fast tests in
tests/core/using small synthetic data (2–5 patients, no real datasets, no network) that run in milliseconds. - PR description covering who you are (NetID if UIUC), contribution type, a high-level description, and a file guide.
- Rebased on the latest
sunlabuiucmain, targetingmain, with maintainer edits enabled.
Want the full walkthrough?
Dev environment setup, MIMIC data access, code style, and detailed per-type file checklists live in the documentation.