in common/src/common/utils/neo4j_new_incoming_claim.py [0:0]
def modify_claim_fields(claim_dict):
claim_dict = map_key_names(claim_dict)
if "driver_license" in claim_dict["document_details"].keys():
claim_dict["driver_license_id_number"] = claim_dict["document_details"]\
["driver_license"]["id_number"]
else:
claim_dict["driver_license_id_number"] = ""
if "rec_id" in claim_dict["document_details"].keys():
claim_dict["rec_id_number"] = claim_dict["document_details"]\
["rec_id"]["id_number"]
else:
claim_dict["rec_id_number"] = ""
if "foreign_passport" in claim_dict["document_details"].keys():
claim_dict["foreign_passport_number"] = claim_dict["document_details"]\
["foreign_passport"]["passport_number"]
else:
claim_dict["foreign_passport_number"] = ""
if "us_passport" in claim_dict["document_details"].keys():
claim_dict["us_passport_document_id"] = claim_dict["document_details"]\
["us_passport"]["document_id"]
else:
claim_dict["us_passport_document_id"] = ""
del claim_dict["document_details"]
new_claim_df = pd.DataFrame([claim_dict], columns=claim_dict.keys())
#replace null values
new_claim_df.fillna(value="", inplace=True)
#create new columns
new_claim_df["email_username"] = new_claim_df["email_address"].apply\
(lambda x:x.split("@")[0])
new_claim_df["email_tokenised"] = new_claim_df["email_username"].apply\
(lambda x: re.sub(r"[^A-Za-z]+", "", x).lower())
new_claim_df["full_name"] = new_claim_df["first_name"] + " " +\
new_claim_df["middle_name"] + " "+ new_claim_df["last_name"]
new_claim_df["full_name"] = new_claim_df["full_name"].str.lower()
new_claim_df["res_address"] = new_claim_df["res_address_line1"]+" "+\
new_claim_df["res_address_line2"]+" "+ new_claim_df["res_address_city"]+" "+\
new_claim_df["res_address_state"]
new_claim_df["res_address"] = new_claim_df["res_address"].apply\
(lambda x: re.sub(" +", " ", x).lower())
new_claim_df["mail_address"] = new_claim_df["mail_address_line1"]+" "+\
new_claim_df["mail_address_line2"]+" "+new_claim_df["mail_address_city"]+" "+\
new_claim_df["mail_address_state"]
new_claim_df["mail_address"] = new_claim_df["mail_address"].apply\
(lambda x: re.sub(" +", " ", x).lower())
col_list = [
"claim_id", "full_name", "date_of_birth", "res_address", "mail_address",
"res_address_zipcode", "email_address", "email_username",
"email_tokenised", "phone_num", "itin_number", "tf_number",
"driver_license_id_number", "register_ip_address", "rec_id_number",
"foreign_passport_number", "us_passport_document_id"
]
new_claim_df = new_claim_df[col_list]
claim_dict = new_claim_df.to_dict("records")[0]
return claim_dict