Data model
A 5-minute mental model of the Shepherd domain. Useful before you read the API reference.
Core entities
Section titled “Core entities”- Clinic : a veterinary practice; the tenancy boundary for most data.
- Client : a pet owner.
- Patient : a pet (dog, cat, exotic, etc.) belonging to one or more clients.
- Appointment : a scheduled visit for a patient with a provider at a clinic.
- SOAP : the clinical note (Subjective, Objective, Assessment, Plan) recorded during a visit.
- Invoice : billing artifact for a visit or set of items.
- Prescription : a dispensed or prescribed medication tied to a patient.
Tenancy
Section titled “Tenancy”Every resource is scoped to a clinic. Clinics roll up into clinic groups for multi-location operators. Integrations authenticate with a dual-key pair plus an X-Clinic-Id header that selects the active clinic per request; see Authentication.
Sharding
Section titled “Sharding”Shepherd shards clinic data across physical PostgreSQL clusters. The API hides this from callers, but a few endpoints (bulk export, reporting) accept a clinic ID and route accordingly: expect a small per-clinic latency variance, not a global one.