clinica-veterinaria/orchestration/agents/perfiles/PERFIL-DDL-VET-AGENT.yml
rckrdmrd 3bb417fef3 [clinica-veterinaria] feat: Add SaaS documentation from erp-clinicas chain
- 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>
2026-01-16 19:50:27 -06:00

240 lines
7.3 KiB
YAML

# ===============================================================================
# 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
# ===============================================================================