Skip to content

Data model

A 5-minute mental model of the Shepherd domain. Useful before you read the API reference.

  • 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.

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.

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.