def get_ivr_responses_from_touchforms_responses(call_log_entry, responses, app):
    ivr_responses = []
    question_constraint_failed = False
    hang_up = False
    for response in responses:
        if response.status == 'validation-error':
            question_constraint_failed = True
            call_log_entry.current_question_retry_count += 1
            ivr_responses.append(format_ivr_response(response.text_prompt, app))
        elif response.status == 'http-error':
            ivr_responses = []
            hang_up = True
            break
        elif response.event.type == "question":
            ivr_responses.append(format_ivr_response(response.event.caption, app))
        elif response.event.type == "form-complete":
            hang_up = True
    return (ivr_responses, question_constraint_failed, hang_up)
Return username for `uid`, or current username if `uid` is None.
dataset/ETHPy150Open dimagi/commcare-hq/corehq/apps/ivr/api.py/get_ivr_responses_from_touchforms_responses--crossover with--dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/scripts/repo.py/get_username