Online Prescription / Home Delivery
Provet Cloud provides a REST API for third-party systems to create and manage online prescriptions (e-prescriptions) on behalf of veterinary practices.
Supported Methods
POST: Create a new prescription
GET: Retrieve a prescription or prescription item
PATCH: Update a prescription’s status or remarks
PUT: Not supported
DELETE: Not supported
Setup
To integrate online prescriptions, configure a custom integration button in Provet Cloud:
Settings > Integrations > Custom integration buttons > Add
Set the “Visible page” to control where the button appears:
Client — shown on the client page when no patient is selected
Patient — shown on the client/patient page with a selected patient
Consultation — shown within the consultation flow
Online Prescription Settings
Department-level e-prescription settings can be fetched via the REST API:
GET
/<provet_id>/api/0.1/departmentsettings/
You can also subscribe to changes in clinic location settings using webhooks for Department settings.
Creating a Prescription
URL:
POST https://<domain_name>/<provet_id>/api/0.1/eprescription/prescription/
Minimal POST data example:
{
"client_id": 1,
"department_id": 1,
"prescriber_id": 1,
"issue_time": "2025-08-20T11:20:45Z",
"prescription_items": [
{
"name": "Lorem ipsum",
"patients": [1],
"strength": "100 mg",
"instructions": "lorem ipsum",
"quantity_packages": 1,
"valid_until": "2026-08-20"
}
]
}
Prescription — additional optional parameters
status(int) — default is1(Draft)STATUS_DRAFT = 1 STATUS_SENDING = 2 STATUS_SENT = 3 STATUS_ACCEPTED_WARNING = 8 STATUS_ACCEPTED = 4 STATUS_REJECTED = 5 STATUS_CANCELED = 6 STATUS_ERROR = 7
consultation_id(int)remarks(str)
Prescription item — additional optional parameters
repeat_number(int, default:1) — corresponds to the “Amount of dispenses” column on the Online prescription page
Updating a Prescription
Only the remarks and status fields can be updated via PATCH:
PATCH https://<domain_name>/<provet_id>/api/0.1/eprescription/prescription/<prescription_id>/
Example request body:
{
"status": 4,
"remarks": "Prescription accepted"
}
Retrieving a Prescription
GET https://<domain_name>/<provet_id>/api/0.1/eprescription/prescription/<prescription_id>/
Example response:
{
"url": "http://localhost:8000/4/api/0.1/eprescription/prescription/45/",
"consultation": null,
"prescriber": "http://localhost:8000/4/api/0.1/user/1/",
"department": "http://localhost:8000/4/api/0.1/department/1/",
"created": "2025-08-27T14:47:11+03:00",
"modified": "2025-08-27T14:47:11+03:00",
"status": 1,
"client": "http://localhost:8000/4/api/0.1/client/1/",
"pharmacy_id": null,
"archived": false,
"patients": [
"http://localhost:8000/4/api/0.1/patient/1/"
],
"items": [
"http://localhost:8000/4/api/0.1/eprescription/prescription_item/43/"
],
"uuid": "9105f39c-833b-11f0-99b6-2658e1b765fe",
"prescription_set_uuid": "9105f978-833b-11f0-99b6-2658e1b765fe",
"invoice": null,
"remarks": null,
"created_user": "http://localhost:8000/4/api/0.1/user/2/",
"modified_user": "http://localhost:8000/4/api/0.1/user/2/",
"modified_session": null,
"issue_time": "2025-08-20T14:20:45+03:00",
"is_order": false,
"is_payment": false,
"prescription_order": null,
"payment_details": null
}
Retrieving a Prescription Item
GET https://<domain_name>/<provet_id>/api/0.1/eprescription/prescription_item/<prescription_item_id>/
Example response:
{
"url": "http://localhost:8000/4/api/0.1/eprescription/prescription_item/43/",
"name": "Presc item abc",
"package_size": null,
"product_id": null,
"product_nplid": "",
"article_id": null,
"article_nplpackid": "",
"row_id": "",
"license_id": null,
"pharmacy_id": null,
"prescription": "http://localhost:8000/4/api/0.1/eprescription/prescription/45/",
"created": "2025-08-27T14:47:11+03:00",
"modified": "2025-08-27T14:47:11+03:00",
"valid_until": "2026-08-20",
"indication": null,
"dosage_form": null,
"strength": "100 mg",
"quantity": null,
"unit_description": "st",
"package_content": null,
"quantity_packages": 2,
"patients": [
"http://localhost:8000/4/api/0.1/patient/1/"
],
"prescribed_medicine": "Presc item abc",
"latest_dispensing": null,
"instructions": "lorem ipsum",
"language": null,
"repeat_number": 1,
"repeat_timevalue": null,
"repeat_timeunit": null,
"patient_identification": null,
"patient_id_qualifier": "IND",
"patient_species": null,
"supplimentary_information": null,
"created_user": "http://localhost:8000/4/api/0.1/user/2/",
"modified_user": "http://localhost:8000/4/api/0.1/user/2/",
"copied_from": null
}
Creating a Counter Sale for the Prescription Fee
To collect payment for a prescription fee, create a counter sale via the REST API:
Fetch the item ID from settings
Create a counter sale
Add the item to the counter sale
Finalize the counter sale
Add payment to the counter sale