The model denies Medicaid to expansion-group adults in Virginia, Maine, Idaho and Utah in 2019 or 2020, when those states covered them
Maintainer thường phản hồi trong vòng 2 ngày
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 77/100
Hướng nghiên cứu
Bắt đầu với policyengine_us/parameters/gov/hhs/medicaid/eligibility/categories/adult/income_limit.yaml và đối chiếu các tài liệu phê duyệt CMS được trích dẫn với ngày tháng của từng tiểu bang. Đọc cách tra cứu vào ngày 1 tháng 1 trong policyengine_us/variables/gov/hhs/medicaid/eligibility/categories/adult/is_adult_for_medicaid_fc.py, sau đó chạy quy trình tái hiện trong issue. Hoàn tất khi ngày tháng và giới hạn trong YAML khớp với ngày bắt đầu phạm vi bảo hiểm được ghi trong tài liệu, và kết quả năm 2019–2021 khớp với các hàng đã chỉnh sửa trong issue.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The model opens the Medicaid adult group in Virginia, Maine, Idaho and Utah on January 1, 2021. Virginia and Maine covered that group throughout 2019 and 2020, and Idaho and Utah throughout 2020, so an adult who qualifies only through it gets no Medicaid from the model in those years.
For example, a 30-year-old with no children and $15,000 of wages gets a medicaid_category of NONE in each of those states and years, and is_aca_ptc_eligible returns true. Those wages came to 120% of the federal poverty guideline for one person in 2019 ($12,490) and 118% in 2020 ($12,760). The same adult in Kentucky gets the ADULT category in both years.
Any calculation for 2019 or 2020 finds the adult group closed in these states, whether it covers one household or a microsimulation. Calculations for 2021 onward read the 138% limit in all four states.
What the model reads
The adult group's income_limit.yaml holds -.inf from 2018-01-01 and 1.38 from 2021-01-01 for Idaho, Maine, Nebraska, and Utah and Virginia.
The file cites a KFF table filtered to January 2018, January 2021 and January 2025 as its first reference. Each of these five states expanded between the first two dates and starts at 2021-01-01 in the file.
is_adult_for_medicaid_fc reads the limit at the start of the year, so each state's adult group opens in 2021.
When each state began covering the adult group
| State | Start in the file | Coverage start | Government source | Calendar years the corrected date changes |
|---|---|---|---|---|
| Virginia | 2021-01-01 | January 1, 2019 | CMS approval of July 9, 2020 for Virginia's section 1115 demonstration, page 8 | 2019, 2020 |
| Maine | 2021-01-01 | July 2, 2018 | CMS approval of amendment 18-0006, April 3, 2019 | 2019, 2020 |
| Idaho | 2021-01-01 | January 1, 2020 | CMS approval of amendment ID-19-0007, November 13, 2019 | 2020 |
| Utah | 2021-01-01 | April 1, 2019 up to 95% of the guideline; January 1, 2020 up to 133% | CMS approval of December 16, 2020 for Utah's section 1115 demonstration, pages 7 and 19 | 2020 |
| Nebraska | 2021-01-01 | October 1, 2020 | CMS approval letter of October 20, 2020, page 4 | none |
- CMS approved Maine's amendment in April 2019 with an effective date of July 2, 2018, and said federal funds would match payments for services those adults received from that date (page 4).
- We already date Missouri's adult group from July 1, 2021, the effective date of the amendment CMS approved that December. Dating Maine the same way gives July 2, 2018.
- In its approval for Utah, CMS describes the 95% standard of an earlier demonstration group as effectively 100% with the five-point income disregard (pages 6 and 25). That group's members moved into the adult group on April 1, 2019 (page 26), so we read the April 2019 limit as 1.00, the way the file stores 133% as 1.38.
- Nebraska's October start changes no calendar-year result, because the model reads the limit on January 1.
- The Oklahoma, South Dakota and North Carolina rows match the dates in CMS's approval for Oklahoma, CMS's approval of South Dakota's matching-rate amendment and North Carolina's announcement.
Reproduction
from policyengine_core.reforms import Reform
from policyengine_us import Simulation
STATES = ["KY", "VA", "ME", "ID", "UT", "NE"]
YEARS = [2019, 2020, 2021]
GROUPS = ["tax_units", "spm_units", "families", "marital_units", "households"]
def situation():
s = {"people": {}, **{group: {} for group in GROUPS}}
for st in STATES:
s["people"][st] = {
"age": {y: 30 for y in YEARS},
"employment_income": {y: 15_000 for y in YEARS},
}
for group in GROUPS:
s[group][f"{group}_{st}"] = {"members": [st]}
s["households"][f"households_{st}"]["state_code"] = {y: st for y in YEARS}
return s
def show(label, sim):
for year in YEARS:
for variable in ["medicaid_category", "is_aca_ptc_eligible"]:
values = sim.calculate(variable, year)
if variable == "medicaid_category":
values = values.decode_to_str()
cells = [f"{st}={v}" for st, v in zip(STATES, values)]
print(label, year, f"{variable:19}", *cells)
show("main ", Simulation(situation=situation()))
path = "gov.hhs.medicaid.eligibility.categories.adult.income_limit."
dated = Reform.from_dict(
{
path + "VA": {"2019-01-01.2020-12-31": 1.38},
path + "ME": {"2018-07-02.2020-12-31": 1.38},
path + "ID": {"2020-01-01.2020-12-31": 1.38},
path + "UT": {"2019-04-01.2019-12-31": 1.0, "2020-01-01.2020-12-31": 1.38},
path + "NE": {"2020-10-01.2020-12-31": 1.38},
},
country_id="us",
)
show("dated", Simulation(situation=situation(), reform=dated))
On main at 06c0dcb (2.116.19), this prints:
main 2019 medicaid_category KY=ADULT VA=NONE ME=NONE ID=NONE UT=NONE NE=NONE
main 2019 is_aca_ptc_eligible KY=False VA=True ME=True ID=True UT=True NE=True
main 2020 medicaid_category KY=ADULT VA=NONE ME=NONE ID=NONE UT=NONE NE=NONE
main 2020 is_aca_ptc_eligible KY=False VA=True ME=True ID=True UT=True NE=True
main 2021 medicaid_category KY=ADULT VA=ADULT ME=ADULT ID=ADULT UT=ADULT NE=ADULT
main 2021 is_aca_ptc_eligible KY=False VA=False ME=False ID=False UT=False NE=False
dated 2019 medicaid_category KY=ADULT VA=ADULT ME=ADULT ID=NONE UT=NONE NE=NONE
dated 2019 is_aca_ptc_eligible KY=False VA=False ME=False ID=True UT=True NE=True
dated 2020 medicaid_category KY=ADULT VA=ADULT ME=ADULT ID=ADULT UT=ADULT NE=NONE
dated 2020 is_aca_ptc_eligible KY=False VA=False ME=False ID=False UT=False NE=True
dated 2021 medicaid_category KY=ADULT VA=ADULT ME=ADULT ID=ADULT UT=ADULT NE=ADULT
dated 2021 is_aca_ptc_eligible KY=False VA=False ME=False ID=False UT=False NE=False
The main rows use the file as it stands. The dated rows apply the table's dates in memory.
Fix
Set the start dates in income_limit.yaml to Virginia 2019-01-01, Maine 2018-07-02, Idaho 2020-01-01, Utah 2019-04-01 (1.00) and 2020-01-01 (1.38), and Nebraska 2020-10-01, and cite the CMS documents above. With those dates, the adult qualifies in Virginia and Maine in 2019 and 2020, and in Idaho and Utah in 2020 (the dated rows).
- Ngôn ngữ chính
- Python
- Star
- 171
- Fork
- 220
- Merge trung bình
- 4 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 283
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của PolicyEngine/policyengine-us
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
PolicyEngine/policyengine-us#10894 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Nebraska's school readiness credit raises an error for an eligible child care worker who lives with a child or an adult without a level, where Nebraska bases the credit on the worker's own levelCó thể đã có người làm @MaxGhenis đã nhận 1 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
PolicyEngine/policyengine-us#10785 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
PolicyEngine/policyengine-us#10652 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
PolicyEngine/policyengine-us#10552 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
South Carolina OSS: require SSI's citizen or qualified-noncitizen test (S.C. Code Regs. 126-920)Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
PolicyEngine/policyengine-us#10545 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của PolicyEngine/policyengine-us
Issue tương tự
-
Contributing instructionsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
dbt-labs/spark-utils#51 ·
-
bug pydanty:is-working
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
pydantic/pydantic-ai#13444 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue help wanted
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
good first issue help wanted
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
-
changelog investigate
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
ramnes/notion-sdk-py#502 ·