Skip to main content
The Template Management system allows customization of AI-generated SOAP note structure, field definitions, and detail levels to match your practice’s documentation standards.

Overview

Templates define how the AI assistant structures clinical documentation, including:
  • Required and optional fields for each SOAP section
  • Level of detail in generated notes
  • Specialized formats for different visit types
  • Custom field types and dropdown options
Templates primarily control AI note generation. They do not restrict manual documentation entry by veterinarians.

Template Library

The system includes built-in templates for common use cases:

SOAP - General

Type: soapStandard subjective-objective-assessment-plan format for general practice visitsDetail level: ConciseBest for: Wellness exams, routine sick visits, follow-ups

SOAP - Specialist

Type: soap_specialistExtended SOAP format with additional specialty fieldsDetail level: DetailedBest for: Cardiology, oncology, internal medicine referrals

Dental - Canine

Type: dental_canineStructured dental chart with tooth-by-tooth assessmentDetail level: DetailedBest for: Dog dental cleanings, extractions, oral surgery

Dental - Feline

Type: dental_felineFeline-specific dental documentation with FORL trackingDetail level: DetailedBest for: Cat dental procedures, stomatitis cases

Radiograph Report

Type: radiographStructured imaging interpretation templateDetail level: DetailedBest for: X-ray, ultrasound, CT/MRI documentation

Surgery Report

Type: surgery_reportPre-op, intra-op, and post-op documentationDetail level: DetailedBest for: Surgical procedures requiring anesthesia

Additional Template Types

  • Formatted Dictation (formatted_dictation): Free-form voice dictation with light formatting
  • Callback Note (callback): Client callback documentation and follow-up items
  • Tech Appointment (tech_appointment): Technician-only visits (vaccines, nail trims)
  • Staff Meeting (staff_meeting): Team meeting minutes and action items
  • Rounds (rounds): Daily patient rounds and treatment updates
  • Lecture Note (lecture_note): CE/training session documentation
  • Custom (custom): User-created templates for practice-specific needs

Template Interface

The template management screen has two main sections:

List Components

  • Search bar: Filter templates by title
  • Template cards: Each showing:
    • Drag handle icon (for reordering)
    • Template title
    • Default badge (if set as default)
    • “Built-in” label
    • Edit icon (on hover)
    • Chevron arrow
<button className="w-full flex items-center gap-3 px-3 py-3 rounded-lg">
  <GripVertical className="h-4 w-4" />
  <div className="flex-1">
    <span className="font-medium text-sm">{template.title}</span>
    {template.isDefault && (
      <Badge variant="secondary">
        <Star className="h-3 w-3 mr-0.5" /> Default
      </Badge>
    )}
  </div>
  <ChevronRight className="h-4 w-4" />
</button>

Empty State

When no templates are selected, the right panel displays:
  • Document icon illustration
  • “Tips & Templates” heading
  • Explanation of template purpose and usage

Detail Levels

Templates support two AI generation modes:

Concise

Characteristics:
  • Focused on essential clinical information
  • Shorter sentence structure
  • Removes conversational filler
  • Prioritizes actionable data
Example output:
S: 5yo FS Golden Retriever. Limping RH leg x3 days. No trauma witnessed. O: BCS 5/9. HR 100, RR 24. Mild pain on extension R stifle. No swelling. A: Possible cruciate injury P: Carprofen 75mg BID x7d. Recheck in 1 week. Radiographs if no improvement.
Best for:
  • High-volume general practice
  • Quick documentation needs
  • Technician visits
  • Routine preventive care

Detailed

Characteristics:
  • Comprehensive clinical narrative
  • Complete sentence structure
  • Includes contextual information
  • Thorough differential discussions
Example output:
Subjective: Bella is a 5-year-old female spayed Golden Retriever presenting for evaluation of right hind limb lameness of 3 days duration. Owner reports sudden onset, no witnessed trauma. Dog is reluctant to bear full weight on the affected limb. Objective: Patient is bright, alert, and responsive. Body condition score 5/9. Heart rate 100 bpm, respiratory rate 24 bpm. Orthopedic examination reveals mild pain on cranial drawer test of the right stifle with no obvious instability. No joint swelling or crepitus appreciated. Assessment: Differential diagnoses include partial cranial cruciate ligament tear, meniscal injury, or soft tissue strain. Clinical signs and examination findings are most consistent with early cruciate disease. Plan: Initiated medical management with carprofen 75mg PO BID for 7 days to reduce inflammation and pain. Client instructed on strict rest and leash walks only. Recheck examination scheduled in 1 week. If lameness persists or worsens, will proceed with sedated orthopedic examination and radiographs to further characterize the injury.
Best for:
  • Specialty/referral practices
  • Complex medical cases
  • Surgical procedures
  • Legal documentation needs
You can toggle between detail levels in the template preview to see how each setting affects AI output structure. The recommended level is indicated with a badge.

Template Structure

Sections

Each template contains multiple sections (e.g., Subjective, Objective, Assessment, Plan):
interface TemplateSection {
  id: string;
  name: string;          // "Subjective", "Objective", etc.
  fields: TemplateField[];
  order: number;         // Display sequence
}

Fields

Within each section, individual fields define specific data points:
interface TemplateField {
  id: string;
  name: string;          // "Chief Complaint", "Heart Rate", etc.
  type: 'text' | 'number' | 'date' | 'select' | 'checkbox' | 'textarea';
  required: boolean;     // Must be populated
  options?: string[];    // For select/dropdown fields
  defaultValue?: string;
  section?: string;
  order: number;
}

Field Types

Type: textSingle-line text entryUse for:
  • Pet name
  • Owner name
  • Medication names
  • Short descriptions

Built-In vs. Custom Templates

Characteristics

  • Pre-configured by Paw & Care system
  • Labeled “Built-in” in template list
  • Cannot be deleted
  • Can be copied to create custom variants
  • Updated with system releases

Modification

Built-in templates cannot be directly edited, but you can:
  1. Select the template
  2. Click “Copy and customize”
  3. Modify the copy as needed
  4. Set the custom version as your default
System updates may change built-in templates. If you rely on specific field structure, create a custom copy to preserve your preferred format.

Default Template

The template marked as default is automatically used for:
  • AI-generated SOAP notes from appointments
  • Quick documentation entry
  • Voice dictation transcription

Setting a Default

  1. Select desired template from list
  2. Click “Make default” button in preview header
  3. Star badge appears next to template name
  4. Previous default is unmarked
Only one template can be default at a time.

Template Field Display

The preview panel shows all fields for the selected template:
<div className="flex items-center gap-2 py-2 px-4 rounded hover:bg-muted/50">
  <span className="text-sm text-muted-foreground">{field.name}</span>
  {field.required && (
    <span className="text-red-500 text-xs">*</span>
  )}
  {field.type === 'select' && field.options && (
    <Badge variant="outline" className="text-[10px] ml-auto">
      {field.options.length} options
    </Badge>
  )}
</div>
Display elements:
  • Field name in muted text
  • Red asterisk (*) if required
  • Badge showing number of dropdown options (for select fields)
  • Hover effect for visual feedback

Best Practices

Use Concise when:
  • Seeing 20+ patients per day
  • Most visits are routine/preventive
  • Documentation time is a bottleneck
  • Notes are primarily for internal use
Use Detailed when:
  • Handling complex medical cases
  • Generating referral documentation
  • Legal/insurance scrutiny is common
  • Comprehensive client handouts are needed
  • Specialty practice with lower volume
  1. Start with built-in: Copy an existing template rather than building from scratch
  2. Mark required fields thoughtfully: Too many required fields slow documentation
  3. Use dropdowns for standardization: Select fields ensure consistent terminology
  4. Test with AI generation: Generate sample notes to verify field structure
  5. Get team input: Veterinarians and technicians should approve template changes
  6. Version control: Keep notes about why changes were made and when
  • Limit total count: 5-10 templates covers most practice needs
  • Clear naming: Use descriptive titles (“SOAP - Orthopedic” not “Template 3”)
  • Distinct purposes: Each template should serve a specific use case
  • Regular review: Quarterly audit to remove unused templates
  • Staff training: Ensure team knows which template to use when
Always require:
  • Patient identification (name, ID)
  • Date of visit
  • Veterinarian name
Consider requiring:
  • Chief complaint/reason for visit
  • Physical exam findings
  • Assessment/diagnosis
  • Treatment plan
Rarely require:
  • Optional lab values
  • Follow-up instructions (if not needed)
  • Client education notes
  • Detailed differential diagnoses

Copy and Customize Workflow

1

Select source template

Click any template in the list to view its structure
2

Click 'Copy and customize'

Button located in template preview header
3

Modify template properties

Update title, description, detail level as needed
4

Adjust fields

  • Add new fields
  • Remove unnecessary fields
  • Change field types or options
  • Reorder fields within sections
5

Save custom template

Template appears in list without “Built-in” label
6

Set as default (optional)

Make your custom template the practice standard

Template Data Model

Reference data structure for custom integrations:
export type TemplateType = 
  | 'soap' 
  | 'soap_specialist' 
  | 'formatted_dictation' 
  | 'dental_canine' 
  | 'dental_feline' 
  | 'radiograph' 
  | 'callback' 
  | 'tech_appointment' 
  | 'surgery_report' 
  | 'staff_meeting' 
  | 'rounds' 
  | 'lecture_note' 
  | 'custom';

export type DetailLevel = 'concise' | 'detailed';

export interface SOAPTemplate {
  id: string;
  title: string;
  type: TemplateType;
  description: string;
  detailLevel: DetailLevel;
  isDefault: boolean;
  isBuiltIn: boolean;
  sections: TemplateSection[];
  createdAt: string;
  updatedAt: string;
}

SOAP Notes

How to generate and edit clinical documentation using templates

AI Assistant

AI-powered note generation from voice dictation

Billing

How billing invoices are extracted from templated SOAP notes

Custom Fields

Advanced field customization and data validation

Build docs developers (and LLMs) love