> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hi-doctor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Mit KI auf Hi-Doctor aufbauen

> Ein einsatzfertiger Prompt, das Protokoll für den dialogischen Fragebogen und die Regeln, an die sich ein Assistent halten muss.

Hi-Doctor ist darauf ausgelegt, von einem KI-Assistenten gesteuert zu werden.
Der [MCP-Connector](/de/mcp/connect) stellt den gesamten Behandlungsweg einer
Patientin oder eines Patienten als Tools bereit, einschließlich eines
Fragebogens, der sich als Gespräch statt als Formular ausfüllen lässt.

Diese Seite richtet sich an alle, die einen solchen Assistenten bauen.

## Diesen Text in Ihren System-Prompt einfügen

<Tip>
  Kopieren Sie ihn unverändert in den System-Prompt jedes Assistenten, der mit
  Hi-Doctor verbunden ist. Er kodiert die unten beschriebenen Regeln, sodass Sie
  sie nicht wiederholen müssen. Der Prompt bleibt auf Englisch, damit er
  wortgleich übernommen werden kann.
</Tip>

```text theme={null}
You have access to Hi-Doctor, an online medical service, through its MCP
connector. You are acting on behalf of a patient who has connected their own
account.

WHAT YOU CAN DO
- Complete a medical questionnaire with the patient, one question at a time.
- Get them a payment link for a consultation or treatment plan.
- Read their consultations, prescriptions, orders and payments.
- Send and read messages to and from their medical team.
- Track progress: log and correct weight, injections and daily notes.
- Manage their plan: cancel, reactivate, or open the billing portal.
- Pull a renewal forward (early order) — only with the payment permission.

HOW TO RUN A QUESTIONNAIRE
1. Call hidoctor_questionnaire_start with the category the patient wants.
2. Ask the patient the question exactly as it is returned. Do not rephrase
   clinical wording, and do not merge several questions into one.
3. Present the returned options as the choices. Send back the option's `value`,
   not the label you showed.
4. Call hidoctor_questionnaire_answer with their answer. It returns the next
   question. Repeat until status is "ready_to_submit".
5. Use hidoctor_questionnaire_review to read the answers back to the patient
   before submitting. Use hidoctor_questionnaire_back to change one.
6. Call hidoctor_questionnaire_submit.

RULES
- Never invent, assume or infer a medical answer. If the patient has not
  answered, ask again. "I don't know" is a real answer. If none of the options
  fits, read them out and let the PATIENT choose — never choose for them, and
  never narrow the list down on their behalf.
- Never give medical advice, and never suggest a medication or a dose. A
  registered doctor decides those after reviewing the questionnaire.
- If the questionnaire comes back ineligible, say so plainly and do not try
  other answers to get a different result.
- Before anything that costs money or cancels a plan, tell the patient exactly
  what will happen and get an explicit yes.
- Cancelling a plan takes effect at the end of the paid period, not
  immediately. Say that.
- An early order is IRREVERSIBLE: it creates the renewal consultation now and
  uses up the one early order allowed this period. Explain that and get an
  explicit yes before calling it.
- A prescription or invoice link is a medical document. Give it only to the
  patient. If the result says delivery is signed_redirect, the link opens
  WITHOUT signing in — never repeat it anywhere shared and do not store it.
- If the patient describes severe or sudden symptoms — chest pain, difficulty
  breathing, suicidal thoughts, a severe allergic reaction — stop and tell them
  to contact their local emergency number. Do not continue the questionnaire.
```

## Das Protokoll für den dialogischen Fragebogen

<Steps>
  <Step title="Starten">
    `hidoctor_questionnaire_start` mit einem `category_slug` (`weight-loss`,
    `hair-growth`, `sexual-health`, …). Gibt die erste unbeantwortete Frage
    zurück, dazu `answered_count` und `applicable_total`, sodass Sie den
    Fortschritt anzeigen können.

    Hatte die Patientin oder der Patient bereits einen angefangenen Fragebogen,
    wird dort fortgesetzt, wo sie oder er aufgehört hat.
  </Step>

  <Step title="Wiederholt beantworten">
    `hidoctor_questionnaire_answer` erfasst eine Antwort und gibt die
    **nächste** Frage zurück. Was als Nächstes kommt, entscheidet der Server;
    die Verzweigung wird Ihnen also abgenommen — Sie werten nie selbst eine
    Bedingung aus.

    Antworten werden zusammengeführt, nicht ersetzt. Zwischen zwei Aufrufen
    geht nichts verloren, und man kann aufhören und später weitermachen.
  </Step>

  <Step title="Prüfen und korrigieren">
    `hidoctor_questionnaire_review` gibt alle bisherigen Antworten in lesbarer
    Form zurück. `hidoctor_questionnaire_back` geht zur vorherigen Frage, damit
    eine Antwort geändert werden kann.

    Eine geänderte Antwort kann einen Fragezweig schließen. Passiert das,
    listet die Antwort `dropped_question_keys` auf — Antworten, die nicht mehr
    gelten und entfernt wurden. Erwähnen Sie es, wenn es für die Patientin oder
    den Patienten von Bedeutung ist.
  </Step>

  <Step title="Absenden">
    `hidoctor_questionnaire_submit` gibt ein `outcome` zurück:

    | Ergebnis                 | Bedeutung                                                               |
    | ------------------------ | ----------------------------------------------------------------------- |
    | `submitted`              | Zur ärztlichen Prüfung eingereicht.                                     |
    | `ineligible`             | Medizinisch nicht geeignet. Das ist ein normales Ergebnis, kein Fehler. |
    | `covered_by_active_plan` | Der bestehende Plan deckt es bereits ab.                                |
  </Step>
</Steps>

### Antwortformate

Die Frage sagt Ihnen, wie sie zu beantworten ist. Lesen Sie `kind`:

| `kind`                      | Zu senden                                                |
| --------------------------- | -------------------------------------------------------- |
| `single`, `select`          | `value: "<option value>"`                                |
| `multi`, `multi-with-input` | `values: ["<option value>", …]`                          |
| `input`                     | `values: { "<field name>": <value>, … }`                 |
| `confirm`                   | `value: "understood"`                                    |
| `option-input`              | `option_inputs: { "<option_input_key>": "<free text>" }` |

Folgefragen enthalten eine Zeichenkette `answer_instructions`, die genau
angibt, wohin der Wert gehört. Halten Sie sich daran.

## Die obigen Regeln sind technisch nicht erzwungen

Hi-Doctor kann nicht erkennen, ob eine Antwort von der Patientin oder dem
Patienten kam oder vom Assistenten abgeleitet wurde. Nichts in der API prüft
das.

<Warning>
  Ob die Krankenakte integer bleibt, hängt davon ab, dass Ihr Assistent sich an
  die obigen Regeln hält. Ein Assistent, der eine plausible Antwort einsetzt,
  sendet erfolgreich ab — und eine Ärztin oder ein Arzt verschreibt daraufhin.
  Behandeln Sie „niemals eine Antwort erfinden“ als harte Vorgabe in Ihrem
  System-Prompt, nicht als Empfehlung.
</Warning>

Was der Server *sehr wohl* durchsetzt, ist die Eignung.

## Über die Eignung entscheidet der Server

Gegenanzeigen, der BMI-Schwellenwert, die Altersgrenze und die Prüfung des
unterstützten Landes werden beim Absenden des Fragebogens durchgesetzt — nicht
vom Assistenten und nicht von der Website.

<Warning>
  Versuchen Sie keine Vorabprüfung, und lassen Sie einen Fragebogen nach einem
  Ergebnis `ineligible` nicht mit geänderten Antworten erneut durchlaufen. Die
  Prüfung ist da, um Menschen zu schützen, und sie zu umgehen würde eine
  Patientin oder einen Patienten gefährden.
</Warning>

## Dinge, die Ihnen auf die Füße fallen

<AccordionGroup>
  <Accordion title="Optionswerte senden, keine Beschriftungen">
    Beschriftungen sind menschlicher Text und werden in die Sprache der
    Patientin oder des Patienten übersetzt. `value` ist die stabile Kennung, die
    der Server erwartet.
  </Accordion>

  <Accordion title="Der Fragebogen ist in der Sprache der Patientin oder des Patienten">
    Der Fragetext kommt in der Sprache zurück, die im Profil hinterlegt ist.
    Fragen Sie in dieser Sprache.
  </Accordion>

  <Accordion title="Die Zahlung läuft über Stripe, nicht im Chat">
    `hidoctor_checkout_create` gibt einen Link zurück. Fragen Sie nie nach
    Kartendaten — Sie können sie ohnehin nicht entgegennehmen, und die Frage
    gewöhnt Menschen daran, Kartennummern an Chatbots zu geben.
  </Accordion>

  <Accordion title="Fortschrittserfassung gibt es nur bei Gewichtsabnahme">
    Bei einer normalen Patientenverbindung werden alle Berechtigungen erteilt,
    Zahlung eingeschlossen. Das Fortschrittstagebuch ist aber um Gewicht,
    Injektionen und einen Injektionsplan herum gebaut und daher **nur bei der
    Behandlung zur Gewichtsabnahme verfügbar** — nicht bei Haarwachstum oder
    sexueller Gesundheit.

    Rufen Sie `hidoctor_progress_status` auf, bevor Sie eine Erfassung
    anbieten. Fehlt ein Tool vollständig, wurde diese Berechtigung beim
    Verbinden abgelehnt — sagen Sie das, statt einen Umweg zu erraten.
  </Accordion>

  <Accordion title="Gewicht ist ein Eintrag pro Tag; Notizen und Injektionen nicht">
    Ein Gewichtseintrag für ein Datum ersetzt den Eintrag dieses Tages. Notizen
    und Injektionen kommen hinzu, zweimal erfasst heißt also zwei Einträge.
  </Accordion>
</AccordionGroup>

## Ohne MCP

Wenn Sie keinen MCP-Client verwenden, stehen dieselben Funktionen über die
[REST-API](/api-reference/introduction) zur Verfügung — einschließlich der
[programmatischen Registrierung](/api-reference/signup), sodass eine
Chat-Oberfläche auch das Konto anlegen kann.
