Registro Técnico Oficial

Registro de Cambios y Mejoras

Consulta cronológica de todas las funcionalidades, optimizaciones de diseño y herramientas añadidas a la web y panel de administración de CRC Victoria.

Centro de Reconocimientos Médicos y Psicotécnicos Victoria
C/ de la Plaza 52B, Puerto Real (Cádiz) • Tel: 608 98 98 55 • Contacto: crcvictoria52@gmail.com
Ir al Panel de Administración ➔
v1.20

Dos Nuevas Pestañas: Gestión Integral de Pacientes y Balances Económicos con Gráficas

📅 28 de Octubre de 2026

👥 1. Pestaña "Gestión de Pacientes" (Directorio y Fichas Clínicas)

  • Agrupación Inteligente por Paciente: El sistema consolida automáticamente todas las citas registradas en pacientes únicos identificados por DNI, teléfono o nombre.
  • Ficha Completa con Acciones Directas: Visualización de datos de contacto con accesos rápidos para llamar por teléfono, abrir chat de WhatsApp o agendar una nueva cita con datos precargados.
  • Historial Desplegable de Visitas: Cada paciente cuenta con un desplegable donde consultar todas sus citas pasadas o futuras, fechas, trámites realizados y estados (Atendida, Cancelada, No Asistió).
  • Buscador Reactivo y Filtros: Búsqueda instantánea por nombre, teléfono o DNI, junto a filtros por pacientes atendidos, con cancelaciones, ausentes o pacientes frecuentes.
  • Exportación a Excel / CSV: Botón directo para descargar la base de datos de pacientes en formato CSV compatible con Microsoft Excel y hojas de cálculo.

📊 2. Pestaña "Balances y Estadísticas" (Ingresos y Rendimiento)

  • Selector de Periodo Flexible: Consulta métricas agrupadas por Hoy, Esta Semana, Este Mes, Este Año, Histórico Completo o rango de fechas personalizado.
  • Configurador de Tarifas Médicas: Panel para definir y modificar en cualquier momento los precios estimados de cada trámite (Carnet de Conducir, Armas, Embarcaciones, Seguridad Privada, etc.).
  • Balance de Ingresos Estimados: Cálculo automático de la facturación multiplicando las citas Atendidas por la tarifa de su trámite correspondiente.
  • Indicadores Clave (KPIs): Tarjetas con total de citas generadas, atendidas, cancelaciones con aviso, absentismo (plantones), porcentaje de efectividad (%) y media de pacientes al día.
  • Gráfica de Evolución Temporal: Gráfica interactiva de barras que muestra el volumen de pacientes atendidos a lo largo de los días o meses del periodo.
  • Gráfica Donut por Trámite: Distribución visual del peso de cada reconocimiento médico y tabla de desglose con tarifas, asistencias y recaudación estimada.

⚡ 3. Funcionamiento 100% Autónomo y Offline en la PWA

  • Librería de Gráficas Local: Integración de chart.min.js en el almacenamiento local del Service Worker (sw.js), permitiendo cargar y consultar estadísticas completas incluso sin conexión a internet.
v1.19

Control Integral de Citas Atendidas, Cancelaciones y Absentismo para Estadísticas

📅 28 de Octubre de 2026

🩺 1. Botón Inmediato "Marcar como Atendida (Realizada)"

  • Despacho Rápido de Pacientes: En la ventana de detalle de cita se incorpora un botón destacado en verde para marcar al paciente como atendido con un solo toque (ideal si llega horas antes o se atiende en el momento).
  • Registro de Fecha y Hora Exacta: El sistema almacena automáticamente la marca temporal exacta (atendidoEn) para el cálculo de estadísticas de atención y tiempos de espera.
  • Reapertura en Caso de Error: Si una cita atendida necesita volver a estado pendiente, el botón permite reactivarla inmediatamente sin perder datos.

📞 2. Gestión de Cancelaciones y Control de "No Asistió" (Absentismo)

  • Cancelación por Aviso: Botón directo "Cancelar Cita" que registra la anulación sin eliminar el historial, liberando la franja para nuevos pacientes y computando en estadísticas.
  • Registro de Plantones ("No Asistió"): Botón específico para marcar pacientes que no acudieron a su cita sin avisar, esencial para medir la tasa de absentismo del centro.

🎨 3. Código Visual por Colores en Calendario y Modo Lista

  • Calendario por Franjas: Los huecos atendidos se colorean en verde esmeralda con marca ✓, los no asistidos en violeta suave con 🚫, y los pendientes en rojo tachado.
  • Acción Directa en Modo Lista: Cada tarjeta de cita cuenta con botón directo ✅ Atendida y menú desplegable actualizado con los 5 estados para filtrar fácilmente.
  • Quinto Contador Numérico: Añadido en la cabecera del panel el contador de "Canceladas / Ausentes" junto al de Atendidas, Total y Pendientes.
v1.18

Rediseño Visual del Calendario en Cuadrícula Interactiva con Huecos Tachados y Gestión Directa

📅 28 de Octubre de 2026

📅 1. Cuadrícula de Horas Idéntica a la Web Pública

  • Adiós al Formato Lista en Calendario: Se sustituye el listado vertical de tarjetas por una cuadrícula dinámica y limpia de franjas horarias (chips), idéntica al selector de citas de la web del cliente.
  • Turnos Claramente Diferenciados: Visualización ordenada en Turno de Mañana (09:00 - 14:00) y Turno de Tarde (17:00 - 20:00) para el día seleccionado.
  • Navegación Ágil por Días: Botones rápidos de Día Anterior, Día Siguiente, botón directo a "Hoy" y selector de fecha con contador de citas programadas en tiempo real.

❌ 2. Huecos Ocupados Tachados con Información Visual

  • Citas Tachadas en Rojo: Toda hora reservada aparece tachada con estilo visual distintivo, mostrando la hora, el nombre abreviado del paciente y la etiqueta de estado.
  • Lectura Inmediata: Permite conocer de un solo vistazo la disponibilidad completa de la jornada sin tener que hacer scroll infinito.

🔍 3. Ficha de Detalle y Acciones con un Solo Clic

  • Clic en Cita Tachada: Abre una ventana modal de detalle con todos los datos del paciente (nombre completo, trámite, teléfono clickeable, DNI/NIE y código de referencia).
  • 💬 Recordatorio por WhatsApp: Botón directo para enviar un WhatsApp al paciente recordando fecha, hora, trámite y documentación requerida.
  • ✏️ Editar o 🗑️ Borrar: Botones inmediatos para modificar los datos de la cita o cancelarla/eliminarla de la base de datos con confirmación.

➕ 4. Agendado Rápido en Huecos Disponibles

  • Clic en Hueco Libre: Al pulsar en cualquier casilla con la marca "+ Libre", se abre el formulario de nueva cita con la fecha y hora seleccionada ya fijadas automáticamente.
  • Lista Cronológica Intacta: La pestaña "Próximas Citas (Modo Lista)" se mantiene disponible con sus filtros avanzados por paciente, teléfono, estado y tipo de reconocimiento médico.
v1.17

Corrección Definitiva de Persistencia de Sesión y Sincronización Automática Total

📅 28 de Octubre de 2026

🔒 1. Persistencia Ininterrumpida de Sesión

  • Causa Raíz Resuelta: Eliminada la llamada a una función no declarada (initHorariosYFestivos) que provocaba una excepción durante el inicio del panel y disparaba el borrado de credenciales.
  • Sesión 100% Permanente: Una vez que inicias sesión con tu usuario, el acceso queda guardado permanentemente en el navegador. Puedes recargar cuantas veces quieras que nunca más te pedirá usuario y contraseña hasta pulsar "Cerrar Sesión".

⚡ 2. Carga Inmediata y Actualización en Vivo sin Refrescar

  • Cero Esperas: Al abrir el panel o recargar la página, las citas se cargan al milisegundo sin parpadeos a cero.
  • Sincronización PUSH en Vivo: Puedes dejar la pantalla de administración abierta; en cuanto un usuario confirme una reserva desde la web, aparecerá automáticamente en pantalla sin tocar nada.
v1.16

Sincronización Reactiva Automática (Punch), Sesión Permanente y Limpieza del Panel

📅 28 de Octubre de 2026

🔒 1. Persistencia Permanente de Sesión Administrativa

  • Cierre de Sesión Involuntario Solucionado: Migrado el almacenamiento de sesión a almacenamiento local persistente (localStorage). Ya no te expulsa al recargar la página ni al cerrar pestañas en el móvil.
  • Sesión Activa Permanente: La sesión permanece abierta de forma continua hasta que se pulse deliberadamente el botón "Cerrar Sesión".

⚡ 2. Carga Inmediata y Actualización en Vivo sin Botones (Punch)

  • Carga en 0 Milisegundos: Eliminado el retraso que mostraba 0 citas al recargar; los datos cargan de inmediato desde la memoria rápida local.
  • Actualización Automática en Directo: Cada vez que un paciente reserve desde su móvil en la web, la cita entra y se refleja en el panel en tiempo real de forma 100% desatendida.

✨ 3. Limpieza y Simplificación del Panel

  • Eliminados los botones de pruebas y de refresco manual para una interfaz limpia, profesional y libre de elementos innecesarios.
v1.15

Sincronización en Directo en Panel Admin, Botón Manual de Refresco y Detección de Pestaña Activa

📅 28 de Octubre de 2026

⚡ 1. Sincronización Inmediata en el Panel de Administración

  • Recepción Directa por Evento Snapshot: El listener de Cloud Firestore transmite el conjunto de documentos en directo nada más guardarse la reserva, alimentando el panel de inmediato.
  • Reactivación de Pestaña (Visibility Change): Detección automática al alternar entre pestañas en móviles: cuando el administrador vuelve a la pantalla de admin.html tras reservar en otra pestaña, los datos se recargan al instante.
  • Nuevo Botón "🔄 Refrescar Citas": Añadido acceso directo en la cabecera para actualizar la lista en cualquier momento con un solo toque.
  • Contador de Citas en Vivo: La insignia de la nube ahora refleja en tiempo real el total de registros activos (ej. 🟢 Nube Activa (1 cita)).

📲 2. Registro PWA en el Panel Interno

  • Incorporación de pwa-register.js en admin.html para garantizar la actualización desatendida del Service Worker en el panel de control.
v1.14

Corrección de Inicialización en Script de Conexión y Blindaje del Formulario de Cita

📅 28 de Octubre de 2026

🛠️ 1. Subsanación del Error de Registro en el Formulario

  • Causa Identificada: Corregido un carácter no escapado en la salida por consola de firebase-config.js que provocaba que el navegador del móvil no terminara de cargar la función global de guardado, arrojando el mensaje "Hubo un inconveniente al registrar la cita".
  • Inicialización Limpia Garantizada: Verificada la compatibilidad y sintaxis de todos los scripts del núcleo (firebase-config.js, app.js, admin.js, sw.js) con el motor de JavaScript.

🛡️ 2. Blindaje Antifallos en Almacenamiento y Pantalla de Confirmación

  • Protección de Modo Incógnito / Privado: Envuelto el almacenamiento local de respaldo en bloques de captura de excepciones para evitar que restricciones de cookies de terceros en móviles bloqueen la reserva.
  • Generación Segura de Enlaces: Reforzado el formateo de fecha y enlaces de calendario y WhatsApp en mostrarConfirmacionCita para asegurar la apertura de la tarjeta de éxito bajo cualquier circunstancia.
v1.13

Sincronización en Directo con Google Cloud Firestore y Arquitectura del Sistema de Citas y WhatsApp

📅 28 de Octubre de 2026

☁️ 1. Activación y Despliegue de Google Cloud Firestore en Producción

  • Activación de Base de Datos en la Nube: Habilitación de la API de Cloud Firestore y aprovisionamiento de la base de datos oficial (default) en Google Cloud Platform para el proyecto victoriacrc52.
  • Reglas de Seguridad Desplegadas: Configuración y despliegue en producción de firestore.rules permitiendo el registro y lectura segura de citas médicas sin obligar a los pacientes a registrarse.
  • Sincronización Multidispositivo Global: Solucionado el almacenamiento aislado local. Ahora, cualquier cita reservada por un usuario desde su teléfono móvil (o cualquier navegador) se persiste en la nube de Google y se visualiza de inmediato en el panel de control central.

⚡ 2. Panel de Administración con Actualizaciones en Tiempo Real (Real-Time Listener)

  • Recepción Automática sin Recargar: Conexión mediante onSnapshot en el panel admin.html: cuando un paciente envía una cita, aparece de forma instantánea en la pantalla del administrador sin necesidad de pulsar F5.
  • Indicador de Estado en Vivo: Nueva etiqueta 🟢 Nube Activa visible en la cabecera del panel administrativo que confirma la conectividad con la base de datos en la nube.
  • Sincronización de Citas Demo en la Nube: El botón de recarga de 10 citas de prueba ahora sincroniza los registros directamente con Firestore para pruebas conjuntas en múltiples pantallas.

💬 3. Arquitectura y Funcionamiento del Flujo de Citas y WhatsApp

  • Flujo del Paciente (cita.html): Tras completar el formulario y guardarse la cita en la nube, el sistema muestra la confirmación con el botón destacado "💬 Confirmar por WhatsApp en 1 Clic". Al pulsarlo, el propio paciente abre WhatsApp con el texto ya redactado dirigido al teléfono de la clínica (608 98 98 55). (Por normativa antispam de Meta, las webs no pueden enviar WhatsApp silenciosos sin consentimiento/acción del usuario).
  • Flujo de la Clínica (admin.html): Cada cita en el panel dispone de un botón directo de WhatsApp. El personal puede enviar con un solo clic el recordatorio oficial al paciente el día previo con fecha, hora exacta y recordatorio de traer el DNI.
  • 100% Libre de Costes de API: Flujo nativo basado en enlaces oficiales wa.me, sin gastos recurrentes en plataformas de terceros.
v1.12

Nueva Página "Quiénes Somos" con Galería de Fotos del Local y Menú Ampliado

📅 27 de Octubre de 2026

🏢 1. Nueva Página Oficial: Quiénes Somos (quienes-somos.html)

  • Presentación de CRC Victoria destacando más de 5 años de trayectoria profesional homologada en Puerto Real (Cádiz).
  • Ubicación céntrica en Calle de la Plaza 52B con información de accesibilidad y cercanía.
  • Explicación de ventajas: atención ágil sin esperas, fotografía digital gratuita en el acto y tramitación directa con la DGT.

📸 2. Galería Fotográfica Interactiva de las Instalaciones

  • Incorporación de 6 fotografías reales en alta definición del centro médico.
  • Visor interactivo con efecto zoom (Lightbox modal) para ampliar cualquier imagen con un solo clic.
  • Pies de foto detallados: Recepción, Sala de Espera, Consulta Médica, Sala Psicotécnica, Cabina de Visión y Despacho DGT.

🧭 3. Navegación Web y Móvil Optimizada

  • Enlace "Quiénes Somos" añadido en la cabecera principal de todas las páginas de la aplicación.
  • Botón de acceso directo "Nosotros" en la barra de navegación inferior móvil.
  • Nuevo bloque destacado en la página de inicio (index.html) invitando a conocer el local por dentro.
v1.11

Cumplimiento Legal RGPD, LSSI-CE y Banner de Consentimiento de Cookies

📅 25 de Octubre de 2026 (Tarde)

🍪 1. Banner Interactivo de Cookies y Privacidad

  • Banner moderno y accesible conforme a las directrices de la Agencia Española de Protección de Datos (AEPD).
  • Permite al usuario aceptar todas las cookies o únicamente las cookies técnicas necesarias.
  • Diseño adaptativo que respeta la navegación móvil flotando por encima de la barra inferior.
  • Guarda el consentimiento en el almacenamiento local para no molestar reiteradamente al usuario en sus próximas visitas.

⚖️ 2. Nuevas Páginas Legales Homologadas

  • Aviso Legal (aviso-legal.html): Identificación del centro médico, condiciones de uso y marco legal (Ley 34/2002 LSSI-CE).
  • Política de Privacidad (privacidad.html): Información completa sobre el tratamiento de datos para citas médicas, finalidades, derechos ARCO/POL y cumplimiento del RGPD (UE 2016/679) y LOPDGDD 3/2018.
  • Política de Cookies (cookies.html): Tabla detallada de cookies técnicas (PWA, Service Worker, reservas) y botón interactivo para restablecer preferencias en cualquier momento.

🔗 3. Enlaces Legales en Pie de Página y Formulario de Cita

  • Enlaces directos a Aviso Legal, Privacidad y Cookies incorporados en el pie de página de todas las páginas de la aplicación.
  • Checkbox de cita previa vinculado directamente con la Política de Privacidad mediante enlace accesible.
v1.10

Gestión de Horarios, Festivos, Citas de Prueba y Simulador Python

📅 25 de Octubre de 2026

⚙️ 1. Nueva Pestaña Admin: "Horarios y Festivos"

  • Configuración flexible de horarios: Permite fijar las horas de apertura y cierre de turno de Mañana (09:00 a 14:00) y turno de Tarde (17:00 a 20:00), así como el intervalo de citas (15, 20 o 30 minutos).
  • Bloqueo de Días Festivos y Cierres: Los administradores pueden añadir fechas festivas o cierres especiales (ej. vacaciones, festivos locales) con su motivo correspondiente.
  • Protección automática en la Web de Citas (cita.html): Si un cliente selecciona un día festivo o fin de semana, el sistema muestra una alerta en rojo indicando el motivo y desactiva la elección de turnos para evitar reservas en días inhábiles.
  • Tabla interactiva de festivos: Permite consultar las fechas bloqueadas y desbloquear cualquier día con un solo clic.

📋 2. Vista "Próximas Citas" en Modo Lista Cronológica

  • Visualización limpia y ordenada de todas las citas futuras del centro.
  • Buscador instantáneo en tiempo real por nombre del paciente, número de teléfono, DNI o identificador de cita.
  • Filtros directos por estado (Pendientes, Confirmadas, Atendidas, Canceladas) y por fecha.
  • Cambio rápido de estado mediante menú desplegable accesible sin recargar la página.

💬 3. Recordatorios por WhatsApp Gratuitos (Sin Registros)

  • Botón directo "Recordar por WhatsApp" tanto en la vista calendario como en la vista de lista.
  • Abre WhatsApp con el mensaje oficial precargado: fecha, hora, trámite médico y recordatorio de acudir con el DNI original.
  • Los pacientes no tienen que registrarse en ninguna plataforma; todo funciona de forma ágil y sin costes de intermediarios.

🌐 4. Registro de Cambios Online (changelog.html)

  • Página web visual accesible directamente para la dirección del centro para seguir la evolución del proyecto.

🧪 5. Simulador y Citas de Prueba para la Próxima Semana

  • Carga automática de 10 citas reales de demostración: Repartidas del 26 al 30 de Octubre de 2026 entre turnos de mañana y tarde con pacientes, trámites médicos y teléfonos para pruebas.
  • Botón "⚡ 10 Citas de Prueba" en el Panel Admin: Permite regenerar o restaurar el conjunto de prueba en cualquier momento con un solo clic.
  • Scripts Python de monitorización: Creados tools/generar_citas_prueba.py y tools/test_crear_cita.py para simular y validar el proceso de reserva como cliente.
v1.08

Panel de Administración con Roles y Optimización de Marca

📅 24 de Octubre de 2026

👑 Sistema de Autenticación y Control de Acceso

  • Cuenta SuperAdmin (Goku): Acceso maestro con panel de gestión de empleados para crear o revocar accesos en cualquier momento.
  • Cuentas de Empleados / Recepción: Permiso de gestión diaria de citas, agenda y llamadas sin acceso a la administración de usuarios.
  • Cuadrícula de Franjas Horarias: Calendario por turnos con huecos disponibles y citas ocupadas identificadas con código de colores.

🎨 Identidad Visual y Experiencia de Usuario

  • Integración del logo oficial de CRC Victoria con fondo transparente optimizado para monitores retina y pantallas móviles.
  • Generación del set completo de favicons e iconos PWA médicos (16, 32, 48, 96, 192 y 512 píxeles).
  • Nuevo menú de llamada telefónica estilo nativo (Glassmorphism) para elegir entre los números 608 98 98 55 y 677 68 16 55.
  • Botón directo de WhatsApp añadido en la cabecera general.
  • Pie de página oficial con autoría (WoRFReD / FlashChip) y sincronización automática de versión.
v1.07

Lanzamiento Inicial de la PWA CRC Victoria

📅 23 de Octubre de 2026

🚀 Arquitectura y Catálogo de Servicios

  • Despliegue de la Aplicación Web Progresiva (PWA) instalable en Android, iOS y ordenadores.
  • Fichas completas de especialidades: Conductores (renovación y obtención), Permisos de Armas, Patrón de Embarcaciones, Seguridad Privada, Tenencia de Animales Potencialmente Peligrosos y Certificados Oficiales para Oposiciones.
  • Formulario de solicitud de cita online con selección de especialidad, fecha y franja horaria.
  • Soporte de funcionamiento sin conexión a internet (Modo Offline) mediante Service Worker.
  • Integración con Firebase Hosting con protocolo de seguridad SSL y tiempos de carga instantáneos.