Recall Platform for Independent Canadian Clinics
Designed and built a clickable recall and rebooking console for a Canadian SaaS company that serves independent vet clinics and dental practices: recall lists read from the practice management system, multi-step SMS, email and voice sequences, a two-way SMS inbox in English and French, and consent checked before every send.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Dashboard, recall lists, recall detail, the two-way SMS inbox and recall rules, with the recall quick view and message preview panels. Every one of the 32 demo recalls opens its own detail page.
Quebec locations default to French. A rule cannot be activated while a Quebec location has a step without a French template, and the demo's dental cleaning rule holds sends to its Gatineau clinic until one is added.
Each phone number and email carries its own express, implied or opted-out consent with the source. Implied consent from a visit ends after 2 years, and a STOP, ARRET or ARRÊT reply records the opt-out and blocks further texts.
3 clinic locations in Ottawa and Gatineau, 7 staff, 24 households, 30 patients, 8 versioned rules, 15 message templates and 12 SMS conversations.
At a typical Wintergreen Reach customer, a receptionist printed the practice management system's "reminders due" report once a month, mailed postcards to some owners, phoned a few and never looked at the overdue list again. Vaccines and wellness exams lapsed, hygiene chairs sat empty, replies to texts from a personal cell phone got lost, and nobody could say whether reminders worked, who had asked not to be texted or whether a Quebec client got the French version.
Beckon reads due dates from each clinic's practice management system, runs a recall sequence per service by SMS, email, automated voice call and front desk call task, handles two-way replies, and shows how many lapsed patients came back and what those visits were worth in CAD. Every message is ready in English and French and every send checks consent first.
Wintergreen Reach sells Beckon to about 430 independent clinics across Canada, roughly 270 vet clinics and 160 dental practices, about 70 of them in Quebec. A recall that asks someone to book a new visit is a commercial message, so it has to carry consent, sender details and an opt-out in the client's language.
Due lists came out of the PMS once a month and were worked by hand. There was no sequence after the first reminder, no follow-up for no-shows or cancellations, and no record of which messages led to a booked visit.
Under CASL a recall needs express or implied consent, and implied consent through an existing relationship generally lasts 2 years from a purchase or 6 months from an inquiry. The sender carries the burden of proof, and an unsubscribe must be honoured within 10 business days.
The Charter of the French Language generally requires commercial messages to Quebec consumers to be available in French, and Quebec's Law 25 adds its own privacy duties. Clinic groups near the border serve English and French clients from the same system.
Clinics that tried bulk-SMS tools found they did not read the PMS, texted owners about deceased pets, ignored opt-outs and kept no consent record. Dental practices also need minimal message content under health privacy laws such as PHIPA in Ontario.
Mapped 8 roles, from front desk and clinicians to pet owners and Wintergreen Reach's own onboarding, support and finance teams, and 44 screens across the clinic console, mobile recipient pages and a vendor ops console. Defined the data model for households, patients, PMS due items, recalls, versioned rules, templates, messages, append-only consent and attribution, and wrote down the rules the design follows: CASL, CRTC calling rules, carrier STOP and HELP keywords, PIPEDA, PHIPA, Quebec Law 25, the Charter of the French Language and WCAG 2.1 AA.
Built 5 key screens on a production dashboard kit for a fictional three-location vet group: the dashboard with KPIs by location and date range, recall pipeline and bookings from recalls, recall lists with tabs, filters and a bulk action bar, recall detail with send next step, pause, skip, mark booked elsewhere and stop, the SMS inbox with intent chips and quick replies, and recall rules with step chips and activation checks. All actions run on local state.
Integration with vet and dental practice management systems (such as AVImark, Cornerstone, ezyVet, Dentrix, ABELDent, Tracker and ClearDent), Twilio or Telnyx for SMS and voice, Postmark or Amazon SES for email, Stripe Billing in CAD with GST/HST and QST, and hosting in AWS Canada (Central). Staff auth by role, a full audit log of every send, reply, consent change, opt-out, rule change and export, and the remaining screens: reminders, follow-ups, call tasks, clients, templates, results, consent, settings, the recipient booking pages and the vendor ops console.
Items due for the same household within the rule's bundle window are sent together, so an owner gets one text about both pets instead of two. Recall lists and the recall detail page show the bundled items with each recall.
Each recall shows its sequence timeline with every step's date, channel and condition, such as only if not booked or only if no reply, and why a step is held. Editing a rule creates a new version, and running recalls keep the version they started with.
The inbox tags each reply as confirm, reschedule, cancel, question or stop from keyword matching, offers quick replies in English or French, and counts SMS segments with a note that accented characters shorten each one. Sending is blocked for clients who opted out.
A booking found in the PMS within 60 days is attributed to the recall, so the dashboard shows reactivation rate and revenue recovered by location, and each rule shows its sends and reactivation rate for the last 30 days.

Designed and built a clickable cloud imaging viewer and archive for a Kassel software company serving German dental practices and vet clinics: one study list per patient or animal, a browser viewer with window/level, calibrated measurement and annotation, findings, and expiring PIN-protected links for referrers and owners.

Designed and built a clickable practice management system for a group of 12 companion-animal clinics in France: a dashboard of what needs handling today, the appointment book by vet and room, patient records shared across every clinic with I-CAD identification, and a 24-hour hospitalisation board where nurses tick off each treatment.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab