# TRIGGER: Inventarios Sincronizados - Clinica Veterinaria **ID:** TRIGGER-VET-INVENTARIOS **Version:** 1.0.0 **Proyecto:** clinica-veterinaria **Hereda de:** @ERP_TRIGGER_INVENTARIOS -> @CLINICAS_TRIGGER_INVENTARIOS **Alias:** @VET_TRIGGER_INVENTARIOS --- ## Proposito Mantener los inventarios sincronizados con el codigo fuente, asegurando que cada objeto nuevo/modificado este registrado, con enfasis en componentes especificos del dominio veterinario. ## Cadena de Herencia ``` template-saas (PROVIDER) | v erp-core (INTERMEDIATE) | v erp-clinicas (CONSUMER) | v clinica-veterinaria (SUB-VERTICAL) <- ESTE PROYECTO ``` ## Activacion ### Post-Tarea - Creacion de entity/service/controller veterinario - Creacion de tabla DDL en sub_veterinaria - Creacion de componente frontend veterinario - Modificacion de modulo CVT ### Automatica - Post-commit (via hook) - Pre-release ## Inventarios a Sincronizar ### DATABASE_INVENTORY.yml ```yaml ubicacion: "orchestration/inventarios/DATABASE_INVENTORY.yml" contenido: schemas_propios: - sub_veterinaria tablas_veterinaria: - sub_veterinaria.pets - sub_veterinaria.pet_owners - sub_veterinaria.pet_photos - sub_veterinaria.vaccinations - sub_veterinaria.vaccine_types - sub_veterinaria.vaccination_reminders - sub_veterinaria.dewormings - sub_veterinaria.dewormer_types - sub_veterinaria.hospitalizations - sub_veterinaria.kennel_spaces - sub_veterinaria.hospitalization_notes - sub_veterinaria.grooming_services - sub_veterinaria.grooming_appointments - sub_veterinaria.vet_medications - sub_veterinaria.medication_sales tablas_heredadas: - "clinicas.pacientes (adaptado como mascotas)" - "clinicas.citas (adaptado)" - "clinicas.expedientes (extendido)" ``` ### BACKEND_INVENTORY.yml ```yaml ubicacion: "orchestration/inventarios/BACKEND_INVENTORY.yml" contenido: modulos_CVT: - CVT-001: mascotas - CVT-002: vacunacion - CVT-003: desparasitaciones - CVT-004: hospitalizacion - CVT-005: estetica-canina - CVT-006: farmacia-veterinaria entities_por_modulo: TBD services_por_modulo: TBD controllers_y_endpoints: TBD dtos: TBD guards_especificos: - vet-professional.guard.ts - pet-owner-consent.guard.ts - controlled-substance.guard.ts ``` ### FRONTEND_INVENTORY.yml ```yaml ubicacion: "orchestration/inventarios/FRONTEND_INVENTORY.yml" contenido: pages_veterinaria: - MascotasPage - VacunacionPage - DesparasitacionesPage - HospitalizacionDashboard - EsteticaPage - FarmaciaPage components_especializados: - PetProfileCard - VaccinationCalendar - KennelMap - GroomingScheduler - MedicationDispenser - PetWeightTracker hooks_veterinaria: - usePetProfile - useVaccinationSchedule - useHospitalization ``` ### MASTER_INVENTORY.yml ```yaml ubicacion: "orchestration/inventarios/MASTER_INVENTORY.yml" contenido: totales_consolidados: TBD estadisticas_por_capa: TBD ultima_sincronizacion: TBD cobertura_tests: TBD cumplimiento_normativo: TBD ``` ## Reglas de Actualizacion ```yaml regla_1: evento: "Entity veterinaria creada" acciones: - Agregar a BACKEND_INVENTORY.yml - Incrementar contador en MASTER_INVENTORY.yml - Verificar campos NOM-064 si aplica regla_2: evento: "Tabla DDL veterinaria creada" acciones: - Agregar a DATABASE_INVENTORY.yml - Verificar entity correspondiente - Validar schema sub_veterinaria regla_3: evento: "Componente React veterinario creado" acciones: - Agregar a FRONTEND_INVENTORY.yml - Clasificar por tipo (page/component/hook) - Verificar usabilidad en dispositivos moviles ``` ## Validacion de Consistencia ### Conteos Esperados | Inventario | Metrica | Valor Esperado | |------------|---------|----------------| | DATABASE | Schemas propios | 1 (sub_veterinaria) | | DATABASE | Tablas propias | 15+ | | DATABASE | Tablas heredadas | 10+ (de clinicas) | | BACKEND | Modulos CVT | 6 | | BACKEND | Entities | 15+ | | FRONTEND | Pages | 6+ | | FRONTEND | Components especializados | 10+ | ### Script de Validacion ```bash # Validar sincronizacion npm run inventory:validate # Actualizar inventarios npm run inventory:sync # Validar cumplimiento NOM-064 npm run inventory:validate-nom ``` ## Inventarios de Insumos Veterinarios ### Categorias Especiales (Control SENASICA) ```yaml medicamentos_controlados: antibioticos: - amoxicilina - enrofloxacina - cefalexina registro_obligatorio: true receta_medico_veterinario: true vacunas: - rabia - parvovirus - moquillo - triple_felina cadena_frio: obligatorio lote_tracking: true anestesicos: - ketamina - propofol - xilazina registro_stricto: true libro_control: obligatorio desparasitantes: - internos - externos lote_tracking: true sustancias_controladas: - opioides - barbituratos registro_senasica: obligatorio libro_amarillo: true ``` ### Inventario de Alimentos ```yaml alimentos_hospitalizados: categorias: - dietas_terapeuticas - alimento_cachorro - alimento_adulto - alimento_senior - alimento_renal - alimento_hepatico trazabilidad: por_paciente caducidad_control: true ``` ## Formato de Entrada ```yaml # Nueva entity veterinaria entities: - nombre: "PetEntity" archivo: "pet.entity.ts" modulo: "mascotas" tabla_ddl: "sub_veterinaria.pets" estado: "implementado" tests: true cumple_nom_064: true ``` ## Metricas | Metrica | Objetivo | Actual | |---------|----------|--------| | Sincronizacion DB | 100% | TBD | | Sincronizacion BE | 100% | TBD | | Sincronizacion FE | 100% | TBD | | Trazabilidad medicamentos | 100% | TBD | | Trazabilidad vacunas | 100% | TBD | | Ultima actualizacion | Diaria | TBD | ## Referencias - `@VET_INV_MASTER` - MASTER_INVENTORY.yml - `@VET_INV_DB` - DATABASE_INVENTORY.yml - `@VET_INV_BE` - BACKEND_INVENTORY.yml - `@VET_INV_FE` - FRONTEND_INVENTORY.yml - `@CLINICAS_TRIGGER_INVENTARIOS` - Trigger padre - `@ERP_TRIGGER_INVENTARIOS` - Trigger abuelo - `@WS_TRIGGER_INVENTARIOS` - Trigger raiz del workspace --- **Normativa Aplicable para Inventarios:** - NOM-064-ZOO-2000: Control de medicamentos e insumos veterinarios - SENASICA: Registro de sustancias controladas - NOM-012-ZOO-1993: Especificaciones para la regulacion de productos quimicos - Ley Federal de Sanidad Animal: Trazabilidad de biologicos