@@ -121,18 +121,8 @@ def _convertToDate(self, expressionRule, fieldName, fieldValue, summarise, repor
121121 if report_unexpected_exception :
122122 self ._log_error (fieldName , fieldValue , "Value is not a string" )
123123 return ""
124-
125- # 2. Use Expression Rule Format to parse the date, remove dashes and slashes
126- if expressionRule == "%Y%m%d" :
127- fieldValue = fieldValue .split ("T" )[0 ]
128- fieldValue = fieldValue .replace ("-" , "" ).replace ("/" , "" )
129- if not re .match (r"^\d{8}$" , fieldValue ):
130- if report_unexpected_exception :
131- self ._log_error (fieldName , fieldValue , "Date must be in YYYYMMDD format" )
132- return ""
133124 try :
134- # Converts raw fieldvalue without delimiters to a date-time object
135- dt = datetime .strptime (fieldValue , expressionRule )
125+ dt = datetime .fromisoformat (fieldValue )
136126 return dt .strftime (expressionRule )
137127 except ValueError as e :
138128 # 5. Unexpected parsing errors
@@ -182,8 +172,6 @@ def _convertToDateTime(self, expressionRule, fieldName, fieldValue, summarise, r
182172
183173 # Not Empty Validate - Returns exactly what is in the extracted fields no parsing or logic needed
184174 def _convertToNotEmpty (self , expressionRule , fieldName , fieldValue , summarise , report_unexpected_exception ):
185- if not fieldValue :
186- return ""
187175 try :
188176 if isinstance (fieldValue , str ) and fieldValue .strip ():
189177 return fieldValue
@@ -193,7 +181,7 @@ def _convertToNotEmpty(self, expressionRule, fieldName, fieldValue, summarise, r
193181 if report_unexpected_exception :
194182 message = ExceptionMessages .MESSAGES [ExceptionMessages .UNEXPECTED_EXCEPTION ] % (e .__class__ .__name__ , e )
195183 self ._log_error (fieldName , fieldValue , message )
196- return
184+ return ""
197185
198186 # NHSNumber Validate
199187 def _convertToNHSNumber (self , expressionRule , fieldName , fieldValue , summarise , report_unexpected_exception ):
0 commit comments