Skip to content

Commit 1f25f4d

Browse files
committed
VED-736: Filter response to match search responses
1 parent addf75a commit 1f25f4d

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

backend/src/fhir_service.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,17 @@ def get_immunization_by_identifier(
6767
imms_resp = self.immunization_repo.get_immunization_by_identifier(
6868
identifier_pk, imms_vax_type_perms
6969
)
70-
if not imms_resp:
70+
71+
patient_full_url = f"urn:uuid:{str(uuid4())}"
72+
filtered_response = [Filter.search(imms, patient_full_url) for imms in (imms_resp or [])]
73+
74+
if not filtered_response:
7175
base_url = f"{get_service_url()}/Immunization"
72-
response = form_json(imms_resp, None, None, base_url)
76+
response = form_json(filtered_response, None, None, base_url)
7377
return response
7478
else:
7579
base_url = f"{get_service_url()}/Immunization"
76-
response = form_json(imms_resp, element, identifier, base_url)
80+
response = form_json(filtered_response, element, identifier, base_url)
7781
return response
7882

7983
def get_immunization_by_id(self, imms_id: str, imms_vax_type_perms: list[str]) -> Optional[dict]:

backend/tests/test_fhir_service.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -326,11 +326,11 @@ def test_get_immunization_by_identifier(self):
326326
self.imms_repo.get_immunization_by_identifier.return_value = {}
327327

328328
# When
329-
service_resp = self.fhir_service.get_immunization_by_identifier(imms, "COVID19:search", identifier, element)
329+
service_resp = self.fhir_service.get_immunization_by_identifier(imms, "COVID19.S", identifier, element)
330330
act_imms = service_resp
331331

332332
# Then
333-
self.imms_repo.get_immunization_by_identifier.assert_called_once_with(imms, "COVID19:search")
333+
self.imms_repo.get_immunization_by_identifier.assert_called_once_with(imms, "COVID19.S")
334334

335335
self.assertEqual(act_imms["resourceType"], "Bundle")
336336

@@ -342,10 +342,10 @@ def test_immunization_not_found(self):
342342
self.imms_repo.get_immunization_by_identifier.return_value = None
343343

344344
# When
345-
act_imms = self.fhir_service.get_immunization_by_identifier(imms_id, "COVID19:search", identifier, element)
345+
act_imms = self.fhir_service.get_immunization_by_identifier(imms_id, "COVID19.S", identifier, element)
346346

347347
# Then
348-
self.imms_repo.get_immunization_by_identifier.assert_called_once_with(imms_id, "COVID19:search")
348+
self.imms_repo.get_immunization_by_identifier.assert_called_once_with(imms_id, "COVID19.S")
349349

350350
self.assertEqual(act_imms["entry"], [])
351351

0 commit comments

Comments
 (0)