policy_modules¶
Submodules¶
policy_modules.age_rating¶
policy_modules.calculate_regression¶
policy_modules.cost_sharing_subsidy¶
policy_modules.employer_penalty¶
policy_modules.exchange¶
-
class
policy_modules.exchange.
Exchange
(policy_dict=None)[source]¶ Bases:
object
-
affordability
(pop_df, wrk_df, Curr_esi, affordability_type)[source]¶ - based on affordability definition
affordability_type = 0 –> single affordability_type = 1 –> family affordability_type = 2 –> hybrid
- input:
df of population; must include person_id wrk_df; must include person_id, part_time status, and firm_id Curr_esi; must part_time; av_value self.esi_thresh is the threshold for affordability (0.0956)
- output:
8 by n matrix; at least 1 adult (not adult kid) or that individual has affordable esi
-
dynamic_exchange_update
(xc_prem, iter)[source]¶ first updates the statewide premiums and then uses the updated statewide premiums in order to calculate the regional premiums using the multiplier iter: indicates which xc iteration the dynamic exchange is running on
-
esi_afford_single
(pop_df, wrk_df, Curr_esi)[source]¶ - input:
pop_df: wrk_df: person_id, part_time status, and firm_id Curr_esi: must have part_time; av_value self.esi_thresh is the threshold for affordability (0.0956)
- output:
pop_df with one extra column: if a person has affordable esi coverage
- programmer:
xiao chen, March 19, 2017
appending 8 extra columns to choioce table for AV value adjusted exchange preimum (subsidized) the 8 columns are not choice specific, since it will be used only for calculating esi premiums
-
set_year
(curr_year, subsidy_to_undoc, afford_table, func_params={'av_threshold': 0.6, 'pmc_flag': None, 'xc_inflator': None}, region_parameters=None)[source]¶ return slice of pertinent year allows this to be reset at begining of each simulation year
returns choice table with extra columns for exchange premiums based on the choices
-
policy_modules.excise_tax¶
policy_modules.fam_tax¶
-
class
policy_modules.fam_tax.
FedTax
(tax_rates=None, tax_deductions=None)[source]¶ Bases:
policy_modules.fam_tax.Tax
Borg singleton config object for FedTax
-
class
policy_modules.fam_tax.
StateTax
(tax_rates=None, tax_deductions=None)[source]¶ Bases:
policy_modules.fam_tax.Tax
Borg singleton config object for StateTax
policy_modules.firm_tax¶
policy_modules.fpl¶
-
class
policy_modules.fpl.
Fpl
(policy_params=None, sys_params=None)[source]¶ Bases:
object
-
calculate_fpl
(df)[source]¶ calculate fpl based off of income note: data specified from set_year method
curr_data pd.DataFrame of current year fpl data income: pd.series of income family_size: pd.series of family_size
-
calculate_income
(fpl, family_size, df)[source]¶ calculate income based off of fpl note: data specified from set_year method
curr_data pd.DataFrame of current year fpl data fpl: pd.series of fpl family_size: pd.series of family_size
-
policy_modules.mcaid_elig¶
-
class
policy_modules.mcaid_elig.
McaidEligibility
(policy_dict=None, sys_params=None)[source]¶ Bases:
object
assuming df has mcaid_elig variable # pseudo-code: if xc_sub then msp = a0 else
if newly_elig then msp = a1 else if prev_elig then msp = a2 else if predicted elig then msp = a3
-
determine_elig
(df)[source]¶ input : a form of hieu_table, with fpl variable available output: the data frame of the same hieu_table with mcaid_elig column
and medicaid premium as well
# adjusted_prev_elig = previously elig, without ACA, from input data # predicted_elig = predicted probability, from input data # mcaid_elig = everyone who eligible post-ACA without prediction model # newly_elig = with ACA, calculated
-
pass_threshold
(threshold, prob)[source]¶ checks if the probability passed in exceeds the threshold level specified in the configuration file
policy_modules.min_wage¶
policy_modules.uninsured_penalty¶
-
class
policy_modules.uninsured_penalty.
UninsuredPenalty
(policy_dict=None)[source]¶ Bases:
object
-
cheapest_coverage
(exp_choices, pop_df)[source]¶ - input: choice table with esi premium and exchange premium calculated
pop_df with fam_income
return: hieu_level information on if a family has affordable plan the function determines based on list of criteria those exempt from paying penalty self.pnlt_unin_fam_use.max_pp is the lowest cost bronze plan
-