From 79ca95e1dad02ffaea8a78c5b49d41d0587f8d59 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Sep 2025 16:16:51 +0000 Subject: [PATCH 1/5] Initial plan From 937d93280af9d6a6315c696b271f2b9f0f57a428 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Sep 2025 16:25:16 +0000 Subject: [PATCH 2/5] Add ForeSITE Group Handbook with MkDocs and GitHub Actions workflow Co-authored-by: gvegayon <893619+gvegayon@users.noreply.github.com> --- .github/workflows/handbook.yml | 85 ++++++++++++++++++++++++++++++++++ .gitignore | 10 +++- handbook/README.md | 24 ++++++++++ handbook/agile-planning.md | 37 +++++++++++++++ handbook/code-for-papers.md | 28 +++++++++++ handbook/index.md | 33 +++++++++++++ handbook/python-libraries.md | 26 +++++++++++ handbook/r-packages.md | 25 ++++++++++ handbook/shiny-apps.md | 28 +++++++++++ mkdocs.yml | 41 ++++++++++++++++ pyproject.toml | 13 ++++++ 11 files changed, 349 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/handbook.yml create mode 100644 handbook/README.md create mode 100644 handbook/agile-planning.md create mode 100644 handbook/code-for-papers.md create mode 100644 handbook/index.md create mode 100644 handbook/python-libraries.md create mode 100644 handbook/r-packages.md create mode 100644 handbook/shiny-apps.md create mode 100644 mkdocs.yml create mode 100644 pyproject.toml diff --git a/.github/workflows/handbook.yml b/.github/workflows/handbook.yml new file mode 100644 index 0000000..9ba5cd9 --- /dev/null +++ b/.github/workflows/handbook.yml @@ -0,0 +1,85 @@ +name: Build and Deploy Handbook + +on: + push: + branches: + - main + paths: + - 'handbook/**' + - 'mkdocs.yml' + - 'pyproject.toml' + - '.github/workflows/handbook.yml' + pull_request: + branches: + - main + paths: + - 'handbook/**' + - 'mkdocs.yml' + - 'pyproject.toml' + - '.github/workflows/handbook.yml' + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install uv + uses: astral-sh/setup-uv@v4 + with: + version: "latest" + + - name: Install dependencies + run: uv sync + + - name: Build documentation + run: uv run mkdocs build --site-dir site + + - name: Upload artifact for GitHub Pages + uses: actions/upload-pages-artifact@v3 + with: + path: ./site + + - name: Upload build artifact + uses: actions/upload-artifact@v4 + with: + name: handbook-site + path: ./site + + # Post artifact link in PR comments + post-artifact: + if: github.event_name == 'pull_request' + needs: build + runs-on: ubuntu-latest + steps: + - name: Post artifact link + uses: CDCgov/cfa-actions/post-artifact@main + with: + artifact-name: handbook-site + github-token: ${{ secrets.GITHUB_TOKEN }} + + # Deploy to GitHub Pages (only on main branch) + deploy: + if: github.ref == 'refs/heads/main' + needs: build + runs-on: ubuntu-latest + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/.gitignore b/.gitignore index 905c008..0f31912 100644 --- a/.gitignore +++ b/.gitignore @@ -44,4 +44,12 @@ Temporary Items .RData .Ruserdata *.Rproj -*.html \ No newline at end of file +*.html + +# Python virtual environment and build artifacts +.venv/ +site/ +__pycache__/ +*.py[cod] +*$py.class +uv.lock \ No newline at end of file diff --git a/handbook/README.md b/handbook/README.md new file mode 100644 index 0000000..b46ab47 --- /dev/null +++ b/handbook/README.md @@ -0,0 +1,24 @@ +# ForeSITE Group Handbook + +This directory contains the source files for the ForeSITE Group Handbook, which is built using [MkDocs](https://www.mkdocs.org/) and the [Material theme](https://squidfunk.github.io/mkdocs-material/). + +## Structure + +- `index.md` - Homepage of the handbook +- `r-packages.md` - Best practices for writing R packages +- `python-libraries.md` - Best practices for writing Python libraries +- `shiny-apps.md` - Guidelines for building Shiny applications +- `code-for-papers.md` - Standards for reproducible research code +- `agile-planning.md` - Agile methodology practices for the group + +## Building the Handbook + +The handbook is automatically built and deployed using GitHub Actions. To build locally: + +1. Install dependencies: `uv sync` +2. Build the site: `uv run mkdocs build` +3. Serve locally: `uv run mkdocs serve` + +## Configuration + +The handbook configuration is defined in `mkdocs.yml` in the repository root. \ No newline at end of file diff --git a/handbook/agile-planning.md b/handbook/agile-planning.md new file mode 100644 index 0000000..0cdfa47 --- /dev/null +++ b/handbook/agile-planning.md @@ -0,0 +1,37 @@ +# Agile Planning + +!!! note "Work in Progress" + This chapter is a placeholder and will be expanded with detailed practices for agile project management. + +## Overview + +This chapter will cover the ForeSITE group's approach to agile software development and project management. + +## Topics to be Covered + +- Sprint planning and execution +- Daily stand-up meetings +- Retrospectives and continuous improvement +- Issue tracking with GitHub +- Milestone and release management +- Team collaboration best practices +- Estimation and velocity tracking +- User story writing +- Definition of done + +## Current Practices + +We currently follow these agile components: + +- **Sprints**: Bi-weekly iterations +- **Stand-ups**: Daily 15-minute meetings when possible +- **Retrospectives**: At the beginning of each sprint +- **Tools**: GitHub repositories, issues, and milestones + +## Related Resources + +- [Agile Manifesto](https://agilemanifesto.org/) - Foundational agile principles + +--- + +*This content will be expanded in future updates.* \ No newline at end of file diff --git a/handbook/code-for-papers.md b/handbook/code-for-papers.md new file mode 100644 index 0000000..73ce361 --- /dev/null +++ b/handbook/code-for-papers.md @@ -0,0 +1,28 @@ +# Code for Papers + +!!! note "Work in Progress" + This chapter is a placeholder and will be expanded with detailed best practices for writing reproducible research code. + +## Overview + +This chapter will cover best practices for writing code that accompanies academic papers and research outputs. + +## Topics to be Covered + +- Reproducible research principles +- Code organization and structure +- Documentation and README files +- Data management and sharing +- Version control for research +- Computational environments (Docker, conda, etc.) +- Code archiving and DOI assignment +- Licensing considerations for research code +- Peer review and collaboration workflows + +## Related Resources + +- [The Turing Way](https://the-turing-way.netlify.app/) - Guide to reproducible research + +--- + +*This content will be expanded in future updates.* \ No newline at end of file diff --git a/handbook/index.md b/handbook/index.md new file mode 100644 index 0000000..c25aa41 --- /dev/null +++ b/handbook/index.md @@ -0,0 +1,33 @@ +# ForeSITE Group Handbook + +Welcome to the ForeSITE Group Handbook! This handbook contains best practices and guidelines for software development and project management within our group. + +## About This Handbook + +This handbook is designed to help team members follow consistent practices across all our projects. It covers various aspects of software development, from writing packages to managing projects using agile methodologies. + +## Handbook Sections + +### Best Practices + +- **[Writing R Packages](r-packages.md)** - Guidelines for developing R packages +- **[Writing Python Libraries](python-libraries.md)** - Best practices for Python development +- **[ShinyApps](shiny-apps.md)** - Standards for building Shiny applications +- **[Code for Papers](code-for-papers.md)** - Guidelines for reproducible research code +- **[Agile Planning](agile-planning.md)** - Our approach to agile project management + +## Contributing + +This handbook is a living document. If you have suggestions for improvements or new sections, please: + +1. Create an issue in this repository +2. Submit a pull request with your proposed changes +3. Discuss improvements with the team during retrospectives + +## About ForeSITE + +The ForeSITE (Forecasting Science for Infectious Disease Emergencies) group develops computational tools and models for epidemic forecasting and response. + +--- + +*Last updated: {{ git_revision_date_localized }}* \ No newline at end of file diff --git a/handbook/python-libraries.md b/handbook/python-libraries.md new file mode 100644 index 0000000..a3dd783 --- /dev/null +++ b/handbook/python-libraries.md @@ -0,0 +1,26 @@ +# Writing Python Libraries + +!!! note "Work in Progress" + This chapter is a placeholder and will be expanded with detailed best practices for writing Python libraries. + +## Overview + +This chapter will cover best practices for developing Python libraries within the ForeSITE group. + +## Topics to be Covered + +- Project structure and packaging +- Dependency management with uv/pip +- Documentation with Sphinx or MkDocs +- Testing with pytest +- Type hints and code quality +- Publishing to PyPI +- Continuous integration and deployment + +## Related Resources + +- [Python Packaging Guide](https://packaging.python.org/) - Official Python packaging documentation + +--- + +*This content will be expanded in future updates.* \ No newline at end of file diff --git a/handbook/r-packages.md b/handbook/r-packages.md new file mode 100644 index 0000000..a124ad3 --- /dev/null +++ b/handbook/r-packages.md @@ -0,0 +1,25 @@ +# Writing R Packages + +!!! note "Work in Progress" + This chapter is a placeholder and will be expanded with detailed best practices for writing R packages. + +## Overview + +This chapter will cover best practices for developing R packages within the ForeSITE group. + +## Topics to be Covered + +- Package structure and organization +- Documentation with roxygen2 +- Testing strategies +- Continuous integration +- CRAN submission guidelines +- Package websites with pkgdown + +## Related Resources + +- [R Packages Book](https://r-pkgs.org/) - Comprehensive guide to R package development + +--- + +*This content will be expanded in future updates.* \ No newline at end of file diff --git a/handbook/shiny-apps.md b/handbook/shiny-apps.md new file mode 100644 index 0000000..9b77d9d --- /dev/null +++ b/handbook/shiny-apps.md @@ -0,0 +1,28 @@ +# ShinyApps + +!!! note "Work in Progress" + This chapter is a placeholder and will be expanded with detailed best practices for building Shiny applications. + +## Overview + +This chapter will cover best practices for developing Shiny applications within the ForeSITE group. + +## Topics to be Covered + +- Application architecture and structure +- UI/UX design principles +- Server-side logic organization +- Data handling and reactivity +- Testing Shiny applications +- Deployment strategies (shinyapps.io, Docker, etc.) +- Performance optimization +- Security considerations + +## Related Resources + +- [Shiny Documentation](https://shiny.rstudio.com/) - Official Shiny documentation +- [Mastering Shiny](https://mastering-shiny.org/) - Comprehensive Shiny development guide + +--- + +*This content will be expanded in future updates.* \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..180f762 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,41 @@ +site_name: ForeSITE Group Handbook +site_description: Best practices and guidelines for the ForeSITE Group +site_url: https://epiforesite.github.io/software +repo_url: https://github.com/EpiForeSITE/software +repo_name: EpiForeSITE/software +docs_dir: handbook + +theme: + name: material + palette: + - scheme: default + primary: blue + accent: blue + features: + - navigation.tabs + - navigation.sections + - navigation.expand + - navigation.top + - search.highlight + - search.share + +nav: + - Home: index.md + - Best Practices: + - Writing R Packages: r-packages.md + - Writing Python Libraries: python-libraries.md + - ShinyApps: shiny-apps.md + - Code for Papers: code-for-papers.md + - Agile Planning: agile-planning.md + +markdown_extensions: + - admonition + - codehilite + - pymdownx.superfences + - pymdownx.tabbed + - pymdownx.details + - toc: + permalink: true + +plugins: + - search \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..f17ec44 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,13 @@ +[project] +name = "foresite-handbook" +version = "0.1.0" +description = "ForeSITE Group Handbook" +readme = "README.md" +requires-python = ">=3.8" +dependencies = [ + "mkdocs>=1.5.0", + "mkdocs-material>=9.0.0", +] + +[dependency-groups] +dev = [] \ No newline at end of file From 725ac36ba386fda2c49806f514a4f7eb611e0776 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Sep 2025 16:30:57 +0000 Subject: [PATCH 3/5] Automatic project status update --- project_status.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project_status.md b/project_status.md index 9a1b7f6..1de88aa 100644 --- a/project_status.md +++ b/project_status.md @@ -1,6 +1,6 @@ # Project Status Dashboard -Last updated: 2025-09-22 06:23:04.065044 (UTC) +Last updated: 2025-09-22 16:30:57.349872 (UTC) This dashboard tracks 21 EpiForeSITE projects with GitHub repositories. From ba632452522f1995c11ffa848e8d19e4f5124767 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Sep 2025 16:37:37 +0000 Subject: [PATCH 4/5] Fix post-artifact action configuration Co-authored-by: gvegayon <893619+gvegayon@users.noreply.github.com> --- .github/workflows/handbook.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/handbook.yml b/.github/workflows/handbook.yml index 9ba5cd9..d8799ae 100644 --- a/.github/workflows/handbook.yml +++ b/.github/workflows/handbook.yml @@ -23,6 +23,7 @@ permissions: contents: read pages: write id-token: write + pull-requests: write # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. @@ -69,7 +70,7 @@ jobs: uses: CDCgov/cfa-actions/post-artifact@main with: artifact-name: handbook-site - github-token: ${{ secrets.GITHUB_TOKEN }} + gh-token: ${{ secrets.GITHUB_TOKEN }} # Deploy to GitHub Pages (only on main branch) deploy: From 313c62262ba90b07770b14f1a36ef2e4e190e7e0 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Mon, 22 Sep 2025 17:00:46 +0000 Subject: [PATCH 5/5] Automatic project status update --- project_status.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/project_status.md b/project_status.md index 1de88aa..67ea387 100644 --- a/project_status.md +++ b/project_status.md @@ -1,6 +1,6 @@ # Project Status Dashboard -Last updated: 2025-09-22 16:30:57.349872 (UTC) +Last updated: 2025-09-22 17:00:45.614641 (UTC) This dashboard tracks 21 EpiForeSITE projects with GitHub repositories. @@ -13,18 +13,18 @@ This dashboard tracks 21 EpiForeSITE projects with GitHub repositories. | [COVID-19 NCAA Football](https://github.com/epimodels/inperson_sports) | Contributor | [![Issues](https://img.shields.io/github/issues/epimodels/inperson_sports)](https://github.com/epimodels/inperson_sports/issues)
[![PRs](https://img.shields.io/github/issues-pr/epimodels/inperson_sports)](https://github.com/epimodels/inperson_sports/pulls)
2020-09-28 ([`9681971`](https://github.com/epimodels/inperson_sports/commits)) | 0 | [epimodels/inperson_sports](https://github.com/epimodels/inperson_sports) | | | [Covid Scenario model](https://github.com/HopkinsIDD/COVIDScenarioPipeline) | ContributorContributorContributorContributorContributor +5 more | [![Issues](https://img.shields.io/github/issues/HopkinsIDD/COVIDScenarioPipeline)](https://github.com/HopkinsIDD/COVIDScenarioPipeline/issues)
[![PRs](https://img.shields.io/github/issues-pr/HopkinsIDD/COVIDScenarioPipeline)](https://github.com/HopkinsIDD/COVIDScenarioPipeline/pulls)
2023-02-21 ([`0c6084b`](https://github.com/HopkinsIDD/COVIDScenarioPipeline/commits)) | 0 | [HopkinsIDD/COVIDScenarioPipeline](https://github.com/HopkinsIDD/COVIDScenarioPipeline) | | | [CU Metapopulation](https://github.com/epimodels/Metapopulation_MRSA) | ContributorContributor | [![Issues](https://img.shields.io/github/issues/epimodels/Metapopulation_MRSA)](https://github.com/epimodels/Metapopulation_MRSA/issues)
[![PRs](https://img.shields.io/github/issues-pr/epimodels/Metapopulation_MRSA)](https://github.com/epimodels/Metapopulation_MRSA/pulls)
2022-07-14 ([`35bf356`](https://github.com/epimodels/Metapopulation_MRSA/commits)) | 0 | [epimodels/Metapopulation_MRSA](https://github.com/epimodels/Metapopulation_MRSA) | | -| [epitraxr: Manipulate Epitrax Data And Generate Reports](https://github.com/EpiForeSITE/epitraxr) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/epitraxr)](https://github.com/EpiForeSITE/epitraxr/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/epitraxr)](https://github.com/EpiForeSITE/epitraxr/pulls)
2025-09-17 ([`3b9f63f`](https://github.com/EpiForeSITE/epitraxr/commits)) | 170 | [EpiForeSITE/epitraxr](https://github.com/EpiForeSITE/epitraxr) | | +| [epitraxr: Manipulate Epitrax Data And Generate Reports](https://github.com/EpiForeSITE/epitraxr) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/epitraxr)](https://github.com/EpiForeSITE/epitraxr/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/epitraxr)](https://github.com/EpiForeSITE/epitraxr/pulls)
2025-09-17 ([`3b9f63f`](https://github.com/EpiForeSITE/epitraxr/commits)) | 0 | [EpiForeSITE/epitraxr](https://github.com/EpiForeSITE/epitraxr) | | | [epiworld: Fast Agent-Based Epi Models](https://github.com/UofUEpiBio/epiworld) | ContributorContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworld)](https://github.com/UofUEpiBio/epiworld/issues)
[![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworld)](https://github.com/UofUEpiBio/epiworld/pulls)
2025-08-21 ([`2e1bcf1`](https://github.com/UofUEpiBio/epiworld/commits)) | 30 | [UofUEpiBio/epiworld](https://github.com/UofUEpiBio/epiworld) | | -| [epiworld-forecasts: Automatic Disease Forecasting with epiworldR](https://github.com/EpiForeSITE/epiworld-forecasts) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/pulls)
2025-08-13 ([`159104c`](https://github.com/EpiForeSITE/epiworld-forecasts/commits)) | 50 | [EpiForeSITE/epiworld-forecasts](https://github.com/EpiForeSITE/epiworld-forecasts) | | -| [epiworldpy: A python wrapper for epiworld](https://github.com/UofUEpiBio/epiworldpy) | Contributor | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/issues)
[![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/pulls)
2025-09-22 ([`6b66836`](https://github.com/UofUEpiBio/epiworldpy/commits)) | 5 | [UofUEpiBio/epiworldpy](https://github.com/UofUEpiBio/epiworldpy) | | +| [epiworld-forecasts: Automatic Disease Forecasting with epiworldR](https://github.com/EpiForeSITE/epiworld-forecasts) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/epiworld-forecasts)](https://github.com/EpiForeSITE/epiworld-forecasts/pulls)
2025-08-13 ([`159104c`](https://github.com/EpiForeSITE/epiworld-forecasts/commits)) | 0 | [EpiForeSITE/epiworld-forecasts](https://github.com/EpiForeSITE/epiworld-forecasts) | | +| [epiworldpy: A python wrapper for epiworld](https://github.com/UofUEpiBio/epiworldpy) | Contributor | [![Issues](https://img.shields.io/github/issues/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/issues)
[![PRs](https://img.shields.io/github/issues-pr/UofUEpiBio/epiworldpy)](https://github.com/UofUEpiBio/epiworldpy/pulls)
2025-09-22 ([`6b66836`](https://github.com/UofUEpiBio/epiworldpy/commits)) | 0 | [UofUEpiBio/epiworldpy](https://github.com/UofUEpiBio/epiworldpy) | | | [GeoCovid](https://github.com/Fernandez-Lab-WSU/geocovid_app) | No data | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/geocovid_app)](https://github.com/Fernandez-Lab-WSU/geocovid_app/issues)
[![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/geocovid_app)](https://github.com/Fernandez-Lab-WSU/geocovid_app/pulls)
No recent commits | 0 | [Fernandez-Lab-WSU/geocovid_app](https://github.com/Fernandez-Lab-WSU/geocovid_app) | | -| [linkeR: Effortless Linked Views for Shiny Applications](https://github.com/EpiForeSITE/linkeR/) | ContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//pulls)
2025-09-03 ([`104d1e3`](https://github.com/EpiForeSITE/linkeR//commits)) | 69 | [EpiForeSITE/linkeR](https://github.com/EpiForeSITE/linkeR/) | | -| [Multigroup Vaccine Model](https://github.com/EpiForeSITE/multigroup-vaccine) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/pulls)
2025-08-26 ([`6e5eba0`](https://github.com/EpiForeSITE/multigroup-vaccine/commits)) | 129 | [EpiForeSITE/multigroup-vaccine](https://github.com/EpiForeSITE/multigroup-vaccine) | | -| [Multitask Model to Forecast Patient's Next Unit and Remaining Length of Stay](https://github.com/madhobi/multitask_unit_and_days) | Contributor | [![Issues](https://img.shields.io/github/issues/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/issues)
[![PRs](https://img.shields.io/github/issues-pr/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/pulls)
2024-10-10 ([`c21c84e`](https://github.com/madhobi/multitask_unit_and_days/commits)) | 1 | [madhobi/multitask_unit_and_days](https://github.com/madhobi/multitask_unit_and_days) | | +| [linkeR: Effortless Linked Views for Shiny Applications](https://github.com/EpiForeSITE/linkeR/) | ContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/linkeR)](https://github.com/EpiForeSITE/linkeR//pulls)
2025-09-03 ([`104d1e3`](https://github.com/EpiForeSITE/linkeR//commits)) | 0 | [EpiForeSITE/linkeR](https://github.com/EpiForeSITE/linkeR/) | | +| [Multigroup Vaccine Model](https://github.com/EpiForeSITE/multigroup-vaccine) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/multigroup-vaccine)](https://github.com/EpiForeSITE/multigroup-vaccine/pulls)
2025-08-26 ([`6e5eba0`](https://github.com/EpiForeSITE/multigroup-vaccine/commits)) | 0 | [EpiForeSITE/multigroup-vaccine](https://github.com/EpiForeSITE/multigroup-vaccine) | | +| [Multitask Model to Forecast Patient's Next Unit and Remaining Length of Stay](https://github.com/madhobi/multitask_unit_and_days) | Contributor | [![Issues](https://img.shields.io/github/issues/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/issues)
[![PRs](https://img.shields.io/github/issues-pr/madhobi/multitask_unit_and_days)](https://github.com/madhobi/multitask_unit_and_days/pulls)
2024-10-10 ([`c21c84e`](https://github.com/madhobi/multitask_unit_and_days/commits)) | 0 | [madhobi/multitask_unit_and_days](https://github.com/madhobi/multitask_unit_and_days) | | | [PhenoMapper: an interactive toolbox for the visual exploration of phenomics data](https://github.com/tdavislab/PhenoMapper) | ContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/tdavislab/PhenoMapper)](https://github.com/tdavislab/PhenoMapper/issues)
[![PRs](https://img.shields.io/github/issues-pr/tdavislab/PhenoMapper)](https://github.com/tdavislab/PhenoMapper/pulls)
2024-04-22 ([`4cc2a66`](https://github.com/tdavislab/PhenoMapper/commits)) | 0 | [tdavislab/PhenoMapper](https://github.com/tdavislab/PhenoMapper) | | | [POMP (Aaron King’s tool, U. of Michigan)](https://github.com/kingaa/pomp) | ContributorContributorContributorContributorContributor +4 more | [![Issues](https://img.shields.io/github/issues/kingaa/pomp)](https://github.com/kingaa/pomp/issues)
[![PRs](https://img.shields.io/github/issues-pr/kingaa/pomp)](https://github.com/kingaa/pomp/pulls)
2025-08-01 ([`6279e55`](https://github.com/kingaa/pomp/commits)) | 39 | [kingaa/pomp](https://github.com/kingaa/pomp) | | | [Post-acute care model](https://github.com/mattrmaloney/covid-post-acute-care) | No data | [![Issues](https://img.shields.io/github/issues/mattrmaloney/covid-post-acute-care)](https://github.com/mattrmaloney/covid-post-acute-care/issues)
[![PRs](https://img.shields.io/github/issues-pr/mattrmaloney/covid-post-acute-care)](https://github.com/mattrmaloney/covid-post-acute-care/pulls)
2020-06-13 ([`b60c0a6`](https://github.com/mattrmaloney/covid-post-acute-care/commits)) | 0 | [mattrmaloney/covid-post-acute-care](https://github.com/mattrmaloney/covid-post-acute-care) | | -| [quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/issues)
[![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/pulls)
2025-03-24 ([`83d2c4b`](https://github.com/Fernandez-Lab-WSU/quadkeyr/commits)) | 39 | [Fernandez-Lab-WSU/quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | | +| [quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/issues)
[![PRs](https://img.shields.io/github/issues-pr/Fernandez-Lab-WSU/quadkeyr)](https://github.com/Fernandez-Lab-WSU/quadkeyr/pulls)
2025-03-24 ([`83d2c4b`](https://github.com/Fernandez-Lab-WSU/quadkeyr/commits)) | 0 | [Fernandez-Lab-WSU/quadkeyr](https://github.com/Fernandez-Lab-WSU/quadkeyr) | | | [rbranding](https://github.com/EpiForeSITE/branding-package) | ContributorContributorContributorContributorContributor +1 more | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/branding-package)](https://github.com/EpiForeSITE/branding-package/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/branding-package)](https://github.com/EpiForeSITE/branding-package/pulls)
2025-09-11 ([`66a3b42`](https://github.com/EpiForeSITE/branding-package/commits)) | 115 | [EpiForeSITE/branding-package](https://github.com/EpiForeSITE/branding-package) | | | [Multigroup Vaccine Model](https://github.com/EpiForeSITE/vaccine-equity-model) | ContributorContributorContributorContributor | [![Issues](https://img.shields.io/github/issues/EpiForeSITE/vaccine-equity-model)](https://github.com/EpiForeSITE/vaccine-equity-model/issues)
[![PRs](https://img.shields.io/github/issues-pr/EpiForeSITE/vaccine-equity-model)](https://github.com/EpiForeSITE/vaccine-equity-model/pulls)
2025-08-26 ([`6e5eba0`](https://github.com/EpiForeSITE/vaccine-equity-model/commits)) | 0 | [EpiForeSITE/vaccine-equity-model](https://github.com/EpiForeSITE/vaccine-equity-model) | |