Contributing
More languages
More actions
Care is an open-source Electronic Medical Record (EMR) platform for managing patients, health workers, and hospitals. It is built and maintained in the open, and contributions of every kind are welcome — code, documentation, bug reports, and translations.
This guide is for developers who want to run Care locally, understand how it fits together, and submit changes back upstream.
The two repositories
Care is split across two repositories under the [https://github.com/ohcnetwork ohcnetwork] GitHub organization:
| Repository | Stack | What it is |
|---|---|---|
[https://github.com/ohcnetwork/care ohcnetwork/care]
|
Django REST Framework (Python) | The backend — the API, data model, and business logic for patients, facilities, and users. |
[https://github.com/ohcnetwork/care_fe ohcnetwork/care_fe]
|
React + TypeScript | The frontend — the web application that talks to the backend API. |
The frontend is a separate app that points at a running backend, so most full-stack work involves running both repositories side by side.
How this guide is organized
- Local development — get each side of the stack running on your machine:
- Backend setup — the Django REST Framework API.
- Frontend setup — the React + TypeScript app.
- Nix dev environment — a reproducible, all-in-one development shell.
- Plugins — extend Care with pluggable apps without forking it.
- Contribution workflow — branching, pull requests, reviews, and how changes get merged.
Prerequisites
You should be comfortable with:
- Git and GitHub — cloning, branching, and opening pull requests.
- Basic web development — running a local dev server and editing application code.
You don't need prior healthcare-domain knowledge to make your first contribution. The local-development guides cover the language- and tooling-specific setup for each repository.
Where to get help
- Community Slack — join the OHC community at [https://slack.ohc.network slack.ohc.network] to ask questions and reach maintainers.
- Good first issues — browse issues labelled [https://github.com/ohcnetwork/care/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22
good first issue] or [https://github.com/ohcnetwork/care/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22help wanted] for a curated starting point. Comment on an issue to let maintainers know you're picking it up.