Skip to main content
Questionnaires collect the medical information an EU-licensed doctor reviews before any treatment decision. You list the categories, read a category’s schema, save the patient’s answers as they go, and submit the full set for medical review. To ask one question at a time and let Hi Doctor apply the branching and validation, use the guided endpoints in Answer a questionnaire. Last reviewed: 2026-11-04

Prerequisites

  • Categories and schemas are public; no token is needed to read them.
  • Saving and submitting need a patient bearer token.

Operations

Boundaries and side effects

  • An unknown slug is a 400, not a 404, on every questionnaire endpoint.
  • Reading progress is not side-effect free. GET .../progress/ creates an empty progress record if none exists.
  • PATCH .../progress/ replaces the whole answer array. Send the full cumulative set every time; anything you omit is erased.
  • The guided endpoints share the draft with PATCH .../progress/ and never submit. current/, back/ and review/ change nothing.
  • Submission accepts an Idempotency-Key. Without one, repeating it can create another submission, so re-read state before retrying after an error.
  • A submission already covered by an active plan returns 409 covered_by_active_plan with current_period_end.
Clinical eligibility is checked as answers are saved and again at submission. A guided answer that rules out the consultation returns 400 with code: "clinical_ineligibility"; a submission with ineligible answers returns 400 with "Questionnaire contains answers that are not clinically eligible". Treat it as a clinical outcome: do not resubmit with changed answers. See Safety.