A stock count that says "40 units available" is not the same as knowing which of those 40 units expires first. Most clinics find out the difference the day a pharmacist opens a box mid dispense and realizes the batch on hand expired two weeks ago, while a newer batch of the same medicine sits untouched further back on the shelf.
Quantity is not the number that matters
A simple stock count answers "do we have any," not "which one should go out the door first." Without batch level tracking, the oldest stock only gets used first if someone remembers to physically dig for it, which does not survive a busy afternoon.
FEFO is a dispensing rule, not a labelling habit
First expired first out only works if the system enforces it at the point of dispensing, not if it is a rule written on a whiteboard. The moment a prescription is filled, the system should already know which batch to pull, before the pharmacist has to think about it.
What ClinicOS does at the counter
ClinicOS tracks stock by batch and expiry date, and dispensing pulls the earliest expiring batch automatically, with partial dispensing billed accurately against what actually left the shelf. The pharmacist still makes the call. They just are not the one keeping track of which box is about to expire.