Initial commit: SKEEN Derma Experts - Sistema Integral de Gestión Clínica
- Frontend React (SKEEN Brand) con Vite, TypeScript, Tailwind - Frontend Homenest (versión alternativa) - Módulos Odoo 17 custom (citas, pacientes, monedero, pagos, ventas, inventario, whatsapp) - WACRM fork (Next.js 16 + Supabase) - Hermes + Bridge + Skills (Qwen3.6 via Nan Builders) - Scripts de migración y operación - Documentación extensiva en docs/
This commit is contained in:
289
docs/ANALISIS_SKEEN_SISTEMA.md
Normal file
289
docs/ANALISIS_SKEEN_SISTEMA.md
Normal file
@@ -0,0 +1,289 @@
|
||||
# Análisis del Sistema Actual de SKEEN Derma Experts
|
||||
## URL analizada: https://sistema.skeenmx.app/
|
||||
|
||||
**Fecha:** 6 de julio de 2026
|
||||
**Usuario de análisis:** JoseSkeen
|
||||
**Restricción:** Solo lectura, sin modificaciones en el sistema original.
|
||||
|
||||
---
|
||||
|
||||
## 1. Tecnología base
|
||||
|
||||
- **Framework:** Laravel (PHP) — se identifican tokens `_token`, cookies `laravel_session`, estructura de rutas RESTful.
|
||||
- **Frontend:** jQuery 1.12 + Bootstrap/AdminLTE 2.3.5 + CSS propio (`panel.css`, `app.css`).
|
||||
- **Iconos:** Font Awesome 6.2.0 (regular, solid, brands).
|
||||
- **Componentes UI:** DataTables, datepickers, modales Bootstrap, bxslider (comentado).
|
||||
- **No es SPA:** cada sección recarga la página; el layout es sidebar izquierdo + header superior + contenido central.
|
||||
|
||||
---
|
||||
|
||||
## 2. Identidad visual
|
||||
|
||||
### Paleta de colores predominante
|
||||
| Color | Uso |
|
||||
|-------|-----|
|
||||
| `#1abc9c` / `#16a085` | Acento principal (botones, iconos, estados activos) |
|
||||
| `#BED4AD` | Verde pastel secundario (usado en badges / categorías) |
|
||||
| `#34495e` / `#2c3e50` / `#222f3d` | Textos oscuros, sidebar, header |
|
||||
| `#f1c40f` | Amarillo alerta / metas |
|
||||
| `#e74c3c` | Rojo error / cancelaciones |
|
||||
| `#2ecc71` | Verde éxito |
|
||||
| `#3498db` / `#48c9b0` | Azules informativos |
|
||||
| `#ffffff` / `#f5f5f5` | Fondos claros |
|
||||
| `#bdc3c7` / `#ccc` / `#999` | Grises de borde y texto secundario |
|
||||
|
||||
### Tipografía
|
||||
- **Principal:** `Lato`, Helvetica, Arial, sans-serif.
|
||||
- **Iconos:** Font Awesome (versión 6.2).
|
||||
- **Logo:** `logo_skeen.png` — tipografía sans-serif negra, letras mayúsculas, registro ®.
|
||||
|
||||
### Layout
|
||||
- **Sidebar izquierdo** con menú principal + submenús desplegables (`treeview`).
|
||||
- **Header superior** fijo con:
|
||||
- Contactos rápidos (teléfono, WhatsApp, Facebook, Instagram, email, sitio web).
|
||||
- Tipo de cambio (TC: 16.50).
|
||||
- Selector de sucursal (Rosarito / Tijuana).
|
||||
- Meta de ventas con progress bar (ej. "Noviembre 2020 — 60% Complete — 600 USD / 1000 USD").
|
||||
- Perfil de usuario, notas y chat interno.
|
||||
- **Contenido central** con breadcrumb "Inicio / Sección", título de página, filtros, tablas DataTables y modales para acciones.
|
||||
|
||||
---
|
||||
|
||||
## 3. Mapa de navegación
|
||||
|
||||
### Menú principal (top-level)
|
||||
| Ruta | Sección |
|
||||
|------|---------|
|
||||
| `/dashboard` | Inicio / Movimientos diarios |
|
||||
| `/agenda` | Agenda de citas |
|
||||
| `/visitas` | Visitas registradas |
|
||||
| `/expedientes` | Expedientes de pacientes |
|
||||
| `/medicos` | Médicos |
|
||||
| `/cosmetologos` | Cosmetología |
|
||||
| `/consultas` | Consultas Médicas |
|
||||
|
||||
### Configuración
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/usuarios/consulta/activados` | Usuarios del sistema |
|
||||
| `/recetas` | Catálogo de recetas |
|
||||
| `/diagnosticos` | Catálogo de diagnósticos |
|
||||
| `/procedimientos` | Catálogo de procedimientos médicos |
|
||||
| `/servicios` | Catálogo de servicios |
|
||||
| `/etiquetas` | Etiquetas |
|
||||
| `/productos` | Productos |
|
||||
| `/inventarios` | Inventarios de productos |
|
||||
| `/tipo_cambio` | Tipo de cambio USD/MXN |
|
||||
|
||||
### Reportes
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/reportes/diario` | Mov. diario |
|
||||
| `/reportes/medicos` | Mov. diario por médico |
|
||||
| `/reportes/recepcion` | Mov. diario por recepcionista |
|
||||
| `/reportes/cortes` | Cortes de caja |
|
||||
| `/reportes/ingresos` | Ingresos |
|
||||
| `/reportes/comisiones` | Comisiones |
|
||||
|
||||
### Administrativo
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/reportes/adeudos` | Adeudos clientes |
|
||||
| `/reportes/pagos` | Pagos por servicios |
|
||||
| `/reportes/clientes` | Pagos por clientes |
|
||||
| `/reportes/visitas` | Visitas |
|
||||
| `/reportes/devoluciones` | Devoluciones |
|
||||
| `/reportes/vendedores` | Vendedores |
|
||||
| `/reportes/recomendaciones` | Recomendaciones |
|
||||
| `/reportes/concentrado` | Concentrado |
|
||||
| `/reportes/top/clientes` | Top ventas |
|
||||
| `/reportes/agenda` | Horas agenda |
|
||||
| `/reportes/paquetes` | Paquetes |
|
||||
|
||||
### Monedero
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/monederos/consulta` | Monederos electrónicos |
|
||||
| `/reportes/monedero` | Reporte de puntos |
|
||||
| `/configuracion/monedero` | Lista de precios y % de puntos |
|
||||
|
||||
### Comunicación
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/reportes/cumple` | Cumpleañeros |
|
||||
|
||||
### Consumibles
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/consumibles/inventario` | Inventario actual |
|
||||
| `/consumibles/ventas/consulta` | Comprobantes de consumibles |
|
||||
| `/consumibles/compras/consulta` | Compras |
|
||||
| `/consumibles/bajas` | Bajas |
|
||||
| `/consumibles/consulta` | Consumibles |
|
||||
|
||||
### CRM
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/crm` | Inicio CRM (prospectos, clientes potenciales, expedientes) |
|
||||
| `/crm/medio/{id}` | Filtrar por medio (llamada, WhatsApp, Facebook, Instagram, email, sitio web) |
|
||||
|
||||
### Ventas / Pedidos
|
||||
| Ruta | Función |
|
||||
|------|---------|
|
||||
| `/admin/pedidos/dia` | Ventas del día |
|
||||
| `/admin/pedidos/factura` | Factura |
|
||||
| `/admin/pedidos/anticipo` | Anticipo |
|
||||
| `/admin/pedidos/clientes` | Clientes con adeudos |
|
||||
|
||||
---
|
||||
|
||||
## 4. Funcionalidades clave identificadas
|
||||
|
||||
### Agenda
|
||||
- Filtro por sucursal (Rosarito / Tijuana).
|
||||
- Filtro por médico.
|
||||
- Tabs: Citas, Nueva cita, Lista de espera.
|
||||
- Estados de cita: Pre-consulta, Link enviado, Aprobación, Asignar expediente, Agendar.
|
||||
- Medio: Videollamada / Consultorio.
|
||||
- Acciones: Forma de pago, agendar, enviar WhatsApp.
|
||||
|
||||
### Expedientes
|
||||
- Filtros: VIP, visitó en últimos 6 meses, no ha visitado en 6 meses.
|
||||
- Columnas: ID, folio, nombre, motivo, médico, cosmetología, estatus, cabina, consentimientos, ticket.
|
||||
- Estados: Nueva visita, visita recurrente.
|
||||
|
||||
### Médicos / Cosmetología
|
||||
- Directorio de personal con nombre, apellidos, celular, WhatsApp.
|
||||
- Últimos 30 días de actividad.
|
||||
- Roles: médico, cosmetología, recepción, administrador.
|
||||
|
||||
### Servicios
|
||||
- Catálogo con: ID, Categoría, Concepto, Precio, Activado, Favoritos, Color, Grupo, Etiquetas.
|
||||
- Ordenar favoritos.
|
||||
|
||||
### Productos
|
||||
- Catálogo con: ID, Línea/Categoría, Producto, Descripción, Precio, Activado, Favoritos.
|
||||
|
||||
### Monedero
|
||||
- Configuración de porcentajes de puntos por forma de pago y moneda.
|
||||
- Transferencia USD: 0%
|
||||
- Transferencia M.N.: 0%
|
||||
- Tarjeta USD: 1.5%
|
||||
- Tarjeta M.N.: 1.5%
|
||||
- Efectivo USD: 2%
|
||||
- Efectivo M.N.: 2%
|
||||
- Lista de precios con flags: Otorga puntos, Canjeable por puntos.
|
||||
|
||||
### Movimientos diarios / Ventas
|
||||
- Tabla de ventas con: ID, Expediente, Dr. principal, Concepto, Subtotal, Desc., Pagado, Adeudo, Pendiente.
|
||||
- Formas de pago: Efectivo M.N./USD, Tarjeta M.N./USD, Transferencia M.N./USD, Saldo a favor M.N./USD, Monedero electrónico M.N./USD.
|
||||
- Acciones: Cancelar venta, paquete terminado, devolución.
|
||||
- Modal "Valoración Express" para captura rápida de prospectos.
|
||||
|
||||
### Cortes de caja
|
||||
- Histórico por día.
|
||||
- Totales por médico, recepcionista, productos entregados.
|
||||
- Modal para establecer corte con monto M.N., dólares, observaciones.
|
||||
|
||||
### Adeudos
|
||||
- Separación: adeudos activos (1 año y medio a la fecha) vs pasivos (anteriores).
|
||||
- Agrupación por médico.
|
||||
- Totales por clínica y por doctor.
|
||||
|
||||
### Inventarios
|
||||
- Productos: stock, niveles (óptimo, bajo, crítico, sin existencias).
|
||||
- Consumibles: valor de inventario, niveles, caducidad, último conteo físico.
|
||||
- Ajustes, compras, bajas.
|
||||
|
||||
### CRM
|
||||
- Prospectos por medio de contacto.
|
||||
- Ficha de prospecto con:
|
||||
- Datos personales (nombre, teléfonos, WhatsApp, correo).
|
||||
- Historial de visitas.
|
||||
- Citas futuras.
|
||||
- Saldo / adeudo.
|
||||
- Notas internas.
|
||||
- Perfil, mensajes, settings.
|
||||
- Botones rápidos: llamada, WhatsApp, Facebook, Instagram, email, sitio web.
|
||||
|
||||
### Comunicación
|
||||
- Cumpleañeros: lista de pacientes con fecha de cumpleaños, edad, concepto, subtotal, promo, pagado, adeudo.
|
||||
|
||||
---
|
||||
|
||||
## 5. Flujos de negocio identificados
|
||||
|
||||
1. **Captación de prospecto**
|
||||
- Medio: WhatsApp / llamada / FB / IG / email / sitio web.
|
||||
- Registro en CRM → seguimiento → agenda de valoración.
|
||||
|
||||
2. **Agendamiento**
|
||||
- Agenda con médico, sucursal, tipo de cita (videollamada/presencial).
|
||||
- Estados: pre-consulta, aprobación, link enviado, asignar expediente.
|
||||
|
||||
3. **Visita / Expediente**
|
||||
- Llegada del paciente → creación de visita → expediente médico.
|
||||
- Diagnóstico, procedimiento, receta.
|
||||
|
||||
4. **Venta**
|
||||
- Concepto (servicio/producto), subtotal, descuento, pagado, adeudo.
|
||||
- Múltiples formas de pago y monedas.
|
||||
- Acumulación de puntos según forma de pago.
|
||||
|
||||
5. **Pago / Adeudo**
|
||||
- Pagos parciales, saldo a favor, monedero electrónico.
|
||||
- Reportes de adeudos por edad y por médico.
|
||||
|
||||
6. **Corte de caja**
|
||||
- Cierre diario con totales por recepcionista y médico.
|
||||
|
||||
7. **Inventario**
|
||||
- Entradas (compras), salidas (ventas/bajas), ajustes, niveles de stock.
|
||||
|
||||
---
|
||||
|
||||
## 6. Gaps y oportunidades de mejora
|
||||
|
||||
| # | Gap actual | Oportunidad en nuevo sistema |
|
||||
|---|-----------|------------------------------|
|
||||
| 1 | UI antigua (jQuery/Bootstrap 2015) | Migrar a React 19 + Tailwind con diseño moderno y responsive |
|
||||
| 2 | Sin chatbot / IA | Integrar WACRM + Hermes (Sofía) para atención 24/7 vía WhatsApp |
|
||||
| 3 | CRM básico | Usar WACRM pipelines + contactos + automatizaciones no-code |
|
||||
| 4 | Agenda manual sin recordatorios automáticos | Heartbeat/cron de Hermes para recordatorios 24h y follow-ups |
|
||||
| 5 | No hay inbox multi-agente | WACRM shared inbox con asignación, notas internas, handoff |
|
||||
| 6 | Pagos no integrados con Stripe/MP | Módulo `skeen_pagos` + skills de Hermes para links de pago |
|
||||
| 7 | Monedero sin reglas claras de redención | Reglas: 1 punto = $1 MXN, máx 50% redimible, vencimiento 12 meses |
|
||||
| 8 | Reportes estáticos | Dashboards interactivos con Recharts en frontend |
|
||||
| 9 | Sin unificación Odoo ↔ frontend | API REST propia en Odoo (`skeen_whatsapp/controllers/frontend.py`) |
|
||||
| 10 | Login propio, sin single sign-on | Evaluar Supabase Auth para WACRM + Odoo (opcional) |
|
||||
| 11 | Dependencia de sistema legacy | Replicar funcionalidad en Odoo 17 + módulos custom |
|
||||
| 12 | No hay broadcasting de campañas | WACRM broadcasts con templates aprobados por Meta |
|
||||
|
||||
---
|
||||
|
||||
## 7. Datos maestros a migrar
|
||||
|
||||
- **Pacientes/Clientes:** nombre, apellidos, teléfonos, WhatsApp, correo, fecha de nacimiento, médico principal, etiquetas, VIP.
|
||||
- **Expedientes médicos:** diagnósticos, procedimientos, recetas, visitas, consentimientos.
|
||||
- **Servicios:** categoría, concepto, precio, favorito, color, grupo, etiquetas.
|
||||
- **Productos:** línea/categoría, producto, descripción, precio, stock, inventario mínimo.
|
||||
- **Médicos / Cosmetólogos / Usuarios:** datos de contacto, roles, comisiones.
|
||||
- **Monederos:** saldo, historial de puntos, reglas de acumulación/redención.
|
||||
- **Adeudos / Pagos:** saldo pendiente, historial de pagos, formas de pago.
|
||||
- **Consumibles:** inventario, caducidad, compras, bajas.
|
||||
- **Agenda:** citas históricas y futuras.
|
||||
|
||||
---
|
||||
|
||||
## 8. Notas técnicas
|
||||
|
||||
- El sistema original usa Apache + Laravel + PHP.
|
||||
- Algunas imágenes están rotas (`img_logo_derma_blanco.png` devuelve 404).
|
||||
- El login expone el logo en blanco (`logo_skeen_white.png`) sobre fondo oscuro.
|
||||
- Hay chat interno (`chat_conversaciones`, `chat_usuarios`) implementado en el frontend.
|
||||
- El header muestra "TC: 16.50" como tipo de cambio dinámico.
|
||||
- La meta de ventas es visible en el header con progress bar.
|
||||
|
||||
---
|
||||
|
||||
*Documento generado para análisis. No se realizaron modificaciones en https://sistema.skeenmx.app/*
|
||||
Reference in New Issue
Block a user