Health PROMs
Collect PROM questionnaire answers from Users and retrieve submitted Patient-Reported Outcome Measure history.
Health PROMs
Health PROMs let your application collect Patient-Reported Outcome Measure answers from a User through the InsideTracker questionnaire flow. Use these APIs when you need to display the current questionnaire, submit the User's answers for today, or retrieve submitted answers for a date range.
Retrieve the configured PROM questions and answer options for the authenticated User.
Send one complete answer set for the current date.
Retrieve previously submitted answers for reporting or in-app display.
How Health PROMs Work
The questionnaire defines the valid questions and answer options for the authenticated User. Your application displays those questions, keeps the returned question and answer option IDs, and submits the selected answer option ID for each question. PROM question IDs and answer option IDs are expected to remain stable; answer history returns submitted answer sets by date.
Where This Fits
Health PROMs are a customer-level data collection flow. Your application authenticates as the User, fetches the active questionnaire, presents the questions and answer options, and writes the User's response for the current day.
Use Health PROMs when:
- Your experience asks Users to report health status, symptoms, wellness, or similar survey-style observations.
- You need to preserve the exact question and answer option IDs supplied by InsideTracker.
- You need to retrieve previously submitted PROM answers for a User.
Before You Begin
You need:
- A customer access token for the User with the
health-promsscope. - The current PROM questionnaire from InsideTracker before building the submission payload.
- Dates formatted as
YYYY-MM-DD. - A workflow that handles a successful answer submission as
204 No Content.
The answer submission endpoint is intentionally strict. The request body must include every configured questionnaire question exactly once, every selected answer must be valid for its question, the path date must be today, and a User can submit answers only once per date.
Workflow
- Fetch the PROM questionnaire for the authenticated User.
- Render each question and answer option in your application.
- Keep the
idfor each question and the selected answer option identifier. - Submit the complete answer set for today's date.
- Read answer history when you need to display previously submitted responses.
Endpoint Overview
| Step | Endpoint | Purpose |
|---|---|---|
| Get questionnaire | GET /health-proms/customer/v1/questionnaire | Returns the PROM questions and answer options visible to the authenticated User. |
| Submit answers | PUT /health-proms/customer/v1/answers/{date} | Stores the User's PROM answers for today's date. |
| Read answers | GET /health-proms/customer/v1/answers | Returns the User's PROM answers for an inclusive date range. |
Get The Questionnaire
Call the questionnaire endpoint before asking the User to answer PROM questions. The response contains the list of questions and the available answer options for each question.
GET /health-proms/customer/v1/questionnaireStore the returned question IDs and answer option IDs exactly as provided. Do not rely on display text as a stable identifier.
Submit Answers
Submit one answer item for each question in the current questionnaire. Replace {date} with today's date in YYYY-MM-DD format.
PUT /health-proms/customer/v1/answers/{date}
Content-Type: application/jsonThe array below shows the shape of an answer item. The actual request must include one item for every configured question.
[
{
"id": "QUESTION_ID",
"answer": "ANSWER_OPTION_ID"
}
]Submission rules:
- The
{date}path value must be today's date. - The request body must be a non-empty array.
- Every configured question must appear exactly once.
- Each answer must use a valid answer option for that question.
- Answers can be submitted only once per User per date.
Handle Common Outcomes
Treat 204 No Content as a successful submission. The response does not include an answer body.
If submission fails because the payload contains an invalid, missing, or duplicate ID, fetch the current questionnaire again and rebuild the answer payload from the returned question and answer option IDs.
If the User has already submitted answers for the current date, do not retry the same request as a blind duplicate. Show that today's answers are already recorded, or route the User through the supported correction process if one is available for your integration.
Read Answers
Use the answer history endpoint to retrieve submitted PROM answers for an inclusive date range.
GET /health-proms/customer/v1/answers?startDate={startDate}&endDate={endDate}Rules for answer history:
startDateandendDateare required.startDatecannot be afterendDate.- The requested period cannot exceed 90 days.
Key Field Relationships
The PROM APIs use the same identifiers across the questionnaire, submission payload, and answer history. Keep the question identifier and selected answer option identifier as separate values.
| Field | Description |
|---|---|
questions | List of PROM questions configured for the User. |
questions[].id | PROM question identifier. Use this as id when submitting an answer. |
questions[].text | Question text for display. |
questions[].options | Answer options available for that question. |
questions[].options[].id | PROM answer option identifier. Use this as answer when submitting an answer. |
questions[].options[].text | Answer option text for display. |
| Field | Description |
|---|---|
{date} | Path date for the answer set. Replace with today's date in YYYY-MM-DD format. |
id | PROM question identifier from questions[].id. |
answer | Selected answer option identifier from questions[].options[].id. |
The submission body is an array of answer items. It must include every configured question exactly once.
| Field | Description |
|---|---|
date | Date associated with a submitted answer set. |
answers | Answer items submitted for that date. |
answers[].id | PROM question identifier. |
answers[].answer | Selected answer option identifier. |
Best Practices
Always submit from the current questionnaire
PROM question and answer option IDs are expected to remain stable. Fetch the questionnaire before collecting answers so your application submits the current complete set of question and answer option IDs.
Treat a submission as final for the day
The API accepts one answer set per User per date. Design the UI so Users understand when they are submitting their daily PROM answers.
Keep display text separate from identifiers
Use question and answer text for display only. Do not use display text as a canonical identifier or submit it in place of an ID. Store and submit the question and answer option IDs returned by the API.
Limit history requests
Answer history requests are limited to 90 days. Use smaller date windows for routine app views and pagination-style experiences.
Implementation Checklist
- Fetch the questionnaire using the authenticated User's customer token.
- Render every returned question and its answer options.
- Submit every question exactly once in the answer payload.
- Use today's date in the answer submission path.
- Handle
204 No Contentas a successful submission. - Validate answer history date ranges before calling the API.
Related API Reference
Related Topics
Updated 22 days ago