I work in a very small SA GP hospital that only has 7 employees total including the owner and only 3-4 people in the building at a time. We fill maybe 10 prescriptions a day. We don’t have hundreds of medications either. So it’s usually not necessary. The doctor tells me what to fill, I create the label, check the label, take the bottle off of the shelf and double check that I have the right medication and strength, and then count how much I need. There are far fewer checks in place to prevent a mixup than there would be in a large human pharmacy. But given that I’m typically filling medications for a patient I’ve just seen 30 seconds before, I know which medication I need to fill regardless and can figure out if a medication I’ve grabbed is obviously wrong. Like if a 2 year old 100 lb dog came in with a limp, I know I definitely need to grab Vetprofen 100 mg and not Vetmedin. That would be pretty impossible to mix up, especially since it takes time to get the bottle, check it, count them out, put them in the bottle, put the label on, and explain it to the owner.
With injections, there’s a little more chance for error since things can sometimes happen very fast, but typically you also know what you need to get and most vials don’t look too similar. In fact, some drugs that pair together like dexdomitor and antisedan are very different in color, probably on purpose. When it’s a clear aqueous solution in a nondescript vial, that can be a little more difficult but I just make sure to triple check everything before I give it.