diff --git a/pyproject.toml b/pyproject.toml index 0a61b6d..29e8526 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,7 +15,7 @@ dependencies = [ "lightgbm", "numpy", "pandas", - "sarix @ git+https://github.com/reichlab/sarix@35eea2379a9790e0457b1aed41d13509e5d5056f", + "sarix @ git+https://github.com/reichlab/sarix", "scikit-learn", "tqdm", "timeseriesutils @ git+https://github.com/reichlab/timeseriesutils" diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt index b53e245..7b2b7cc 100644 --- a/requirements/requirements-dev.txt +++ b/requirements/requirements-dev.txt @@ -38,7 +38,7 @@ frozenlist==1.5.0 # aiosignal fsspec==2024.10.0 # via s3fs -iddata @ git+https://github.com/reichlab/iddata@c28849b2a02ab84e2f82876f16fee2ac60814877 +iddata @ git+https://github.com/reichlab/iddata@5a7e74d7823d39b8a8ef6334c5191e440bc669d8 # via idmodels (pyproject.toml) identify==2.6.1 # via pre-commit diff --git a/requirements/requirements.txt b/requirements/requirements.txt index e9f91a5..7615a50 100644 --- a/requirements/requirements.txt +++ b/requirements/requirements.txt @@ -30,7 +30,7 @@ frozenlist==1.5.0 # aiosignal fsspec==2024.10.0 # via s3fs -iddata @ git+https://github.com/reichlab/iddata@c28849b2a02ab84e2f82876f16fee2ac60814877 +iddata @ git+https://github.com/reichlab/iddata@5a7e74d7823d39b8a8ef6334c5191e440bc669d8 # via idmodels (pyproject.toml) idna==3.10 # via yarl diff --git a/src/idmodels/__init__.py b/src/idmodels/__init__.py index 3dc1f76..5becc17 100644 --- a/src/idmodels/__init__.py +++ b/src/idmodels/__init__.py @@ -1 +1 @@ -__version__ = "0.1.0" +__version__ = "1.0.0" diff --git a/src/idmodels/gbqr.py b/src/idmodels/gbqr.py index 6c6e4c4..1850a6d 100644 --- a/src/idmodels/gbqr.py +++ b/src/idmodels/gbqr.py @@ -31,15 +31,38 @@ def run(self, run_config): ilinet_kwargs = {"scale_to_positive": False} flusurvnet_kwargs = {"burden_adj": False} + valid_sources = ["flusurvnet", "nhsn", "ilinet", "nssp"] + if not np.isin(np.array(self.model_config.sources), valid_sources).all(): + raise ValueError("For GBQR, the only supported data sources are 'nhsn', 'flusurvnet', 'ilinet', or 'nssp'.") + + # Check if both nhsn and nssp data are included as sources + if all(src in self.model_config.sources for src in ["nhsn", "nssp"]): + raise ValueError("Only one of 'nhsn' or 'nssp' may be selected as a data source.") + fdl = DiseaseDataLoader() - df = fdl.load_data(nhsn_kwargs={"as_of": run_config.ref_date, "disease": run_config.disease}, - ilinet_kwargs=ilinet_kwargs, - flusurvnet_kwargs=flusurvnet_kwargs, - sources=self.model_config.sources, - power_transform=self.model_config.power_transform) - if run_config.locations is not None: - df = df.loc[df["location"].isin(run_config.locations)] + if "nhsn" in self.model_config.sources: + df = fdl.load_data(nhsn_kwargs={"as_of": run_config.ref_date, "disease": run_config.disease}, + ilinet_kwargs=ilinet_kwargs, + flusurvnet_kwargs=flusurvnet_kwargs, + sources=self.model_config.sources, + power_transform=self.model_config.power_transform) + elif "nssp" in self.model_config.sources: + df = fdl.load_data(nssp_kwargs={"as_of": run_config.ref_date, "disease": run_config.disease}, + ilinet_kwargs=ilinet_kwargs, + flusurvnet_kwargs=flusurvnet_kwargs, + sources=self.model_config.sources, + power_transform=self.model_config.power_transform) + + if (run_config.states == []) & (run_config.hsas == []): + raise ValueError("User must request a non-empty set of locations to forecast for.") + + if (run_config.states != []) & (run_config.hsas != []): + raise NotImplementedError("Functionality for simultaneously forecasting state- and hsa-level locations is not yet implemented.") + df_states = df.loc[(df["location"].isin(run_config.states)) & (df["agg_level"] != "hsa")] + df_hsas = df.loc[(df["location"].isin(run_config.hsas)) & (df["agg_level"] == "hsa")] + df = pd.concat([df_states, df_hsas], join = "inner", axis = 0) + # augment data with features and target values if run_config.disease == "flu": init_feats = ["inc_trans_cs", "season_week", "log_pop"] @@ -133,7 +156,7 @@ def _train_gbq_and_predict(self, run_config, "inc_trans_cs", "horizon", "inc_trans_center_factor", "inc_trans_scale_factor"] preds_df = df_test_w_preds[cols_to_keep + run_config.q_labels] - preds_df = preds_df.loc[(preds_df["source"] == "nhsn")] + preds_df = preds_df.loc[preds_df["source"].isin(["nhsn", "nssp"])] preds_df = pd.melt(preds_df, id_vars=cols_to_keep, var_name="quantile", @@ -149,11 +172,20 @@ def _train_gbq_and_predict(self, run_config, else: raise ValueError('unsupported power_transform: must be "4rt" or None') - preds_df["value"] = (np.maximum(preds_df["inc_trans_target_hat"], 0.0) ** inv_power - 0.01 - 0.75**4) * preds_df["pop"] / 100000 - preds_df["value"] = np.maximum(preds_df["value"], 0.0) + preds_df["value"] = (np.maximum(preds_df["inc_trans_target_hat"], 0.0) ** inv_power - 0.01 - 0.75**4) # get predictions into the format needed for FluSight hub submission - preds_df = self._format_as_flusight_output(preds_df, run_config.ref_date, run_config.disease) + if "nhsn" in preds_df["source"].unique(): + # turn nhsn rates back into counts + preds_df["value"] = preds_df["value"] * preds_df["pop"] / 100000 + target_name = "wk inc " + run_config.disease + " hosp" + elif "nssp" in preds_df["source"].unique(): + preds_df["value"] = preds_df["value"] / 100 # percentage to proportion + preds_df["value"] = np.minimum(preds_df["value"], 1.0) + target_name = "wk inc " + run_config.disease + " prop ed visits" + + preds_df["value"] = np.maximum(preds_df["value"], 0.0) + preds_df = self._format_as_flusight_output(preds_df, run_config.ref_date, target_name) # sort quantiles to avoid quantile crossing preds_df = self._quantile_noncrossing( @@ -248,7 +280,7 @@ def _get_test_quantile_predictions(self, run_config, return test_pred_qs_df - def _format_as_flusight_output(self, preds_df, ref_date, disease): + def _format_as_flusight_output(self, preds_df, ref_date, target_name): # keep just required columns and rename to match hub format preds_df = preds_df[["location", "wk_end_date", "horizon", "quantile", "value"]] \ .rename(columns={"quantile": "output_type_id"}) @@ -256,7 +288,7 @@ def _format_as_flusight_output(self, preds_df, ref_date, disease): preds_df["target_end_date"] = preds_df["wk_end_date"] + pd.to_timedelta(7*preds_df["horizon"], unit="days") preds_df["reference_date"] = ref_date preds_df["horizon"] = (pd.to_timedelta(preds_df["target_end_date"].dt.date - ref_date).dt.days / 7).astype(int) - preds_df["target"] = "wk inc " + disease + " hosp" + preds_df["target"] = target_name preds_df["output_type"] = "quantile" preds_df.drop(columns="wk_end_date", inplace=True) diff --git a/src/idmodels/sarix.py b/src/idmodels/sarix.py index c682153..ca2e143 100644 --- a/src/idmodels/sarix.py +++ b/src/idmodels/sarix.py @@ -17,12 +17,35 @@ def _get_extra_sarix_params(self, df): return {} def run(self, run_config): + valid_sources = np.array(["nhsn", "nssp"]) + if not np.isin(np.array(self.model_config.sources), valid_sources).all(): + raise ValueError("For SARIX, the only supported data sources are 'nhsn' or 'nssp'.") + + # Check if both nhsn and nssp data are included as sources + if all(src in self.model_config.sources for src in ["nhsn", "nssp"]): + raise ValueError("Only one of 'nhsn' or 'nssp' may be selected as a data source.") + fdl = DiseaseDataLoader() - df = fdl.load_data(nhsn_kwargs={"as_of": run_config.ref_date, "disease": run_config.disease}, - sources=self.model_config.sources, - power_transform=self.model_config.power_transform) - if run_config.locations is not None: - df = df.loc[df["location"].isin(run_config.locations)] + if "nhsn" in self.model_config.sources: + df = fdl.load_data(nhsn_kwargs={"as_of": run_config.ref_date, "disease": run_config.disease}, + sources=self.model_config.sources, + power_transform=self.model_config.power_transform) + target_name = "wk inc " + run_config.disease + " hosp" + elif "nssp" in self.model_config.sources: + df = fdl.load_data(nssp_kwargs={"as_of": run_config.ref_date, "disease": run_config.disease}, + sources=self.model_config.sources, + power_transform=self.model_config.power_transform) + target_name = "wk inc " + run_config.disease + " prop ed visits" + + if (run_config.states == []) & (run_config.hsas == []): + raise ValueError("User must request a non-empty set of locations to forecast for.") + + if (run_config.states != []) & (run_config.hsas != []): + raise NotImplementedError("Functionality for simultaneously forecasting state- and hsa-level locations is not yet implemented.") + + df_states = df.loc[(df["location"].isin(run_config.states)) & (df["agg_level"] != "hsa")] + df_hsas = df.loc[(df["location"].isin(run_config.hsas)) & (df["agg_level"] == "hsa")] + df = pd.concat([df_states, df_hsas], join = "inner", axis = 0) # season week relative to christmas df = df.merge( @@ -34,10 +57,12 @@ def run(self, run_config): on="season") \ .assign(delta_xmas = lambda x: x["season_week"] - x["xmas_week"]) df["xmas_spike"] = np.maximum(3 - np.abs(df["delta_xmas"]), 0) - + + # missing values are interpolated when possible xy_colnames = self.model_config.x + ["inc_trans_cs"] df = df.query("wk_end_date >= '2022-10-01'").interpolate() - batched_xy = df[xy_colnames].values.reshape(len(df["location"].unique()), -1, len(xy_colnames)) + unique_locations = len(df_states["location"].unique()) + len(df_hsas["location"].unique()) + batched_xy = df[xy_colnames].values.reshape(unique_locations, -1, len(xy_colnames)) # Get any extra parameters for the SARIX constructor extra_params = self._get_extra_sarix_params(df) @@ -62,18 +87,18 @@ def run(self, run_config): pred_qs = _np_percentile(sarix_fit_all_locs_theta_pooled.predictions[..., :, :, 0], np.array(run_config.q_levels) * 100, axis=0) - df_nhsn_last_obs = df.groupby(["location"]).tail(1) + df_data_last_obs = df.groupby(["location", "agg_level"]).tail(1) preds_df = pd.concat([ pd.DataFrame(pred_qs[i, :, :]) \ - .set_axis(df_nhsn_last_obs["location"], axis="index") \ + .set_axis(df_data_last_obs["location"], axis="index") \ .set_axis(np.arange(1, run_config.max_horizon+1), axis="columns") \ .assign(output_type_id = q_label) \ for i, q_label in enumerate(run_config.q_labels) ]) \ .reset_index() \ .melt(["location", "output_type_id"], var_name="horizon") \ - .merge(df_nhsn_last_obs, on="location", how="left") + .merge(df_data_last_obs, on="location", how="left") # build data frame with predictions on the original scale preds_df["value"] = (preds_df["value"] + preds_df["inc_trans_center_factor"]) * preds_df["inc_trans_scale_factor"] @@ -82,9 +107,17 @@ def run(self, run_config): else: preds_df["value"] = np.maximum(preds_df["value"], 0.0) ** 2 - preds_df["value"] = (preds_df["value"] - 0.01 - 0.75**4) * preds_df["pop"] / 100000 + preds_df["value"] = (preds_df["value"] - 0.01 - 0.75**4) preds_df["value"] = np.maximum(preds_df["value"], 0.0) + if "nhsn" in preds_df["source"].unique(): + # turn nhsn rates back into counts + preds_df["value"] = preds_df["value"] * preds_df["pop"] / 100000 + + if target_name == "wk inc " + run_config.disease + " prop ed visits": + preds_df["value"] = preds_df["value"] / 100 # percentage to proportion + preds_df["value"] = np.minimum(preds_df["value"], 1.0) + # keep just required columns and rename to match hub format preds_df = preds_df[["location", "wk_end_date", "horizon", "output_type_id", "value"]] @@ -92,9 +125,9 @@ def run(self, run_config): preds_df["reference_date"] = run_config.ref_date preds_df["horizon"] = (pd.to_timedelta(preds_df["target_end_date"].dt.date - run_config.ref_date).dt.days / 7).astype(int) preds_df["output_type"] = "quantile" - preds_df["target"] = "wk inc " + run_config.disease + " hosp" + preds_df["target"] = target_name preds_df.drop(columns="wk_end_date", inplace=True) - + # save save_path = build_save_path( root=run_config.output_root, diff --git a/tests/integration/data/UMass-gbqr_no_reporting_adj/2024-01-06-UMass-gbqr_no_reporting_adj.csv b/tests/integration/data/UMass-gbqr_nhsn_no_reporting_adj/2024-01-06-UMass-gbqr_nhsn_no_reporting_adj.csv similarity index 100% rename from tests/integration/data/UMass-gbqr_no_reporting_adj/2024-01-06-UMass-gbqr_no_reporting_adj.csv rename to tests/integration/data/UMass-gbqr_nhsn_no_reporting_adj/2024-01-06-UMass-gbqr_nhsn_no_reporting_adj.csv diff --git a/tests/integration/data/UMass-gbqr_nssp_no_reporting_adj/2025-09-20-UMass-gbqr_nssp_no_reporting_adj-hsa.csv b/tests/integration/data/UMass-gbqr_nssp_no_reporting_adj/2025-09-20-UMass-gbqr_nssp_no_reporting_adj-hsa.csv new file mode 100644 index 0000000..c9c8f68 --- /dev/null +++ b/tests/integration/data/UMass-gbqr_nssp_no_reporting_adj/2025-09-20-UMass-gbqr_nssp_no_reporting_adj-hsa.csv @@ -0,0 +1,28 @@ +location,reference_date,horizon,target_end_date,target,output_type,output_type_id,value +1,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +25,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +99,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +1,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +25,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +99,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +1,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +25,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +99,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +1,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +25,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +99,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +1,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +25,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +99,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +1,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +25,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +99,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +1,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +25,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +99,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +1,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +25,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +99,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +1,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +25,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +99,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 diff --git a/tests/integration/data/UMass-gbqr_nssp_no_reporting_adj/2025-09-20-UMass-gbqr_nssp_no_reporting_adj-state.csv b/tests/integration/data/UMass-gbqr_nssp_no_reporting_adj/2025-09-20-UMass-gbqr_nssp_no_reporting_adj-state.csv new file mode 100644 index 0000000..e3118cc --- /dev/null +++ b/tests/integration/data/UMass-gbqr_nssp_no_reporting_adj/2025-09-20-UMass-gbqr_nssp_no_reporting_adj-state.csv @@ -0,0 +1,460 @@ +location,reference_date,horizon,target_end_date,target,output_type,output_type_id,value +01,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +02,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +04,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +05,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +06,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +08,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +09,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +10,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +11,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +12,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +13,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +15,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +16,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +17,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +18,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +19,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +20,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +21,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +22,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +23,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +24,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +25,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +26,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +27,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +28,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +30,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +31,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +32,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +33,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +34,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +35,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +36,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +37,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.001271905726944857 +38,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +39,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +40,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +41,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +42,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +44,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +45,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +46,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +47,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +48,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +49,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +50,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +51,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +53,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +54,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +55,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +56,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +US,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.025,0.0 +01,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +02,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +04,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +05,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +06,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +08,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +09,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +10,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +11,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +12,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +13,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +15,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +16,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +17,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +18,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +19,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +20,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +21,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +22,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +23,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +24,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +25,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +26,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +27,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +28,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +30,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +31,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +32,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +33,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +34,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +35,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +36,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +37,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +38,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +39,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +40,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +41,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +42,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +44,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +45,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +46,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +47,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +48,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +49,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +50,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +51,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +53,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +54,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +55,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +56,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +US,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.025,0.0 +01,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +02,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +04,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +05,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +06,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +08,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +09,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +10,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +11,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +12,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +13,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +15,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +16,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +17,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +18,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +19,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +20,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +21,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +22,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +23,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +24,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +25,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +26,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +27,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +28,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +30,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +31,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +32,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +33,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +34,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +35,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +36,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +37,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +38,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +39,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +40,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +41,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +42,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +44,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +45,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +46,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +47,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +48,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +49,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +50,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +51,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +53,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +54,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +55,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +56,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +US,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.025,0.0 +01,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +02,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +04,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +05,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +06,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +08,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +09,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +10,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +11,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +12,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +13,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +15,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +16,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +17,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +18,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +19,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +20,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +21,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +22,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +23,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +24,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +25,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +26,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +27,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +28,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +30,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +31,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +32,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +33,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +34,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +35,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +36,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +37,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.001271905726944857 +38,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +39,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +40,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +41,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +42,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +44,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +45,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +46,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +47,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +48,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +49,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +50,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +51,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +53,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +54,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +55,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +56,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +US,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.5,0.0 +01,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +02,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +04,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +05,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +06,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +08,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +09,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +10,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +11,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +12,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +13,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +15,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +16,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +17,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +18,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +19,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +20,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +21,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +22,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +23,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +24,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +25,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +26,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +27,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +28,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +30,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +31,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +32,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +33,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +34,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +35,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +36,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +37,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +38,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +39,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +40,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +41,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +42,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +44,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +45,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +46,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +47,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +48,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +49,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +50,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +51,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +53,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +54,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +55,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +56,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +US,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.5,0.0 +01,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +02,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +04,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +05,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +06,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +08,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +09,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +10,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +11,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +12,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +13,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +15,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +16,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +17,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +18,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +19,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +20,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +21,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +22,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +23,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +24,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +25,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +26,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +27,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +28,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +30,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +31,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +32,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +33,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +34,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +35,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +36,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +37,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +38,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +39,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +40,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +41,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +42,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +44,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +45,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +46,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +47,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +48,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +49,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +50,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +51,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +53,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +54,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +55,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +56,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +US,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.5,0.0 +01,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +02,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +04,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +05,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +06,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +08,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +09,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +10,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +11,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +12,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +13,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +15,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +16,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +17,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +18,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +19,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +20,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +21,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +22,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +23,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +24,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +25,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +26,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +27,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +28,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +30,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +31,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +32,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +33,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +34,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +35,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +36,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +37,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.001271905726944857 +38,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +39,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +40,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +41,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +42,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +44,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +45,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +46,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +47,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +48,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +49,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +50,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +51,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +53,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +54,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +55,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +56,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +US,2025-09-20,-1,2025-09-13,wk inc flu prop ed visits,quantile,0.975,0.0 +01,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +02,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +04,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +05,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +06,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +08,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +09,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +10,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +11,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +12,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +13,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +15,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +16,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +17,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +18,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +19,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +20,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +21,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +22,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +23,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +24,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +25,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +26,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +27,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +28,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +30,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +31,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +32,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +33,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +34,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +35,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +36,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +37,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +38,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +39,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +40,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +41,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +42,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +44,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +45,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +46,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +47,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +48,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +49,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +50,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +51,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +53,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +54,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +55,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +56,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +US,2025-09-20,0,2025-09-20,wk inc flu prop ed visits,quantile,0.975,0.0 +01,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +02,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +04,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +05,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +06,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +08,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +09,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +10,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +11,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +12,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +13,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +15,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +16,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +17,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +18,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +19,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +20,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +21,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +22,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +23,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +24,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +25,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +26,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +27,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +28,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +30,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +31,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +32,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +33,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +34,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +35,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +36,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +37,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +38,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +39,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +40,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +41,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +42,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +44,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +45,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +46,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +47,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +48,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +49,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +50,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +51,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +53,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +54,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +55,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +56,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 +US,2025-09-20,1,2025-09-27,wk inc flu prop ed visits,quantile,0.975,0.0 diff --git a/tests/integration/data/UMass-sarix_p6_4rt_thetashared_sigmanone/2024-01-06-UMass-sarix_p6_4rt_thetashared_sigmanone.csv b/tests/integration/data/UMass-sarix_nhsn_p6_4rt_thetashared_sigmanone/2024-01-06-UMass-sarix_nhsn_p6_4rt_thetashared_sigmanone.csv similarity index 100% rename from tests/integration/data/UMass-sarix_p6_4rt_thetashared_sigmanone/2024-01-06-UMass-sarix_p6_4rt_thetashared_sigmanone.csv rename to tests/integration/data/UMass-sarix_nhsn_p6_4rt_thetashared_sigmanone/2024-01-06-UMass-sarix_nhsn_p6_4rt_thetashared_sigmanone.csv diff --git a/tests/integration/data/UMass-sarix_nssp_p6_4rt_thetashared_sigmanone/2025-09-20-UMass-sarix_nssp_p6_4rt_thetashared_sigmanone-hsa.csv b/tests/integration/data/UMass-sarix_nssp_p6_4rt_thetashared_sigmanone/2025-09-20-UMass-sarix_nssp_p6_4rt_thetashared_sigmanone-hsa.csv new file mode 100644 index 0000000..cd737bc --- /dev/null +++ b/tests/integration/data/UMass-sarix_nssp_p6_4rt_thetashared_sigmanone/2025-09-20-UMass-sarix_nssp_p6_4rt_thetashared_sigmanone-hsa.csv @@ -0,0 +1,28 @@ +location,horizon,output_type_id,value,target_end_date,reference_date,output_type,target +1,-1,0.025,0.014821612505228988,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +25,-1,0.025,0.0,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +99,-1,0.025,0.056021164358213464,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +1,-1,0.5,0.023469741276920555,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +25,-1,0.5,0.003035966045489887,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +99,-1,0.5,0.0814395408717263,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +1,-1,0.975,0.038087265052395666,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +25,-1,0.975,0.011804393159599302,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +99,-1,0.975,0.11037264146726317,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +1,0,0.025,0.011175658632384502,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +25,0,0.025,0.0,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +99,0,0.025,0.0481473977945211,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +1,0,0.5,0.025128913221669425,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +25,0,0.5,0.002385307246530377,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +99,0,0.5,0.08023922445093289,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +1,0,0.975,0.05156401667672394,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +25,0,0.975,0.02472471811858463,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +99,0,0.975,0.13689126165734103,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +1,1,0.025,0.007142335756663185,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +25,1,0.025,0.0,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +99,1,0.025,0.038196815039099226,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +1,1,0.5,0.025492877875131187,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +25,1,0.5,0.0027871253576746157,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +99,1,0.5,0.07881961454457855,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +1,1,0.975,0.07117689188737315,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +25,1,0.975,0.036571241814375634,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +99,1,0.975,0.15095228726654306,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits diff --git a/tests/integration/data/UMass-sarix_nssp_p6_4rt_thetashared_sigmanone/2025-09-20-UMass-sarix_nssp_p6_4rt_thetashared_sigmanone-state.csv b/tests/integration/data/UMass-sarix_nssp_p6_4rt_thetashared_sigmanone/2025-09-20-UMass-sarix_nssp_p6_4rt_thetashared_sigmanone-state.csv new file mode 100644 index 0000000..02c84c6 --- /dev/null +++ b/tests/integration/data/UMass-sarix_nssp_p6_4rt_thetashared_sigmanone/2025-09-20-UMass-sarix_nssp_p6_4rt_thetashared_sigmanone-state.csv @@ -0,0 +1,460 @@ +location,horizon,output_type_id,value,target_end_date,reference_date,output_type,target +01,-1,0.025,0.04695339122453508,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +02,-1,0.025,0.0,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +04,-1,0.025,0.06933010303154725,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +05,-1,0.025,0.030723353526112235,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +06,-1,0.025,0.026666324206467754,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +08,-1,0.025,0.037106929694819046,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +09,-1,0.025,0.02343112390321496,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +10,-1,0.025,0.03272877900377451,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +11,-1,0.025,0.031044342279500294,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +12,-1,0.025,0.03520590679580749,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +13,-1,0.025,0.05720265733698886,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +15,-1,0.025,0.024159983910158733,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +16,-1,0.025,0.025546021239247697,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +17,-1,0.025,0.028887653509795223,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +18,-1,0.025,0.042787827677738574,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +19,-1,0.025,0.008092833419889226,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +20,-1,0.025,0.01638890537641876,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +21,-1,0.025,0.02695943293926275,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +22,-1,0.025,0.042858659741852045,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +23,-1,0.025,0.012871196862339365,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +24,-1,0.025,0.043209771108208284,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +25,-1,0.025,0.05506809347760288,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +26,-1,0.025,0.03667053588454779,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +27,-1,0.025,0.03540253409360992,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +28,-1,0.025,0.05538803245406133,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +30,-1,0.025,0.024642863468429952,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +31,-1,0.025,0.04775070559596018,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +32,-1,0.025,0.013145536493085834,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +33,-1,0.025,0.0285693647338912,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +34,-1,0.025,0.029300173350982915,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +35,-1,0.025,0.04437906547868961,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +36,-1,0.025,0.03516433038602652,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +37,-1,0.025,0.060846873425913085,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +38,-1,0.025,0.06767916124677541,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +39,-1,0.025,0.013536626606938733,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +40,-1,0.025,0.03610578163071784,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +41,-1,0.025,0.006312437720182539,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +42,-1,0.025,0.016842941178650542,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +44,-1,0.025,0.025902861684466313,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +45,-1,0.025,0.035986539859138564,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +46,-1,0.025,0.05942587667541236,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +47,-1,0.025,0.022611383988140152,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +48,-1,0.025,0.05352675087914745,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +49,-1,0.025,0.031086795264412694,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +50,-1,0.025,0.03860095039130674,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +51,-1,0.025,0.016028080886658445,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +53,-1,0.025,0.05976803112300708,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +54,-1,0.025,0.01298710269679616,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +55,-1,0.025,0.040916960705595765,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +56,-1,0.025,0.015811922683626217,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +US,-1,0.025,0.04285501766506369,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +01,-1,0.5,0.06699622831492386,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +02,-1,0.5,0.007325977164694444,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +04,-1,0.5,0.09882191928771931,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +05,-1,0.5,0.04676001603742344,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +06,-1,0.5,0.03640987780721452,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +08,-1,0.5,0.04907759656697257,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +09,-1,0.5,0.0378897276262378,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +10,-1,0.5,0.06661072462697228,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +11,-1,0.5,0.05642049591078463,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +12,-1,0.5,0.04746458574653796,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +13,-1,0.5,0.07826170180865084,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +15,-1,0.5,0.04763223858312519,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +16,-1,0.5,0.04423910148114719,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +17,-1,0.5,0.03963665153679899,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +18,-1,0.5,0.06303143269624391,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +19,-1,0.5,0.014872118340250776,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +20,-1,0.5,0.02637445939967891,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +21,-1,0.5,0.04334142536462744,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +22,-1,0.5,0.06267015424924541,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +23,-1,0.5,0.026645049800044576,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +24,-1,0.5,0.058418037905479746,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +25,-1,0.5,0.07690617059197083,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +26,-1,0.5,0.05318935751877718,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +27,-1,0.5,0.04756702012540653,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +28,-1,0.5,0.08883987862066006,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +30,-1,0.5,0.03735248637665627,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +31,-1,0.5,0.07663381151312319,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +32,-1,0.5,0.024511742636062414,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +33,-1,0.5,0.04237431995992754,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +34,-1,0.5,0.05112076763269879,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +35,-1,0.5,0.06220845058945985,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +36,-1,0.5,0.05326693002781565,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +37,-1,0.5,0.07999313082210806,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +38,-1,0.5,0.09066771393936529,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +39,-1,0.5,0.03199420081144968,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +40,-1,0.5,0.0487424703626952,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +41,-1,0.5,0.014106296724063126,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +42,-1,0.5,0.026193529955258536,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +44,-1,0.5,0.036400171102173,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +45,-1,0.5,0.07227395817705873,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +46,-1,0.5,0.08279436410943043,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +47,-1,0.5,0.04713655336813531,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +48,-1,0.5,0.07606914302638945,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +49,-1,0.5,0.039372537041157146,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +50,-1,0.5,0.061486655755987746,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +51,-1,0.5,0.03607203381114517,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +53,-1,0.5,0.08154996023277644,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +54,-1,0.5,0.022703141583277794,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +55,-1,0.5,0.06777288976695764,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +56,-1,0.5,0.024777089414504926,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +US,-1,0.5,0.09213224482921302,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +01,-1,0.975,0.09948433610816025,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +02,-1,0.975,0.018638801809754933,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +04,-1,0.975,0.13204695625908514,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +05,-1,0.975,0.06819208852519228,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +06,-1,0.975,0.04853255683479993,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +08,-1,0.975,0.06632414982519244,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +09,-1,0.975,0.05631734154659273,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +10,-1,0.975,0.12350183658758969,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +11,-1,0.975,0.0980183734393745,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +12,-1,0.975,0.06364901036017313,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +13,-1,0.975,0.10538614021631015,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +15,-1,0.975,0.08562892216730963,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +16,-1,0.975,0.07116897949751186,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +17,-1,0.975,0.056856088880877016,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +18,-1,0.975,0.08819505463825662,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +19,-1,0.975,0.026275320741421172,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +20,-1,0.975,0.039781586788101446,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +21,-1,0.975,0.06390716588998498,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +22,-1,0.975,0.08725648637086707,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +23,-1,0.975,0.048145458109341135,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +24,-1,0.975,0.0774634447716947,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +25,-1,0.975,0.10463580133698425,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +26,-1,0.975,0.07436464289252324,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +27,-1,0.975,0.061443992089403744,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +28,-1,0.975,0.12551025490637804,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +30,-1,0.975,0.054488857495817264,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +31,-1,0.975,0.10950865572074052,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +32,-1,0.975,0.038993625393158246,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +33,-1,0.975,0.061387318068722385,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +34,-1,0.975,0.08175983481671785,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +35,-1,0.975,0.08498286096468956,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +36,-1,0.975,0.077585130058926,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +37,-1,0.975,0.09929523233837345,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +38,-1,0.975,0.12180699901631163,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +39,-1,0.975,0.07191537358131206,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +40,-1,0.975,0.06152154516093579,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +41,-1,0.975,0.02468313453769477,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +42,-1,0.975,0.040200645712954064,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +44,-1,0.975,0.0503347664236993,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +45,-1,0.975,0.12751623701640571,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +46,-1,0.975,0.11111420699412941,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +47,-1,0.975,0.07884369543624972,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +48,-1,0.975,0.10690924122926077,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +49,-1,0.975,0.04971560148638891,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +50,-1,0.975,0.10370353395370534,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +51,-1,0.975,0.07401963069124587,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +53,-1,0.975,0.11342419107613123,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +54,-1,0.975,0.033874161418269495,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +55,-1,0.975,0.11140339143568488,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +56,-1,0.975,0.037888309223320364,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +US,-1,0.975,0.1508709540070287,2025-09-13,2025-09-20,quantile,wk inc flu prop ed visits +01,0,0.025,0.0382087161745643,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +02,0,0.025,0.0,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +04,0,0.025,0.0601134938737358,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +05,0,0.025,0.03204966511204716,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +06,0,0.025,0.01893067282272802,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +08,0,0.025,0.031949288995353105,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +09,0,0.025,0.019712429232318102,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +10,0,0.025,0.024079013071983537,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +11,0,0.025,0.02573153600750004,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +12,0,0.025,0.028733760786351304,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +13,0,0.025,0.05184778442693479,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +15,0,0.025,0.013800971055507271,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +16,0,0.025,0.018777674168529535,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +17,0,0.025,0.023250207923317678,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +18,0,0.025,0.03843210067156866,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +19,0,0.025,0.0036603230020111222,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +20,0,0.025,0.011065381666494505,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +21,0,0.025,0.02361604899514989,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +22,0,0.025,0.032517774863308146,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +23,0,0.025,0.009997877388691633,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +24,0,0.025,0.04047107432679735,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +25,0,0.025,0.04861979400285402,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +26,0,0.025,0.03660047566970257,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +27,0,0.025,0.031101297524537767,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +28,0,0.025,0.05015275590725685,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +30,0,0.025,0.021364360461591524,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +31,0,0.025,0.04257355716779454,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +32,0,0.025,0.012283935717653576,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +33,0,0.025,0.020092042853445014,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +34,0,0.025,0.022653310830173592,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +35,0,0.025,0.04160724156030241,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +36,0,0.025,0.03209383534266903,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +37,0,0.025,0.05827522371025059,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +38,0,0.025,0.06040614597373736,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +39,0,0.025,0.008235019127746983,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +40,0,0.025,0.031967949355239084,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +41,0,0.025,0.0050464525120395365,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +42,0,0.025,0.011612017139411766,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +44,0,0.025,0.02323080540178075,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +45,0,0.025,0.029251589028912752,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +46,0,0.025,0.051188026828583054,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +47,0,0.025,0.019594472582647824,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +48,0,0.025,0.05220976346700936,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +49,0,0.025,0.029198039727425996,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +50,0,0.025,0.029123029201519247,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +51,0,0.025,0.007893417657540472,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +53,0,0.025,0.05398195511857061,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +54,0,0.025,0.01053189421381574,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +55,0,0.025,0.03713601098510406,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +56,0,0.025,0.012026747113672503,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +US,0,0.025,0.033761024506525156,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +01,0,0.5,0.07075740830184402,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +02,0,0.5,0.006424873942479961,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +04,0,0.5,0.09743659437752278,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +05,0,0.5,0.05502958690634299,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +06,0,0.5,0.03594721005421013,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +08,0,0.5,0.04901095115938072,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +09,0,0.5,0.04016119125603789,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +10,0,0.5,0.07735296241120038,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +11,0,0.5,0.06266634320043432,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +12,0,0.5,0.04798087653196706,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +13,0,0.5,0.08155392379160623,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +15,0,0.5,0.04426555206152043,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +16,0,0.5,0.04672037492006811,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +17,0,0.5,0.04158908251913667,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +18,0,0.5,0.06601098634081504,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +19,0,0.5,0.014333829655246249,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +20,0,0.5,0.027465449047346144,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +21,0,0.5,0.050803708441447784,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +22,0,0.5,0.06435181182632825,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +23,0,0.5,0.030476021908983575,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +24,0,0.5,0.06753110118348127,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +25,0,0.5,0.08557003888195416,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +26,0,0.5,0.05893369691631924,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +27,0,0.5,0.05299233458323648,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +28,0,0.5,0.09766709059651993,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +30,0,0.5,0.041395153762440594,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +31,0,0.5,0.08469943228614278,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +32,0,0.5,0.027458456539930017,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +33,0,0.5,0.04474700839928627,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +34,0,0.5,0.054438717216750136,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +35,0,0.5,0.06698896629163689,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +36,0,0.5,0.05537146320948449,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +37,0,0.5,0.08335981088857408,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +38,0,0.5,0.09551666612653617,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +39,0,0.5,0.03308453615422502,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +40,0,0.5,0.05344282625786364,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +41,0,0.5,0.015584460665783657,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +42,0,0.5,0.030412223454842232,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +44,0,0.5,0.03975760721084315,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +45,0,0.5,0.08570117809129703,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +46,0,0.5,0.0913165837010767,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +47,0,0.5,0.06008590734712461,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +48,0,0.5,0.0843886997778183,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +49,0,0.5,0.042213700955490686,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +50,0,0.5,0.06756146229291377,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +51,0,0.5,0.04067696442022873,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +53,0,0.5,0.09273838614740944,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +54,0,0.5,0.02442369599163079,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +55,0,0.5,0.08146711210649522,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +56,0,0.5,0.028181884619843733,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +US,0,0.5,0.09088583932847878,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +01,0,0.975,0.12847857290515965,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +02,0,0.975,0.03398820448096211,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +04,0,0.975,0.16227370053352774,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +05,0,0.975,0.09751115772252528,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +06,0,0.975,0.05590538887251288,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +08,0,0.975,0.08381389895865045,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +09,0,0.975,0.07984438044764981,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +10,0,0.975,0.20982805039684918,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +11,0,0.975,0.12294884638853645,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +12,0,0.975,0.06893667543912996,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +13,0,0.975,0.13052516315002724,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +15,0,0.975,0.10385081959615589,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +16,0,0.975,0.09611054122636065,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +17,0,0.975,0.06791969751727037,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +18,0,0.975,0.11698425838520088,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +19,0,0.975,0.030507915865079442,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +20,0,0.975,0.05605778014277546,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +21,0,0.975,0.09590617700598994,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +22,0,0.975,0.10971513682966441,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +23,0,0.975,0.07898846255191921,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +24,0,0.975,0.09910948794050337,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +25,0,0.975,0.13123067343271821,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +26,0,0.975,0.09536355760241358,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +27,0,0.975,0.07862199124774394,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +28,0,0.975,0.1624014148230618,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +30,0,0.975,0.07284955132417636,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +31,0,0.975,0.1477040873153509,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +32,0,0.975,0.05421562988795838,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +33,0,0.975,0.07155738612252992,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +34,0,0.975,0.10602926652449332,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +35,0,0.975,0.11332431002776198,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +36,0,0.975,0.1007775495202973,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +37,0,0.975,0.11929038508798193,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +38,0,0.975,0.14411921976456213,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +39,0,0.975,0.10226294640919444,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +40,0,0.975,0.07687468968701441,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +41,0,0.975,0.03398673860898025,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +42,0,0.975,0.05316820467640488,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +44,0,0.975,0.06371879900960314,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +45,0,0.975,0.19502278783869056,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +46,0,0.975,0.13077064577814912,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +47,0,0.975,0.1295856861165579,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +48,0,0.975,0.1462038041604121,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +49,0,0.975,0.059783296923716485,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +50,0,0.975,0.12834418421089253,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +51,0,0.975,0.09908483624102725,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +53,0,0.975,0.15327079010449102,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +54,0,0.975,0.04592089731301356,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +55,0,0.975,0.17244347997013137,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +56,0,0.975,0.053139754516827155,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +US,0,0.975,0.20180975112173943,2025-09-20,2025-09-20,quantile,wk inc flu prop ed visits +01,1,0.025,0.028224762553278313,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +02,1,0.025,0.0,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +04,1,0.025,0.048391168857029536,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +05,1,0.025,0.02845880631318317,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +06,1,0.025,0.016420367946636084,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +08,1,0.025,0.022107535791373863,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +09,1,0.025,0.01705564341971833,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +10,1,0.025,0.018425158703860935,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +11,1,0.025,0.021453751989472258,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +12,1,0.025,0.02425339084809473,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +13,1,0.025,0.044449326104638975,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +15,1,0.025,0.006075646881758097,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +16,1,0.025,0.012166406822249726,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +17,1,0.025,0.018462592022450472,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +18,1,0.025,0.03285610220998157,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +19,1,0.025,0.0009951347797301736,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +20,1,0.025,0.009701259323985894,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +21,1,0.025,0.02300410466581726,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +22,1,0.025,0.02327278933512352,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +23,1,0.025,0.005886187140621768,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +24,1,0.025,0.0380076572621886,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +25,1,0.025,0.046459599920162076,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +26,1,0.025,0.027836030612090532,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +27,1,0.025,0.030106659055439425,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +28,1,0.025,0.03947048596574332,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +30,1,0.025,0.016307515790033505,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +31,1,0.025,0.03518953362745148,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +32,1,0.025,0.008139945020580075,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +33,1,0.025,0.015110914301259574,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +34,1,0.025,0.014820239905808275,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +35,1,0.025,0.03969078821891563,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +36,1,0.025,0.02336318193013956,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +37,1,0.025,0.05142781079514884,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +38,1,0.025,0.0506654912988994,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +39,1,0.025,0.004205093655647102,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +40,1,0.025,0.030776135307850807,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +41,1,0.025,0.00298663379613879,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +42,1,0.025,0.00880055823936327,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +44,1,0.025,0.018812940062204173,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +45,1,0.025,0.02152186952645778,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +46,1,0.025,0.041005125864627505,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +47,1,0.025,0.011414649923147405,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +48,1,0.025,0.041293840356730824,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +49,1,0.025,0.02464949646564059,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +50,1,0.025,0.024317890326010658,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +51,1,0.025,0.0033628016759927847,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +53,1,0.025,0.04450754180415358,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +54,1,0.025,0.009358093113717996,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +55,1,0.025,0.029661132002802838,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +56,1,0.025,0.008706070508417665,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +US,1,0.025,0.019170527015706304,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +01,1,0.5,0.0715794949183866,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +02,1,0.5,0.006982947992928607,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +04,1,0.5,0.09579735039896228,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +05,1,0.5,0.06246332335720329,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +06,1,0.5,0.03348884769117563,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +08,1,0.5,0.04623537312791084,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +09,1,0.5,0.03994624007890141,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +10,1,0.5,0.07713132655118135,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +11,1,0.5,0.06335732976895021,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +12,1,0.5,0.04770369406116062,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +13,1,0.5,0.07712944404783978,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +15,1,0.5,0.04043500302011451,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +16,1,0.5,0.04435496649671429,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +17,1,0.5,0.0407946086212328,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +18,1,0.5,0.0650908718679252,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +19,1,0.5,0.014022632780946856,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +20,1,0.5,0.02766715503059272,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +21,1,0.5,0.05437836633985722,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +22,1,0.5,0.06171019428511416,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +23,1,0.5,0.03045075520731759,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +24,1,0.5,0.07071017659148211,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +25,1,0.5,0.0873176811125009,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +26,1,0.5,0.06058516959363321,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +27,1,0.5,0.05557876842793594,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +28,1,0.5,0.10208740511549498,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +30,1,0.5,0.04309168467707176,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +31,1,0.5,0.08378588136087217,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +32,1,0.5,0.031921238804858566,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +33,1,0.5,0.04410177994595068,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +34,1,0.5,0.054594568461443636,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +35,1,0.5,0.07136383297469151,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +36,1,0.5,0.05274054797889718,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +37,1,0.5,0.0806210488480158,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +38,1,0.5,0.09621902919538027,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +39,1,0.5,0.034785923993225776,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +40,1,0.5,0.05400947353289183,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +41,1,0.5,0.017678810541480888,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +42,1,0.5,0.0308219710447148,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +44,1,0.5,0.041588276648692746,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +45,1,0.5,0.08431304198105487,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +46,1,0.5,0.0915767191999995,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +47,1,0.5,0.06478568017431612,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +48,1,0.5,0.08693019115783855,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +49,1,0.5,0.04284136972066919,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +50,1,0.5,0.07487087254579033,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +51,1,0.5,0.04496644141758274,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +53,1,0.5,0.09830602245371806,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +54,1,0.5,0.02479883726579768,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +55,1,0.5,0.09499991431046868,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +56,1,0.5,0.02785890850252432,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +US,1,0.5,0.0828622013327593,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +01,1,0.975,0.16961512799769365,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +02,1,0.975,0.04741288552227815,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +04,1,0.975,0.17823245444850982,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +05,1,0.975,0.1194896012454352,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +06,1,0.975,0.06080349656866232,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +08,1,0.975,0.08879045838490317,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +09,1,0.975,0.1024244947422871,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +10,1,0.975,0.26343173503251016,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +11,1,0.975,0.17889174593440554,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +12,1,0.975,0.07451463844436927,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +13,1,0.975,0.15239115118463295,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +15,1,0.975,0.11559769259898202,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +16,1,0.975,0.1227662050840074,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +17,1,0.975,0.08005137117954769,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +18,1,0.975,0.1330436259507126,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +19,1,0.975,0.03703518075810211,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +20,1,0.975,0.0696845008756336,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +21,1,0.975,0.12485021450677813,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +22,1,0.975,0.13549754406747372,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +23,1,0.975,0.10710029372582218,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +24,1,0.975,0.11117452567978782,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +25,1,0.975,0.15468781449880487,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +26,1,0.975,0.11463089550898597,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +27,1,0.975,0.08970004773526796,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +28,1,0.975,0.19621985856437782,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +30,1,0.975,0.09014551095353028,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +31,1,0.975,0.18632049734813394,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +32,1,0.975,0.07353564965177802,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +33,1,0.975,0.0897643543938057,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +34,1,0.975,0.13786188022394547,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +35,1,0.975,0.12023073096351372,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +36,1,0.975,0.12280901738662661,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +37,1,0.975,0.1258927898895866,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +38,1,0.975,0.16364435648441028,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +39,1,0.975,0.1391160849544179,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +40,1,0.975,0.09650753359821146,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +41,1,0.975,0.042061032804977846,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +42,1,0.975,0.06752840387450602,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +44,1,0.975,0.07668465055670556,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +45,1,0.975,0.2678206909741609,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +46,1,0.975,0.14570267664668118,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +47,1,0.975,0.20139993100882575,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +48,1,0.975,0.16634095966178475,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +49,1,0.975,0.07401603034130358,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +50,1,0.975,0.1543741412199316,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +51,1,0.975,0.15262794105342714,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +53,1,0.975,0.1650264088347776,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +54,1,0.975,0.0668459285453366,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +55,1,0.975,0.21471446651134105,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +56,1,0.975,0.06706714062884142,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits +US,1,0.975,0.27624520170793027,2025-09-27,2025-09-20,quantile,wk inc flu prop ed visits diff --git a/tests/integration/test_gbqr.py b/tests/integration/test_gbqr.py index ffb09e5..37a452f 100644 --- a/tests/integration/test_gbqr.py +++ b/tests/integration/test_gbqr.py @@ -6,15 +6,102 @@ import lightgbm import numpy import pandas as pd +import pytest from pandas.testing import assert_frame_equal from idmodels.gbqr import GBQRModel -def test_gbqr(tmp_path): +# Co-written with Claude +def test_combined_state_and_hsa_fail(tmp_path): + date = datetime.date.fromisoformat("2025-09-27") + model_config = create_test_gbqr_model_config(sources=["nssp"]) + run_config = create_test_gbqr_run_config(ref_date=date, states=["44"], hsas=["1", "25"], tmp_path=tmp_path) + + with pytest.raises(NotImplementedError, match="simultaneously forecasting"): + model = GBQRModel(model_config) + model.run(run_config) + raise NotImplementedError("simultaneously forecasting") + +def test_gbqr_nhsn(tmp_path): + date = datetime.date.fromisoformat("2024-01-06") + fips_codes = ["US", "01", "02", "04", "05", "06", "08", "09", "10", "11", + "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", + "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", + "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", + "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", + "55", "56", "72"] + model_config = create_test_gbqr_model_config(sources = ["flusurvnet", "nhsn", "ilinet"]) + run_config = create_test_gbqr_run_config(ref_date=date, states=fips_codes, hsas=[], tmp_path=tmp_path) + + # patch lgb.LGBMRegressor's `predict()` to return the same values to make the tests reproducible across OSs + with patch.object(lightgbm.sklearn.LGBMModel, "predict", return_value=_predictions_val()): + model = GBQRModel(model_config) + model.run(run_config) + actual_df = pd.read_csv( + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" + ) + expected_df = pd.read_csv( + Path("tests") / "integration" / "data" / + f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" + ) + assert_frame_equal(actual_df, expected_df) + +@pytest.mark.parametrize("fips_codes, nci_ids", [ + # Missouri (29) does not submit to NSSP + (["US", "01", "02", "04", "05", "06", "08", "09", "10", "11", + "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", + "23", "24", "25", "26", "27", "28", "30", "31", "32", + "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", + "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", + "55", "56"], + []), + + ([], + ["1", "25", "99"]) +]) +def test_gbqr_nssp(tmp_path, fips_codes, nci_ids): + date = datetime.date.fromisoformat("2025-09-20") + model_config = create_test_gbqr_model_config(sources=["nssp"]) + run_config = create_test_gbqr_run_config(ref_date=date, states=fips_codes, hsas=nci_ids, tmp_path=tmp_path) + + # patch the `_np_percentile()` helper function return the same values to make the tests reproducible across OSs + if fips_codes != []: + locs_len = 51 # nssp data only covers 51 locations (x3 quantiles) + agg_level = "state" + else: + locs_len = 3 # only forecast for 3 hsas + agg_level = "hsa" + + # patch lgb.LGBMRegressor's `predict()` to return the same values to make the tests reproducible across OSs + with patch.object(lightgbm.sklearn.LGBMModel, "predict", return_value=_predictions_val()[0:(locs_len*3)]): + model = GBQRModel(model_config) + model.run(run_config) + actual_df = pd.read_csv( + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" + ) + expected_df = pd.read_csv( + Path("tests") / "integration" / "data" / + f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}-{agg_level}.csv" + ) + assert_frame_equal(actual_df, expected_df) + + +def create_test_gbqr_model_config(sources): + if "nhsn" in sources: + main_source = "nhsn" + elif "nssp" in sources: + main_source = "nssp" + else: + main_source = None + model_config = SimpleNamespace( model_class = "gbqr", - model_name = "gbqr_no_reporting_adj", + model_name = "gbqr_" + main_source + "_no_reporting_adj", incl_level_feats = True, @@ -24,51 +111,33 @@ def test_gbqr(tmp_path): # adjustments to reporting reporting_adj = False, - + # data sources and adjustments for reporting issues - sources = ["flusurvnet", "nhsn", "ilinet"], - + sources = sources, + # fit locations separately or jointly fit_locations_separately = False, - + # power transform applied to surveillance signals - power_transform = "4rt" + power_transform = "4rt", ) + return model_config - +def create_test_gbqr_run_config(ref_date, states, hsas, tmp_path): run_config = SimpleNamespace( disease="flu", - ref_date=datetime.date.fromisoformat("2024-01-06"), + ref_date=ref_date, output_root=tmp_path / "model-output", artifact_store_root=tmp_path / "artifact-store", save_feat_importance=False, - locations=["US", "01", "02", "04", "05", "06", "08", "09", "10", "11", - "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", - "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", - "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", - "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", - "55", "56", "72"], + states=states, + hsas = hsas, max_horizon=3, q_levels = [0.025, 0.50, 0.975], q_labels = ["0.025", "0.5", "0.975"], num_bags = 10 ) - - # patch lgb.LGBMRegressor's `predict()` to return the same values to make the tests reproducible across OSs - with patch.object(lightgbm.sklearn.LGBMModel, "predict", return_value=_predictions_val()): - model = GBQRModel(model_config) - model.run(run_config) - actual_df = pd.read_csv( - run_config.output_root / "UMass-gbqr_no_reporting_adj" / - "2024-01-06-UMass-gbqr_no_reporting_adj.csv" - ) - expected_df = pd.read_csv( - Path("tests") / "integration" / "data" / - "UMass-gbqr_no_reporting_adj" / - "2024-01-06-UMass-gbqr_no_reporting_adj.csv" - ) - assert_frame_equal(actual_df, expected_df) - + return run_config def _predictions_val(): return numpy.array([ diff --git a/tests/integration/test_sarix.py b/tests/integration/test_sarix.py index 7619443..e45f1c5 100644 --- a/tests/integration/test_sarix.py +++ b/tests/integration/test_sarix.py @@ -5,135 +5,114 @@ import numpy import pandas as pd +import pytest from pandas.testing import assert_frame_equal from idmodels.sarix import SARIXFourierModel, SARIXModel -def test_sarix(tmp_path): - model_config = SimpleNamespace( - model_class = "sarix", - model_name = "sarix_p6_4rt_thetashared_sigmanone", - - # data sources and adjustments for reporting issues - sources = ["nhsn"], - - # fit locations separately or jointly - fit_locations_separately = False, - - # SARI model parameters - p = 6, - P = 0, - d = 0, - D = 0, - season_period = 1, - - # power transform applied to surveillance signals - power_transform = "4rt", +# Co-written with Claude +def test_combined_state_and_hsa_fail(tmp_path): + date = datetime.date.fromisoformat("2025-09-27") + model_config = create_test_sarix_model_config(main_source=["nssp"], theta_pooling="shared", sigma_pooling="none") + run_config = create_test_sarix_run_config(ref_date=date, states=["44"], hsas=["1", "25"], num=50, tmp_path=tmp_path) + + with pytest.raises(NotImplementedError, match="simultaneously forecasting"): + model = SARIXModel(model_config) + model.run(run_config) + raise NotImplementedError("simultaneously forecasting") + + +def test_sarix_nhsn(tmp_path): + date = datetime.date.fromisoformat("2024-01-06") + fips_codes = ["US", "01", "02", "04", "05", "06", "08", "09", "10", "11", + "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", + "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", + "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", + "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", + "55", "56", "72"] + model_config = create_test_sarix_model_config(main_source=["nhsn"], theta_pooling="shared", sigma_pooling="none") + run_config = create_test_sarix_run_config(ref_date=date, states=fips_codes, hsas=[], num=200, tmp_path=tmp_path) + + # patch the `_np_percentile()` helper function return the same values to make the tests reproducible across OSs + with patch("idmodels.sarix._np_percentile", return_value=_np_percentile_val()): + model = SARIXModel(model_config) + model.run(run_config) - # sharing of information about parameters - theta_pooling="shared", - sigma_pooling="none", - - # covariates - x = [] + actual_df = pd.read_csv( + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" ) - - run_config = SimpleNamespace( - disease="flu", - ref_date=datetime.date.fromisoformat("2024-01-06"), - output_root=tmp_path / "model-output", - artifact_store_root=tmp_path / "artifact-store", - save_feat_importance=False, - locations=["US", "01", "02", "04", "05", "06", "08", "09", "10", "11", - "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", - "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", - "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", - "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", - "55", "56", "72"], - max_horizon=3, - q_levels = [0.025, 0.50, 0.975], - q_labels = ["0.025", "0.5", "0.975"], - num_warmup = 200, - num_samples = 200, - num_chains = 1 + expected_df = pd.read_csv( + Path("tests") / "integration" / "data" / + f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" ) + assert_frame_equal(actual_df, expected_df) + +@pytest.mark.parametrize("fips_codes, nci_ids", [ + # Missouri (29) does not submit to NSSP + (["US", "01", "02", "04", "05", "06", "08", "09", "10", "11", + "12", "13", "15", "16", "17", "18", "19", "20", "21", "22", + "23", "24", "25", "26", "27", "28", "30", "31", "32", + "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", + "44", "45", "46", "47", "48", "49", "50", "51", "53", "54", + "55", "56"], + []), + + ([], + ["1", "25", "99"]) +]) +def test_sarix_nssp(tmp_path, fips_codes, nci_ids): + date = datetime.date.fromisoformat("2025-09-20") + model_config = create_test_sarix_model_config(main_source=["nssp"], theta_pooling="shared", sigma_pooling="none") + run_config = create_test_sarix_run_config(ref_date=date, states=fips_codes, hsas=nci_ids, num=200, tmp_path=tmp_path) + # patch the `_np_percentile()` helper function return the same values to make the tests reproducible across OSs - with patch("idmodels.sarix._np_percentile", return_value=_np_percentile_val()): + if fips_codes != []: + locs_len = 51 # nssp data only covers 51 locations + agg_level = "state" + else: + locs_len = 3 # only forecast for 3 hsas + agg_level = "hsa" + + with patch("idmodels.sarix._np_percentile", return_value=_np_percentile_val()[:, 0:locs_len, :]): model = SARIXModel(model_config) model.run(run_config) actual_df = pd.read_csv( - run_config.output_root / "UMass-sarix_p6_4rt_thetashared_sigmanone" / - "2024-01-06-UMass-sarix_p6_4rt_thetashared_sigmanone.csv" + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" ) expected_df = pd.read_csv( Path("tests") / "integration" / "data" / - "UMass-sarix_p6_4rt_thetashared_sigmanone" / - "2024-01-06-UMass-sarix_p6_4rt_thetashared_sigmanone.csv" + f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}-{agg_level}.csv" ) assert_frame_equal(actual_df, expected_df) def test_sarix_shared_sigma_pooling_multiple_batches(tmp_path): """Test that sigma_pooling='shared' works correctly with multiple batches (locations).""" - model_config = SimpleNamespace( - model_class = "sarix", - model_name = "sarix_p6_4rt_thetanone_sigmashared", - - # data sources and adjustments for reporting issues - sources = ["nhsn"], - - # fit locations separately or jointly - fit_locations_separately = False, - - # SARI model parameters - p = 6, - P = 0, - d = 0, - D = 0, - season_period = 1, - - # power transform applied to surveillance signals - power_transform = "4rt", - - # sharing of information about parameters - theta_pooling="none", - sigma_pooling="shared", # This is what we're testing - - # covariates - x = [] - ) - # Use multiple locations to ensure we have multiple batches - run_config = SimpleNamespace( - disease="flu", - ref_date=datetime.date.fromisoformat("2024-01-06"), - output_root=tmp_path / "model-output", - artifact_store_root=tmp_path / "artifact-store", - save_feat_importance=False, - locations=["US", "01", "02", "04", "05"], # Multiple locations = multiple batches - max_horizon=3, - q_levels = [0.025, 0.50, 0.975], - q_labels = ["0.025", "0.5", "0.975"], - num_warmup = 100, # Reduced for faster testing - num_samples = 100, - num_chains = 1 - ) - + date = datetime.date.fromisoformat("2024-01-06") + fips_codes = ["US", "01", "02", "04", "05"] # Multiple locs = multiple batches + model_config = create_test_sarix_model_config(main_source=["nhsn"], theta_pooling="none", sigma_pooling="shared") + run_config = create_test_sarix_run_config(ref_date=date, states=fips_codes, hsas=[], num=200, tmp_path=tmp_path) + model = SARIXModel(model_config) model.run(run_config) actual_df = pd.read_csv( - run_config.output_root / "UMass-sarix_p6_4rt_thetanone_sigmashared" / - "2024-01-06-UMass-sarix_p6_4rt_thetanone_sigmashared.csv" + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" ) # Verify the output has the expected structure assert len(actual_df) > 0, "Output dataframe should not be empty" - assert set(actual_df["location"].unique()) == set(run_config.locations), \ - "Output should contain predictions for all input locations" + assert set(actual_df["location"].unique()) == set(run_config.states), \ + "Output should contain predictions for all input states" assert all(actual_df["output_type"] == "quantile"), \ "All outputs should be quantiles" # Convert output_type_id to string for comparison since pandas may infer numeric types @@ -179,35 +158,24 @@ def test_sarix_fourier_none_pooling(tmp_path): x=[] ) - # Use subset of locations for faster testing - run_config = SimpleNamespace( - disease="flu", - ref_date=datetime.date.fromisoformat("2024-01-06"), - output_root=tmp_path / "model-output", - artifact_store_root=tmp_path / "artifact-store", - save_feat_importance=False, - locations=["US", "01", "02", "04", "05"], - max_horizon=2, # Reduced for faster testing - q_levels=[0.025, 0.50, 0.975], - q_labels=["0.025", "0.5", "0.975"], - num_warmup=50, # Reduced for faster testing - num_samples=50, - num_chains=1 - ) + date = datetime.date.fromisoformat("2024-01-06") + fips_codes = ["US", "01", "02", "04", "05"] # fewer locs for faster testing + # model_config = create_test_sarix_model_config(main_source=["nhsn"], theta_pooling="shared", sigma_pooling="none") + run_config = create_test_sarix_run_config(ref_date=date, states=fips_codes, hsas=[], num=50, tmp_path=tmp_path) model = SARIXFourierModel(model_config) model.run(run_config) # Verify output structure actual_df = pd.read_csv( - run_config.output_root / "UMass-sarix_p2_fourier_K2_none" / - "2024-01-06-UMass-sarix_p2_fourier_K2_none.csv" + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" ) # Assertions assert len(actual_df) > 0, "Output dataframe should not be empty" - assert set(actual_df["location"].unique()) == set(run_config.locations), \ - "Output should contain predictions for all input locations" + assert set(actual_df["location"].unique()) == set(run_config.states), \ + "Output should contain predictions for all input states" assert all(actual_df["output_type"] == "quantile"), \ "All outputs should be quantiles" assert set(actual_df["output_type_id"].astype(str).unique()) == set(run_config.q_labels), \ @@ -252,35 +220,24 @@ def test_sarix_fourier_shared_pooling(tmp_path): x=[] ) - # Use subset of locations for faster testing - run_config = SimpleNamespace( - disease="flu", - ref_date=datetime.date.fromisoformat("2024-01-06"), - output_root=tmp_path / "model-output", - artifact_store_root=tmp_path / "artifact-store", - save_feat_importance=False, - locations=["US", "01", "02", "04", "05"], - max_horizon=2, - q_levels=[0.025, 0.50, 0.975], - q_labels=["0.025", "0.5", "0.975"], - num_warmup=50, - num_samples=50, - num_chains=1 - ) + date = datetime.date.fromisoformat("2024-01-06") + fips_codes = ["US", "01", "02", "04", "05"] # fewer locs for faster testing + # model_config = create_test_sarix_model_config(main_source=["nhsn"], theta_pooling="shared", sigma_pooling="none") + run_config = create_test_sarix_run_config(ref_date=date, states=fips_codes, hsas=[], num=50, tmp_path=tmp_path) model = SARIXFourierModel(model_config) model.run(run_config) # Verify output structure actual_df = pd.read_csv( - run_config.output_root / "UMass-sarix_p2_fourier_K2_shared" / - "2024-01-06-UMass-sarix_p2_fourier_K2_shared.csv" + run_config.output_root / f"UMass-{model_config.model_name}" / + f"{str(run_config.ref_date)}-UMass-{model_config.model_name}.csv" ) # Assertions assert len(actual_df) > 0, "Output dataframe should not be empty" - assert set(actual_df["location"].unique()) == set(run_config.locations), \ - "Output should contain predictions for all input locations" + assert set(actual_df["location"].unique()) == set(run_config.states), \ + "Output should contain predictions for all input states" assert all(actual_df["output_type"] == "quantile"), \ "All outputs should be quantiles" assert set(actual_df["output_type_id"].astype(str).unique()) == set(run_config.q_labels), \ @@ -313,7 +270,8 @@ def test_sarix_fourier_missing_pooling_parameter(): output_root=Path("/tmp") / "model-output", artifact_store_root=Path("/tmp") / "artifact-store", save_feat_importance=False, - locations=["US"], + states=["US"], + hsas=[], max_horizon=1, q_levels=[0.5], q_labels=["0.5"], @@ -333,6 +291,55 @@ def test_sarix_fourier_missing_pooling_parameter(): f"Error should mention fourier_pooling, got: {str(e)}" +def create_test_sarix_model_config(main_source, theta_pooling, sigma_pooling): + model_config = SimpleNamespace( + model_class = "sarix", + model_name = "sarix_" + main_source[0] + "_p6_4rt_theta" + theta_pooling + "_sigma" + sigma_pooling, + + # data sources and adjustments for reporting issues + sources = main_source, + + # fit locations separately or jointly + fit_locations_separately = False, + + # SARI model parameters + p = 6, + P = 0, + d = 0, + D = 0, + season_period = 1, + + # power transform applied to surveillance signals + power_transform = "4rt", + + # sharing of information about parameters + theta_pooling=theta_pooling, + sigma_pooling=sigma_pooling, + + # covariates + x = [] + ) + return model_config + +def create_test_sarix_run_config(ref_date, states, hsas, num, tmp_path): + run_config = SimpleNamespace( + disease="flu", + ref_date=ref_date, + output_root=tmp_path / "model-output", + artifact_store_root=tmp_path / "artifact-store", + save_feat_importance=False, + states=states, + hsas = hsas, + max_horizon=3, + q_levels = [0.025, 0.50, 0.975], + q_labels = ["0.025", "0.5", "0.975"], + num_warmup = num, + num_samples = num, + num_chains = 1 + ) + return run_config + + def _np_percentile_val(): return numpy.array( [[[2.22541624e-01, 1.82324940e-01, 1.27709944e-01],