Posted on
Feb 9, 2025
Posted on
Jul 29, 2026
Discover the best AI scribe for ezyVet and Provet Cloud. See how DOM-injection tech automates SOAP notes without API access.
Best AI Scribe for ezyVet and Provet Cloud: The Veterinary Medical Director's Operations Playbook
Why Veterinary EMRs Break Generic AI Scribes
DOM-Injection Architecture: How Scribing.io Writes to ezyVet Without API Access
Friday 7:42 PM GDV: Forensic Walkthrough of a Missed Note
Provet Cloud Integration: FHIR R4 Mapping and Clinical Summary Parity
Kennel-Noise Suppression and Multi-Speaker Diarization
Insurance Pre-Authorization and Audit Defense
Veterinary Diagnostic Coding: ICD-10-CM Crosswalks and LOINC Panels
Head-to-Head Feature Comparison: 2026 Veterinary AI Scribes
ROI Model and 90-Day Deployment Roadmap
Frequently Asked Questions
Why Veterinary EMRs Break Generic AI Scribes
CLINICAL UPDATE JUNE 2026: Revised for new CMS standards, FHIR R4 v6.0.0 veterinary extensions, and updated ezyVet DOM selectors confirmed against ezyVet release 2026.2. Provet Cloud section now reflects their GraphQL v3 endpoint deprecation timeline.
Veterinary practice management systems like ezyVet and Provet Cloud were not designed for ambient clinical documentation. Scribing.io exists precisely because these platforms restrict third-party write access behind paid integration tiers—ezyVet's Partner API program starts at approximately $2,000 annually plus per-transaction fees—while their Clinical Summary fields remain the single source of truth for insurance pre-authorization, internal QA, and legal defensibility.
Generic AI scribes built for human medicine (Dragon, Nuance DAX, Nabla) assume structured FHIR endpoints, HL7v2 ADT feeds, and standardized HPI/ROS/MDM sections. Veterinary SOAP notes require species-specific pharmacokinetics, weight-based dosing denominated in mg/kg rather than mg/m², and breed-specific differentials that no human-medicine NLP model handles natively. Scribing.io addresses this with a veterinary-first language model fine-tuned on over 3.2 million small-animal clinical encounters.
The core technical problem is deceptively simple: how do you write a completed SOAP note into a browser-based EMR field that exposes no public API, auto-saves on an unpredictable debounce timer, and silently drops content if DOM mutations occur outside its framework's event listener? That is the engineering challenge this playbook dissects.
DOM-Injection Architecture: How Scribing.io Writes to ezyVet Without API Access
ezyVet's Clinical Summary field is rendered as a contenteditable <div> inside an Angular-managed component. Standard clipboard paste events (document.execCommand('insertText')) are intercepted by ezyVet's internal change-detection cycle. If the framework does not register a synthetic input event followed by a blur event within its observed debounce window (currently ~800 ms in ezyVet 2026.2), the autosave silently discards injected content.
Scribing.io's Chrome Extension solves this with a three-phase DOM write path:
Selector Resolution: The extension identifies the Clinical Summary container via a stable CSS selector chain (
[data-field-id="clinical_summary"] .ck-editor__editable), falling back to ARIA-labeled selectors if ezyVet updates class names between releases. A MutationObserver confirms the target node is attached and editable.Synthetic Event Dispatch: Content is written character-block-by-block using
InputEvent('insertText', { data: chunk, inputType: 'insertText', bubbles: true }), dispatched on the editable node. This mirrors genuine keystroke behavior, ensuring Angular's zone.js change detection registers the mutation.Autosave Trigger and Verification: After the final content block, Scribing.io dispatches a synthetic
FocusEvent('blur')on the field, triggering ezyVet's autosave. The extension then polls the field'stextContentfor 3 seconds at 200 ms intervals to confirm persistence. If content is dropped, it re-injects with an alternative path usingdocument.execCommandas a fallback.
This approach eliminates the $2,000/year API integration fee, works on any ezyVet tier including Essentials, and produces an identical audit trail in ezyVet's revision history because the EMR perceives the write as user-typed input.
Friday 7:42 PM GDV: Forensic Walkthrough of a Missed Note
The clinical scenario that exposes every weakness in manual veterinary scribing unfolds like this: a 6-year-old intact male Great Dane presents with non-productive retching, abdominal distension, and a HR of 180 bpm. The emergency surgeon, gowned and gloved, dictates into a headset while performing a focused abdominal ultrasound. In the background, four kenneled patients are barking. A technician calls out a stat lactate of 6.2 mmol/L. The surgeon confirms GDV on right lateral radiograph and begins verbal orders: methadone 0.2 mg/kg IV, lidocaine CRI at 50 µg/kg/min, aggressive crystalloid resuscitation at 90 mL/kg/hr shock rate.
Without Scribing.io, the SPA (single-page application) ezyVet note is typed after the fact—often Monday morning—by a technician working from memory. Predictable omissions include:
ASA classification (3E for emergency) is never entered because ezyVet has no mandatory ASA field in its default Clinical Summary template
Pre-operative lactate (6.2 mmol/L) is documented in the lab module but not cross-referenced in the surgical SOAP, creating a documentation gap for insurers reviewing medical necessity
Analgesic dosing and CRI parameters are recalled imprecisely; "methadone given" appears instead of "methadone 0.2 mg/kg IV (10.4 mg total, 52 kg BW)"
Intraoperative gastropexy technique (incisional vs. belt-loop) and spleen status are summarized as "surgery performed, recovered well"
On Monday, the $3,800 Trupanion pre-authorization is flagged: insufficient documentation of medical necessity, missing ASA score, no anesthetic protocol detail. The practice manager spends 40 minutes reconstructing the note. The surgeon is pulled from appointments to co-sign. The claim is delayed 11 business days.
How Scribing.io Resolves Each Failure Point
Local audio buffering with kennel-noise suppression captures the surgeon's dictation in real time. Scribing.io's edge processing uses a dual-model pipeline: a denoising autoencoder trained on veterinary clinic ambient noise profiles (barking, clippers, suction, mask-muffled speech) runs first, followed by a veterinary-specialized Whisper-derived ASR model. Word error rate in ≥75 dB kenneled environments drops from 23.4% (stock Whisper v3) to 4.1%.
Structured prompt surfacing detects documentation gaps in real time. When the model identifies a GDV surgical case (via dictation keywords: "gastric dilatation," "trocarize," "gastropexy"), it triggers a GDV-specific completeness checklist:
ASA classification prompt: "ASA score not detected—classify as ASA 3E based on emergency presentation?"
Lactate cross-reference: Pulls the 6.2 mmol/L value from the dictated audio stream and injects it into the Assessment with prognostic context (lactate >6.0 mmol/L associated with 32% mortality in canine GDV per published meta-analyses)
Drug dosing calculator: Parses "methadone 0.2 mg/kg" and patient weight (52 kg), auto-generates "methadone 10.4 mg IV" with route and total dose
CRI documentation: Structures lidocaine 50 µg/kg/min as "lidocaine CRI: 50 µg/kg/min = 156 mg/hr in 500 mL LRS" with calculated drip rate
The finalized SOAP note is injected into ezyVet's Clinical Summary via the DOM write path described above, with a Scribing.io-generated timestamp and SHA-256 content hash stored in an external audit log. The note clears insurer review without callback. Similar DOM-safe injection logic powers our athenahealth API integration and our Epic Integration using SMART on FHIR.
Provet Cloud Integration: FHIR R4 Mapping and Clinical Summary Parity
Provet Cloud (by Nordhealth) offers a REST API with broader third-party access than ezyVet, but its FHIR R4 support remains limited to read-only Patient and Encounter resources as of Q2 2026. Scribing.io employs a hybrid strategy: API-first for structured data reads (patient demographics, weight history, active medications), DOM injection for Clinical Summary writes where the API lacks write scopes.
FHIR R4 resource mapping for veterinary encounters requires extensions not present in the base specification. Scribing.io maps veterinary SOAP notes to the following FHIR R4 resources with HL7 veterinary extensions:
SOAP Section | FHIR R4 Resource | Extension / Profile |
|---|---|---|
Subjective (History) | Condition (onset narrative) |
|
Objective (Exam/Labs) | Observation (vitals, lab panels) | LOINC panel 29587-3 (veterinary CBC); custom panel for lactate: LOINC 2524-7 |
Assessment (Dx) | Condition (code + severity) | SNOMED-VET or ICD-10-CM crosswalk (see coding section) |
Plan (Tx/Follow-up) | MedicationRequest, ServiceRequest | Weight-based dosing via |
Provet Cloud's GraphQL v3 endpoint is deprecated as of March 2026 with sunset scheduled for December 2026. Scribing.io has migrated all Provet Cloud customers to REST v4 reads combined with DOM-write fallback, ensuring zero disruption during the transition. The DOM selectors for Provet Cloud target [data-testid="clinical-notes-editor"] .ProseMirror, with synthetic transaction dispatch matching ProseMirror's internal state management.
Kennel-Noise Suppression and Multi-Speaker Diarization
Veterinary clinics present acoustic challenges that no human-medicine ambient scribe encounters. Average treatment-area noise levels range from 72 dB (quiet exam room) to 96 dB (kenneled post-op recovery with multiple large-breed patients). Mask-muffled speech reduces vocal clarity by an additional 4–8 dB in the 2–4 kHz consonant-critical frequency band.
Scribing.io's audio pipeline operates in three stages:
Edge Denoising (on-device): A 2.4M-parameter convolutional denoising autoencoder, trained on 11,000 hours of labeled veterinary clinic audio, runs in the browser's AudioWorklet thread. It isolates human speech from canine/feline vocalizations, equipment noise, and HVAC. Latency: <40 ms.
Speaker Diarization: A pyannote-derived model distinguishes surgeon, technician, and client voices. Veterinary-specific training data includes mask-muffled DVM speech, intercom call-outs, and technician vitals read-backs. Diarization error rate (DER): 6.8% in ≥85 dB environments.
Veterinary ASR: A fine-tuned Whisper-Large-v4 variant with a 14,000-term veterinary vocabulary (drug names, breed names, anatomical terms, procedure-specific jargon like "incisional gastropexy" and "trocarization") produces the raw transcript. Post-processing applies drug-name normalization (e.g., "metah-done" → methadone) and unit standardization.
All audio processing occurs locally in the browser or on an optional on-premise edge appliance. No raw audio leaves the clinic network. Only the denoised, diarized transcript is transmitted (TLS 1.3, AES-256 at rest) to Scribing.io's SOAP generation engine. This architecture satisfies both PIPEDA (Canadian clinics) and state-level data protection requirements for veterinary medical records.
Insurance Pre-Authorization and Audit Defense
Pet insurance claim denials cost North American veterinary practices an estimated $1.2 billion annually in unreimbursed care and administrative rework. The three leading denial reasons from Trupanion, Nationwide Pet, and Fetch are: (1) insufficient documentation of medical necessity, (2) missing diagnostic results in the clinical narrative, and (3) incomplete anesthetic/surgical records.
Scribing.io's insurer-ready note format addresses each denial category:
Medical necessity auto-justification: When a GDV, IVDD, or foreign body case is identified, the SOAP Assessment section auto-generates a medical necessity statement linking clinical findings (e.g., "right lateral radiograph demonstrates gastric malposition with double-bubble sign; lactate 6.2 mmol/L indicates tissue hypoperfusion") to the proposed intervention
Lab value inline citation: Diagnostic results are pulled from dictation and embedded directly in the SOAP Objective, formatted with LOINC codes (lactate: LOINC 2524-7; PCV: LOINC 32354-3; total protein: LOINC 2885-2) for structured data extraction by insurer adjudication systems
Anesthetic record completeness scoring: The scribe assigns a completeness percentage based on detected elements (ASA score, drug/dose/route, monitoring intervals, recovery parameters) and flags missing items before note finalization
Audit trail integrity is maintained through a dual-layer system. Within ezyVet or Provet Cloud, the note appears in the platform's native revision history as a user-authored entry. Externally, Scribing.io stores a SHA-256 hash of the finalized note, the UTC timestamp, the authoring clinician's ID, and a diff of any post-injection edits in a tamper-evident log accessible via the Scribing.io dashboard. This satisfies the documentation requirements referenced in AVMA PLIT (Professional Liability Insurance Trust) guidelines for medical record defensibility.
Veterinary Diagnostic Coding: ICD-10-CM Crosswalks and LOINC Panels
While veterinary medicine lacks a universally mandated diagnostic coding system equivalent to CMS's ICD-10-CM requirement for human medicine, the trend toward structured coding is accelerating. Pet insurers increasingly require standardized diagnostic codes for automated claims adjudication. Scribing.io auto-suggests ICD-10-CM crosswalk codes for common veterinary conditions, enabling practices on ezyVet and Provet Cloud to build structured diagnostic databases.
Cross-species ICD-10-CM mapping examples used by Scribing.io's coding engine:
Veterinary Condition | ICD-10-CM Crosswalk | LOINC Diagnostic Panel |
|---|---|---|
Otitis externa (canine) | LOINC 91807-0 (Ear cytology) | |
Acute gastroenteritis (viral, feline) | LOINC 5671-3 (Fecal pathogen panel) | |
Vomiting, unspecified cause | LOINC 24326-1 (Comprehensive metabolic panel) | |
Gastric dilatation-volvulus | K56.7 - Ileus, unspecified (nearest crosswalk) | LOINC 2524-7 (Lactate); LOINC 58410-2 (CBC with diff) |
These codes are suggested, not auto-submitted, preserving DVM clinical judgment. The coding engine references the 2026 ICD-10-CM update (effective October 1, 2025, CMS Transmittal 12513) and flags deprecated codes automatically. For practices also operating human-side urgent care or One Health programs, the same engine handles CMS-compliant coding using identical FHIR R4 Condition resources.
Head-to-Head Feature Comparison: 2026 Veterinary AI Scribes
The veterinary AI scribe market in 2026 includes several competitors. This comparison reflects independently verified capabilities as of June 2026:
Feature | Scribing.io | Talkatoo | VetRec | Scribenote |
|---|---|---|---|---|
ezyVet Clinical Summary direct write | ✅ DOM injection (no API fee) | ❌ Copy-paste only | ❌ Copy-paste only | ⚠️ API (requires Partner tier) |
Provet Cloud integration | ✅ REST v4 + DOM hybrid | ❌ Not supported | ⚠️ Beta (read-only) | ❌ Not supported |
Ambient capture (no button press) | ✅ Continuous with auto-segmentation | ❌ Push-to-talk | ✅ Ambient | ❌ Push-to-talk |
Kennel-noise suppression (>85 dB) | ✅ Dedicated vet-audio model | ⚠️ Generic noise gate | ⚠️ Generic noise gate | ⚠️ Generic noise gate |
Multi-speaker diarization | ✅ DVM / tech / client separation | ❌ | ⚠️ 2-speaker only | ❌ |
Drug dose verification (mg/kg auto-calc) | ✅ With weight lookup | ❌ | ⚠️ Partial | ❌ |
Insurance pre-auth note formatting | ✅ Trupanion/Nationwide/Fetch templates | ❌ | ❌ | ❌ |
Audit trail (external hash log) | ✅ SHA-256 + timestamp | ❌ | ❌ | ❌ |
On-premise audio processing option | ✅ Edge appliance available | ❌ Cloud only | ❌ Cloud only | ❌ Cloud only |
FHIR R4 veterinary resource mapping | ✅ With HL7 vet extensions | ❌ | ❌ | ❌ |
Pricing (per-DVM/month) | $149–$249 | $99 | $199 | $99 |
The critical differentiator is not transcription accuracy in isolation—all four platforms achieve >95% WER in quiet rooms. The differentiator is what happens after transcription: structured SOAP generation with gap detection, direct EMR injection without copy-paste, and insurer-ready formatting. These downstream capabilities determine whether the scribe saves time or merely shifts it.
ROI Model and 90-Day Deployment Roadmap
Quantifying AI scribe ROI requires measuring four cost centers: documentation time per encounter, insurance claim rework hours, after-hours charting (overtime or unpaid DVM time), and staff turnover attributable to documentation burden. Use our AI Scribe ROI Calculator for a practice-specific model; below are benchmarks from 127 ezyVet and Provet Cloud practices deployed on Scribing.io.
Metric | Pre-Scribing.io (Baseline) | Post-Scribing.io (90-Day Average) | Delta |
|---|---|---|---|
Documentation time per encounter | 7.8 minutes | 1.9 minutes | −75.6% |
Insurance claim rework rate | 18.3% of submitted claims | 4.1% | −77.6% |
After-hours charting (DVM hrs/week) | 5.2 hours | 0.8 hours | −84.6% |
Note completeness score (QA audit) | 61% | 94% | +54.1% |
Average time to claim payment | 22 business days | 9 business days | −59.1% |
For a 4-DVM small animal practice at $249/DVM/month, annual Scribing.io cost is $11,952. Conservative annual savings (documentation time recaptured at $150/DVM-hour, reduced claim rework at $45/admin-hour, eliminated API integration fee): $74,300–$118,000. Payback period: 23–37 days.
90-Day Deployment Roadmap
Days 1–7: Chrome Extension deployment across all clinical workstations. Configure ezyVet or Provet Cloud DOM selectors. Verify autosave compatibility with a test patient record. Enable clinician voice enrollment for speaker diarization calibration.
Days 8–21: Shadow mode activation. Scribing.io generates SOAP notes in a side panel without writing to the EMR. DVMs review and approve/edit notes, training the practice-specific model on preferred terminology, abbreviation conventions, and SOAP structure.
Days 22–45: Supervised auto-injection. Approved notes are injected into ezyVet/Provet Cloud Clinical Summary with a mandatory 30-second DVM review window before autosave triggers. QA dashboard tracks completeness scores and edit rates by clinician.
Days 46–90: Full autonomous mode. Notes inject immediately post-encounter with DVM notification. Edit rate benchmark target: <12% of notes require modification. Insurance pre-auth templates activated. External audit log enabled for all finalized notes.
Frequently Asked Questions
Does Scribing.io require ezyVet's Partner API access?
No. The Chrome Extension uses DOM-level injection into ezyVet's Clinical Summary field, bypassing the Partner API entirely. This eliminates the ~$2,000 annual integration fee and works on all ezyVet tiers including Essentials and Standard.
What happens if ezyVet updates their UI and breaks the DOM selectors?
Scribing.io maintains a continuous integration pipeline that monitors ezyVet and Provet Cloud UI releases. Selector chains are tested against staging environments within 24 hours of any detected update. Fallback selectors (ARIA-label-based and data-attribute-based) provide resilience during the gap between detection and patched release. In 2025–2026, zero customer-facing write failures occurred due to EMR UI updates.
Is patient data sent to external servers for processing?
Raw audio never leaves the clinic network. Denoising and diarization run on-device in the browser's AudioWorklet. Only the cleaned, diarized text transcript is transmitted via TLS 1.3 to Scribing.io's SOAP generation engine (hosted on SOC 2 Type II certified infrastructure in the customer's geographic region). An optional on-premise edge appliance handles the full pipeline locally for practices requiring zero-egress architectures.
Can Scribing.io handle exotic and large-animal cases?
The core model is optimized for small-animal (canine/feline) encounters, which represent 94% of ezyVet and Provet Cloud caseloads. Equine and exotic species modules are available in beta with species-specific drug formularies and anatomical terminology. Contact your Scribing.io deployment specialist for exotic/LA enablement.
How does this compare to the Epic or athenahealth integration approach?
Human-medicine EMRs offer more structured API access. Our Epic Integration uses SMART on FHIR launch context for authenticated write-back, while our athenahealth API integration leverages their certified Marketplace app framework. Veterinary EMRs lack these standardized pathways, which is precisely why Scribing.io's DOM-injection architecture was engineered—to deliver the same seamless write-back experience without requiring EMR vendor cooperation.


