in lambda/src/data_access/survey_completion.py [0:0]
def update_survey_completion(user_id, report_date, bot_name, require_follow_up=False):
report_date_str = format_date_to_str(report_date)
survey_entry = get_survey_completion_entry(user_id, report_date_str)
if not survey_entry:
logger.info('No survey completion entry to update. do nothing.')
return
if SURVEY_TBC_COL not in survey_entry or len(survey_entry[SURVEY_TBC_COL]) == 0:
logger.info('All survey already completed. do nothing')
return
surveys_to_complete = survey_entry[SURVEY_TBC_COL]
survey_completed = survey_entry[SURVEY_COMPLETE_COL]
new_surveys_to_complete = []
for s in surveys_to_complete:
if s['BotName'] == bot_name:
survey_completed.append(s)
else:
new_surveys_to_complete.append(s)
with DDBUpdateBuilder(
key={'Patient_ID': user_id, 'Report_Date': report_date_str},
table_name=SURVEY_COMPLETION_TABLE) as ddb_update_builder:
ddb_update_builder.update_attr(SURVEY_COMPLETE_COL, survey_completed)
ddb_update_builder.update_attr(SURVEY_TBC_COL, new_surveys_to_complete)