Skip to content

Commit

Permalink
Pregnant person counted as 2 for Medicaid (and CHP+) (#5249)
Browse files Browse the repository at this point in the history
* change medicaid fpg percent to count pregnant people as 2 for purposes of household size

* changelog

* format

* add documentation for pregant women and medicaid

* format

* add expected children do be delivered variable

* format

* current_pregnancies

* fomat

* add all parameters to test
  • Loading branch information
CalebPena authored Oct 21, 2024
1 parent bb73985 commit d3eedc6
Show file tree
Hide file tree
Showing 6 changed files with 113 additions and 6 deletions.
4 changes: 4 additions & 0 deletions changelog_entry.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
- bump: patch
changes:
fixed:
- Pregnant people counted as 2 for Medicaid FPG percent
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
- name: Multiple people with income
period: 2024
input:
people:
head:
current_pregnancies: 0
spouse:
current_pregnancies: 0
tax_units:
tax_unit:
medicaid_magi: 20_440
tax_unit_size: 2
members: [head, spouse]
households:
household:
state_group_str: CONTIGUOUS_US
output:
tax_unit_medicaid_income_level: 1

- name: Multiple people with no income
period: 2024
input:
people:
head:
current_pregnancies: 0
spouse:
current_pregnancies: 0
tax_units:
tax_unit:
medicaid_magi: 0
tax_unit_size: 2
members: [head, spouse]
households:
household:
state_group_str: CONTIGUOUS_US
output:
tax_unit_medicaid_income_level: 0

- name: Multiple people with income and a pregnant person
period: 2024
input:
people:
head:
current_pregnancies: 1
spouse:
current_pregnancies: 0
tax_units:
tax_unit:
medicaid_magi: 25_820
tax_unit_size: 2
members: [head, spouse]
households:
household:
state_group_str: CONTIGUOUS_US
output:
tax_unit_medicaid_income_level: 1

- name: Multiple people with income and a pregnant person expecting twins
period: 2024
input:
people:
head:
current_pregnancies: 2
spouse:
current_pregnancies: 0
tax_units:
tax_unit:
medicaid_magi: 31_200
tax_unit_size: 2
members: [head, spouse]
households:
household:
state_group_str: CONTIGUOUS_US
output:
tax_unit_medicaid_income_level: 1
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
from policyengine_us.model_api import *
from policyengine_us.variables.gov.hhs.tax_unit_fpg import fpg


class tax_unit_medicaid_income_level(Variable):
Expand All @@ -10,10 +11,24 @@ class tax_unit_medicaid_income_level(Variable):
"Medicaid/CHIP-related MAGI as fraction of federal poverty line."
"Documentation: 'Federal poverty level (FPL)' at the following URL:"
"URL: https://www.healthcare.gov/glossary/federal-poverty-level-fpl/"
"**Pregnant Women:**"
" * Pregnant women are counted as themselves plus the number of children they are expecting to deliver"
" when determining household size for Medicaid eligibility."
" * Sources:"
" URL: https://www.sos.state.co.us/CCR/GenerateRulePdf.do?ruleVersionId=11618&fileName=10%20CCR%25202505-10%208.100"
" URL: https://www.cms.gov/marketplace/technical-assistance-resources/special-populations-pregnant-women.pdf"
)
definition_period = YEAR

def formula(tax_unit, period, parameters):
income = tax_unit("medicaid_magi", period)
fpg = tax_unit("tax_unit_fpg", period)
return income / fpg

pregnant_count = add(tax_unit, period, ["current_pregnancies"])
tax_unit_size = tax_unit("tax_unit_size", period)
state_group = tax_unit.household("state_group_str", period)

medicaid_fpg = fpg(
pregnant_count + tax_unit_size, state_group, period, parameters
)

return income / medicaid_fpg
12 changes: 8 additions & 4 deletions policyengine_us/variables/gov/hhs/tax_unit_fpg.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
from policyengine_us.model_api import *


def fpg(unit_size, state_group, period, parameters):
p_fpg = parameters(period).gov.hhs.fpg
p1 = p_fpg.first_person[state_group]
pn = p_fpg.additional_person[state_group]
return p1 + pn * (unit_size - 1)


class tax_unit_fpg(Variable):
value_type = float
entity = TaxUnit
Expand All @@ -11,7 +18,4 @@ class tax_unit_fpg(Variable):
def formula(tax_unit, period, parameters):
n = tax_unit("tax_unit_size", period)
state_group = tax_unit.household("state_group_str", period)
p_fpg = parameters(period).gov.hhs.fpg
p1 = p_fpg.first_person[state_group]
pn = p_fpg.additional_person[state_group]
return p1 + pn * (n - 1)
return fpg(n, state_group, period, parameters)
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
from policyengine_us.model_api import *


class current_pregnancies(Variable):
value_type = int
entity = Person
definition_period = YEAR
label = "The number of children a pregnant person is expecting"
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ class is_pregnant(Variable):
entity = Person
label = "Is pregnant"
definition_period = YEAR
adds = ["current_pregnancies"]

0 comments on commit d3eedc6

Please sign in to comment.