MedOps is a platform for ingesting and managing patient care and records in a medical organization.
This repository uses python3.9+.
It's recommended that you use a virtual environment when working with the repository to avoid conflict between different environments. With virtualenv installed you can create a new environment by running:
python -m virtualenv .venv
Then activate the environment:
source .venv/bin/activate (macOS/*nix)
.venv/bin/activate.cmd (Windows)
If you are running on linux with a strange architecture, you may need to install
llvm-11
, llvm-11-dev
, llvm-11-tools
, build-essential
, etc.
so that librosa can install properly. (Somehow llvm-lite ahs to get installed
but it's a big pain.)
Then install the requirements:
python -m pip install requirements
This repository is configured to use pre-commit to
enforce coding styles, which will run flake8 and some other hooks to
automatically fix things like trailing whitespace, line endings. To activate the pre-commit hooks
run pre-commit install
after the dependencies have beeninstalled.
The system design documentation is in the docs/
folder. While much of
it can be viewed in its source form, the documentation is also
hosted here
If you want to author or build documentation you'll need to install the dependencies from docs/requirements.txt
. The documentation can then
be built using make html
. You can then open the _build/html/index.html
to see the generated documentation.
When working on the health platform, all branches should correspond to an open issue. If an issue is not opened, you must open one first with a thorough description of the work being done. Your branch should be named according to the following convention:
<github username>-medops-<issue number>/<summary>
For example, if medcoder
opens a PR for issue #33, which is about design
documentation for the devices API skeleton, an appropriate branch name would
be medcoder-medops-33/device-api-design-docs
.
Before creating a PR, create an empty git commit with a summary that references
the issue number being referenced or fixed and the description should clearly
identify the work done. The branch should be rebased on the HEAD of the main
branch before being opened to ensure a linear revision history.
The above guidelines will ensure that committed work is traceable to product requirements, defects or enhancements. If you start work that does not have an issue associated with it, write it up and make sure to associate it with your commit.
Once your PR is merged into the main
branch, it should be deleted.
All implementations should have unit tests written to verify their
implementation. Tests should be added into files under tests/
directory with
all the documentation necessary to explain the functionality being tested. This
repository uses pytest
as its test runner.