This guide explains how to format your survey data into structured data points suitable for submission to the addRespondent endpoint of the ReDem API.

Preparing survey responses for CHS (Coherence Score)

For each CHS data point, all question–answer pairs must be included as separate objects within the interviewData array. Each object should contain a

  • questionId - A unique identifier for the question.
  • question - The full text of the question, When applicable, include all possible answer options that respondents can choose from to provide full context for the AI.
  • answer - The respondent’s selected answer(s) or written response.

For the most accurate assessments, the AI performs best when it has full visibility into the context of the questionnaire. Therefore, it is recommended to include as much information as possible from the questionnaire.

  • Single Choice Questions
    Includes dropdowns, radio buttons, yes/no, and Likert scale questions.
    • Question Field: Provide the question text. If applicable, include all key answer options to give context to the selected response. For Likert scale questions, also include the scale labels in the Question field to ensure clarity.
    • Answer Field: Include the respondent’s selected choice as a string or number.
Example interviewData object for a single-select question
// Dropdown question
{
    "questionId": "Q1",
    "question": "What is your favorite type of cuisine? Select one option that describes your preference. - Italian, French, Chinese, Indian, Japanese, Mexican, Thai, Greek",
    "answer": "Italian"
}

// Radio button question
{
    "questionId": "Q1",
    "question": "In a typical week, how frequently do you eat red meat (e.g., beef, pork)?",
    "answer": "3–5 times per week"
}

// Yes/No question
{
    "questionId": "Q1",
    "question": "Do you like Fish or seafood? - Yes, No",
    "answer": "No"
}

// Likert scale question - with text answer
{
    "questionId": "Q1",
    "question": "How much do you enjoy eating street food? - Not at all, A little, Somewhat, Quite a bit, Very much",
    "answer": "Not at all"
}

// Likert scale question - with number answer
{
    "questionId": "Q1",
    "question": "To what extent do you agree with the following statement: Do you prefer home-cooked meals over eating out? - 1 = Strongly disagree, 2 = Disagree, 3 = Neutral, 4 = Agree, 5 = Strongly agree",
    "answer": 4
}

// NPS question
{
    "questionId": "Q1",
    "question": "How likely are you to recommend our food delivery service to a friend or colleague - 1 = Not at all, 10 = Very much",
    "answer": 8
}
  • Multiple Choice Questions
    • Question Field: Include the full question text and all possible answer options, separated by commas.
    • Answer Field: List all selected options, separated by commas.
Example interviewData object for a checkbox question
{
    "questionId": "Q1",
    "question": "Which of the following foods do you eat regularly? (You may select more than one.) - Chicken, Cheese, Bacon or sausage, Eggs, Fish or seafood, Plant-based meat substitutes (e.g., tofu, tempeh), Milk or dairy products, Fruits, Leafy vegetables (e.g., spinach, kale)",
    "answer": "Cheese, Eggs"
}
  • Open-ended question
    These collect free-text input from respondents.
    • Question Field: Include only the question text.
    • Answer Field: Record the answer provided by the respondent.
Example interviewData object for an open-ended question
{
    "questionId": "Q1",
    "question": "Can you describe your typical eating habits during the week?",
    "answer": "I usually eat home-cooked meals with lots of vegetables and lean meats. I occasionally eat out on weekends, mostly opting for Asian or Mediterranean dishes. I try to avoid sugary snacks and drink plenty of water throughout the day."
}
  • Grid (matrix) questions
    Grid/matrix questions contain a stem plus multiple row items that share the same answer scale.

    Transform the grid/matrix stem, row labels and answer scale into a structured object with the following format:

    • Emit one object per row item so that each cell becomes its own data point
    • Question Field: Concatenate the stem and the row label, separated by a hyphen (-), to form the full question text. Additionally, include all answer scale labels, separated by commas.
    • Answer Field: Keep the selected scale label as the answer.
Example interviewData object for a grid/matrix question
{
    "questionId": "Q1",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Red meat (e.g., beef, pork) - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "3–5 times per week"
},
{
    "questionId": "Q2",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Fish or seafood - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "Several times per day"
},
{
    "questionId": "Q3",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Poultry (e.g., chicken, turkey) - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "1–2 times per week"
},
{
    "questionId": "Q4",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Dairy products (e.g., milk, cheese, yogurt) - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "Daily"
},
{
    "questionId": "Q5",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Eggs - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "3–5 times per week"
},
{
    "questionId": "Q6",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Legumes (e.g., beans, lentils, chickpeas) - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "1–2 times per week"
},
{
    "questionId": "Q7",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Grains (e.g., rice, pasta, bread) - Not at all, 1–2 times per week, 3–5 times per week, Several times per day, Daily",
    "answer": "Daily"
}

Minimum required formats for different question types

While we recommend the settings from the previous chapter to provide maximum context and achieve precise results, you can also use a simplified version, which does work but may not achieve the same level of accuracy.

  • Single Choice Questions
    Includes dropdowns, radio buttons, yes/no, and Likert scale questions.
    • Question Field: Provide the question text.
    • Answer Field: Include the respondent’s selected choice as a string or number.
Example interviewData object for a single-select question
// Dropdown question
{
    "questionId": "Q1",
    "question": "What is your favorite type of cuisine? Select one option that describes your preference.",
    "answer": "Italian"
}

// Radio button question
{
    "questionId": "Q1",
    "question": "In a typical week, how frequently do you eat red meat (e.g., beef, pork)?",
    "answer": "3–5 times per week"
}

// Yes/No question
{
    "questionId": "Q1",
    "question": "Do you like Fish or seafood?",
    "answer": "No"
}

// Likert scale question
{
    "questionId": "Q1",
    "question": "How much do you enjoy eating street food?",
    "answer": "Not at all"
}
  • Multiple Choice Questions
    • Question Field: Include the full question text.
    • Answer Field: List all selected options, separated by commas.
Example interviewData object for a checkbox question
{
    "questionId": "Q1",
    "question": "Which of the following foods do you eat regularly? (You may select more than one.) - Chicken, Cheese, Bacon or sausage, Eggs, Fish or seafood, Plant-based meat substitutes (e.g., tofu, tempeh), Milk or dairy products, Fruits, Leafy vegetables (e.g., spinach, kale)",
    "answer": "Cheese, Eggs"
}
  • Open-ended question
    These collect free-text input from respondents.
    • Question Field: Include only the question text.
    • Answer Field: Record the answer provided by the respondent.
Example interviewData object for an open-ended question
{
    "questionId": "Q1",
    "question": "Can you describe your typical eating habits during the week?",
    "answer": "I usually eat home-cooked meals with lots of vegetables and lean meats. I occasionally eat out on weekends, mostly opting for Asian or Mediterranean dishes. I try to avoid sugary snacks and drink plenty of water throughout the day."
}
  • Grid (matrix) questions
    Grid/matrix questions contain a stem plus multiple row items that share the same answer scale.

    Transform the grid/matrix stem, row labels and answer scale into a structured object with the following format:

    • Emit one object per row item so that each cell becomes its own data point
    • Question Field: Concatenate the stem and the row label, separated by a hyphen (-), to form the full question text.
    • Answer Field: Keep the selected scale label as the answer.
Example interviewData object for a grid/matrix question
{
    "questionId": "Q1",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Red meat (e.g., beef, pork)",
    "answer": "3–5 times per week"
},
{
    "questionId": "Q2",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Fish or seafood",
    "answer": "Several times per day"
},
{
    "questionId": "Q3",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Poultry (e.g., chicken, turkey)",
    "answer": "1–2 times per week"
},
{
    "questionId": "Q4",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Dairy products (e.g., milk, cheese, yogurt)",
    "answer": "Daily"
},
{
    "questionId": "Q5",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Eggs",
    "answer": "3–5 times per week"
},
{
    "questionId": "Q6",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Legumes (e.g., beans, lentils, chickpeas)",
    "answer": "1–2 times per week"
},
{
    "questionId": "Q7",
    "question": "Please indicate how often you usually eat the following types of food. Think about a normal week. - Grains (e.g., rice, pasta, bread)",
    "answer": "Daily"
}