Skip to main content
Hi-Doctor is designed to be driven by an AI assistant. The MCP connector exposes a patient’s whole care journey as tools, including a questionnaire that can be completed as a conversation rather than a form. This page is for whoever is building that assistant.

Paste this into your system prompt

Copy this verbatim into the system prompt of any assistant connected to Hi-Doctor. It encodes the rules below so you do not have to restate them.

The conversational questionnaire protocol

1

start

hidoctor_questionnaire_start with a category_slug (weight-loss, hair-growth, sexual-health, …). Returns the first unanswered question plus answered_count and applicable_total so you can show progress.If the patient already had a part-finished questionnaire, it resumes where they left off.
2

answer, repeatedly

hidoctor_questionnaire_answer records one answer and returns the next question. The server decides what comes next, so branching is handled for you — you never evaluate a condition yourself.Answers are merged, not replaced. Nothing is lost between calls, and the patient can stop and come back later.
3

review and correct

hidoctor_questionnaire_review returns every answer so far in readable form. hidoctor_questionnaire_back steps to the previous question so an answer can be changed.Changing an answer can close a branch. When that happens the response lists dropped_question_keys — answers that no longer apply and were removed. Mention it if it matters to the patient.
4

submit

hidoctor_questionnaire_submit returns an outcome:

Answer shapes

The question tells you how to answer it. Read kind: Follow-up nodes carry an answer_instructions string saying exactly where the value belongs. Follow it.

The rules above are not technically enforced

Hi-Doctor cannot tell whether an answer came from the patient or was inferred by the assistant. Nothing in the API validates that.
The integrity of the clinical record depends on your assistant following the rules above. An assistant that fills in a plausible answer will submit successfully — and a doctor will prescribe from it. Treat “never invent an answer” as a hard constraint in your system prompt, not a suggestion.
What the server does enforce is eligibility.

Eligibility is decided by the server

Contraindications, the BMI threshold, the age limit and the supported-country check are enforced when the questionnaire is submitted — not by the assistant and not by the website.
Do not try to pre-screen a patient, and do not re-run a questionnaire with altered answers after an ineligible result. The check exists to keep people safe, and working around it would put a patient at risk.

Things that will bite you

Labels are human text and are translated into the patient’s language. value is the stable identifier the server expects.
Question text comes back in the language on the patient’s profile. Ask in that language.
hidoctor_checkout_create returns a link. Never ask for card details — you have no way to take them, and asking trains patients to hand card numbers to chatbots.
Every permission is granted on a normal patient connect, payment included. But the progress journal is built around weight, injections and an injection plan, so it is only available on weight-loss treatment — not on hair-growth or sexual-health plans.Call hidoctor_progress_status before offering to track anything. If a tool is missing entirely, the patient declined that permission at connect time — say so rather than guessing at a workaround.
Logging weight for a date replaces that day’s entry. Notes and injections append, so logging twice creates two.

Without MCP

If you are not using an MCP client, the same capabilities are available over the REST API — including programmatic signup so a chat interface can create the account too.