Skip to content

Commit

Permalink
add early intervention co function
Browse files Browse the repository at this point in the history
  • Loading branch information
CalebPena committed May 29, 2024
1 parent a947aa5 commit 51be305
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 16 deletions.
36 changes: 20 additions & 16 deletions programs/programs/urgent_needs/urgent_need_functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,19 @@ def can_calc(cls, missing_dependencies: Dependencies):
return True


class ChildAgeFunction(UrgentNeedFunction):
dependencies = ["age"]
min_age = 0
max_age = 18

@classmethod
def eligible(cls, screen: Screen):
"""
return True if the child is between the ages of min_age and max_age
"""
return screen.num_children(age_min=cls.min_age, age_max=cls.max_age) > 0


class LivesInDenver(UrgentNeedFunction):
dependencies = ["county"]

Expand Down Expand Up @@ -95,16 +108,9 @@ def eligible(cls, screen: Screen):
return screen.zipcode in zipcodes


class Child(UrgentNeedFunction):
class Child(ChildAgeFunction):
dependencies = ["age"]

@classmethod
def eligible(cls, screen: Screen):
"""
Return True if someone is younger than 18
"""
return screen.num_children(child_relationship=["all"]) > 0


class BiaFoodDelivery(UrgentNeedFunction):
dependencies = ["county"]
Expand Down Expand Up @@ -284,17 +290,10 @@ def eligible(cls, screen: Screen):
return is_age_eligible and screen.county in eligible_counties


class EarlyChildhoodMentalHealthSupport(UrgentNeedFunction):
class EarlyChildhoodMentalHealthSupport(ChildAgeFunction):
dependencies = ["age"]
max_age = 5

@classmethod
def eligible(cls, screen: Screen):
"""
Return True if the household has a child aged 0-5
"""
return screen.num_children(age_max=cls.max_age) > 0


class ParentsOfPreschoolYoungsters(UrgentNeedFunction):
dependencies = ["age", "county"]
Expand Down Expand Up @@ -373,3 +372,8 @@ def eligible(cls, screen: Screen):
county_eligible = screen.county in cls.counties

return age_eligible and county_eligible


class EarlyIntervention(ChildAgeFunction):
dependencies = ["age"]
max_age = 2
1 change: 1 addition & 0 deletions screener/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -359,6 +359,7 @@ def urgent_need_results(screen):
"ecmh": urgent_need_functions.EarlyChildhoodMentalHealthSupport.calc(screen, missing_dependencies),
"hippy": urgent_need_functions.ParentsOfPreschoolYoungsters.calc(screen, missing_dependencies),
"pat": urgent_need_functions.ParentsAsTeacher.calc(screen, missing_dependencies),
"eic": urgent_need_functions.EarlyIntervention.calc(screen, missing_dependencies),
}

list_of_needs = []
Expand Down

0 comments on commit 51be305

Please sign in to comment.