Skip to content

Commit 842e6b3

Browse files
authored
Replace los with days
Replace lengths of stay with days
2 parents ba27cab + 1765f9e commit 842e6b3

File tree

9 files changed

+59
-56
lines changed

9 files changed

+59
-56
lines changed

settings.cfg

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
--current-hospitalized 14
22
--doubling-time 4.0
3-
--hospitalized-los 7
3+
--hospitalized-days 7
44
--hospitalized-rate 0.025
5-
--icu-los 9
5+
--icu-days 9
66
--icu-rate 0.0075
77
--infectious-days 14
88
--market_share 0.15
99
--n-days 60
1010
--population 4119405
1111
--relative-contact-rate 0.3
12-
--ventilated-los 10
12+
--ventilated-days 10
1313
--ventilated-rate 0.005

src/penn_chime/cli.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from pandas import DataFrame
1010

1111
from .constants import CHANGE_DATE
12-
from .parameters import Parameters, RateLos
12+
from .parameters import Parameters, RateDays
1313
from .models import SimSirModel as Model
1414

1515

@@ -74,7 +74,7 @@ def parse_args():
7474
"Doubling time before social distancing (days)",
7575
True,
7676
),
77-
("--hospitalized-los", int, 0, None, "Hospitalized Length of Stay (days)", True),
77+
("--hospitalized-days", int, 0, None, "Average Hospital Length of Stay (days)", True),
7878
(
7979
"--hospitalized-rate",
8080
float,
@@ -83,7 +83,7 @@ def parse_args():
8383
"Hospitalized Rate: 0.00001 - 1.0",
8484
True,
8585
),
86-
("--icu-los", int, 0, None, "ICU Length of Stay (days)", True),
86+
("--icu-days", int, 0, None, "Average Days in ICU", True),
8787
("--icu-rate", float, 0.0, 1.0, "ICU Rate: 0.0 - 1.0", True),
8888
(
8989
"--market_share",
@@ -104,10 +104,14 @@ def parse_args():
104104
True,
105105
),
106106
("--population", int, 1, None, "Regional Population >= 1", True),
107-
("--ventilated-los", int, 0, None, "Ventilated Length of Stay (days)", True),
107+
("--ventilated-days", int, 0, None, "Average Days on Ventilator", True),
108108
("--ventilated-rate", float, 0.0, 1.0, "Ventilated Rate: 0.0 - 1.0", True),
109109
):
110-
parser.add_argument(arg, type=validator(arg, cast, min_value, max_value, required))
110+
parser.add_argument(
111+
arg,
112+
type=validator(arg, cast, min_value, max_value, required),
113+
help=help,
114+
)
111115
return parser.parse_args()
112116

113117

@@ -125,9 +129,9 @@ def main():
125129
relative_contact_rate=a.relative_contact_rate,
126130
population=a.population,
127131

128-
hospitalized=RateLos(a.hospitalized_rate, a.hospitalized_los),
129-
icu=RateLos(a.icu_rate, a.icu_los),
130-
ventilated=RateLos(a.ventilated_rate, a.ventilated_los),
132+
hospitalized=RateDays(a.hospitalized_rate, a.hospitalized_days),
133+
icu=RateDays(a.icu_rate, a.icu_days),
134+
ventilated=RateDays(a.ventilated_rate, a.ventilated_days),
131135
)
132136

133137
m = Model(p)

src/penn_chime/models.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ def __init__(self, p: Parameters):
3535
for key, d in p.dispositions.items()
3636
}
3737

38-
self.lengths_of_stay = {
39-
key: d.length_of_stay
38+
self.days = {
39+
key: d.days
4040
for key, d in p.dispositions.items()
4141
}
4242

@@ -170,7 +170,7 @@ def run_projection(self, p):
170170
)
171171
self.dispositions_df = build_dispositions_df(self.raw_df, self.rates, p.market_share, p.current_date)
172172
self.admits_df = build_admits_df(self.dispositions_df)
173-
self.census_df = build_census_df(self.admits_df, self.lengths_of_stay)
173+
self.census_df = build_census_df(self.admits_df, self.days)
174174
self.current_infected = self.raw_df.infected.loc[self.i_day]
175175

176176
def get_loss(self) -> float:

src/penn_chime/parameters.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
# (0.02, 7) is 2%, 7 days
1313
# be sure to multiply by 100 when using as a default to the percent widgets!
14-
RateLos = namedtuple("RateLos", ("rate", "length_of_stay"))
14+
RateDays = namedtuple("RateDays", ("rate", "days"))
1515

1616

1717
class Regions:
@@ -32,10 +32,10 @@ def __init__(
3232
self,
3333
*,
3434
current_hospitalized: int,
35-
hospitalized: RateLos,
36-
icu: RateLos,
35+
hospitalized: RateDays,
36+
icu: RateDays,
3737
relative_contact_rate: float,
38-
ventilated: RateLos,
38+
ventilated: RateDays,
3939
current_date: date = date.today(),
4040
date_first_hospitalized: Optional[date] = None,
4141
doubling_time: Optional[float] = None,

src/penn_chime/presentation.py

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
)
1717

1818
from .utils import dataframe_to_base64
19-
from .parameters import Parameters, RateLos
19+
from .parameters import Parameters, RateDays
2020
from .models import SimSirModel as Model
2121

2222
hide_menu_style = """
@@ -196,27 +196,27 @@ def display_sidebar(st, d: Parameters) -> Parameters:
196196
"Ventilated %(total infections)",
197197
value=d.ventilated.rate,
198198
)
199-
hospitalized_los_input = NumberInput(
199+
hospitalized_days_input = NumberInput(
200200
st_obj,
201-
"Hospital Length of Stay",
201+
"Average Hospital Length of Stay (days)",
202202
min_value=0,
203-
value=d.hospitalized.length_of_stay,
203+
value=d.hospitalized.days,
204204
step=1,
205205
format="%i",
206206
)
207-
icu_los_input = NumberInput(
207+
icu_days_input = NumberInput(
208208
st_obj,
209-
"ICU Length of Stay",
209+
"Average Days in ICU",
210210
min_value=0,
211-
value=d.icu.length_of_stay,
211+
value=d.icu.days,
212212
step=1,
213213
format="%i",
214214
)
215-
ventilated_los_input = NumberInput(
215+
ventilated_days_input = NumberInput(
216216
st_obj,
217-
"Vent Length of Stay",
217+
"Average Days on Ventilator",
218218
min_value=0,
219-
value=d.ventilated.length_of_stay,
219+
value=d.ventilated.days,
220220
step=1,
221221
format="%i",
222222
)
@@ -267,13 +267,13 @@ def display_sidebar(st, d: Parameters) -> Parameters:
267267
relative_contact_rate = relative_contact_pct_input()
268268

269269
st.sidebar.markdown("### Severity Parameters [ℹ]({docs_url}/what-is-chime/parameters)".format(docs_url=DOCS_URL))
270-
infectious_days = infectious_days_input()
271270
hospitalized_rate = hospitalized_pct_input()
272271
icu_rate = icu_pct_input()
273272
ventilated_rate = ventilated_pct_input()
274-
hospitalized_los = hospitalized_los_input()
275-
icu_los = icu_los_input()
276-
ventilated_los = ventilated_los_input()
273+
infectious_days = infectious_days_input()
274+
hospitalized_days = hospitalized_days_input()
275+
icu_days = icu_days_input()
276+
ventilated_days = ventilated_days_input()
277277

278278
st.sidebar.markdown("### Display Parameters [ℹ]({docs_url}/what-is-chime/parameters)".format(docs_url=DOCS_URL))
279279
n_days = n_days_input()
@@ -285,11 +285,10 @@ def display_sidebar(st, d: Parameters) -> Parameters:
285285

286286
return Parameters(
287287
current_hospitalized=current_hospitalized,
288-
hospitalized=RateLos(hospitalized_rate, hospitalized_los),
289-
icu=RateLos(icu_rate, icu_los),
290-
#known_infected=known_infected,
288+
hospitalized=RateDays(hospitalized_rate, hospitalized_days),
289+
icu=RateDays(icu_rate, icu_days),
291290
relative_contact_rate=relative_contact_rate,
292-
ventilated=RateLos(ventilated_rate, ventilated_los),
291+
ventilated=RateDays(ventilated_rate, ventilated_days),
293292

294293
current_date=current_date,
295294
date_first_hospitalized=date_first_hospitalized,

src/penn_chime/settings.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
from datetime import date
44

5-
from .parameters import Parameters, Regions, RateLos
5+
from .parameters import Parameters, Regions, RateDays
66

77
DEFAULTS = Parameters(
88
region=Regions(
@@ -15,11 +15,11 @@
1515
current_hospitalized=32,
1616
date_first_hospitalized=date(2020,3,7),
1717
doubling_time=4.0,
18-
hospitalized=RateLos(0.025, 7),
19-
icu=RateLos(0.0075, 9),
18+
hospitalized=RateDays(0.025, 7),
19+
icu=RateDays(0.0075, 9),
2020
infectious_days=14,
2121
market_share=0.15,
2222
n_days=60,
2323
relative_contact_rate=0.3,
24-
ventilated=RateLos(0.005, 10),
24+
ventilated=RateDays(0.005, 10),
2525
)
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
--current-hospitalized 14
22
--date-first-hospitalized 2020-03-07
3-
--hospitalized-los 7
3+
--hospitalized-days 7
44
--hospitalized-rate 0.025
5-
--icu-los 9
5+
--icu-days 9
66
--icu-rate 0.0075
77
--infectious-days 14
88
--market_share 0.15
99
--n-days 60
1010
--population 4119405
1111
--relative-contact-rate 0.3
12-
--ventilated-los 10
12+
--ventilated-days 10
1313
--ventilated-rate 0.005

tests/by_doubling_time/settings.cfg

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
--current-hospitalized 14
22
--doubling-time 4.0
3-
--hospitalized-los 7
3+
--hospitalized-days 7
44
--hospitalized-rate 0.025
5-
--icu-los 9
5+
--icu-days 9
66
--icu-rate 0.0075
77
--infectious-days 14
88
--market_share 0.15
99
--n-days 60
1010
--population 4119405
1111
--relative-contact-rate 0.3
12-
--ventilated-los 10
12+
--ventilated-days 10
1313
--ventilated-rate 0.005

tests/test_app.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
)
2323
from src.penn_chime.parameters import (
2424
Parameters,
25-
RateLos,
25+
RateDays,
2626
Regions,
2727
)
2828
from src.penn_chime.presentation import display_header
@@ -45,9 +45,9 @@
4545
n_days=60,
4646
market_share=0.15,
4747
relative_contact_rate=0.3,
48-
hospitalized=RateLos(0.025, 7),
49-
icu=RateLos(0.0075, 9),
50-
ventilated=RateLos(0.005, 10),
48+
hospitalized=RateDays(0.025, 7),
49+
icu=RateDays(0.0075, 9),
50+
ventilated=RateDays(0.005, 10),
5151
)
5252

5353
PARAM = Parameters(
@@ -56,9 +56,9 @@
5656
market_share=0.05,
5757
relative_contact_rate=0.15,
5858
population=500000,
59-
hospitalized=RateLos(0.05, 7),
60-
icu=RateLos(0.02, 9),
61-
ventilated=RateLos(0.01, 10),
59+
hospitalized=RateDays(0.05, 7),
60+
icu=RateDays(0.02, 9),
61+
ventilated=RateDays(0.01, 10),
6262
n_days=60,
6363
)
6464

@@ -68,9 +68,9 @@
6868
market_share=0.05,
6969
relative_contact_rate=0.7,
7070
population=500000,
71-
hospitalized=RateLos(0.05, 7),
72-
icu=RateLos(0.02, 9),
73-
ventilated=RateLos(0.01, 10),
71+
hospitalized=RateDays(0.05, 7),
72+
icu=RateDays(0.02, 9),
73+
ventilated=RateDays(0.01, 10),
7474
n_days=60,
7575
)
7676

0 commit comments

Comments
 (0)