Skip to content

Veterinary EMR

A clinical record that crosses open problems with visit history to find quiet cases.

The short answer

Veterinary EMR is an Odoo module for a small-animal practice that wants back the chronic cases it stopped seeing. It keeps a problem register and a dated visit history in the same database and crosses them, so an animal with something still open and no recent examination becomes a line somebody works. Visits are SOAP, weight and temperature are per visit, and every vaccine dose carries its own next-due date.

Request this module

Last updated

What it is for

A practice management system will tell you who came in yesterday. It will not tell you who stopped coming. Those are different questions, and the second one is where the chronic cases go. The register knows the condition is still running. The visit history knows when the animal was last in the building. Neither half is unusual, and nothing in a calendar, a booking tool or a CRM holds both, so the overlap is invisible everywhere else and the case just goes quiet.

Platform
Odoo
Category
Clinical records
Works with
Odoo 18 · Odoo 19
Technical name
veterinary_emr
Status
Direct from webbox
Pricing
Paid

What is inside it

  1. 01

    The recheck gap

    The cockpit opens on animals carrying an open clinical problem that have not been examined inside the practice's recheck window. The tile drills through to exactly the animals it counted.

  2. 02

    The visit record

    Subjective, objective, assessment and plan as four fields, with weight and temperature recorded per visit and prescription lines carrying medication, dose, frequency and duration. A visit stays draft until you finish it.

  3. 03

    Weight trends

    Because every visit stores its own weight, the animal carries a dated series and the series is plotted. A loss across three visits is a finding; the same animal weighed once is a number in a field.

  4. 04

    Vaccine recall

    Each dose holds its own next-due date, which makes overdue and due-soon into queries rather than a monthly job somebody remembers. The board separates this week's phone list from a reminder run you can staff.

  5. 05

    Dashboards

    Twelve tiles, each drilling through to the list behind it. Visit analysis reports completion apart from caseload, and the patient book is profiled by age with birthdate-less animals left out rather than binned.

What it looks like in practice

  1. A thyroid case has not been examined in over a year

    The condition is still open on the chart, and the last examination sits far outside the practice's recheck window. No screen puts those two facts side by side.

    The register supplies the open problem, the visit history supplies the last examination date, and the leading cockpit tile crosses them. Its drill-down re-runs the tile's own domain instead of approximating it.

    Last examined
    419 days ago
    Window closed
    329 days
    Recheck window
    90 days

    Figures from the module's own demo data, on a fresh install. Install with demo data and open the veterinary cockpit; the recheck gap is the first tile.

    The recheck gapDashboards

  2. An animal loses weight one visit at a time

    Each consultation records a weight. On a record that keeps the current weight on the animal, the newest reading overwrites the one before it and the trend never exists to be seen.

    Weight is stored on the visit rather than on the animal, so the patient carries a dated series and the series is plotted. Visit analysis also carries the average measured weight for the period.

    Behaviour of the shipped code.

    Weight trendsThe visit record

  3. Vaccine compliance is being reported against animals who moved away

    Counting every animal ever registered flatters the figure. The practice wants the rate against the book it actually has.

    Compliance is measured over the active patient book, and the rate and its denominator read the same stored field, so the two tiles and their shared drill-down cannot drift apart. Overdue doses and doses falling due soon stay separate tiles on purpose.

    Compliance on the demo book
    68.8%
    Doses overdue
    eight
    Due inside thirty days
    six

    Figures from the module's own demo data, on a fresh install. Install with demo data and click the vaccine compliance tile on the cockpit.

    Vaccine recallDashboards

What it deliberately does not do

No billing, and no money anywhere
There is no price, product or invoice field in the module. Nothing reaches Odoo accounting, and the dashboards carry no revenue tile, because a money figure would have to be invented.
No appointment book
Visits are records of consultations that happened, not slots you schedule. There is no diary, no room or vet availability, and no double-booking guard.
No printed prescription
Prescription lines live on the visit. There is no signed prescription document, no PDF, and no dispensing or controlled-drug register.
No in-house lab or imaging
Analyser results and radiographs are ordinary Odoo attachments, with no viewer over them and no device integration.
No microchip registry submission
The number is recorded on the animal. Nothing is transmitted to a national database.

Questions

Can I install this on Odoo Online?
No. Odoo Online cannot install modules that contain Python, so this runs on Odoo.sh or a self-hosted instance. Check the versions listed above for the series and edition it is verified against.
Can I book appointments in it?
No. Visits are records of consultations that already happened rather than slots you schedule, so there is no diary, no availability model and nothing preventing two bookings at once. The day's schedule stays wherever you keep it now. This module owns the clinical record and the recall lists that fall out of it.
Are the recheck and wellness windows fixed?
No, all three are settings rather than assumptions: one for how long before a recheck counts as overdue, one for the wellness exam, and one deciding whether a patient still counts as active at all. Change them and the tiles follow, because the filter behind each click re-runs the tile's own domain.
Does it print prescriptions or reach accounting?
Neither. Prescription lines sit on the visit, but there is no signed document, no PDF and no controlled-drug register behind them. On the money side there is no price, product or invoice field anywhere in it, so pair the module with whatever you already use for billing.

Have something to build?

Tell us the problem. We'll come back with a plan, a price, and who'd actually build it.

  • Free scoping call
  • Reply within 1 business day
  • No lock-in