Skip to content

Commit 0093992

Browse files
committed
ELI-138: Adds cohortLabel in audit.eligibilityCohorts instead of cohortGroup
1 parent 0e92df9 commit 0093992

3 files changed

Lines changed: 16 additions & 17 deletions

File tree

src/eligibility_signposting_api/audit/audit_context.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import logging
22
from datetime import UTC, datetime
3-
from operator import attrgetter
43
from uuid import UUID
54

65
from flask import Request, g
@@ -73,29 +72,29 @@ def append_audit_condition(
7372
best_cohort_results = best_results[2]
7473

7574
if best_cohort_results:
76-
for value in sorted(best_cohort_results.values(), key=attrgetter("cohort_code")):
77-
cohort_status_name = value.status.name if value.status else None
75+
for cohort_label, result in sorted(best_cohort_results.items(), key=lambda item: item[1].cohort_code):
76+
cohort_status_name = result.status.name if result.status else None
7877
audit_eligibility_cohorts.append(
79-
AuditEligibilityCohorts(cohort_code=value.cohort_code, cohort_status=cohort_status_name)
78+
AuditEligibilityCohorts(cohort_code=cohort_label, cohort_status=cohort_status_name)
8079
)
8180

8281
audit_eligibility_cohort_groups.append(
8382
AuditEligibilityCohortGroups(
84-
cohort_code=value.cohort_code, cohort_status=cohort_status_name, cohort_text=value.description
83+
cohort_code=result.cohort_code, cohort_status=cohort_status_name, cohort_text=result.description
8584
)
8685
)
8786

88-
if value.audit_rules and best_candidate:
87+
if result.audit_rules and best_candidate:
8988
if best_candidate.status and best_candidate.status.name == Status.not_eligible.name:
9089
audit_filter_rule = AuditFilterRule(
91-
rule_priority=value.audit_rules[0].rule_priority,
92-
rule_name=value.audit_rules[0].rule_name,
90+
rule_priority=result.audit_rules[0].rule_priority,
91+
rule_name=result.audit_rules[0].rule_name,
9392
)
9493
if best_candidate.status and best_candidate.status.name == Status.not_actionable.name:
9594
audit_suitability_rule = AuditSuitabilityRule(
96-
rule_priority=value.audit_rules[0].rule_priority,
97-
rule_name=value.audit_rules[0].rule_name,
98-
rule_message=value.audit_rules[0].rule_description,
95+
rule_priority=result.audit_rules[0].rule_priority,
96+
rule_name=result.audit_rules[0].rule_name,
97+
rule_message=result.audit_rules[0].rule_description,
9998
)
10099

101100
if best_candidate and best_candidate.status and best_candidate.status.name == Status.actionable.name:

tests/integration/conftest.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ def persisted_person_all_cohorts(person_table: Any, faker: Faker) -> Generator[e
376376
nhs_number,
377377
date_of_birth=date_of_birth,
378378
postcode="hp1",
379-
cohorts=["cohort1", "cohort2", "cohort3"],
379+
cohorts=["cohort_label1", "cohort_label2", "cohort_label3"],
380380
icb="QE1",
381381
)
382382
):
@@ -501,7 +501,7 @@ def multiple_campaign_configs(s3_client: BaseClient, rules_bucket: BucketName) -
501501
iteration_rules=target_rules_map.get(targets[i]),
502502
iteration_cohorts=[
503503
rule.IterationCohortFactory.build(
504-
cohort_label="cohort1",
504+
cohort_label=f"cohort_label{i + 1}",
505505
cohort_group=f"cohort_group{i + 1}",
506506
positive_description=f"positive_desc_{i + 1}",
507507
negative_description=f"negative_desc_{i + 1}",

tests/integration/lambda/test_app_running_as_lambda.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ def test_given_nhs_number_in_path_matches_with_nhs_number_in_headers_and_check_i
216216
"conditionName": campaign_config.target,
217217
"status": "not_actionable",
218218
"statusText": "not_actionable",
219-
"eligibilityCohorts": [{"cohortCode": "cohort_group1", "cohortStatus": "not_actionable"}],
219+
"eligibilityCohorts": [{"cohortCode": "cohort1", "cohortStatus": "not_actionable"}],
220220
"eligibilityCohortGroups": [
221221
{
222222
"cohortCode": "cohort_group1",
@@ -320,7 +320,7 @@ def test_given_person_has_unique_status_for_different_conditions_with_audit( #
320320
"conditionName": rsv_campaign.target,
321321
"status": "not_eligible",
322322
"statusText": "not_eligible",
323-
"eligibilityCohorts": [{"cohortCode": "cohort_group1", "cohortStatus": "not_eligible"}],
323+
"eligibilityCohorts": [{"cohortCode": "cohort_label1", "cohortStatus": "not_eligible"}],
324324
"eligibilityCohortGroups": [
325325
{
326326
"cohortCode": "cohort_group1",
@@ -341,7 +341,7 @@ def test_given_person_has_unique_status_for_different_conditions_with_audit( #
341341
"conditionName": covid_campaign.target,
342342
"status": "not_actionable",
343343
"statusText": "not_actionable",
344-
"eligibilityCohorts": [{"cohortCode": "cohort_group2", "cohortStatus": "not_actionable"}],
344+
"eligibilityCohorts": [{"cohortCode": "cohort_label2", "cohortStatus": "not_actionable"}],
345345
"eligibilityCohortGroups": [
346346
{
347347
"cohortCode": "cohort_group2",
@@ -366,7 +366,7 @@ def test_given_person_has_unique_status_for_different_conditions_with_audit( #
366366
"conditionName": flu_campaign.target,
367367
"status": "actionable",
368368
"statusText": "actionable",
369-
"eligibilityCohorts": [{"cohortCode": "cohort_group3", "cohortStatus": "actionable"}],
369+
"eligibilityCohorts": [{"cohortCode": "cohort_label3", "cohortStatus": "actionable"}],
370370
"eligibilityCohortGroups": [
371371
{
372372
"cohortCode": "cohort_group3",

0 commit comments

Comments
 (0)