> ## 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.

# Tools reference

> Every tool the Hi-Doctor connector exposes to a patient, grouped by the permission it needs.

A patient connect exposes **50 tools** — everything a patient can do on
hi-doctor.ai. Each belongs to a permission group, and if a permission is not
granted the tool is not offered at all: calling it is refused rather than
silently ignored.

<Note>
  Signing in with a clinician or back-office account produces a different,
  smaller catalogue. Roles do not stack: an account gets exactly one.
</Note>

## Profile

Permission: **Your profile**

| Tool                      | What it does                                                                 |
| ------------------------- | ---------------------------------------------------------------------------- |
| `hidoctor_profile_get`    | Read the account profile.                                                    |
| `hidoctor_profile_update` | Update name, date of birth, country, language, timezone and contact details. |

## Consultations and records

Permission: **Consultations and prescriptions**

| Tool                                    | What it does                                                  |
| --------------------------------------- | ------------------------------------------------------------- |
| `hidoctor_consultations_list`           | List your consultations.                                      |
| `hidoctor_consultation_get`             | Read one consultation.                                        |
| `hidoctor_orders_list`                  | List your orders.                                             |
| `hidoctor_prescriptions_list`           | List your prescriptions.                                      |
| `hidoctor_prescription_pdf`             | Get an authenticated link to a prescription PDF.              |
| `hidoctor_prescription_request_reissue` | Request a reissue because a prescription expired or was lost. |
| `hidoctor_adverse_event_report`         | Report a suspected side effect to the clinical team.          |
| `hidoctor_adverse_events_list`          | List side effects you have reported.                          |

<Warning>
  Reporting a side effect through a chat assistant is not urgent care. For a
  severe reaction, contact your local emergency number.
</Warning>

## Billing and subscription

Permission: **Consultations and prescriptions**

| Tool                                   | What it does                                                                                      |
| -------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `hidoctor_subscription_get`            | Read your current plan.                                                                           |
| `hidoctor_subscription_cancel`         | Schedule cancellation **for the end of the current paid period**. Returns the effective end date. |
| `hidoctor_subscription_reactivate`     | Undo a scheduled cancellation.                                                                    |
| `hidoctor_subscription_billing_portal` | Get a Stripe-hosted billing-portal link to change card, plan or billing address.                  |
| `hidoctor_payments_list`               | List your payments.                                                                               |
| `hidoctor_payment_invoice`             | Get a link to an invoice PDF.                                                                     |

`hidoctor_subscription_early_order` — pull the next renewal forward — is
listed under **Payment** below rather than here. It creates the renewal
consultation immediately and consumes the period's single early order, so it
belongs with the actions that can lead to a charge.

<Note>
  Cancellation is **never immediate** — access continues to the end of the period
  you already paid for, and you can reactivate before that date passes.

  There is no pause tool. Pausing is a staff-only action on the backend, so it is
  deliberately not offered here rather than faked.
</Note>

## Messages

Permission: **Messages with your medical team**

| Tool                               | What it does                                               |
| ---------------------------------- | ---------------------------------------------------------- |
| `hidoctor_messages_unread_summary` | Unread message counts.                                     |
| `hidoctor_messages_get_thread`     | Open your medical-team conversation and list its messages. |
| `hidoctor_message_send`            | Send a message to your medical team.                       |
| `hidoctor_messages_mark_read`      | Mark the conversation as read.                             |

## Questionnaires

Permission: **Health questionnaires**

The conversational loop is `start → answer → review / back → submit`. See
[Build on Hi-Doctor with AI](/mcp/ai-integration) for the protocol and the
answer shapes.

| Tool                                   | What it does                                                                                           |
| -------------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `hidoctor_questionnaire_categories`    | List questionnaire categories.                                                                         |
| `hidoctor_questionnaire_start`         | Start or resume a questionnaire; returns the first unanswered question.                                |
| `hidoctor_questionnaire_current`       | Return the current question without changing anything.                                                 |
| `hidoctor_questionnaire_answer`        | Record one answer and return the next question.                                                        |
| `hidoctor_questionnaire_back`          | Revisit any earlier answered question by `question_key`, or step back one. Does not delete the answer. |
| `hidoctor_questionnaire_review`        | Read back every answer so far.                                                                         |
| `hidoctor_questionnaire_submit`        | Send the questionnaire for a doctor to review.                                                         |
| `hidoctor_questionnaire_schema`        | Fetch the raw schema and saved progress.                                                               |
| `hidoctor_questionnaire_save_progress` | Save answers in bulk without submitting.                                                               |

## Progress tracking

Permission: **Health tracking**. **Weight-loss treatment only** — the journal
is built around weight, injections and an injection plan, so it is not offered
on hair-growth or sexual-health treatments. Call `hidoctor_progress_status`
first; it tells you whether tracking is enabled, needs an active weight-loss
plan, or is unavailable.

| Tool                                                             | What it does                                                      |
| ---------------------------------------------------------------- | ----------------------------------------------------------------- |
| `hidoctor_progress_status`                                       | Whether tracking is enabled, needs a plan, or is unavailable.     |
| `hidoctor_progress_day_get`                                      | Everything logged for one day, **with each record's `entry_id`**. |
| `hidoctor_progress_weight_list` / `_log` / `_update` / `_delete` | Weight entries.                                                   |
| `hidoctor_progress_injections_list` / `_log`                     | Injection entries.                                                |
| `hidoctor_progress_injection_update` / `_delete`                 | Edit or remove an injection.                                      |
| `hidoctor_progress_notes_list` / `_add`                          | Daily notes.                                                      |
| `hidoctor_progress_note_update` / `_delete`                      | Edit or remove a note.                                            |
| `hidoctor_progress_goal_get` / `_set`                            | Your weight goal.                                                 |
| `hidoctor_progress_plan_get` / `_set`                            | Your injection plan.                                              |

<Tip>
  Start with `hidoctor_progress_day_get` when correcting something. It returns the
  `entry_id` you need to update or delete, so you never have to page through a
  list to find it.
</Tip>

Two behaviours worth knowing:

* **Weight replaces by date.** Logging weight for a day overwrites that day's
  entry. Omitting the date uses today in *your* profile timezone, and omitting
  the note keeps the note already stored.
* **Injections and notes append.** Logging twice creates two entries.

## Payment

Permission: **Payment**

| Tool                                | What it does                                                                                                          |
| ----------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `hidoctor_checkout_create`          | Create a Stripe checkout session, or return a consultation already covered by your plan.                              |
| `hidoctor_checkout_status`          | Check a checkout session. A paid session may finalise and create its consultation.                                    |
| `hidoctor_subscription_early_order` | Pull the next renewal forward, creating the renewal consultation now. Once per paid period, and **cannot be undone**. |

Payment is listed separately because it is the group that can lead to a
charge — the approval screen calls it out on its own for that reason.

<Warning>
  An early order is irreversible. It creates the renewal consultation
  immediately and uses up the one early order allowed in the current period.
  An assistant should tell you exactly what will happen and get an explicit yes
  before calling it.
</Warning>

## Not exposed to anyone

Approving a consultation, issuing or changing a prescription, and changing a
dose are **absent from the tool surface entirely** — not gated behind a
permission. Those are clinician actions. See [Safety](/essentials/safety).
