diff --git a/changelog.d/restore-medical-oop-expenses-alias.added.md b/changelog.d/restore-medical-oop-expenses-alias.added.md new file mode 100644 index 00000000000..f77fd05ee46 --- /dev/null +++ b/changelog.d/restore-medical-oop-expenses-alias.added.md @@ -0,0 +1 @@ +Restore `medical_out_of_pocket_expenses` as a deprecation alias that forwards into `other_medical_expenses`, easing migration from the variable removed in 1.673.0. The alias is documented as deprecated and will be removed in a future release. diff --git a/policyengine_us/tests/policy/baseline/household/expense/health/medical_out_of_pocket_expenses.yaml b/policyengine_us/tests/policy/baseline/household/expense/health/medical_out_of_pocket_expenses.yaml new file mode 100644 index 00000000000..ebf80fe6e34 --- /dev/null +++ b/policyengine_us/tests/policy/baseline/household/expense/health/medical_out_of_pocket_expenses.yaml @@ -0,0 +1,22 @@ +- name: Legacy medical_out_of_pocket_expenses input flows into other_medical_expenses. + period: 2025 + input: + medical_out_of_pocket_expenses: 1_000 + output: + other_medical_expenses: 1_000 + +- name: Direct other_medical_expenses input overrides the legacy alias. + period: 2025 + input: + medical_out_of_pocket_expenses: 1_000 + other_medical_expenses: 250 + output: + other_medical_expenses: 250 + +- name: Legacy alias defaults to zero when not supplied. + period: 2025 + input: + age: 30 + output: + medical_out_of_pocket_expenses: 0 + other_medical_expenses: 0 diff --git a/policyengine_us/variables/household/expense/health/medical_out_of_pocket_expenses.py b/policyengine_us/variables/household/expense/health/medical_out_of_pocket_expenses.py new file mode 100644 index 00000000000..d69d336bbac --- /dev/null +++ b/policyengine_us/variables/household/expense/health/medical_out_of_pocket_expenses.py @@ -0,0 +1,17 @@ +from policyengine_us.model_api import * + + +class medical_out_of_pocket_expenses(Variable): + value_type = float + entity = Person + label = "Medical out-of-pocket expenses (deprecated)" + unit = USD + definition_period = YEAR + documentation = ( + "DEPRECATED. Removed in 1.673.0 and restored as a temporary " + "alias to ease migration. Values supplied here are forwarded " + "into `other_medical_expenses`. Migrate to `other_medical_expenses` " + "for non-premium medical spending and to `health_insurance_premiums` " + "if your value previously included health insurance premiums. " + "This alias will be removed in a future release." + ) diff --git a/policyengine_us/variables/household/expense/health/other_medical_expenses.py b/policyengine_us/variables/household/expense/health/other_medical_expenses.py index a882a586b7e..15f2ff30900 100644 --- a/policyengine_us/variables/household/expense/health/other_medical_expenses.py +++ b/policyengine_us/variables/household/expense/health/other_medical_expenses.py @@ -8,3 +8,4 @@ class other_medical_expenses(Variable): unit = USD definition_period = YEAR uprating = "calibration.gov.hhs.cms.moop_per_capita" + adds = ["medical_out_of_pocket_expenses"]