Thank you for your interest in contributing to FHIR2SQL! Contributions are welcomed and appreciated. This document outlines the basic process for contributing, from reporting bugs to submitting pull requests.
Please review our Code of Conduct (if present) before contributing. We expect all contributors to abide by the standards set out there to help maintain a welcoming, respectful community.
- Search existing issues to see if the problem has already been reported.
- If not, open a new issue. Provide:
- Description of the bug
- Steps to Reproduce
- Expected vs. Actual Behavior
- Any error messages or logs (redacted of sensitive info)
- Check existing issues to see if someone else has made a similar request.
- Open a new Feature Request issue. Include:
- A clear description of the feature
- Use cases or examples
- Potential benefits or impacts to current workflow
- Fork the repository.
- Create a new branch from
main
(e.g.,feature/my-cool-feature
). - Write your code, docs, or fixes.
- Commit and push your changes to your branch.
- Open a pull request (PR) against
main
. Fill in the PR template if provided. - One or more maintainers will review your PR. Please address any feedback or requested changes.
If you’re making larger changes or new features:
-
Discuss with maintainers:
- Open an issue or add a comment to an existing issue.
- Outline your approach or a proof-of-concept.
-
Set Up a local environment:
- Clone your fork.
- Install dependencies (e.g.,
pip install -r requirements.txt
). - Copy
.env.example
to.env
and configure as needed.
-
Implement your changes:
- Use a topic branch (not
main
) to keep changes organized. - Write or update tests if applicable.
- Ensure no sensitive data is committed (API keys, PHI, etc.).
- Use a topic branch (not
-
Run Tests and lint checks:
- E.g.,
pytest
for Python or whichever test command is used. - Address any failing tests or lint warnings.
- E.g.,
-
Submit a Pull Request:
- Indicate what the change does.
- Reference any relevant issues (e.g., “Closes #123”).
- Python Version: Typically Python 3.