Skip to content

Commit c9e25b3

Browse files
committed
Refactor Converter class to improve type annotations and enhance code clarity
1 parent 7749ea4 commit c9e25b3

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

lambdas/delta_backend/src/converter.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,19 @@
11
# Main validation engine
2+
from typing import Any
3+
24
import exception_messages
35
from conversion_layout import ConversionField, ConversionLayout
46
from extractor import Extractor
57
from mappings import ActionFlag
68

9+
ConversionErrorRecord = dict[str, Any]
10+
ConvertedRecord = dict[str, Any]
11+
712

813
class Converter:
9-
def __init__(self, fhir_data, action_flag=ActionFlag.UPDATE):
10-
self.converted = {}
11-
self.error_records = []
14+
def __init__(self, fhir_data: str | dict[str, Any], action_flag: str = ActionFlag.UPDATE) -> None:
15+
self.converted: ConvertedRecord = {}
16+
self.error_records: list[ConversionErrorRecord] = []
1217
self.action_flag = action_flag
1318

1419
if not fhir_data:
@@ -17,7 +22,7 @@ def __init__(self, fhir_data, action_flag=ActionFlag.UPDATE):
1722
self.extractor = Extractor(fhir_data)
1823
self.conversion_layout = ConversionLayout(self.extractor)
1924

20-
def run_conversion(self):
25+
def run_conversion(self) -> ConvertedRecord:
2126
for conversion in self.conversion_layout.get_conversion_layout():
2227
self._convert_data(conversion)
2328

@@ -27,7 +32,7 @@ def run_conversion(self):
2732
self.converted["CONVERSION_ERRORS"] = self.error_records
2833
return self.converted
2934

30-
def _convert_data(self, conversion: ConversionField):
35+
def _convert_data(self, conversion: ConversionField) -> None:
3136
flat_field = conversion.field_name_flat
3237

3338
try:
@@ -45,7 +50,7 @@ def _convert_data(self, conversion: ConversionField):
4550
)
4651
self.converted[flat_field] = ""
4752

48-
def _log_error(self, field_name, e, code):
53+
def _log_error(self, field_name: str, e: Exception | str, code: str) -> None:
4954
self.error_records.append(
5055
{
5156
"code": code,
@@ -55,5 +60,5 @@ def _log_error(self, field_name, e, code):
5560
}
5661
)
5762

58-
def get_error_records(self):
63+
def get_error_records(self) -> list[ConversionErrorRecord]:
5964
return self.error_records

0 commit comments

Comments
 (0)