@@ -43,7 +43,7 @@ def _get_valid_names(self, names, occurrence_time):
4343
4444
4545 def _get_person_names (self ):
46- occurrence_time = self ._get_occurance_date_time ()
46+ occurrence_time = self ._get_occurrence_date_time ()
4747 patient = self ._get_patient ()
4848 names = patient .get ("name" , [])
4949 names = [n for n in names if "given" in n and "family" in n ]
@@ -61,7 +61,7 @@ def _get_person_names(self):
6161
6262 def _get_practitioner_names (self ):
6363 contained = self .fhir_json_data .get ("contained" , [])
64- occurrence_time = self ._get_occurance_date_time ()
64+ occurrence_time = self ._get_occurrence_date_time ()
6565 practitioner = next ((c for c in contained if isinstance (c , dict ) and c .get ("resourceType" ) == "Practitioner" ), None )
6666 if not practitioner or "name" not in practitioner :
6767 return "" , ""
@@ -97,18 +97,11 @@ def _is_current_period(self, name, occurrence_time):
9797
9898 return (not start or start <= occurrence_time ) and (not end or occurrence_time <= end )
9999
100- def _get_occurance_date_time (self ) -> str :
101- try :
102- occurrence_time = datetime .fromisoformat (self .fhir_json_data .get ("occurrenceDateTime" , "" ))
103- if occurrence_time and occurrence_time .tzinfo is None :
104- occurrence_time = occurrence_time .replace (tzinfo = timezone .utc )
105- return occurrence_time
106- return occurrence_time
107-
108- except Exception as e :
109- message = "DateTime conversion error [%s]: %s" % (e .__class__ .__name__ , e )
110- error = self ._log_error (ConversionFieldName .DATE_AND_TIME , message , e , code = exception_messages .UNEXPECTED_EXCEPTION )
111- return error
100+ def _get_occurrence_date_time (self ) -> datetime :
101+ occurrence_time = datetime .fromisoformat (self .fhir_json_data .get ("occurrenceDateTime" , "" ))
102+ if occurrence_time and occurrence_time .tzinfo is None :
103+ occurrence_time = occurrence_time .replace (tzinfo = timezone .utc )
104+ return occurrence_time
112105
113106 def _get_first_snomed_code (self , coding_container : dict ) -> str :
114107 codings = coding_container .get ("coding" , [])
@@ -189,8 +182,7 @@ def _convert_date(self, field_name, date, format) -> str:
189182 """
190183 Convert a date string according to match YYYYMMDD format.
191184 """
192- if not date or not isinstance (date , str ):
193- self ._log_error (field_name , date , "Invalid value. Must be non empty string" )
185+ if not date :
194186 return ""
195187 try :
196188 dt = datetime .fromisoformat (date )
@@ -258,7 +250,7 @@ def normalize(self, value):
258250 return value .lower () if isinstance (value , str ) else value
259251
260252 def extract_valid_address (self ):
261- occurrence_time = self ._get_occurance_date_time ()
253+ occurrence_time = self ._get_occurrence_date_time ()
262254 patient = self ._get_patient ()
263255
264256 addresses = patient .get ("address" , [])
0 commit comments