Skip to content

Commit 38f7abd

Browse files
committed
Address review comments
1 parent 2310313 commit 38f7abd

File tree

4 files changed

+18
-19
lines changed

4 files changed

+18
-19
lines changed

lambdas/shared/src/common/data_quality/checker.py

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,27 +17,26 @@ class DataQualityChecker:
1717

1818
def __init__(
1919
self,
20+
completeness_checker: DataQualityCompletenessChecker,
2021
is_batch_csv: bool,
2122
):
23+
self.completeness_checker = completeness_checker
2224
self.is_batch_csv = is_batch_csv
2325

2426
def run_checks(self, immunisation: dict) -> DataQualityOutput:
25-
fhir_converter = Converter(fhir_data=immunisation)
26-
completeness_checker = DataQualityCompletenessChecker()
2727
data_quality_validator = DataQualityValidator()
2828

2929
if not self.is_batch_csv:
30-
immunisation = fhir_converter.run_conversion()
30+
immunisation = Converter(fhir_data=immunisation).run_conversion()
3131

3232
return DataQualityOutput(
33-
missing_fields=self._check_completeness(immunisation, completeness_checker),
33+
missing_fields=self._check_completeness(immunisation),
3434
invalid_fields=self._check_validity(immunisation, data_quality_validator),
3535
timeliness=self._check_timeliness(immunisation),
3636
)
3737

38-
@staticmethod
39-
def _check_completeness(immunisation: dict, completeness_checker: DataQualityCompletenessChecker) -> MissingFields:
40-
return completeness_checker.check_completeness(immunisation)
38+
def _check_completeness(self, immunisation: dict) -> MissingFields:
39+
return self.completeness_checker.run_checks(immunisation)
4140

4241
@staticmethod
4342
def _check_validity(immunisation: dict, data_quality_validator: DataQualityValidator) -> list[str]:

lambdas/shared/src/common/data_quality/completeness.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ class MissingFields:
5050

5151

5252
class DataQualityCompletenessChecker:
53-
def check_completeness(self, immunisation: dict) -> MissingFields:
53+
def run_checks(self, immunisation: dict) -> MissingFields:
5454
return MissingFields(
5555
required_fields=self._get_missing_fields(immunisation, required_fields),
5656
mandatory_fields=self._get_missing_fields(immunisation, mandatory_fields),

lambdas/shared/tests/test_common/data_quality/sample_values.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
from decimal import Decimal
22

3-
immunisation = {
3+
VALID_FHIR_IMMUNISATION = {
44
"resourceType": "Immunization",
55
"contained": [
66
{
@@ -132,7 +132,7 @@
132132
],
133133
}
134134

135-
batch_immunisation = {
135+
VALID_BATCH_IMMUNISATION = {
136136
"NHS_NUMBER": "9000000009",
137137
"PERSON_FORENAME": "Sam",
138138
"PERSON_SURNAME": "Trailor",

lambdas/shared/tests/test_common/data_quality/test_completeness.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from copy import deepcopy
33

44
from common.data_quality.completeness import DataQualityCompletenessChecker, MissingFields
5-
from test_common.data_quality.sample_values import batch_immunisation
5+
from test_common.data_quality.sample_values import VALID_BATCH_IMMUNISATION
66

77

88
class TestDataQualityCompletenessChecker(unittest.TestCase):
@@ -11,16 +11,16 @@ def setUp(self):
1111
self.DataQualityCompletenessChecker = DataQualityCompletenessChecker()
1212

1313
def test_check_completeness_no_missing_fields(self):
14-
complete_immunisation = deepcopy(batch_immunisation)
14+
complete_immunisation = deepcopy(VALID_BATCH_IMMUNISATION)
1515

1616
expected_missing_fields = MissingFields(required_fields=[], mandatory_fields=[], optional_fields=[])
1717

18-
actual_missing_fields = self.DataQualityCompletenessChecker.check_completeness(complete_immunisation)
18+
actual_missing_fields = self.DataQualityCompletenessChecker.run_checks(complete_immunisation)
1919

2020
self.assertEqual(expected_missing_fields, actual_missing_fields)
2121

2222
def test_check_completeness_empty_strings(self):
23-
incomplete_immunisation = deepcopy(batch_immunisation)
23+
incomplete_immunisation = deepcopy(VALID_BATCH_IMMUNISATION)
2424
incomplete_immunisation["NHS_NUMBER"] = "" # required
2525
incomplete_immunisation["PERSON_FORENAME"] = "" # mandatory
2626
incomplete_immunisation["PERFORMING_PROFESSIONAL_FORENAME"] = "" # optional
@@ -31,12 +31,12 @@ def test_check_completeness_empty_strings(self):
3131
optional_fields=["PERFORMING_PROFESSIONAL_FORENAME"],
3232
)
3333

34-
actual_missing_fields = self.DataQualityCompletenessChecker.check_completeness(incomplete_immunisation)
34+
actual_missing_fields = self.DataQualityCompletenessChecker.run_checks(incomplete_immunisation)
3535

3636
self.assertEqual(expected_missing_fields, actual_missing_fields)
3737

3838
def test_check_completeness_missing(self):
39-
incomplete_immunisation = deepcopy(batch_immunisation)
39+
incomplete_immunisation = deepcopy(VALID_BATCH_IMMUNISATION)
4040
incomplete_immunisation.pop("NHS_NUMBER") # required
4141
incomplete_immunisation.pop("PERSON_FORENAME") # mandatory
4242
incomplete_immunisation.pop("PERFORMING_PROFESSIONAL_FORENAME") # optional
@@ -47,12 +47,12 @@ def test_check_completeness_missing(self):
4747
optional_fields=["PERFORMING_PROFESSIONAL_FORENAME"],
4848
)
4949

50-
actual_missing_fields = self.DataQualityCompletenessChecker.check_completeness(incomplete_immunisation)
50+
actual_missing_fields = self.DataQualityCompletenessChecker.run_checks(incomplete_immunisation)
5151

5252
self.assertEqual(expected_missing_fields, actual_missing_fields)
5353

5454
def test_check_completeness_multiple_missing(self):
55-
incomplete_immunisation = deepcopy(batch_immunisation)
55+
incomplete_immunisation = deepcopy(VALID_BATCH_IMMUNISATION)
5656
incomplete_immunisation.pop("NHS_NUMBER") # required
5757
incomplete_immunisation.pop("VACCINATION_PROCEDURE_TERM") # required
5858
incomplete_immunisation.pop("PERSON_FORENAME") # mandatory
@@ -66,6 +66,6 @@ def test_check_completeness_multiple_missing(self):
6666
optional_fields=["PERFORMING_PROFESSIONAL_FORENAME", "PERFORMING_PROFESSIONAL_SURNAME"],
6767
)
6868

69-
actual_missing_fields = self.DataQualityCompletenessChecker.check_completeness(incomplete_immunisation)
69+
actual_missing_fields = self.DataQualityCompletenessChecker.run_checks(incomplete_immunisation)
7070

7171
self.assertEqual(expected_missing_fields, actual_missing_fields)

0 commit comments

Comments
 (0)