Skip to main content

Overview

The Medical Records system provides centralized access to all patient documentation. Search across records, review SOAP notes by section, and track record status from draft through finalization. All records created via AI Documentation appear here for review and management.

SOAP Format

Structured Subjective-Objective-Assessment-Plan documentation

Status Tracking

Draft → Pending Review → Reviewed → Finalized workflow

Quick Search

Find records by patient, owner, veterinarian, or template

Tabbed Viewing

Review SOAP sections with organized tab interface

Records Dashboard

Overview Statistics

The top of the Medical Records page displays key metrics:
Blue file icon - Complete count of all medical records in the systemIncludes all statuses: drafts, pending, reviewed, and finalized.

Search and Filters

Search records in real-time across multiple fields:
  • Patient name: “Buddy”, “Max”, “Luna”
  • Owner name: “Smith”, “Johnson”, “Garcia”
  • Veterinarian: “Chen”, “Rivera”, “Dr. Sarah”
  • Template name: “SOAP”, “Dental”, “Surgery Report”
Search is case-insensitive and updates results as you type.
Search works across all fields simultaneously. Try searching “Buddy Chen” to find all records for patient Buddy created by Dr. Chen.

Status Filter

Filter records by current status:
  • All Statuses (default): Shows all records
  • Draft: Work-in-progress records
  • Pending Review: Submitted for approval
  • Reviewed: Approved but not yet finalized
  • Finalized: Locked and complete

Record List View

Each record displays as a card with essential information:

Card Layout

Left Side - Patient Icon:
  • Circular paw icon in primary color
Center - Record Details:
  • Patient name (bold) + status badge + template badge
  • Owner name with user icon
  • Veterinarian name with user icon
  • Date with calendar icon (formatted: “Dec 15, 2024, 10:00 AM”)
Right Side:
  • Chevron icon indicating clickable card

Status Badges

Gray/secondary badge with edit iconLabel: “Draft”Meaning: Incomplete or work-in-progress record

Template Badges

Outline badge with tag icon shows the template type:
  • SOAP
  • SOAP-Specialist
  • Canine Dental Chart
  • Surgery Report
  • Radiograph Interpretation
  • (Other templates as configured)
Click any record card to open the detailed view modal.

Record Detail View

Clicking a record opens a modal with complete documentation:
  • Title: Pet name + template name (e.g., “Buddy — SOAP”)
  • Metadata line: Status badge | Veterinarian name | Date/time

SOAP Tabs

Four-tab interface for reviewing each section:
What the owner reportsTypical content:
  • Chief complaint (“vomiting for 2 days”)
  • History of present illness
  • Owner observations
  • Changes in behavior, appetite, activity
  • Previous treatments tried
Example:
Owner reports decreased appetite for 2 days. 
Vomiting once yesterday. Still drinking water normally.
Each tab displays the section content in a gray box with white-space preserved for easy reading.
If a SOAP section has no content, the tab displays:
  • “No subjective data.”
  • “No objective data.”
  • “No assessment data.”
  • “No plan data.”
This can happen with incomplete draft records.

Notes Section

Below the SOAP tabs, additional notes appear if present:
  • Header: “Notes” (medium font weight)
  • Content: Gray box with smaller text and muted color
  • Purpose: Additional context, special instructions, or administrative notes
Example: “Client counseled on dietary management” or “Pre-anesthetic bloodwork submitted”

Record Examples

Example 1: Gastroenteritis Case

Patient: Buddy (dog) Owner: John Smith Vet: Dr. Sarah Chen Template: SOAP Status: Finalized Date: December 15, 2024 Subjective:
Owner reports decreased appetite for 2 days. Vomiting once yesterday. Still drinking water normally.
Objective:
T: 101.5°F, HR: 90, RR: 20. Mild abdominal tenderness on palpation. No masses palpable. Mucous membranes pink and moist.
Assessment:
Likely mild gastroenteritis. DDx includes dietary indiscretion, parasitic infection, foreign body.
Plan:
Bland diet (boiled chicken and rice) for 3-5 days. Cerenia 1mg/kg PO SID x3 days. Recheck if vomiting continues >48hrs.
Notes: Client counseled on dietary management

Example 2: Dental Procedure

Patient: Luna (dog) Owner: Emily Johnson Vet: Dr. Michael Rivera Template: Canine Dental Chart Status: Reviewed Date: December 14, 2024 Subjective:
Annual dental evaluation. Owner notes bad breath over the past month.
Objective:
Grade 2 periodontal disease noted. Calculus present on 104, 108, 204, 208. Gingivitis generalized. Mobile tooth: 309.
Assessment:
Periodontal disease grade 2 with one mobile tooth requiring extraction.
Plan:
Schedule dental cleaning under GA. Extract 309. Pre-anesthetic bloodwork. Continue dental home care.
Notes: Pre-anesthetic bloodwork submitted

Example 3: Specialist Referral

Patient: Max (dog) Owner: Sarah Williams Vet: Dr. Sarah Chen Template: SOAP-Specialist Status: Pending Review Date: December 14, 2024 Subjective:
Referral from primary vet for persistent right forelimb lameness, 3 weeks duration. Worse after exercise.
Objective:
Grade 3/5 lameness RF. Pain on flexion of right elbow. Muscle atrophy noted RF. Radiographs: DJD changes right elbow, fragmented medial coronoid process.
Assessment:
Fragmented coronoid process right elbow with secondary DJD. Diagnosis: elbow dysplasia.
Plan:
Recommend arthroscopy for fragment removal. NSAIDs (Carprofen 2.2mg/kg BID), joint supplement. Activity restriction pending surgery. Recheck in 2 weeks.
Notes: Surgery consultation scheduled

Creating New Records

Medical records are created through the AI Documentation feature:
1

Navigate to AI Documentation

Go to the “Dictate Record” page from the main navigation.
2

Record or Upload

Use voice recording, document upload, or manual typing to capture clinical notes.
3

Generate SOAP Notes

Let AI structure your notes into proper SOAP format.
4

Save Record

Choose status (Draft, Pending Review, or Finalized) and save.
5

View in Medical Records

The new record appears here immediately for future reference.
You cannot create records directly from the Medical Records page—this is a view-only interface. Use AI Documentation to generate new records.

Record Status Workflow

Typical progression through statuses:
1

Draft

Veterinarian creates record but hasn’t finished or reviewed it.Who can see: Only the creating veterinarianActions: Continue editing, finalize, or submit for review
2

Pending Review

Veterinarian submits record for supervisor/senior vet review.Who can see: Creator + reviewersActions: Reviewer approves (→ Reviewed) or sends back for edits (→ Draft)
3

Reviewed

Reviewer approved the record.Who can see: All staff with medical record accessActions: Finalize to lock the record
4

Finalized

Official, locked record in patient’s permanent chart.Who can see: All staff with medical record accessActions: View only (no editing)
Finalized Records Are LockedOnce finalized, records cannot be edited to maintain medical record integrity and regulatory compliance. Ensure accuracy before finalizing.

Best Practices

Record Review Guidelines

Before marking a record as Finalized, verify:
  • Accuracy: All facts, vitals, and findings correct
  • Completeness: All relevant sections filled in
  • Clarity: Notes are understandable to other veterinarians
  • Compliance: Meets practice standards and regulations
  • Medications: Correct drug names, doses, frequencies
Submit for review when:
  • You’re a new graduate or resident
  • Complex or unusual case
  • High-stakes diagnosis (e.g., reportable disease)
  • Second opinion needed
  • Practice policy requires review
Don’t submit routine wellness exams unless practice requires it.
Record content should:
  • Use proper medical terminology
  • Be objective and factual
  • Avoid abbreviations that could be misunderstood
  • Include all relevant positive and negative findings
  • Document client communication and education
  • Create records same-day as the appointment
  • Don’t let drafts sit for days
  • Finalize within 24-48 hours when possible
  • Memory fades—document while fresh

Search Tips

  • Find by date: Search “Dec 15” or “2024”
  • Find by condition: Search terms from SOAP sections (“vomiting”, “lameness”)
  • Find templates: Search “dental” to find all dental charts
  • Combine filters: Use status filter + search for targeted results

Integration with Other Features

AI Documentation

Records created in AI Documentation automatically:
  • Save to this Medical Records database
  • Link to selected patient
  • Include original transcription (stored but not displayed here)
  • Associate with creating veterinarian
  • Timestamp creation date

Patient Management

Records link to patient profiles:
  • Pet ID connects record to patient
  • Owner information pre-populated from patient record
  • Full medical history accessible by viewing all records for a patient

Appointments

Records often correspond to appointments:
  • Created during or after “In Progress” appointments
  • Reference appointment type and reason
  • Complete the appointment lifecycle (Scheduled → Completed → Documented)

Data Structure

Medical records include:
interface MedicalRecord {
  id: string;
  petId: number;
  petName: string;
  ownerName: string;
  vetName: string;
  templateName: string;
  recordDate: string; // ISO timestamp
  status: 'draft' | 'pending_review' | 'reviewed' | 'finalized';
  soap: {
    subjective: string;
    objective: string;
    assessment: string;
    plan: string;
  };
  notes: string;
}
Source: src/types/index.ts:274-304

Regulatory and Compliance

Medical Record Retention

Legal RequirementsVeterinary medical records must be retained according to state/provincial regulations, typically:
  • 3-7 years after last patient contact
  • Indefinitely for controlled substances
  • Check your local veterinary board requirements

VCPR Documentation

Records support Veterinarian-Client-Patient Relationship (VCPR) by documenting:
  • Patient examination dates
  • Diagnoses and treatments
  • Client communication
  • Prescription rationale

Audit Trail

Every record save action is logged in the audit trail:
  • User who created/modified record
  • Timestamp of action
  • Status changes
  • Resource ID for traceability
Source: src/sections/DictationSOAP.tsx:420-429

Troubleshooting

Try these steps:
  1. Clear search box and status filter
  2. Search by patient name only (remove other terms)
  3. Check if record might be a Draft (visible only to creator)
  4. Verify record was saved (check AI Documentation page)
  5. Check date range—may be older than expected
Possible causes:
  • Saved as Draft before generating AI notes
  • AI generation failed or was skipped
  • Manual entry incomplete
Solution: Return to AI Documentation, find the draft, complete it, and re-save
Check:
  • Do you have permission to change status?
  • Is record already Finalized (locked)?
  • Are you the original creator (for Drafts)?
Solution: Contact practice administrator if you need status changed
Issue: Record created with wrong templatePrevention: Select correct template before generating notes in AI DocumentationFix: If Draft, re-create with correct template. If Finalized, create addendum record.

Future Enhancements

Planned features (not yet implemented):
  • Export to PDF: Download formatted medical record
  • Print View: Printer-friendly format
  • Advanced Search: Date ranges, multiple filters
  • Edit Drafts: Modify saved draft records
  • Record Comparison: Compare previous visits
  • Batch Actions: Finalize multiple records at once

AI Documentation

Create new medical records with AI assistance

Patient Management

View complete patient profiles and medical history

Appointments

See appointments that resulted in these records

Build docs developers (and LLMs) love