diff --git a/lambdas/models/pds_models.py b/lambdas/models/pds_models.py index 210efddfe..e1c331938 100644 --- a/lambdas/models/pds_models.py +++ b/lambdas/models/pds_models.py @@ -154,6 +154,10 @@ def get_active_ods_code_for_gp(self) -> str: gp_end_date = period.end if not gp_end_date or gp_end_date >= date.today(): return entry.identifier.value + + death_notification_status = self.get_death_notification_status() + if not is_deceased(death_notification_status) and self.is_unrestricted(): + return "SUSP" return "" def get_is_active_status(self) -> bool: diff --git a/lambdas/tests/unit/models/test_pds_models.py b/lambdas/tests/unit/models/test_pds_models.py index 2aedac5d5..a079e6dc7 100644 --- a/lambdas/tests/unit/models/test_pds_models.py +++ b/lambdas/tests/unit/models/test_pds_models.py @@ -95,12 +95,12 @@ def test_get_patient_details_for_deceased_patient(): @freeze_time("2024-12-31") -def test_gp_ods_empty_when_gp_end_date_indicates_inactive(): +def test_gp_ods_susp_when_gp_end_date_indicates_inactive(): patient = create_patient(PDS_PATIENT_WITH_GP_END_DATE) response = patient.get_minimum_patient_details(patient.id) - assert response.general_practice_ods == "" + assert response.general_practice_ods == "SUSP" def test_not_raise_error_when_no_gp_in_response(): @@ -108,7 +108,7 @@ def test_not_raise_error_when_no_gp_in_response(): response = patient.get_minimum_patient_details(patient.id) - assert response.general_practice_ods == "" + assert response.general_practice_ods == "SUSP" @freeze_time("2021-12-31")