- 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>
188 lines
5.0 KiB
Markdown
188 lines
5.0 KiB
Markdown
# 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
|