Bueno... Estás cerca. Pero la conceptualización de un servicio de atención veterinaria es algo diferente, por lo general.
Esta es una librería de modelos de bases de datos que te puede servir:
Database Answers, con su modelo de atención veterinaria:
Vets Praticle
Como puedes ver, los tratamientos componen una entidad, pero la cirugía se considera un tratamiento, por lo que no existe como entidad independiente... En este caso, los tratamientos componen un listado iterado que luego se factura, por lo que unmismo registro sólo hace referencia a un tratamiento, como los renglones de una factura. Por eso se puede usar una sola entidad para referirse a todos ellos.
Laboratorio, sí puede y tal vez debería ser una entidad independiente, pero eso se debe analizar.
Es una forma de modelarlo. No hay leyes sobre esto y dependerá del relevamientos del sistema y las reglas de negocio puestas por el cliente.