covid-master
所属分类:其他
开发工具:Python
文件大小:266KB
下载次数:6
上传日期:2020-04-16 02:40:14
上 传 者:
ram1988
说明: COVID 19 PREDICTIONCOVID 19 PREDICTION
文件列表:
.browserslistrc (9, 2020-03-12)
.circleci (0, 2020-03-12)
.circleci\config.yml (2969, 2020-03-12)
.env.example (87, 2020-03-12)
.rspec (22, 2020-03-12)
.rubocop.yml (34, 2020-03-12)
.ruby-version (6, 2020-03-12)
CONTRIBUTING.md (887, 2020-03-12)
Gemfile (2488, 2020-03-12)
Gemfile.lock (10877, 2020-03-12)
Guardfile (2442, 2020-03-12)
LICENSE (34523, 2020-03-12)
Procfile (126, 2020-03-12)
Rakefile (227, 2020-03-12)
SECURITY.md (243, 2020-03-12)
app.json (724, 2020-03-12)
app (0, 2020-03-12)
app\admin (0, 2020-03-12)
app\admin\admin_users.rb (471, 2020-03-12)
app\admin\command_centers.rb (287, 2020-03-12)
app\admin\patients.rb (6239, 2020-03-12)
app\admin\standard_surveys.rb (3626, 2020-03-12)
app\assets (0, 2020-03-12)
app\assets\config (0, 2020-03-12)
app\assets\config\manifest.js (63, 2020-03-12)
app\assets\images (0, 2020-03-12)
app\assets\images\.keep (0, 2020-03-12)
app\assets\javascripts (0, 2020-03-12)
app\assets\javascripts\active_admin.js (30, 2020-03-12)
app\assets\stylesheets (0, 2020-03-12)
app\assets\stylesheets\active_admin.scss (853, 2020-03-12)
app\assets\stylesheets\application.scss (99, 2020-03-12)
app\assets\stylesheets\bootstrap_lifen.scss (258, 2020-03-12)
app\assets\stylesheets\bootstrap_overrides.css (0, 2020-03-12)
app\channels (0, 2020-03-12)
... ...
# Covid
Covid is a web application which aims to facilitate covid-19 patients' self-monitoring at home via forms sent by SMS.
**Demo :** [video](https://www.youtube.com/watch?v=wwDJNR6SKmI)
## Main configuration
### Installation
It's a Rails v6.0 application which runs on Ruby v2.6+.
It requires a limited number of dependencies to run locally:
- PostgreSQL (v10.4+)
- Redis (Sidekiq)
- Headless Chrome (integration specs)
- NodeJS v12 (LTS)
The best way to install them is to use [Homebrew](https://brew.sh/index_fr.html):
```bash
brew update
brew install rbenv ruby-build postgresql redis
brew cask install chromedriver
```
#### Ruby
```bash
rbenv install 2.6.5
gem install bundler
```
#### Git
```bash
git clone git@github.com:lifen-labs/covid.git && cd covid
bundle exec install && yarn install
bundle exec rails db:setup
```
#### Environment variables
```bash
cp .env.example .env
```
##### Twilio
We use Twilio's API to send SMS:
- `TWILIO_ACCOUNT_ID` (required)
- `TWILIO_AUTH_TOKEN` (required)
- `TWILIO_PHONE_NUMBER` (required)
[How to create a text messaging account with Twilio ?](https://support.vision6.com.au/hc/en-us/articles/230673727-Text-Messaging-Account-Setup-with-Twilio)
##### Slack
We use Slack to monitor failed SMS:
- `SLACK_HOOK_URL` (optional)
#### Starting a local server
```bash
heroku local
```
Then visit [http://localhost:5000/admin/](http://localhost:5000/admin/) with the seeds credentials: `admin@example.com` / `password`.
#### Specs
```bash
bundle exec rspec spec/
```
or
```bash
bundle exec guard
```
## Deployment
The fastest way to deploy `covid` is using Heroku:
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy)
:warning: **Disclaimer** Heroku might not be suitable to host healthcare datas in your country. We are providing this deploy link on Heroku because we think it's the easiest way to deploy a web application ;) :warning:
## Data structure
Once signed in to the app via login/password, an `AdminUser` can:
- manage a `CommandCenter` : the app can be deployed once and used in multiple locations (TODO: add an authorisation framework like Pundit to manage access levels)
- onboard a `Patient`
- manually create a `StandardSurvey`; otherwise, an automated process creates one every 24 hours.
When a `StandardSurvey` is created, an SMS is sent with a secret temporary link. The `Patient` can then fill the form directly on his phone.
Once the `StandardSurvey` is submitted, the app sets the operational status :
- `green` : all good
- `yellow` : default status, still all good
- `orange` : a healthcare professional needs to check the survey results
- `red` : a healthcare professional needs to call the patient
Both `orange` and `red` statuses require an action from the `AdminUser`. Each action has to be recorded through a mandatory comment within the app.
## Contributing
Find details for contributing in the [contribution guide].
[contribution guide]: https://github.com/lifen-labs/covid/blob/master/CONTRIBUTING.md
## Maintainers
* Etienne Depaulis (https://github.com/EtienneDepaulis)
## License
Covid is licensed under the GNU Affero General Public License. See the included LICENSE file for details.
近期下载者:
相关文件:
收藏者: