# Veterinary Video — Shot-by-Shot Capture Checklist (Printable)

> Print this, tick as you go. Each row = one capture. **Res:** desktop 1920×1080 @60fps · PWA 1170×2532 @60fps.
> Log in **off-camera** via `/dev-login`. Never show localhost URLs, dev tools, or PHP errors on camera.
> Prep demo data first (see bottom). Estimated total capture time: ~3–4 hours.

---

## DAY-OF PRE-FLIGHT
- [ ] Demo data seeded & sanity-checked (see "Demo data" section)
- [ ] Browser at 100% zoom, bookmarks bar hidden, clean profile, ad-blockers off
- [ ] Clinic brand (logo + color) applied in admin **and** PWA
- [ ] Screen-recorder set to 60fps, cursor-highlight on, system notifications silenced
- [ ] Phone/emulator framed for PWA shots; battery/clock set to a clean time (e.g. 9:41)
- [ ] Test render: capture 10s, confirm sharpness + no banding

---

## BLOCK A — MEDICAL CORE (VetClinic)  *[~60 min]*

| ✔ | # | Shot | Route / Screen | Action to perform on camera | Hold |
|---|---|------|----------------|------------------------------|------|
| ☐ | A1 | Dashboard | `vc.dashboard` | Load page; let KPI tiles + today's appts settle; slow hover over an alert | 6s |
| ☐ | A2 | Owner profile | `vc.pet-owners.show` | Scroll once through owner + their pets | 5s |
| ☐ | A3 | Pet record (HERO) | `vc.pets.show` | Show conditions, allergies, weight chart, vaccination panel | 8s |
| ☐ | A4 | New owner+pet | `vc.pets.create` | Fill a pet fast (name/species/breed/weight), Save | 10s |
| ☐ | A5 | Calendar | `vc.appointments.calendar` | Pan across 2 locations / multiple doctors | 6s |
| ☐ | A6 | Book appointment | `vc.appointments.create` | Cascade: location → dept → doctor → live slot → confirm | 10s |
| ☐ | A7 | Consultation/SOAP (HERO) | `vc.appointments.consultation` | Enter vitals (one flags red), fill S/O/A/P | 12s |
| ☐ | A8 | Exam templates | `vc.appointments.exam.findings` | Pick a template, tick body-system findings | 8s |
| ☐ | A9 | Prescription | `vc.prescriptions.from-consultation` | Add a drug, issue | 7s |
| ☐ | A10 | Controlled register | `vc.controlled-register.index` | Show balanced register; open reconcile view | 6s |
| ☐ | A11 | Vaccination + QR | `vc.vaccinations.index` / `vc.vaccinations.verify` | Record vaccine + next-due; open public verify QR page | 8s |
| ☐ | A12 | Imaging | `vc.imaging.index` | Show a study attached to the record | 5s |
| ☐ | A13 | Medical report | `vc.medical-reports.show` | Open a printable report | 5s |
| ☐ | A14 | Consent e-sign | `vc.consents.sign` / `vc.consents.verify` | Sign on screen; show verify page | 6s |
| ☐ | A15 | Wellness plans | `vc.wellness.index` | Show a plan + an active subscription | 5s |

## BLOCK B — VetAI  *[~20 min]*

| ✔ | # | Shot | Screen | Action | Hold |
|---|---|------|--------|--------|------|
| ☐ | B1 | AI assistant panel | VetAI assistant | Open panel; run "Differential" + "Structure SOAP" | 8s |
| ☐ | B2 | Voice dictation (HERO) | VetAI transcription | Tap mic, speak a note, watch it become structured SOAP | 10s |
| ☐ | B3 | Explain-to-owner | VetAI assistant | Generate plain-language after-care text | 5s |

## BLOCK C — FINANCIAL  *[~25 min]*

| ✔ | # | Shot | Route | Action | Hold |
|---|---|------|-------|--------|------|
| ☐ | C1 | Quotation send | `vc.quotations.send-approval` | Build quote from consult, send | 6s |
| ☐ | C2 | Owner approves (public) | `vc.quotations.public.view` → `.approve` | Open public link, click Approve | 7s |
| ☐ | C3 | Launch POS | `vc.appointments.launch-pos` | Show cart pre-filled from consultation | 7s |
| ☐ | C4 | Invoice linked | `vc.appointments.link-invoice` | Show invoice tied to the appointment | 5s |

## BLOCK D — SUPPLY CHAIN  *[~30 min]*

| ✔ | # | Shot | Module/Route | Action | Hold |
|---|---|------|--------------|--------|------|
| ☐ | D1 | Stock decrement | Pharmacy/dispense | Dispense → stock count drops live | 6s |
| ☐ | D2 | Purchase requisition | PurchaseRequisition | PR → supplier quote → PO | 8s |
| ☐ | D3 | Inter-branch transfer | TpsTransfer board | Move stock between branches | 6s |
| ☐ | D4 | Landed cost | LandedCost | Allocate freight/customs onto unit cost | 6s |

## BLOCK E — HOSPITAL (VetAdmission)  *[~35 min]*

| ✔ | # | Shot | Route | Action | Hold |
|---|---|------|-------|--------|------|
| ☐ | E1 | Ward board (HERO) | `va.admissions.board` | Show occupied/free kennels; open one | 8s |
| ☐ | E2 | Flowsheet | `va.admissions.flowsheet` | Scroll the daily flowsheet | 8s |
| ☐ | E3 | Med rounds | `va.medications.administer` | Mark a scheduled med administered | 6s |
| ☐ | E4 | IV fluids | `va.fluids.index` | Show fluid line + a bag change | 6s |
| ☐ | E5 | Vitals trends | `va.admissions.vital-trends` | Show the trending chart | 6s |
| ☐ | E6 | Alerts | `va.admissions.alerts` | An overdue-task alert fires → acknowledge | 6s |
| ☐ | E7 | Discharge | `va.discharge.preview` | Generate discharge summary | 7s |

## BLOCK F — REPORTS  *[~15 min]*

| ✔ | # | Shot | Route | Action | Hold |
|---|---|------|-------|--------|------|
| ☐ | F1 | Vaccinations due | `vc.reports.vaccinations-due` | Show the list | 4s |
| ☐ | F2 | Doctor activity | `vc.reports.doctor-activity` | Show chart/table | 4s |
| ☐ | F3 | Visit patterns | `vc.reports.visit-patterns` | Show graph | 4s |
| ☐ | F4 | Critical check | `vc.reports.critical-check` | Show flags | 4s |

## BLOCK G — PET-OWNER PWA (phone frame)  *[~40 min]*

| ✔ | # | Shot | View (`pwa-owner/src/views`) | Action | Hold |
|---|---|------|------------------------------|--------|------|
| ☐ | G1 | Onboarding/Login | `OnboardingView` / `LoginView` | Branded splash → quick login | 5s |
| ☐ | G2 | Home | `HomeView` | Next appt + reminders + quick actions | 6s |
| ☐ | G3 | Pet detail | `PetsView` → `PetDetailView` | Open pet, scroll history + weight chart | 7s |
| ☐ | G4 | Digital card/QR (HERO) | `CardView` | Show pet ID + scannable vaccination QR | 6s |
| ☐ | G5 | Book | `BookView` | Pick slot, confirm booking | 7s |
| ☐ | G6 | Prescriptions | `PrescriptionsView` | Show active meds | 4s |
| ☐ | G7 | Labs/Reports | `LabsView` / `ReportsView` | Open a lab result | 5s |
| ☐ | G8 | Invoices | `InvoicesView` | View + tap Pay | 5s |
| ☐ | G9 | Weight/Symptoms | `WeightView` / `SymptomDiaryView` | Log a weight + a symptom | 6s |
| ☐ | G10 | Telehealth/Emergency | `TelehealthView` / `EmergencyView` | Show video check-in + emergency button | 5s |
| ☐ | G11 | Push reminder (HERO) | `InboxView` + lock screen | Vaccination-due push lands on lock screen | 5s |

---

## HERO SHOTS (don't leave the day without these 8)
A3 pet record · A7 SOAP/vitals · B2 voice dictation · C2 owner-approves-quote · E1 ward board · E7 discharge · G4 digital card/QR · G11 push reminder

---

## DEMO DATA — SEED BEFORE FILMING
- [ ] Pets with believable names/breeds/weights ("Luna", "Max", "Biscuit"), 2–3 with chronic conditions + allergies
- [ ] 8–10 appointments on **today's** calendar across **2 locations / 3+ doctors**
- [ ] 1 controlled-drug register entry (balanced)
- [ ] 2–3 vaccinations, one **due soon** (for the reminder shot)
- [ ] 1 active **admission** with a half-filled flowsheet + 1 overdue alert
- [ ] 1 **quotation** pending approval (for the public-approve shot)
- [ ] 1 active **wellness subscription**
- [ ] Pharmacy item with stock count > 0 (for the decrement shot)
- [ ] PWA account linked to a pet that has prescriptions, a lab result, an invoice

## POST
- [ ] Blur/replace any real personal data
- [ ] Add "Screens show demo data" disclaimer
- [ ] Export masters: ProRes/high-bitrate H.264, 16:9; plus 9:16 + 1:1 for story/PWA cuts
