@@ -103,28 +103,33 @@ def evaluate_eligibility(self) -> eligibility.EligibilityStatus:
103103 if cohort .cohort_label in self .person_cohorts :
104104 # Base eligible
105105 # Check Eligibility - F - Rules
106- eli_flag : bool = True
106+ eligibility_flag : bool = True
107107 for _ , rule_group in groupby (sorted (rules_filter , key = priority_getter ), key = priority_getter ):
108108 # iter F rules by priority and grouping
109109 # find first exclusion - throws
110110 status , group_actionable , group_exclusions = self .evaluate_rules_priority_group (rule_group )
111111 if status .is_exclusion :
112112 cohort_results [cohort .cohort_label ] = CohortStatus (cohort , status , group_exclusions )
113- eli_flag = False
113+ eligibility_flag = False
114114 break
115115
116- if eli_flag :
116+ if eligibility_flag :
117+ actionable_flag : bool = True
117118 for _ , rule_group in groupby (
118119 sorted (rules_suppression , key = priority_getter ), key = priority_getter
119120 ):
121+ # iter S rules by priority and grouping
122+ # find first exclusion - throws
120123 status , group_actionable , group_exclusions = self .evaluate_rules_priority_group (
121124 rule_group
122125 )
123126 if status .is_exclusion :
124127 cohort_results [cohort .cohort_label ] = CohortStatus (cohort , status , group_exclusions )
128+ actionable_flag = False
125129 break
126130 # No exclusions - actionable
127- cohort_results [cohort .cohort_label ] = CohortStatus (cohort , Status .actionable , [])
131+ if actionable_flag :
132+ cohort_results [cohort .cohort_label ] = CohortStatus (cohort , Status .actionable , [])
128133 else :
129134 # Not base eligibility
130135 cohort_results [cohort .cohort_label ] = CohortStatus (cohort , eligibility .Status .not_eligible , [])
0 commit comments