Skip to main content
When the reviewing doctor decides that treatment is clinically appropriate, they issue a prescription, and the Partner API reports it to you as structured data only. You never receive the prescription document: the patient receives the prescription as set out for their country. Track each prescription by its active flag and expires_at, because a consultation can have more than one. Last reviewed: 2026-11-04 Hi Doctor does not sell, stock or ship medicine; the pharmacy dispenses it. How it works explains the patient’s side, and Countries covers where the service operates.

Where do prescriptions appear?

  • In prescriptions[] on every consultation resource and every webhook snapshot.
  • GET /v1/partner/prescriptions/{id} and GET /v1/partner/prescriptions?consultation_id= with cursor pagination. Scope: prescriptions:read.
  • As prescription.issued, prescription.cancelled and prescription.replaced webhook events.

The prescription resource

There is no document link and no doctor identity in the resource. In test mode a prescription created with the test advance carries null for expires_at, dispensing_country and supply_days, and the cross_border_pdf route.

Fulfilment routes

What happens when a prescription is replaced?

Sometimes a prescription has to be reissued, for example to correct it. The replacement is a new prescription with its own id in prescriptions[]. The original carries replaced_by with the new id. Its status only tells you whether it was cancelled (issued or cancelled), not whether it can still be used: for that, read its active flag and compare its expires_at with the current time. You receive prescription.replaced naming the original prescription, the one whose replaced_by now holds the new id. Always judge each prescription on its own active flag and expires_at, and never assume a consultation has exactly one prescription.

Prescription events

Prescription events are produced by a periodic reconciliation, so they can arrive some time after the change and after a later consultation event. Like every event, their data is the full consultation snapshot with prescriptions[], plus prescription_id naming the prescription that changed. Keep the snapshot with the highest version and replace your stored state with it. See Webhooks.

What to show your users

  • Show that a doctor issued a prescription, and its status.
  • Tell the patient that they receive the prescription as set out for their country, and point them to Countries.
  • Do not describe a prescription as available to collect unless active is true and expires_at has not passed.

Frequently asked questions

Do partners receive the prescription document?

No. The Partner API reports structured data only. The patient receives the prescription as set out for their country.

Does Hi Doctor ship the medicine?

No. Hi Doctor does not sell, stock or ship medicine. The pharmacy delivery route means delivery arranged by a pharmacy where the law allows it.

Can a consultation have more than one prescription?

Yes. A replacement is a new prescription with its own ID, and cancelled prescriptions stay in the list. Judge each one on its own active flag and expiry date.

How do I know whether a prescription can still be used?

Check that its active flag is true and that its expiry date has not passed. The status alone only tells you whether it was cancelled.

Why did a prescription event arrive after a later consultation event?

Prescription events come from a periodic reconciliation. Every event carries the full consultation snapshot, so keep the one with the highest version number.

Does the prescription data name the doctor?

No. The resource carries no doctor identity and no document link.

Next steps

Webhooks

Receive prescription.issued, prescription.cancelled and prescription.replaced.

Consultation lifecycle

How a consultation reaches approval.

Partnership FAQ

Commercial questions about partnering with Hi Doctor.