dsqscreen
First online research-backed screener for assessing multiple case definitions for ME/CFS. Easy-to-use and consumer friendly. Built in Flask and implementing PlotlyJS.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.3%) to scientific vocabulary
Keywords
Repository
First online research-backed screener for assessing multiple case definitions for ME/CFS. Easy-to-use and consumer friendly. Built in Flask and implementing PlotlyJS.
Basic Info
- Host: GitHub
- Owner: DePaul-CCR
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Homepage: https://Dsqscreen.com
- Size: 27.3 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 29
Topics
Metadata Files
README.md
Dev Env Setup
->Need Python 3 installed w/ pip and virtualenv for dev env ~~and mysql~~
Install Python 3 w/ pip
MacOS:
~~brew install mysql~~
pip install virtualenv
->Clone this repo
gh repo clone DePaul-CCR/dsqscreen
->CD into repo
->Create an environment for packages
python3 -m venv ./env
->Activate the environment and install packages
source ./env/bin/activate
pip install -r requirements.txt
->Add environment to path if needed
export PYTHONPATH=$PYTHONPATH:~/Github/Depaul_CCR/Screener/env/lib/python3.11/site-packages
~~-> Run database migrations if exist~~
-> To start dev server
python3 main.py dev
Dev pipeline:
featurebranch -> PR main -> PR production -> Create release on Github -> autodeploys to render.com
Production:
-> To start production server
gunicorn main:app prod
N.B. For Data Export and DSQ Question Changes:
-If you change the routes please update the route-order "pageflow" tuple in 'utils/backfunction.py' so the back button works correctly + the docs/dsqitemsandroutesmap.txt file, which shows the DSQ item var names mapped to routes, should be updated also. + dsqcolumns in utils/exportcolumnsutil.py are order-specific so will also be misaligned if the order of questions changes. (TODO: make the data export order-agnostic)
-If you change which items / questions are used, you also need to update the dsqcolumns in utils/exportcolumns_util.py +Also, you will need to update the columns in the export sheet if in use: depaulccrdev@gmail.com's "DSQScreen Output" +Manually, you can compare the data frame which holds the responses to the header row in the Google sheet via: ```
Debug breakpoint on ~line 22 in utils/exportcolumnsutil.py
import nump as np gsarr = np.array(#paste gsheet column headers in here formatted as a list ['x', 'y', 'z'...] ) np.array(df.columns.tolist()) == gs_arr ```
-To make changes to question pages there is one partial for all the F/S questions and then the single-question items are less templated so need to be modified directly (dsq/viral.html and short_form/reduction.html)
-The api key for our Google Sheet is accessed at /etc/secrets/<name of json file> in our Render.com environment
-To enable data retention to Google Sheets you must ensure the api key is in place and uncomment these lines in screenerutils.py, shortformutils.py, and dsqutils.py: ```
df = builddataframefor_export(session)
dumpcollecteddatatosheet(df)
```
Owner
- Name: DePaul-CCR
- Login: DePaul-CCR
- Kind: organization
- Repositories: 1
- Profile: https://github.com/DePaul-CCR
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it using these metadata."
title: "DSQ Screen"
abstract: "First online research-backed screener for assessing multiple case definitions for ME/CFS. Easy-to-use and consumer friendly. Built in Flask and implementing PlotlyJS."
authors:
- family-names: "Cathey"
given-names: "Paul"
- family-names: "Benner"
given-names: "Sage"
- family-names: "Arulmozhi Arasu"
given-names: "Shanjali"
version: 0.85
date-released: 2024-07-26
license: GNU General Public License v3.0
repository-code: "https://github.com/DePaul-CCR/dsqscreen"
GitHub Events
Total
Last Year
Dependencies
- Flask *
- flask_session *
- flask_wtf *
- gunicorn *
- imblearn *
- matplotlib *
- mysqlclient *
- numpy *
- pandas *
- plotly *
- seaborn *