- Add orchestration/directivas/ with TRIGGER-COHERENCIA-CAPAS.md and TRIGGER-INVENTARIOS.md adapted for veterinary domain - Add orchestration/agents/perfiles/ with specialized agents: - PERFIL-VETERINARIO-AGENT.yml (domain expert) - PERFIL-DDL-VET-AGENT.yml (database specialist) - _INDEX.yml (agents catalog) - Add MAPA-DOCUMENTACION.yml with full heritage chain references: - template-saas (origin/PROVIDER) - erp-core (abuelo/INTERMEDIATE) - erp-clinicas (padre/CONSUMER) - Include normative references: NOM-064-ZOO-2000, NOM-051-ZOO-1995, SENASICA - Define @VET_ prefixed aliases for project navigation - Add species catalog (canine, feline, birds, rodents, exotic) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
5.0 KiB
5.0 KiB
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)
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)
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
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
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
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
-
Tablas M:N gestionadas por TypeORM
- Documentar en ENTITIES-CATALOG.md
-
Tablas de auditoria/sistema
- Prefijo:
_audit_vet,_system_vet
- Prefijo:
-
Tablas heredadas de erp-clinicas
- No requieren entity local si se usa la del padre (adaptada)
-
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