Skip to content

Commit 5be83b5

Browse files
committed
fleshed out README, removed unnecessary files, changed license to MIT -KL
1 parent 655d1cc commit 5be83b5

11 files changed

+120
-676
lines changed

LICENSE

-674
This file was deleted.

README.md

+98-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,99 @@
11
# hcris-app
2-
python source code for an app that analyzes and provides data for The Centers for Medicare & Medicaid Services (CMS) Healthcare Cost Report Information System (HCRIS)
2+
Python source code for the Rush [Hospital Cost Reports Application](https://hcris-app.herokuapp.com/), a Plotly Dash application that analyzes and provides cost reports based on those from The Centers for Medicare & Medicaid Services (CMS) Healthcare Cost Report Information System (HCRIS).
3+
4+
## Description and functionality
5+
The Rush [Hospital Cost Reports Application](https://hcris-app.herokuapp.com/) is a freely available and lightweight dashboard application for aggregating, analyzing, and downloading modified, simplified hospital cost reports. This open-source tool allows to compare cost report features among hospitals and across time, explore relationships between features, and design new cost report variables.
6+
7+
## How to run this app
8+
9+
1. After downloading or cloning this repository, open a terminal window or command prompt in the root folder.
10+
11+
2. Create a virtual environment for running this app with Python (>=3.8)
12+
13+
In MacOS or Linux:
14+
15+
```
16+
python3 -m virtualenv venv
17+
18+
```
19+
In Unix:
20+
21+
```
22+
source venv/bin/activate
23+
24+
```
25+
In Windows:
26+
27+
```
28+
venv\Scripts\activate
29+
```
30+
3. Install required packages using pip:
31+
32+
```
33+
pip install -r requirements.txt
34+
```
35+
36+
4. Run this app locally with:
37+
38+
```
39+
python3.8 app.py
40+
```
41+
42+
The output of the terminal window will look like:
43+
44+
```
45+
Dash is running on http://0.0.0.0:8050/
46+
```
47+
48+
5. Paste the url into your web browser and voila!
49+
50+
## Requirements
51+
These are automatically installed when following the instructions above.
52+
53+
* werkzeug==2.0.3
54+
* dash==2.0.0
55+
* gunicorn==20.1.0
56+
* numpy==1.22.1
57+
* pandas==1.4.0
58+
* scipy>=1.7.3
59+
* flask>=1.1.2
60+
* plotly==5.5.0
61+
* datetime==4.3
62+
* pathlib==1.0.1
63+
* statsmodels==0.13.1
64+
* scikit-learn==1.0.2
65+
* dash_bootstrap_components==1.0.2
66+
* lxml==4.8.0
67+
68+
## Files & Directories
69+
70+
<details><summary>app.py</summary>
71+
The primary file for running the Rush Hospital Cost Reports application. This file contains the entirety of source code for the app as well as many comments to explain the application's functionality.
72+
</details>
73+
74+
<details><summary>assets</summary>
75+
Files in this directory are used by the application to format its interface or are used as images in this README file. All files except `RUSH_full_color.jpg` were obtained from another open source Plotly Dash app (https://github.com/plotly/dash-sample-apps/tree/main/apps/dash-clinical-analytics/assets.): `Acumin-BdPro.otf`, `base.css`, `clinical-analytics.css`, - `plotly_logo.png`- `resizing.js`
76+
77+
78+
- `Acumin-BdPro.otf`: An OpenType font file used by the application.
79+
- `base.css` A cascading style sheets (CSS) used by the application. CSS is a stylesheet language used to describe the presentation of a document written in HTML or XML.
80+
- `clinical-analytics.css` An additional css file.
81+
- `plotly_logo.png`
82+
- `RUSH_full_color.jpg`
83+
- `images_for_README`: A directory containing png files used in this README document.
84+
</details>
85+
86+
<details><summary>Procfile</summary>
87+
This extensionless file is necessary for deployment on Heroku, and essentially tells Heroku how to handle web processes using the gunicorn server. The file contains a single line with the following: `web: gunicorn app:server`
88+
</details>
89+
90+
<details><summary>requirements.txt</summary>
91+
This file lists all of the software libraries needed for the app to run. When deploying the app on Heroku, this file is used to set up the server with the libraries necessary for running the application. When used locally, this file tells pip which libraries need to be installed (i.e., `pip install -r requirements.txt`).
92+
</details>
93+
94+
<details><summary>runtime.txt</summary>
95+
This file is used when setting up the app to run on an online Heroku server. It contains a single line: `python-3.8.16, indicating the version of python to use.
96+
</details>
97+
98+
## Developer
99+
Kenneth J. Locey, PhD. Senior Clinical Data Scientist. Center for Quality, Safety & Value Analytics. Rush University Medical Center.

app.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -2656,5 +2656,5 @@ def update_output15(value):
26562656

26572657
# Run the server
26582658
if __name__ == "__main__":
2659-
app.run_server(host='0.0.0.0', debug = True) # modified to run on linux server
2659+
app.run_server(host='0.0.0.0', debug = False) # modified to run on linux server
26602660

cache/.DS_Store assets/.DS_Store

6 KB
Binary file not shown.

assets/rush.jpeg

-6.25 KB
Binary file not shown.
-36.7 KB
Binary file not shown.

cache/cache.db

-40 KB
Binary file not shown.

cache/cache.db-shm

-32 KB
Binary file not shown.

cache/cache.db-wal

-394 KB
Binary file not shown.
-36.4 KB
Binary file not shown.

license.txt

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023 Kenneth John Locey
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)