VetCare
A management platform for veterinary clinics: patient records, scheduling, automated vaccination reminders by SMS, medicine stock with expiry alerts, and invoicing.
The problem
Veterinary clinics in Morocco keep their records on paper or in spreadsheets: an animal's history is hard to retrieve, vaccination reminders rely on the team remembering, and medicines expire on the shelf with nobody seeing it coming.
The outcome
In development. The goal: one record per animal, vaccination reminders sent automatically, and stock that warns before expiry rather than after.
The context
A veterinary clinic runs on information that has to be found quickly and at the right moment: an animal’s vaccination history during the consultation, the reminder to send three weeks before it is due, the vaccine batch expiring next month. In most Moroccan clinics those three pieces of information live in three different places — a paper register, the vet’s memory, and a box in the store room.
The result is predictable: missed reminders, so animals not revaccinated and recurring revenue evaporating; medicines thrown away; and a patient record that cannot be handed over when a colleague takes over the case.
What the platform covers
- Patient records — one animal, one owner, a complete history: consultations, treatments, vaccines, weight, reported allergies.
- Scheduling — appointments, slot management, a view per practitioner.
- Automated vaccination reminders — the next due date is calculated from the vaccination protocol, and the owner receives an SMS with no action from the team.
- Medicine stock — receipts, issues, batch numbers, and expiry alerts triggered early enough to use or return the product.
- Invoicing — invoices issued from the consultation, with no re-keying.
The technical decisions
- Sending the reminders. The chosen channel is SMS. The decision that shapes the system
is not the channel but its isolation: sending goes through a single interface
(
sendReminder(recipient, template, data)) behind which an SMS aggregator sits today and the WhatsApp Business API can sit tomorrow, without touching the business logic. Also to be documented: how the owner’s consent is collected and traced, and what happens when a send fails (retry, logging, alerting the clinic). - Calculating vaccination due dates. The protocol depends on species, age and vaccine: this is real domain logic, and it is where the product’s value sits.
- Batch traceability. A batch number follows a medicine from delivery to injection — which is what makes it possible to recall the right animals if a batch is withdrawn.
Where it stands
In development, with a pilot clinic committed: the product is being built against the real constraints of a working practice, not against assumptions.