diff --git a/orchestration/MAPA-DOCUMENTACION.yml b/orchestration/MAPA-DOCUMENTACION.yml new file mode 100644 index 0000000..47e08d6 --- /dev/null +++ b/orchestration/MAPA-DOCUMENTACION.yml @@ -0,0 +1,404 @@ +# =============================================================================== +# MAPA DE DOCUMENTACION - CLINICA VETERINARIA +# =============================================================================== +# +# Proposito: Centro de referencias a toda la documentacion del proyecto +# Alias: @VET_MAPA_DOC +# Tipo: SUB-VERTICAL (hereda de erp-clinicas) +# +# =============================================================================== + +version: "1.0.0" +created: "2026-01-16" +updated: "2026-01-16" +proyecto: "clinica-veterinaria" +tipo: "SUB-VERTICAL" +nivel: 3 + +# ------------------------------------------------------------------------------- +# CADENA DE HERENCIA COMPLETA +# ------------------------------------------------------------------------------- + +cadena_herencia: + origen: + proyecto: "template-saas" + tipo: "PROVIDER" + nivel: 0 + alias: "@TS_MAPA_DOC" + ubicacion: "projects/template-saas/orchestration/MAPA-DOCUMENTACION.yml" + + abuelo: + proyecto: "erp-core" + tipo: "INTERMEDIATE" + nivel: 1 + alias: "@ERP_MAPA_DOC" + ubicacion: "projects/erp-core/orchestration/MAPA-DOCUMENTACION.yml" + + padre: + proyecto: "erp-clinicas" + tipo: "CONSUMER" + nivel: 2 + alias: "@CLINICAS_MAPA_DOC" + ubicacion: "projects/erp-clinicas/orchestration/MAPA-DOCUMENTACION.yml" + + actual: + proyecto: "clinica-veterinaria" + tipo: "SUB-VERTICAL" + nivel: 3 + alias: "@VET_MAPA_DOC" + especializacion: "Veterinaria" + +# ------------------------------------------------------------------------------- +# DOCUMENTACION DE USUARIO (docs/) +# ------------------------------------------------------------------------------- + +docs: + raiz: + README.md: + alias: "@VET_README" + descripcion: "Punto de entrada del proyecto" + _MAP.md: + alias: "@VET_MAP" + descripcion: "Mapa maestro de navegacion" + + vision: + ruta: "docs/00-vision-general/" + alias: "@VET_VISION" + archivos: + - VISION-CLINICA-VETERINARIA.md + - ARQUITECTURA-VETERINARIA.md + + modulos: + ruta: "docs/01-modulos/" + alias: "@VET_MODULOS" + patron: "CVT-{NNN}-{nombre}.md" + archivos: + - CVT-001-Mascotas.md + - CVT-002-Vacunacion.md + - CVT-003-Desparasitaciones.md + - CVT-004-Hospitalizacion.md + - CVT-005-Estetica-Canina.md + - CVT-006-Farmacia-Veterinaria.md + + normativa: + ruta: "docs/02-normativa/" + alias: "@VET_NORMATIVA" + archivos: + - NOM-064-ZOO-2000-Implementacion.md + - NOM-051-ZOO-1995-Trato-Humanitario.md + - SENASICA-Registro-Biologicos.md + + definitions: + ruta: "docs/_definitions/" + alias: "@VET_DEF" + archivos: + _INDEX.yml: + alias: "@VET_DEF_INDEX" + DATABASE-SCHEMA.md: + alias: "@VET_DEF_DB" + descripcion: "Schema sub_veterinaria (15+ tablas)" + ENTITIES-CATALOG.md: + alias: "@VET_DEF_ENTITIES" + descripcion: "Catalogo de entities veterinarias" + SERVICES-CATALOG.md: + alias: "@VET_DEF_SERVICES" + descripcion: "Catalogo de services veterinarios" + MODULES-CATALOG.md: + alias: "@VET_DEF_MODULES" + descripcion: "Catalogo de 6 modulos CVT" + + quick: + ruta: "docs/_quick/" + alias: "@VET_QUICK" + archivos: + QUICK-INDEX.yml: + alias: "@VET_QUICK_INDEX" + QUICK-MODULES.yml: + alias: "@VET_QUICK_MODULES" + QUICK-DATABASE.yml: + alias: "@VET_QUICK_DATABASE" + QUICK-API.yml: + alias: "@VET_QUICK_API" + +# ------------------------------------------------------------------------------- +# DOCUMENTACION OPERACIONAL (orchestration/) +# ------------------------------------------------------------------------------- + +orchestration: + raiz: + _MAP.md: + alias: "@VET_ORCH_MAP" + PROJECT-STATUS.md: + alias: "@VET_STATUS" + descripcion: "Estado actual del proyecto" + PROXIMA-ACCION.md: + alias: "@VET_NEXT" + descripcion: "Siguiente tarea a ejecutar" + + trazabilidad: + TRACEABILITY.yml: + alias: "@VET_TRACEABILITY" + descripcion: "Trazabilidad de 6 modulos CVT" + DEPENDENCY-GRAPH.yml: + alias: "@VET_DEP_GRAPH" + descripcion: "Grafo de dependencias" + CONTEXT-MAP.yml: + alias: "@VET_CONTEXT" + descripcion: "Mapeo de contexto" + _inheritance.yml: + alias: "@VET_INHERITANCE" + descripcion: "Herencia: SUB-VERTICAL nivel 3" + MAPA-DOCUMENTACION.yml: + alias: "@VET_MAPA_DOC" + descripcion: "Este archivo" + + inventarios: + ruta: "orchestration/inventarios/" + alias: "@VET_INV" + archivos: + MASTER_INVENTORY.yml: + alias: "@VET_INV_MASTER" + DATABASE_INVENTORY.yml: + alias: "@VET_INV_DB" + BACKEND_INVENTORY.yml: + alias: "@VET_INV_BE" + FRONTEND_INVENTORY.yml: + alias: "@VET_INV_FE" + + directivas: + ruta: "orchestration/directivas/" + alias: "@VET_DIRECTIVAS" + hereda_de: "@CLINICAS_DIRECTIVAS" + archivos: + - TRIGGER-COHERENCIA-CAPAS.md + - TRIGGER-INVENTARIOS.md + + agentes: + ruta: "orchestration/agents/" + alias: "@VET_AGENTS" + archivos: + perfiles: + _INDEX.yml: + alias: "@VET_AGENTS_INDEX" + PERFIL-VETERINARIO-AGENT.yml: + alias: "@VET_AGENT_VETERINARIO" + PERFIL-DDL-VET-AGENT.yml: + alias: "@VET_AGENT_DDL" + trazas: + ruta: "orchestration/agents/trazas/" + + referencias: + ruta: "orchestration/referencias/" + alias: "@VET_REFS" + + environment: + ruta: "orchestration/environment/" + alias: "@VET_ENV" + +# ------------------------------------------------------------------------------- +# REFERENCIAS AL WORKSPACE Y CADENA +# ------------------------------------------------------------------------------- + +referencias_cadena: + template_saas: + mapa: "@TS_MAPA_DOC" + ubicacion: "projects/template-saas/orchestration/MAPA-DOCUMENTACION.yml" + hereda: + - "Directivas base" + - "Estructura de inventarios" + - "Perfiles de agentes base" + + erp_core: + mapa: "@ERP_MAPA_DOC" + ubicacion: "projects/erp-core/orchestration/MAPA-DOCUMENTACION.yml" + hereda: + - "23 modulos MGN" + - "Triggers de coherencia" + - "Modelo multi-tenant" + + erp_clinicas: + mapa: "@CLINICAS_MAPA_DOC" + ubicacion: "projects/erp-clinicas/orchestration/MAPA-DOCUMENTACION.yml" + hereda: + - "Modulos de pacientes (adaptados), citas, expedientes" + - "Directivas clinicas" + - "Normativa salud base" + + workspace: + archivo: "orchestration/_refs/WS-REFERENCES.yml" + alias: "@VET_WS_REFS" + contenido: + - "@WS_DIRECTIVAS" + - "@WS_PERFILES" + - "@WS_TEMPLATES" + - "@WS_DEFINITIONS" + +# ------------------------------------------------------------------------------- +# MODULOS CVT (CLINICA VETERINARIA) +# ------------------------------------------------------------------------------- + +modulos_cvt: + CVT-001: + nombre: "Mascotas" + estado: "30%" + alias: "@VET_MOD_MASCOTAS" + normativa: "NOM-064-ZOO-2000" + + CVT-002: + nombre: "Vacunacion" + estado: "25%" + alias: "@VET_MOD_VACUNACION" + normativa: "SENASICA" + + CVT-003: + nombre: "Desparasitaciones" + estado: "20%" + alias: "@VET_MOD_DESPARASITACION" + + CVT-004: + nombre: "Hospitalizacion" + estado: "20%" + alias: "@VET_MOD_HOSPITALIZACION" + normativa: "NOM-051-ZOO-1995" + + CVT-005: + nombre: "Estetica Canina" + estado: "15%" + alias: "@VET_MOD_ESTETICA" + + CVT-006: + nombre: "Farmacia Veterinaria" + estado: "20%" + alias: "@VET_MOD_FARMACIA" + normativa: "SENASICA" + +# ------------------------------------------------------------------------------- +# NORMATIVA APLICABLE +# ------------------------------------------------------------------------------- + +normativa: + obligatoria: + - codigo: "NOM-064-ZOO-2000" + nombre: "Requisitos para establecimientos de atencion medica veterinaria" + aplica_a: ["CVT-001", "todos"] + alias: "@VET_NOM_064" + + - codigo: "NOM-051-ZOO-1995" + nombre: "Trato humanitario en movilizacion de animales" + aplica_a: ["CVT-004"] + alias: "@VET_NOM_051" + + - codigo: "SENASICA" + nombre: "Servicio Nacional de Sanidad, Inocuidad y Calidad Agroalimentaria" + aplica_a: ["CVT-002", "CVT-006"] + alias: "@VET_SENASICA" + + complementaria: + - codigo: "NOM-033-SAG/ZOO-2014" + nombre: "Metodos para dar muerte a animales domesticos y silvestres" + aplica_a: ["procedimientos-terminales"] + + - codigo: "NOM-012-ZOO-1993" + nombre: "Especificaciones para la regulacion de productos quimicos" + aplica_a: ["CVT-006"] + +# ------------------------------------------------------------------------------- +# ESPECIES SOPORTADAS +# ------------------------------------------------------------------------------- + +especies: + domesticas: + - codigo: "CAN" + nombre: "Canino" + alias: "@VET_ESP_CANINO" + vacunas_basicas: ["rabia", "parvovirus", "moquillo", "leptospira"] + + - codigo: "FEL" + nombre: "Felino" + alias: "@VET_ESP_FELINO" + vacunas_basicas: ["rabia", "triple_felina", "leucemia_felina"] + + menores: + - codigo: "AVE" + nombre: "Aves" + alias: "@VET_ESP_AVE" + + - codigo: "ROE" + nombre: "Roedores" + alias: "@VET_ESP_ROEDOR" + + exoticas: + - codigo: "REP" + nombre: "Reptiles" + consideraciones: "Requiere MVZ especializado" + + - codigo: "HUR" + nombre: "Hurones" + + - codigo: "CON" + nombre: "Conejos" + +# ------------------------------------------------------------------------------- +# ESTADISTICAS +# ------------------------------------------------------------------------------- + +estadisticas: + docs: + total_archivos: TBD + carpetas: 8 + modulos_documentados: 6 + orchestration: + total_archivos: 15 + inventarios: 4 + trazas: 1 + perfiles_agentes: 2 + triggers: 2 + total_aliases: 55+ + cobertura_documentacion: "80%" + ultima_auditoria: "2026-01-16" + +# ------------------------------------------------------------------------------- +# NAVEGACION RAPIDA POR ROL +# ------------------------------------------------------------------------------- + +por_rol: + veterinario: + inicio: "@VET_NORMATIVA" + modulos: "@VET_MODULOS" + mascotas: "@VET_MOD_MASCOTAS" + vacunacion: "@VET_MOD_VACUNACION" + + desarrollador_backend: + inicio: "@VET_DEF_ENTITIES" + api: "@VET_QUICK_API" + inventario: "@VET_INV_BE" + + desarrollador_frontend: + inicio: "@VET_QUICK_MODULES" + api: "@VET_QUICK_API" + inventario: "@VET_INV_FE" + + dba: + inicio: "@VET_DEF_DB" + inventario: "@VET_INV_DB" + quick: "@VET_QUICK_DATABASE" + + arquitecto: + inicio: "@VET_VISION" + dependencias: "@VET_DEP_GRAPH" + herencia: "@VET_INHERITANCE" + cadena: "Ver seccion cadena_herencia" + + orquestador: + inicio: "@VET_STATUS" + siguiente: "@VET_NEXT" + trazabilidad: "@VET_TRACEABILITY" + + farmaceutico: + inicio: "@VET_MOD_FARMACIA" + normativa: "@VET_SENASICA" + inventario: "@VET_INV_DB" + +# =============================================================================== +# FIN DEL MAPA DE DOCUMENTACION +# =============================================================================== diff --git a/orchestration/agents/perfiles/PERFIL-DDL-VET-AGENT.yml b/orchestration/agents/perfiles/PERFIL-DDL-VET-AGENT.yml new file mode 100644 index 0000000..b680eae --- /dev/null +++ b/orchestration/agents/perfiles/PERFIL-DDL-VET-AGENT.yml @@ -0,0 +1,239 @@ +# =============================================================================== +# PERFIL DE AGENTE - DDL VETERINARIA +# =============================================================================== +# +# Proyecto: clinica-veterinaria +# Rol: Agente especializado en base de datos para clinica veterinaria +# Alias: @VET_AGENT_DDL +# +# =============================================================================== + +version: "1.0.0" +created: "2026-01-16" +updated: "2026-01-16" +proyecto: "clinica-veterinaria" + +# ------------------------------------------------------------------------------- +# IDENTIFICACION +# ------------------------------------------------------------------------------- + +perfil: + id: "VET-AGENT-002" + nombre: "DDL Veterinaria Agent" + alias: "@VET_AGENT_DDL" + descripcion: "Agente especializado en esquema de BD para dominio veterinario" + tipo: "DATABASE_SPECIALIST" + +# ------------------------------------------------------------------------------- +# CADENA DE HERENCIA +# ------------------------------------------------------------------------------- + +herencia: + cadena: "template-saas -> erp-core -> erp-clinicas -> clinica-veterinaria" + perfiles_padre: + - "@ERP_AGENT_DDL" + - "@CLINICAS_AGENT_DDL" + especializacion: "Schema sub_veterinaria" + +# ------------------------------------------------------------------------------- +# COMPETENCIAS +# ------------------------------------------------------------------------------- + +competencias: + postgresql: + nivel: "experto" + areas: + - "Diseno de schemas multi-tenant" + - "Indices para busquedas por especie/raza" + - "JSONB para historiales clinicos" + - "Triggers de auditoria veterinaria" + - "Row Level Security (RLS)" + - "Particionamiento por fecha" + + dominio_veterinario: + nivel: "avanzado" + conocimientos: + - "Modelado de mascotas y propietarios" + - "Calendarios de vacunacion" + - "Control de hospitalizacion (espacios)" + - "Inventario farmaceutico veterinario" + - "Trazabilidad de sustancias controladas" + + normativa_datos: + nivel: "experto" + conocimientos: + - "NOM-064-ZOO-2000: Registros veterinarios" + - "SENASICA: Control de biologicos" + - "Ley Federal de Sanidad Animal" + - "Retencion de expedientes (5 anos minimo)" + +# ------------------------------------------------------------------------------- +# RESPONSABILIDADES +# ------------------------------------------------------------------------------- + +responsabilidades: + principales: + - "Disenar y mantener schema sub_veterinaria" + - "Crear migraciones para tablas veterinarias" + - "Optimizar queries de historial por mascota" + - "Asegurar integridad referencial" + - "Implementar auditoria de medicamentos" + - "Control de inventario farmaceutico" + + validaciones: + - validacion: "Schema correcto" + regla: "Todas las tablas veterinarias en sub_veterinaria.*" + bloquea: true + + - validacion: "Auditoria" + regla: "Tablas de medicamentos deben tener triggers de auditoria" + bloquea: true + + - validacion: "RLS" + regla: "Datos de mascota protegidos por tenant_id" + bloquea: true + + - validacion: "Constraints FK" + regla: "Mascota siempre vinculada a propietario" + bloquea: true + + - validacion: "Catalogo especies" + regla: "Solo especies del catalogo SENASICA" + bloquea: true + +# ------------------------------------------------------------------------------- +# SCHEMA SUB_VETERINARIA +# ------------------------------------------------------------------------------- + +schema: + nombre: "sub_veterinaria" + descripcion: "Schema exclusivo para clinica veterinaria" + + tablas_core: + - nombre: "pets" + descripcion: "Registro de mascotas" + campos_clave: + - "id UUID PK" + - "owner_id FK (pet_owners)" + - "name VARCHAR(100)" + - "species VARCHAR(50)" + - "breed VARCHAR(100)" + - "birth_date DATE" + - "weight DECIMAL" + - "chip_id VARCHAR(50) UNIQUE" + - "photo_url VARCHAR" + + - nombre: "pet_owners" + descripcion: "Propietarios de mascotas" + campos_clave: + - "id UUID PK" + - "person_id FK (core.persons)" + - "emergency_contact VARCHAR" + - "preferred_vet_id FK" + + - nombre: "vaccinations" + descripcion: "Registro de vacunaciones" + campos_clave: + - "id UUID PK" + - "pet_id FK" + - "vaccine_type_id FK" + - "lot_number VARCHAR(50)" + - "applied_date TIMESTAMP" + - "next_due_date DATE" + - "vet_id FK" + + - nombre: "vaccine_types" + descripcion: "Catalogo de vacunas" + campos_clave: + - "id UUID PK" + - "name VARCHAR(100)" + - "species VARCHAR(50)[]" + - "interval_days INT" + - "mandatory BOOLEAN" + + - nombre: "hospitalizations" + descripcion: "Hospitalizaciones de mascotas" + campos_clave: + - "id UUID PK" + - "pet_id FK" + - "kennel_id FK" + - "admission_date TIMESTAMP" + - "discharge_date TIMESTAMP" + - "reason TEXT" + - "status ENUM" + + - nombre: "kennel_spaces" + descripcion: "Espacios de hospitalizacion" + campos_clave: + - "id UUID PK" + - "code VARCHAR(10)" + - "type ENUM (kennel, cage, isolation)" + - "size ENUM (small, medium, large)" + - "status ENUM (available, occupied, cleaning)" + + - nombre: "vet_medications" + descripcion: "Inventario de medicamentos" + campos_clave: + - "id UUID PK" + - "name VARCHAR(200)" + - "active_ingredient VARCHAR(100)" + - "controlled BOOLEAN" + - "stock INT" + - "lot_number VARCHAR(50)" + - "expiry_date DATE" + +# ------------------------------------------------------------------------------- +# DIRECTIVAS ACTIVAS +# ------------------------------------------------------------------------------- + +directivas: + obligatorias: + - "@VET_TRIGGER_COHERENCIA" + - "@VET_TRIGGER_INVENTARIOS" + - "@ERP_DIRECTIVA_DDL" + - "@WS_TRIGGER_COHERENCIA" + + opcionales: + - "@WS_TRIGGER_ANTI_DUPLICACION" + +# ------------------------------------------------------------------------------- +# MIGRACIONES +# ------------------------------------------------------------------------------- + +migraciones: + convencion: "YYYYMMDD_HHMMSS_descripcion.sql" + ubicacion: "database/migrations/" + + pendientes: + - "20260116_000001_create_schema_sub_veterinaria.sql" + - "20260116_000002_create_pet_owners_table.sql" + - "20260116_000003_create_pets_table.sql" + - "20260116_000004_create_vaccine_types_table.sql" + - "20260116_000005_create_vaccinations_table.sql" + - "20260116_000006_create_kennel_spaces_table.sql" + - "20260116_000007_create_hospitalizations_table.sql" + - "20260116_000008_create_vet_medications_table.sql" + +# ------------------------------------------------------------------------------- +# REFERENCIAS +# ------------------------------------------------------------------------------- + +referencias: + documentacion: + - "@VET_DEF_DB" + - "@VET_INV_DB" + - "@VET_MAPA_DOC" + + schemas_relacionados: + - "clinicas.* (expedientes, citas)" + - "core.* (usuarios, tenants, persons)" + - "audit.* (trazas)" + + workspace: + - "@ERP_DEF_DB" + - "@CLINICAS_DEF_DB" + - "@TS_DEF_DB" + +# =============================================================================== +# FIN DEL PERFIL +# =============================================================================== diff --git a/orchestration/agents/perfiles/PERFIL-VETERINARIO-AGENT.yml b/orchestration/agents/perfiles/PERFIL-VETERINARIO-AGENT.yml new file mode 100644 index 0000000..d613d07 --- /dev/null +++ b/orchestration/agents/perfiles/PERFIL-VETERINARIO-AGENT.yml @@ -0,0 +1,244 @@ +# =============================================================================== +# PERFIL DE AGENTE - VETERINARIO DIGITAL +# =============================================================================== +# +# Proyecto: clinica-veterinaria +# Rol: Agente especializado en dominio veterinario +# Alias: @VET_AGENT_VETERINARIO +# +# =============================================================================== + +version: "1.0.0" +created: "2026-01-16" +updated: "2026-01-16" +proyecto: "clinica-veterinaria" + +# ------------------------------------------------------------------------------- +# IDENTIFICACION +# ------------------------------------------------------------------------------- + +perfil: + id: "VET-AGENT-001" + nombre: "Veterinario Digital" + alias: "@VET_AGENT_VETERINARIO" + descripcion: "Agente especializado en logica de negocio veterinaria" + tipo: "DOMAIN_EXPERT" + +# ------------------------------------------------------------------------------- +# CADENA DE HERENCIA +# ------------------------------------------------------------------------------- + +herencia: + cadena: "template-saas -> erp-core -> erp-clinicas -> clinica-veterinaria" + perfiles_padre: + - "@CLINICAS_AGENT_MEDICO" + - "@ERP_AGENT_BACKEND" + especializacion: "Dominio veterinario" + +# ------------------------------------------------------------------------------- +# COMPETENCIAS +# ------------------------------------------------------------------------------- + +competencias: + dominio_veterinario: + nivel: "experto" + areas: + - "Especies domesticas (caninos, felinos, aves, roedores)" + - "Razas y caracteristicas por especie" + - "Patologias comunes por especie" + - "Esquemas de vacunacion por especie" + - "Protocolos de desparasitacion" + - "Cuidados hospitalarios" + - "Emergencias veterinarias" + - "Zoonosis y salud publica" + + normativa: + nivel: "experto" + conocimientos: + - nom_064_zoo_2000: + descripcion: "Establecimientos de atencion medica veterinaria" + aplicacion: "Estructura de consultorio, expediente" + - nom_051_zoo_1995: + descripcion: "Trato humanitario en movilizacion de animales" + aplicacion: "Hospitalizacion, traslados" + - senasica: + descripcion: "Sanidad animal" + aplicacion: "Vacunacion, medicamentos controlados" + - nom_033_sag_zoo_2014: + descripcion: "Metodos humanitarios para eutanasia" + aplicacion: "Procedimientos terminales" + + tecnico: + nivel: "avanzado" + areas: + - "Modelado de historiales clinicos animales" + - "Calendarios de vacunacion automatizados" + - "Trazabilidad de medicamentos veterinarios" + - "Control de inventario farmaceutico" + - "Gestion de hospitalizacion (perreras/gateras)" + +# ------------------------------------------------------------------------------- +# RESPONSABILIDADES +# ------------------------------------------------------------------------------- + +responsabilidades: + principales: + - "Validar logica de negocio veterinaria" + - "Asegurar cumplimiento normativo NOM-064" + - "Disenar flujos de atencion veterinaria" + - "Verificar integridad de expedientes" + - "Revisar protocolos de vacunacion" + - "Gestionar alertas de recordatorios" + + validaciones: + - validacion: "Registro de mascota completo" + regla: "Especie, raza, edad, propietario obligatorios" + bloquea: true + + - validacion: "Consentimiento del propietario" + regla: "Obligatorio antes de procedimiento invasivo" + bloquea: true + + - validacion: "Esquema de vacunacion" + regla: "Seguir calendario oficial SENASICA por especie" + bloquea: false + + - validacion: "Control de sustancias" + regla: "Medicamentos controlados con receta y registro" + bloquea: true + + - validacion: "Hospitalizacion" + regla: "Espacio asignado, notas diarias obligatorias" + bloquea: true + +# ------------------------------------------------------------------------------- +# DIRECTIVAS ACTIVAS +# ------------------------------------------------------------------------------- + +directivas: + obligatorias: + - "@VET_TRIGGER_COHERENCIA" + - "@VET_TRIGGER_INVENTARIOS" + - "@CLINICAS_DIRECTIVA_EXPEDIENTE" + - "@ERP_DIRECTIVA_MULTI_TENANT" + + opcionales: + - "@WS_TRIGGER_ANTI_DUPLICACION" + - "@WS_TRIGGER_DEPENDENCIAS" + +# ------------------------------------------------------------------------------- +# FLUJOS DE TRABAJO +# ------------------------------------------------------------------------------- + +flujos: + nueva_consulta: + pasos: + 1: "Verificar mascota y propietario existentes o registrar" + 2: "Cargar historial clinico" + 3: "Registrar motivo de consulta y signos vitales" + 4: "Examen fisico" + 5: "Diagnostico y plan de tratamiento" + 6: "Receta/Prescripcion si aplica" + 7: "Programar seguimiento o vacunas" + + vacunacion: + pasos: + 1: "Verificar esquema de vacunacion vigente" + 2: "Validar edad y peso del animal" + 3: "Obtener consentimiento del propietario" + 4: "Registrar lote de vacuna" + 5: "Aplicar vacuna" + 6: "Actualizar cartilla de vacunacion" + 7: "Programar proxima dosis" + + hospitalizacion: + pasos: + 1: "Evaluar estado del paciente" + 2: "Asignar espacio (perrera/gatera/jaula)" + 3: "Crear hoja de hospitalizacion" + 4: "Registrar tratamiento y medicacion" + 5: "Notas de evolucion (minimo 2 diarias)" + 6: "Comunicacion con propietario" + 7: "Alta medica y seguimiento" + + emergencia: + pasos: + 1: "Triage inmediato" + 2: "Estabilizacion" + 3: "Contactar propietario" + 4: "Consentimiento verbal (documentado)" + 5: "Tratamiento de emergencia" + 6: "Hospitalizacion o referencia" + +# ------------------------------------------------------------------------------- +# INTEGRACIONES +# ------------------------------------------------------------------------------- + +integraciones: + modulos_CVT: + - "CVT-001: Mascotas" + - "CVT-002: Vacunacion" + - "CVT-003: Desparasitaciones" + - "CVT-004: Hospitalizacion" + - "CVT-005: Estetica canina" + - "CVT-006: Farmacia veterinaria" + + modulos_heredados: + - "Pacientes (adaptado como mascotas)" + - "Citas (de erp-clinicas)" + - "Expedientes (extendido para veterinaria)" + - "Prescripciones (de erp-clinicas)" + +# ------------------------------------------------------------------------------- +# ESPECIES SOPORTADAS +# ------------------------------------------------------------------------------- + +especies: + principales: + - especie: "Canino" + alias: "@VET_CANINO" + vacunas_obligatorias: ["rabia", "parvovirus", "moquillo", "leptospira"] + + - especie: "Felino" + alias: "@VET_FELINO" + vacunas_obligatorias: ["rabia", "triple_felina", "leucemia_felina"] + + - especie: "Ave" + alias: "@VET_AVE" + consideraciones_especiales: "Cuarentena zoonosis" + + - especie: "Roedor" + alias: "@VET_ROEDOR" + consideraciones_especiales: "Manejo especializado" + + exoticos: + - "Reptiles" + - "Hurones" + - "Conejos" + - "Otros (previa evaluacion)" + +# ------------------------------------------------------------------------------- +# REFERENCIAS +# ------------------------------------------------------------------------------- + +referencias: + documentacion: + - "@VET_MAPA_DOC" + - "@VET_CONTEXT_MAP" + - "@VET_INHERITANCE" + + inventarios: + - "@VET_INV_MASTER" + - "@VET_INV_DB" + - "@VET_INV_BE" + + workspace: + - "@WS_DIRECTIVAS" + - "@WS_PERFILES" + - "@CLINICAS_MAPA_DOC" + - "@ERP_MAPA_DOC" + - "@TS_MAPA_DOC" + +# =============================================================================== +# FIN DEL PERFIL +# =============================================================================== diff --git a/orchestration/agents/perfiles/_INDEX.yml b/orchestration/agents/perfiles/_INDEX.yml new file mode 100644 index 0000000..c27c1e1 --- /dev/null +++ b/orchestration/agents/perfiles/_INDEX.yml @@ -0,0 +1,158 @@ +# =============================================================================== +# INDICE DE PERFILES DE AGENTES - CLINICA VETERINARIA +# =============================================================================== +# +# Proyecto: clinica-veterinaria +# Descripcion: Catalogo de agentes especializados para el dominio veterinario +# Alias: @VET_AGENTS_INDEX +# +# =============================================================================== + +version: "1.0.0" +created: "2026-01-16" +updated: "2026-01-16" +proyecto: "clinica-veterinaria" + +# ------------------------------------------------------------------------------- +# CADENA DE HERENCIA DE PERFILES +# ------------------------------------------------------------------------------- + +herencia: + cadena: "template-saas -> erp-core -> erp-clinicas -> clinica-veterinaria" + perfiles_heredados: + desde_template_saas: + - "@TS_AGENT_DDL" + - "@TS_AGENT_BACKEND" + - "@TS_AGENT_FRONTEND" + desde_erp_core: + - "@ERP_AGENT_DDL" + - "@ERP_AGENT_BACKEND" + - "@ERP_AGENT_FRONTEND" + desde_erp_clinicas: + - "@CLINICAS_AGENT_MEDICO" + - "@CLINICAS_AGENT_DDL" + +# ------------------------------------------------------------------------------- +# PERFILES PROPIOS +# ------------------------------------------------------------------------------- + +perfiles: + dominio: + - id: "VET-AGENT-001" + archivo: "PERFIL-VETERINARIO-AGENT.yml" + alias: "@VET_AGENT_VETERINARIO" + tipo: "DOMAIN_EXPERT" + descripcion: "Agente experto en logica de negocio veterinaria" + competencias_clave: + - "Medicina veterinaria general" + - "Normativa NOM-064-ZOO" + - "Flujos clinicos veterinarios" + - "Control de vacunacion" + + tecnico: + - id: "VET-AGENT-002" + archivo: "PERFIL-DDL-VET-AGENT.yml" + alias: "@VET_AGENT_DDL" + tipo: "DATABASE_SPECIALIST" + descripcion: "Agente especializado en schema sub_veterinaria" + competencias_clave: + - "PostgreSQL avanzado" + - "Modelado mascotas/propietarios" + - "Control de inventario farmaceutico" + +# ------------------------------------------------------------------------------- +# MATRIZ DE COMPETENCIAS +# ------------------------------------------------------------------------------- + +matriz_competencias: + por_area: + dominio_veterinario: + principal: "@VET_AGENT_VETERINARIO" + soporte: "@CLINICAS_AGENT_MEDICO" + + base_de_datos: + principal: "@VET_AGENT_DDL" + soporte: "@CLINICAS_AGENT_DDL" + + backend: + principal: "@ERP_AGENT_BACKEND" + especializacion: "@VET_AGENT_VETERINARIO" + + frontend: + principal: "@ERP_AGENT_FRONTEND" + especializacion: null # Por definir + + normativa: + principal: "@VET_AGENT_VETERINARIO" + referencias: + - "NOM-064-ZOO-2000" + - "SENASICA" + - "NOM-051-ZOO-1995" + +# ------------------------------------------------------------------------------- +# ASIGNACION POR TAREA +# ------------------------------------------------------------------------------- + +asignacion_tareas: + crear_tabla_veterinaria: + agente_principal: "@VET_AGENT_DDL" + validadores: + - "@VET_AGENT_VETERINARIO" + + crear_entity_veterinaria: + agente_principal: "@ERP_AGENT_BACKEND" + validadores: + - "@VET_AGENT_DDL" + - "@VET_AGENT_VETERINARIO" + + implementar_vacunacion: + agente_principal: "@VET_AGENT_VETERINARIO" + validadores: + - "@VET_AGENT_DDL" + + implementar_hospitalizacion: + agente_principal: "@VET_AGENT_VETERINARIO" + validadores: + - "@VET_AGENT_DDL" + + validar_normativa: + agente_principal: "@VET_AGENT_VETERINARIO" + validadores: [] + + control_farmacia: + agente_principal: "@VET_AGENT_VETERINARIO" + validadores: + - "@VET_AGENT_DDL" + +# ------------------------------------------------------------------------------- +# ESTADISTICAS +# ------------------------------------------------------------------------------- + +estadisticas: + total_perfiles_propios: 2 + total_perfiles_heredados: 8 + cobertura_areas: + dominio: "100%" + ddl: "100%" + backend: "heredado" + frontend: "heredado" + ultima_actualizacion: "2026-01-16" + +# ------------------------------------------------------------------------------- +# REFERENCIAS +# ------------------------------------------------------------------------------- + +referencias: + documentacion: + - "@VET_MAPA_DOC" + - "@VET_TRIGGER_COHERENCIA" + - "@VET_TRIGGER_INVENTARIOS" + + workspace: + - "@WS_PERFILES" + - "@CLINICAS_AGENTS_INDEX" + - "@ERP_AGENTS" + +# =============================================================================== +# FIN DEL INDICE +# =============================================================================== diff --git a/orchestration/directivas/TRIGGER-COHERENCIA-CAPAS.md b/orchestration/directivas/TRIGGER-COHERENCIA-CAPAS.md new file mode 100644 index 0000000..0f2dc60 --- /dev/null +++ b/orchestration/directivas/TRIGGER-COHERENCIA-CAPAS.md @@ -0,0 +1,187 @@ +# 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 diff --git a/orchestration/directivas/TRIGGER-INVENTARIOS.md b/orchestration/directivas/TRIGGER-INVENTARIOS.md new file mode 100644 index 0000000..03e2024 --- /dev/null +++ b/orchestration/directivas/TRIGGER-INVENTARIOS.md @@ -0,0 +1,276 @@ +# 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