# Panel admin: gestionar usuarios y dispensaciones
Este post es para managers y administradores de la corporación. Si tienes rol `admin` en el sistema, el panel `/admin` es tu base de operaciones. Esta guía cubre las rutas principales, cómo se relacionan entre sí y dónde encontrar la información operativa crítica.
## Vista de inicio: `/admin`
La home del panel muestra KPIs agregados: pacientes totales por estado, dispensaciones del mes (cantidad y volumen en gramos), aportes recibidos vs aportes esperados, lotes con stock bajo, quejas y no conformidades activas, alertas ISO sin atender.
## Gestión de usuarios: `/admin/usuarios`
Aquí ves la lista paginada de todos los pacientes. Filtros por estado, RUT, email, fecha de registro y sucursal asignada.
Cada paciente tiene su detalle en `/admin/usuarios/[id]`: datos personales y de contacto, documentos clínicos subidos (receta, cédula, antecedentes), datos extraídos por IA (~50 campos estructurados), historial de dispensaciones, historial de aportes, tickets de soporte vinculados, audit log de cambios en su perfil.
Acciones disponibles: aprobar, rechazar, suspender, reabrir entrevista, regenerar documentos PDF, actualizar manualmente cualquier campo extraído por IA cuando la extracción tuvo errores.
## Dispensaciones: `/admin/dispensaciones`
Lista de todas las dispensaciones con filtros por estado, sucursal, paciente y rango de fechas. Vista crítica para operaciones diarias.
Desde aquí gestionas el ciclo completo: crear dispensación admin (`/admin/dispensaciones/nueva`), detalle (`/admin/dispensaciones/[id]`), firmar entrega (`/admin/dispensaciones/firmar/[id]`).
Cada cambio de estado queda registrado en `order_status_history` con quién hizo el cambio y cuándo.
## Productos: `/admin/productos`
CRUD completo del catálogo. Cada producto tiene nombre, slug, descripción, galería de imágenes, concentraciones de CBD y THC, tipo de cepa, categoría, efectos tags, stock disponible con descuento atómico, precio (aporte sugerido), sucursal asignada, estado activo/inactivo.
Crear producto en `/admin/productos/nuevo`. Editar en `/admin/productos/[id]/editar`. La creación o edición sincroniza automáticamente con la base de conocimiento RAG.
Hay también un dashboard de ventas en `/admin/productos-ventas` con métricas de rotación, productos más solicitados y proyecciones.
## Finanzas: `/admin/finanzas`, `/admin/expenses`, `/admin/ingresos`
Tres rutas para gestión financiera. La sección Finanzas muestra KPIs consolidados de ingresos, egresos y utilidad operacional. Expenses gestiona gastos categorizados con análisis IA de boletas y facturas subidas. Ingresos detalla aportes recibidos descontando comisiones de MercadoPago y Fintoc para mostrar monto neto real.
El cálculo de utilidad sigue una fórmula canónica documentada en `get_financial_summary` RPC.
## Base de conocimiento RAG: `/admin/conocimiento`
El chatbot del Club usa RAG sobre documentos en markdown. Esta sección permite crear documentos manualmente, editar existentes, configurar parámetros de chunking y embeddings, y ver estadísticas de uso.
Cuando creas o editas un documento, el sistema genera automáticamente embeddings con `text-embedding-3-small` y los guarda en `knowledge_embeddings` (pgvector, dimensión 1536). El RAG usa búsqueda semántica con umbral 0.78 y top 5 chunks.
## Conversaciones IA: `/admin/conversaciones`
Lista paginada de todas las conversaciones del chatbot. Puedes identificar preguntas frecuentes, detectar lagunas en la base de conocimiento, exportar conversaciones para análisis. El feedback de los usuarios (pulgar arriba / abajo) alimenta `chat_message_feedback`.
## Artículos y blog: `/admin/articulos`
Editor de artículos educativos para el blog público y para la sección educativa del dashboard. Los artículos publicados aparecen en `demo.dispensai.cl/blog`.
## Sucursales y envíos: `/admin/sucursales`, `/admin/envios`
CRUD de sucursales físicas con ubicación geográfica, contacto y productos asignados. Métodos de envío configurables: nombre, tipo (pickup/same_day/national/custom), precio, tiempo estimado, transportista.
## Plantillas PDF: `/admin/plantillas-pdf`
Solo `declaracion-jurada` es editable actualmente. Los otros cinco templates (ficha de ingreso, entrevista de admisión, detalle de tratamiento, comprobante de aporte, comprobante de dispensación) son read-only por decisión de UX y compliance.
## Configuración: `/admin/configuracion`, `/admin/diseno`
Configuración gestiona datos de la corporación, SEO, imágenes, datos de pago en `site_settings`. Diseño gestiona 16 colores OKLCH, dos fuentes, radius, dark mode en `site_design`. Cambios se reflejan en tiempo real con CSS variables inyectadas.
## Analytics: `/admin/analytics`
Dashboard ejecutivo con seis tabs (`resumen`, `ventas`, `pacientes`, `productos`, `calidad`, `ia-comunidad`) y sidebar de alertas en tiempo real (Supabase Realtime).
Funciones clave: exportar cualquier tab a CSV o PDF, comparar períodos, filtrar por sucursal, ver KPIs ejecutivos con sparklines.
Hay también un snapshot semanal automatizado: cada lunes a las 06:00 UTC, un cron job genera un PDF con la analytic de la semana pasada y lo sube a R2.
## Próximos pasos
Si necesitas acceso admin para tu corporación, contacta `[email protected]`. El proceso incluye firma de Data Processing Agreement (DPA) bajo Ley 19.628 y configuración de tu instancia bajo el modelo BYO-Infra.
## Preguntas frecuentes
**¿Cuántos administradores puedo tener?** No hay límite técnico. Recomendamos roles segmentados: admin clínico, admin financiero, admin de despacho.
**¿Puedo darle acceso solo a una sección a un colaborador?** Actualmente el rol admin es binario (admin / patient). Granularidad por módulo está en roadmap.
**¿Cómo recupero un usuario que fue rechazado por error?** Desde `/admin/usuarios/[id]` puedes cambiar el `approval_status` manualmente. La acción queda en audit log.
**¿Los exports CSV/PDF incluyen datos sensibles?** Sí, contienen RUTs, montos y datos clínicos agregados. La descarga queda registrada en audit log.
**¿Quién mantiene el código de la plataforma?** Farmiemos SpA mantiene el código (shared-code template). La corporación opera la instancia sobre su propia infraestructura bajo modelo BYO-Infra.
