def METHOD_NAME(s, date):
    """Return a nested field of responses for each user."""
    # `survey_data` is a dict with question ID as the key and question/response
    # details as the value e.g. survey_data: {'25': {'id': 25, 'type': 'RADIO',
    # 'question': 'I trust Firefox to help me with my online privacy',
    # 'section_id': 2, 'answer': 'Agree', 'answer_id': 10066, 'shown': True}}
    # See https://apihelp.alchemer.com/help/surveyresponse-returned-fields-v5#getobject
    # Note that we are omitted date_submission and date_completed because the
    # timezone is not ISO compliant. The submission date that is passed in as
    # the time parameter should suffice.
    fields = ["id", "session_id", "status", "response_time"]
    results = []
    for data in s.get("survey_data", {}).values():
        # There can be answer_id's like "123456-other"
        if data.get("answer_id") and isinstance(data["answer_id"], str):
            numeric = re.findall(r"\d+", data["answer_id"])
            if numeric:
                data["answer_id"] = int(numeric[0])
            else:
                del data["answer_id"]
        if data.get("options"):
            data["options"] = list(data["options"].values())
        if data.get("subquestions"):
            data["subquestions"] = json.dumps(data["subquestions"])
        results.append(data)
    return {
        # this is used as the partitioning field
        "submission_date": date,
        **{field: s[field] for field in fields},
        "survey_data": results,
    }