# TRIGGER: Coherencia Entre Capas - Clinica Veterinaria **ID:** TRIGGER-VET-COHERENCIA **Version:** 1.0.0 **Proyecto:** clinica-veterinaria **Hereda de:** @ERP_TRIGGER_COHERENCIA -> @CLINICAS_TRIGGER_COHERENCIA **Alias:** @VET_TRIGGER_COHERENCIA --- ## Proposito Validar que cada objeto creado en una capa tenga su correspondiente en las demas capas, manteniendo coherencia DDL - Backend - Frontend, con validaciones especificas para el dominio veterinario. ## Cadena de Herencia ``` template-saas (PROVIDER) | v erp-core (INTERMEDIATE) | v erp-clinicas (CONSUMER) | v clinica-veterinaria (SUB-VERTICAL) <- ESTE PROYECTO ``` ## Activacion ### Automatica - Creacion/modificacion de tabla DDL en schema `sub_veterinaria` - Creacion/modificacion de entity TypeORM en modulos veterinarios - Creacion/modificacion de endpoint API especifico veterinario ### Manual - Comando: `@VET_VALIDATE_COHERENCE` - Pre-commit hook ## Reglas de Validacion ### DDL -> Backend (OBLIGATORIO) ```yaml regla_1: condicion: "Nueva tabla DDL creada en sub_veterinaria.*" accion: "Verificar entity correspondiente existe" bloquea: true regla_2: condicion: "Columna agregada a tabla veterinaria" accion: "Verificar campo en entity existe" bloquea: true regla_3: condicion: "Constraint FK agregado a tabla veterinaria" accion: "Verificar relacion TypeORM existe" bloquea: true ``` ### Backend -> Frontend (CONDICIONAL) ```yaml regla_4: condicion: "Endpoint CRUD veterinario creado" accion: "Verificar hook/servicio frontend existe" bloquea: false # Solo warning regla_5: condicion: "DTO veterinario modificado" accion: "Verificar tipos TypeScript frontend" bloquea: false ``` ## Validaciones Especificas Clinica Veterinaria ### Modulos CVT (Clinica Veterinaria) | Modulo | DDL Schema | Backend Path | Frontend Path | |--------|------------|--------------|---------------| | CVT-001 Mascotas | sub_veterinaria.pets, pet_owners | modules/mascotas/ | pages/mascotas/ | | CVT-002 Vacunacion | sub_veterinaria.vaccinations | modules/vacunacion/ | pages/vacunacion/ | | CVT-003 Desparasitaciones | sub_veterinaria.dewormings | modules/desparasitaciones/ | pages/desparasitaciones/ | | CVT-004 Hospitalizacion | sub_veterinaria.hospitalizations | modules/hospitalizacion/ | pages/hospitalizacion/ | | CVT-005 Estetica Canina | sub_veterinaria.grooming_* | modules/estetica/ | pages/estetica/ | | CVT-006 Farmacia Veterinaria | sub_veterinaria.vet_medications | modules/farmacia/ | pages/farmacia/ | ### Coherencia de Nombres ``` DDL: sub_veterinaria.tabla_nombre (snake_case) Entity: TablaNombre (PascalCase) Service: tabla-nombre.service.ts (kebab-case) Controller: tabla-nombre.controller.ts (kebab-case) ``` ## Validaciones Normativas (NOM-064-ZOO-2000) ### Campos Obligatorios para Expediente Veterinario ```yaml validacion_normativa: condicion: "Entity de expediente veterinario" campos_requeridos: - "especie" - "raza" - "sexo" - "edad_aproximada" - "peso" - "chip_id" # Si aplica - "propietario_id" - "historial_vacunacion" - "historial_desparasitacion" - "alergias_conocidas" - "diagnostico" - "tratamiento" referencia_normativa: "NOM-064-ZOO-2000" bloquea: true ``` ### Integridad de Registro de Mascotas ```yaml validacion_mascotas: condicion: "Tabla pets creada/modificada" reglas: - "Especie obligatoria (catalogo SENASICA)" - "Propietario vinculado obligatorio" - "Historial medico trazable" - "Chip/Identificacion unica" bloquea: true ``` ### Control de Vacunacion ```yaml validacion_vacunas: condicion: "Tabla vaccinations creada/modificada" reglas: - "Lote de vacuna registrado" - "Fecha de aplicacion" - "Fecha de proxima aplicacion" - "Medico veterinario responsable" - "Consentimiento del propietario" referencia_normativa: "SENASICA" bloquea: true ``` ## Excepciones Permitidas 1. **Tablas M:N gestionadas por TypeORM** - Documentar en ENTITIES-CATALOG.md 2. **Tablas de auditoria/sistema** - Prefijo: `_audit_vet`, `_system_vet` 3. **Tablas heredadas de erp-clinicas** - No requieren entity local si se usa la del padre (adaptada) 4. **Vistas para reportes sanitarios** - Documentar en DATABASE-SCHEMA.md ## Metricas | Metrica | Objetivo | Actual | |---------|----------|--------| | Coherencia DDL-Entity | 100% | TBD | | Coherencia Entity-Service | 100% | TBD | | Coherencia API-Frontend | 95% | TBD | | Cumplimiento NOM-064 | 100% | TBD | ## Referencias - `@VET_DEF_DB` - DATABASE-SCHEMA.md - `@VET_DEF_ENTITIES` - ENTITIES-CATALOG.md - `@CLINICAS_TRIGGER_COHERENCIA` - Trigger padre en erp-clinicas - `@ERP_TRIGGER_COHERENCIA` - Trigger abuelo en erp-core - `@WS_TRIGGER_COHERENCIA` - Trigger raiz del workspace --- **Normativa Aplicable:** - NOM-064-ZOO-2000: Requisitos para establecimientos de atencion medica veterinaria - NOM-051-ZOO-1995: Trato humanitario en movilizacion de animales - SENASICA: Servicio Nacional de Sanidad, Inocuidad y Calidad Agroalimentaria - NOM-033-SAG/ZOO-2014: Metodos para dar muerte a animales domesticos y silvestres