OraFlow

Base de conocimientos y guía de usuario de OraFlow

Manual completo sobre los 16 módulos, procesos y errores del sistema de la clínica

1. Arquitectura de roles y acceso a datos

Modelo estricto de roles, aislamiento de sucursales (branch_id) y protección de datos médicos.

Tabla resumen de derechos y responsabilidades del personal

Configuración → Personal de la clínica

• Superadministrador de la clínica (admin): Toda la clínica y todas las sucursales (branch_id = null). Acceso total: sucursales, personal, matriz de precios, reserva online, descuentos globales, toda la analítica, facturación, limpieza de BD, SMTP. No puede eliminarse a sí mismo ni cambiar su rol si es el único administrador.

• Administrador de sucursal (branch_admin): Solo su propia sucursal (branch_id). Gestiona el personal de su sucursal, lista de precios local, caja y citas de su sucursal, informe de caja. Prohibido: crear admin u otros branch_admin, eliminar sucursales, cambiar nombre de sucursal, acceder a secciones globales (facturación de plan, cuotas de disco, SMTP global).

• Dentista de la clínica (dentist): Su propia sucursal y solo pacientes asignados. Su propio horario, registro de citas, odontograma, radiografías e historial de tratamiento de pacientes asignados, chat 'Segunda opinión'. Acceso denegado a registros médicos (odontograma, radiografías, historial) si el paciente no está asignado a este dentista. No puede aceptar pagos.

• Dentista en solitario (dentist sin clinic_id): Cuenta personal (práctica privada). Funcionalidad completa: actúa como su propio admin, cajero y dentista. Acceso a descuentos, reserva online, logotipo personal, analítica, facturación. Sin módulo de sucursales ni plantilla de terceros.

• Operador / Recepción (operator): Solo su propia sucursal. Creación de pacientes, registro de citas, aceptación de pagos, impresión de recibos, informe de turno de caja. Prohibición total de datos médicos: no ve archivos de radiografías, odontogramas ni historial dental.

2. Configuración inicial y ajustes (clínica y dentista en solitario)

Para clínicas y dentistas en solitario: registro, zona horaria, moneda, logotipo y, para clínicas, también sucursales, personal y servidor de correo SMTP.

Videotutoriales: por dónde empezar

Unos vídeos cortos muestran cómo empezar a trabajar en OraFlow. Comience introduciendo el horario de trabajo; el resto se irá aclarando sobre la marcha. Sirven tanto para clínicas como para dentistas en solitario. Todos los vídeos están en una sola lista de reproducción y los nuevos se añaden allí.

Ver los videotutoriales en YouTube

Registro y activación de cuenta

Página /register

  1. Vaya a la página de registro (/register).
  2. Seleccione tipo de cuenta: 'Dentista' (práctica individual de 1 doctor) o 'Clínica' (organizaciones con múltiples doctores/sucursales; especifique límite de personal: 6, 11, 16, 31).
  3. Complete campos obligatorios: usuario, contraseña, nombre, apellido, email laboral, teléfono (con código de país) y nombre de la clínica.
  4. Revise su email. Haga clic en el enlace para activar su cuenta (el enlace caduca en 24 horas).

Configuración de datos, zona horaria y moneda

Configuración → Marca y widgets / Configuración → Lista de precios

  1. Zona horaria: Vaya a 'Configuración' → 'Marca y widgets' (parte inferior). Haga clic en el lápiz junto al campo de zona horaria y seleccione su región. Los límites de turno, slots online e informes financieros se calculan estrictamente por la zona horaria de la clínica, no por la del dispositivo del usuario.
  2. Moneda de facturación: Vaya a 'Configuración' → 'Lista de precios'. En la esquina superior derecha, seleccione la moneda (USD, EUR, RUB, AMD, AED, CNY o ingrese personalizada hasta 4 caracteres). La moneda es única para toda la clínica.
  3. Logotipo: En 'Marca y widgets' → 'Logotipos', suba el logo de la clínica (JPEG/PNG hasta 5 MB). El sistema optimiza automáticamente el tamaño al contenedor 288×96 px sin recortar texto.

Añadir sucursales y personal

Configuración → Personal de la clínica

  1. Sucursales: Vaya a 'Configuración' → 'Personal de la clínica' → pestaña 'Clínica y sucursales'. Haga clic en '+ Añadir sucursal', indique nombre, dirección exacta y teléfono(s).
  2. Personal: Vaya a la pestaña 'Personal', haga clic en '+ Añadir empleado'. Ingrese usuario, nombre completo, email, teléfono, seleccione rol y sucursal. Se enviará automáticamente una contraseña temporal generada al email del empleado.

Configuración de email para notificaciones (SMTP)

Configuración → Notificaciones → Configuración SMTP

  1. Abra 'Configuración' → 'Notificaciones' → 'Configuración SMTP'.
  2. Ingrese servidor, puerto (usualmente 465 para SSL o 587 para TLS), usuario (su email) y contraseña.
  3. Para Gmail / Yandex: Use la Contraseña de aplicación especial de 16 dígitos generada en la configuración de seguridad de su servicio de correo, no su contraseña principal.
  4. Ingrese una dirección de prueba en 'Email de prueba' y haga clic en 'Probar'.
  5. Tras el envío exitoso, haga clic en 'Guardar'.

3. Horarios de trabajo y gestión de turnos

Creación de horarios por días de la semana, días pares/impares, intervalos y excepciones interactivas.

Opciones de creación de horarios médicos

Configuración → Horario de trabajo

• Por días de la semana: Active los días laborables requeridos (Lun, Mar, Mié, etc.). Establezca hora de inicio y fin para cada día. Para añadir un descanso, haga clic en '+ Añadir intervalo' (ej: 09:00–14:00 y 15:00–19:00). Longitud mínima de intervalo: 15 minutos; los solapamientos se bloquean automáticamente.

• Días pares / impares: El sistema determina el horario por número de día calendario (2, 4, 6... o 1, 3, 5...). Configure horas laborales para turnos pares e impares. En el bloque 'Excluir días de la semana', desactive días libres regulares (ej: desmarque sábado y domingo para que siempre sean no laborables independientemente de la fecha).

Calendario de excepciones e historial de turnos

Configuración → Horario de trabajo → Calendario interactivo

• Asignar día libre no programado: Haga clic en un día laborable en el calendario — la fecha se marcará con contorno rojo. Las reservas online y regulares se cerrarán.

• Asignar turno laboral en día libre: Haga clic en cualquier día no laborable. En la ventana emergente, establezca horas laborales específicamente para esa fecha.

• Historial de horarios: El sistema guarda todas las versiones anteriores. Las citas pasadas no se desplazan al cambiar el horario actual.

4. Calendario y registro de citas

Cuadrícula de visitas, estados de servicio, reprogramación Drag-and-Drop y auditoría de citas.

Modos de cuadrícula del horario

Horario

• Vista diaria (por personal): El encabezado muestra todos los doctores de la sucursal seleccionada en columnas paralelas.

• Vista semanal: Muestra 7 días de la semana para el doctor seleccionado.

• Cambio rápido de formato horario: Haga clic en la escala temporal izquierda para alternar instantáneamente modo 24h / 12h (AM/PM).

Crear una cita

Horario

  1. Haga clic en un slot azul libre en la columna del doctor (o pulse 'Reservar cita'). El color azul indica que el tiempo cae dentro del horario laboral del doctor.
  2. En la ventana de reserva, busque paciente existente por nombre, teléfono o email (búsqueda desde 3 caracteres) o ingrese nuevo nombre y pulse 'Crear nuevo paciente'.
  3. Seleccione uno o más procedimientos de la lista de precios (duración y precio se suman automáticamente).
  4. Especifique tipo de visita: Visita única o Visita de plan de tratamiento (si el paciente tiene plan abierto).
  5. Ajuste duración manualmente si es necesario o añada nota.
  6. Haga clic en 'Guardar'.

Estados de visita y transiciones

Horario → Clic en bloque de visita

Al hacer clic en el bloque de cita se abre la tarjeta de gestión:

• pending (Pendiente, amarillo) — cita creada, paciente aún no confirmó.

• confirmed (Confirmado, verde) — paciente confirmó asistencia (teléfono/SMS).

• arrived (Llegó / Check-in, turquesa) — paciente llegó a recepción.

• completed (Completado, morado) — cita realizada. Si estaba vinculada a plan de tratamiento, el sistema pregunta: '¿Completar solo esta visita o todo el plan?'.

• no-show (No asistió, rojo) — paciente no vino sin aviso.

• cancelled (Cancelado, rojo) — cita cancelada.

Reprogramar cita (Drag-and-Drop)

Horario

• En PC: Mantenga presionado el bloque con botón izquierdo y arrastre a otra hora o columna de otro doctor.

• En Smartphone/Tablet: Mantenga presionado el bloque 300ms, tras vibración ligera arrastre el slot.

• El sistema solicita confirmación. Si el doctor objetivo ya tiene cita a esa hora o no trabaja, el sistema rechaza el movimiento con explicación clara.

5. Fichero de pacientes y deduplicación

Búsqueda, protección contra duplicados, perfil del paciente y asignación de médicos tratantes.

Reglas de verificación de duplicados al crear

Pacientes → Añadir paciente

• Bloqueo estricto: Si ya existe paciente con mismo teléfono o email — el sistema arroja error_duplicate_phone o error_duplicate_email. Imposible crear segunda cuenta idéntica.

• Advertencia suave: Si teléfono y email son únicos pero coinciden nombre completo y fecha de nacimiento, el sistema muestra: 'Posible duplicado. Ya existe paciente con estos datos. ¿Crear de todos modos?'. Pulse 'Crear de todos modos' solo si es homónimo confirmado.

Estructura de ficha del paciente y asignación de doctores

Pacientes → [Ficha del paciente]

• Perfil: Datos personales, edad (auto-calculada), bloque de notas con edición rápida.

• Doctores asignados (solo clínicas): Bloque en columna izquierda del perfil. Superadmin u operador selecciona doctores de la lista y pulsa 'Asignar'.

IMPORTANTE: Hasta que se asigne doctor al paciente, este no podrá ver radiografías, hacer entradas en odontograma ni ver historial dental.

6. Historia Clínica Electrónica (HCE)

Odontograma FDI/Universal, historial de tratamiento dental y protocolo fotográfico.

6.1. Odontograma (Dental Chart)

Ficha del paciente → Odontograma

  1. Conmutador de numeración abajo: FDI (11–48) o Universal (1–32).
  2. Establecer diagnósticos/restauraciones: Seleccione herramienta en panel superior (ej: 'Caries', 'Empaste', 'Corona', 'Implante') y haga clic en diente. El diente se colorea (o aparece tornillo/poste). Clic nuevamente con misma herramienta quita marca (vuelve a 'Sano').
  3. Construir puente: Clic en herramienta 'Puente' → clic en primer diente pilar (número pulsa en azul) → clic en segundo diente pilar en misma arcada. El sistema conecta automáticamente todos los dientes entre ellos. Para quitar puente, seleccione 'Puente' y haga clic en cualquier diente de la estructura.

6.2. Historial de tratamiento dental (Tooth History)

Ficha del paciente → Odontograma

  1. Desactive todas las herramientas en barra de odontograma (modo cursor).
  2. Haga clic en cualquier diente — se despliega panel de historial a la derecha.
  3. Pulse '+ Añadir entrada', ingrese protocolo de tratamiento, pulse 'Guardar'.
  4. Auditoría médica: Al pulsar 'Editar' en entrada antigua, el texto original no se borra. Se tacha y guarda en historial de versiones con nota de quién y cuándo editó.

6.3. Almacén de radiografías y fotos (Archivos)

Ficha del paciente → Archivos

• Subida: Clic en bloque de subida arriba de pestaña 'Archivos'. Seleccione archivos en PC o tome foto con móvil/tablet.

• Opción 'Comprimir foto': Activa por defecto. Reduce fotos pesadas a Full HD (1920×1080), ahorrando cuota de disco sin perder valor diagnóstico.

• Vinculación a dientes: Antes de subir, haga clic en números de dientes en mini-esquema mandibular interactivo. La imagen se vincula automáticamente y aparece en historial dental.

• Visualización (Lightbox): Clic en miniatura abre visor pantalla completa. Zoom suave con rueda ratón o gesto pinch-to-zoom en móvil.

7. Planes de tratamiento

Presupuesto transparente, vinculación a sucursal, auto-descuentos, precios contractuales y finalización.

Ciclo de vida y cálculo del plan de tratamiento

Ficha del paciente → Planes de tratamiento

  1. Pulse 'Crear plan', ingrese nombre (ej: 'Implantación y prótesis 2026'). Paciente solo puede tener un plan activo a la vez.
  2. Vinculación a sucursal: Seleccione sucursal donde se realizará tratamiento. Costos se recalculan instantáneamente según tarifa de esa sucursal.
  3. Añadir procedimientos: Escriba nombre en buscador y seleccione. Repita para todas las etapas.
  4. Descuentos de plan: Si hay descuentos aplicables, aparece bloque azul con botón 'Aplicar descuento'.
  5. Precio contractual (manual): Clic en icono lápiz junto a 'Costo total' e ingrese monto acordado. Sistema registra diferencia como descuento manual personal.
  6. Pago del plan: Paciente puede pagar a plazos (anticipos). Barra de progreso muestra ratio 'Pagado / Pendiente'.
  7. Finalización: Cuando todos los procedimientos están hechos, seleccione 'Completar plan' en menú de acciones (tres puntos). Luego puede crear nuevo plan.

8. Caja, pagos y operaciones financieras

Aceptación de pagos por todos los métodos, deducción de puntos/certificados, cashback y reversa contable.

¿Cómo aceptar pago de paciente?

Calendario → Visita → 'Registrar pago' O Ficha paciente → 'Pagos'

  1. Desde Calendario: Clic en cita → pulse botón verde 'Registrar pago'.
  2. Desde Ficha paciente: Abra pestaña 'Pagos' o 'Planes de tratamiento' → pulse botón con icono de tarjeta bancaria.
  3. En ventana emergente, seleccione propósito (visita única o plan), indique monto (saldo pendiente se autocompleta), seleccione método (Tarjeta, Efectivo, Transferencia, Tarjeta regalo o Bonos), seleccione doctor receptor de ingresos.
  4. Pulse 'Guardar pago'.

Pago con bonos o tarjeta regalo

Ventana de pago

• Si paciente tiene certificado regalo o bonos, saldo disponible se muestra en botones respectivos.

• Si monto excede saldo de bonos o valor nominal de tarjeta — sistema arroja error indicando balance exacto disponible.

Corrección de errores de caja y reembolsos (Reversa)

Ficha paciente → Pestaña 'Pagos'

  1. En OraFlow el historial financiero es inmutable por leyes contables. No se puede borrar línea de pago sin rastro.
  2. Vaya a pestaña 'Pagos' del paciente.
  3. Expanda plan o visita relevante.
  4. En línea de pago erróneo, pulse menú de acciones (tres puntos) a la derecha.
  5. Pulse 'Eliminar' (cancelación total) o 'Editar' (cambiar monto/método).
  6. Resultado automático: Pago erróneo se tacha en rojo (is_deleted = true), se crea entrada compensatoria de reversa con monto negativo, cashback acumulado se deduce de cuenta de bonos, puntos/certificados vuelven al saldo, deuda total se recalcula en tiempo real.

9. Marketing: Descuentos, códigos promo, certificados y bonos

Políticas de combinación de descuentos, lotes de tarjetas regalo, generación de cupones únicos y cashback.

9.1. Reglas de interacción de descuentos (Políticas)

Configuración → Gestión de descuentos → Configuración general

• Prioridad: Compara todos los descuentos activados y aplica el más beneficioso para el paciente.

• Cascada: Los descuentos forman cadena aplicada secuencialmente al precio restante.

• Sumable: Porcentajes de descuento personal y promoción global se suman.

9.2. Creación de programas de fidelización

Configuración → Gestión de descuentos

Al pulsar 'Crear descuento' hay 4 opciones:

1. Promoción global: Descuento automático para todos (ej: '-20% profilaxis en mayo').

2. Asignación manual: Plantilla que admin adjunta manualmente a clientes VIP específicos en su ficha.

3. Código promo compartido: Palabra clave (ej: INSTA2026) que da descuento al ingresarla.

4. Plantilla generadora de códigos únicos: Base para imprimir cupones desechables.

9.3. Generador de códigos promo únicos

Configuración → Gestión de descuentos → Generador de códigos

  1. Vaya a bloque 'Generador de códigos promo únicos'.
  2. Seleccione plantilla de promoción.
  3. Establezca cantidad (hasta 1000 a la vez) y prefijo (hasta 12 caracteres latinos, ej: VERANO).
  4. Pulse 'Generar'. Códigos pueden copiarse como lista o exportarse CSV/TXT para imprenta/emailing.

9.4. Certificados regalo (Tarjetas regalo)

Configuración → Gestión de descuentos → Tarjetas regalo

  1. Certificado único: Elija 'Emisión única', indique valor nominal y validez. Sistema genera código único de 10 dígitos.
  2. Lote para impresión: Elija 'Emisión por lotes', ingrese nombre de serie (ej: 'Navidad 5000'), cantidad (hasta 500), valor nominal. Exporte lote CSV para producción de tarjetas plásticas.
  3. Activación: En ficha paciente pestaña 'Fidelización', ingrese código en campo 'Tarjetas regalo' y pulse 'Activar'.

10. Reserva online, widgets y códigos QR

Creación de widgets públicos de reserva, exportación de QR y pasos del paciente online.

Crear enlace público y código QR

Configuración → Marca y widgets → Widgets de reserva online

  1. Ingrese nombre operativo del enlace (ej: 'Taplink Terapia').
  2. Defina alcance: Toda la clínica (paciente elige sucursal, cualquier doctor/procedimiento), Sucursal (reserva solo en dirección específica) o Doctor (enlace personal a doctor específico).
  3. Marque procedimientos disponibles para selección online del paciente.
  4. Active 'Mostrar precios' si desea mostrar tarifa.
  5. Pulse 'Crear enlace'.

Códigos QR para impresión y mensajería

Configuración → Marca y widgets → Icono QR junto al enlace

En ventana modal puede:

• Pulsar 'Descargar PNG' — enviar a diseñador (impresión mostrador, tarjetas, flyers).

• Pulsar 'WhatsApp' o 'Email' — envío rápido de enlace al paciente.

• Copiar enlace directo formato https://your-domain.com/book/xxxxxxxx.

Cómo ve la reserva el paciente (4 pasos)

Widget público de reserva

  1. Paso 1: Selección de servicio.
  2. Paso 2: Selección de doctor (si no estaba fijado en enlace).
  3. Paso 3: Selección de fecha y franja horaria libre del horario real de la clínica.
  4. Paso 4: Ingreso de nombre, teléfono y fecha nacimiento. Al confirmar, la cita aparece instantáneamente en cuadrícula con estado pending y etiqueta 'Reserva online'.

11. Analítica e informes financieros

Resumen de caja, ingresos por doctor, registro de deudores, turnos de cajeros, demanda de procedimientos.

Uso del módulo de informes y significado de métricas

Analítica (icono gráfico en panel superior)

  1. En bloque superior marque informes necesarios:
  2. • Resumen: Caja total del período y deuda total de pacientes.
  3. • Flujo de pacientes: Cantidad de pacientes nuevos y visitas recurrentes.
  4. • Pasivos: Volumen de descuentos emitidos, dinero en tarjetas regalo y puntos.
  5. • Por doctores: Ingresos desglosados por doctores.
  6. • Deudores: Tabla detallada de deudas indicando sucursal de origen.
  7. • Planes de tratamiento: Registro de planes activos, costo y % pagado.
  8. • Popularidad de procedimientos: Frecuencia en unidades y costo base.
  9. • Informe de cajero: Conciliación de caja desglosada por admins y tipos de pago (efectivo, terminal, bonos).
  10. Establezca rango de fechas, sucursal, doctor, pulse 'Generar informe'.
  11. Cualquier tabla se exporta a Excel/CSV mediante botón con icono de archivo.

12. Centro de comunicación (Chats internos, 'Segunda opinión', Red de socios)

Canales corporativos de sucursales, foro profesional médico, alianzas B2B y auto-limpieza 24h.

Canales de comunicación y reglas de seguridad

Icono mensaje en esquina superior derecha

Panel deslizable se abre pulsando icono diálogo en cabecera derecha:

• Chat sucursal/clínica: Mensajes operativos de turno de guardia.

• Mensajes directos (DMs): Correspondencia personal (punto verde = 'en línea').

• Feed 'Segunda opinión' (doctores): Seleccione especialidad (Terapia, Ortodoncia, Cirugía...) e idioma. Publique casos clínicos complejos y radiografías para discusión. Límites: Plan gratis — 1 msg/hora, Pago — hasta 30/hora.

• Catálogo 'Listos para ayudar': Active 'Listo para ayudar' para que otros doctores soliciten consulta urgente.

• Red de socios (Partners): Módulo B2B para colaboración entre clínicas independientes (derivación TC, anestesia, laboratorio). Busque clínica socia, envíe solicitud. Tras aprobación se abre chat inter-clínico.

POLÍTICA DE PRIVACIDAD: Chats funcionan en almacenamiento ultrarrápido con vida útil automática de 24 horas. Tras 24h el historial se purga automáticamente.

13. Gestión de disco, archivos y limpieza de BD

Indicador de cuota, registro de archivos, descarga ZIP masiva y eliminación segura con optimización VACUUM.

Indicador de almacenamiento y archivo de ficheros

Configuración → Gestión de almacenamiento

• Indicador muestra uso real: Segmento azul — archivos físicos de radiografías/logos/avatares; Segmento verde — tamaño tablas e índices BD; Placa amarilla — advertencia caducidad disco extra pagado.

• Archivo de ficheros: Registro de todos los archivos subidos. Encuentre radiografías pesadas, filtre por paciente o descargue hasta 100 archivos en ZIP único (PC).

Herramienta de limpieza de base de datos

Configuración → Gestión de almacenamiento → Limpieza BD

  1. Libera cuota de disco de forma segura.
  2. Establezca marco temporal (ej: todo lo anterior a 2 años).
  3. Seleccione objetivos: Logs antiguos, citas canceladas sin pagos, planes archivados sin deudas.
  4. Pulse 'Vista previa limpieza' — sistema calcula filas eliminables sin borrar realmente.
  5. Pulse 'Ejecutar limpieza' (eliminación entidades médicas requiere contraseña admin). Tras operación, sistema optimiza tablas automáticamente (VACUUM).

14. Planes, suscripción y sistema de referidos

Tabla tarifaria, descuentos por periodo, compra de disco extra, acumulaciones de referidos y modo Read-Only.

Tabla tarifaria y renovación

Configuración → Facturación y suscripción

• Tarjeta muestra plan actual, máximo personal médico y fecha caducidad.

• Descuentos prepago: 1 mes — precio base; 3 meses — 5% dto; 6 meses — 10% dto; 12 meses — paga 10 (2 meses gratis).

• Espacio extra en disco se compra en paquetes separados sin necesidad de subir a plan caro.

Programa de referidos

Configuración → Programa de referidos

• En 'Configuración' → 'Programa de referidos' copie su enlace único.

• Comparta enlace con colegas de otras clínicas.

• Cuando nueva clínica se registra vía enlace y realiza primer pago, tras periodo protector de 30 días se acredita bono USD no caducable en saldo de referidos.

• Crédito acumulado puede aplicarse a pago de propio plan o disco extra mediante botón 'Usar saldo'.

15. Aplicación móvil (PWA / iOS / Android)

Especificidades UI en smartphones: navegación inferior, pila de pacientes y gestos táctiles.

Características de operación en móviles

Interfaz smartphones y tablets

Interfaz OraFlow adaptada a smartphones/tablets vía tecnología Capacitor:

1. Navegación inferior: Secciones principales (Horario, Pacientes, Analítica, Config) movidas abajo bajo pulgar.

2. Pila de pacientes abiertos: Si hay varias fichas abiertas, aparece botón con icono pila y contador en panel inferior. Toque para alternar pacientes en un toque.

3. Gestión táctil de visitas: Toque corto abre tarjeta acciones; presión larga 300ms activa modo arrastrar dedo para reprogramar.

4. Gestos en radiografías: Doble toque amplía área, pellizcar (pinch-to-zoom) escala detalles suavemente.

16. Catálogo de errores del sistema y solución de problemas

Referencia completa de mensajes del sistema, causas y soluciones paso a paso.

Hora de cita ocupada por otra consulta

error_time_slot_busy

Causa: Hora seleccionada se solapa con otra cita de este doctor.

Solución: Cambie hora inicio, reduzca duración o elija otro doctor libre.

Doctor no trabaja en hora seleccionada

error_doctor_not_working

Causa: Hora de visita fuera del horario laboral del doctor.

Solución: Verifique horas en 'Horario de trabajo' o añada turno individual para ese día.

No se puede eliminar cita con pagos registrados

error_delete_appointment_with_payments

Causa: Intento de eliminar visita con pagos ingresados en caja.

Solución: Vaya a visita, pulse pagos, haga reversa (eliminar) de todos. Una vez anulados, la cita se elimina.

Ya existe paciente con este teléfono/email

error_duplicate_phone

Causa: Paciente registrado con este teléfono/email (error_duplicate_phone / error_duplicate_email).

Solución: Busque paciente existente en buscador 'Pacientes'. Sistema protege contra duplicados.

Coincidencia nombre y fecha nacimiento (Posible duplicado)

error_possible_duplicate_name_dob

Causa: Nombre y fecha nacimiento coinciden con paciente existente.

Solución: Verifique cuidadosamente. Si es realmente otra persona/homónimo — pulse 'Crear de todos modos'.

No se puede eliminar paciente con visitas activas

cannot_delete_patient_active_appointments

Causa: Intento de eliminar paciente con futuras visitas incompletas.

Solución: Cancele o complete todas las citas del paciente, luego elimine.

No se puede eliminar único admin de clínica

last_admin_cannot_delete

Causa: Intento de eliminar/cambiar rol del único admin (last_admin_cannot_delete / last_admin_cannot_change_role).

Solución: Prohibido. Clínica no puede quedarse sin gestor. Asigne rol admin a otro empleado primero.

No se puede eliminar doctor con citas programadas

cannot_delete_staff_with_active_appointments

Causa: Intento de eliminar doctor con citas futuras.

Solución: Abra horario, reasigne citas futuras a otros doctores.

No se puede eliminar sucursal con personal

cannot_delete_branch_with_staff

Causa: Intento de eliminar sucursal con usuarios vinculados.

Solución: En 'Personal clínica' transfiera empleados a otra dirección, luego elimine sucursal vacía.

No se puede eliminar sucursal con procesos activos

cannot_delete_branch_with_active_appointments

Causa: Sucursal tiene visitas o planes de tratamiento abiertos.

Solución: Complete, cancele o re-vincule procesos activos a otra sucursal.

Modo 'Solo lectura': Suscripción expirada

error_subscription_expired

Causa: Periodo de suscripción pagada expiró.

Solución: Sistema bloqueó ediciones (Read-Only). Vaya a 'Facturación y suscripción' y renueve plan.

Límite personal excedido para nuevo plan

error_downgrade_staff_limit_exceeded

Causa: Degradación a plan con menor límite personal que creados actualmente.

Solución: Más personas creadas que permite nuevo plan. Elimine personal inactivo primero.

Prohibido degradar clínica a plan 'Solo'

error_clinic_to_solo_forbidden

Causa: Clínica intenta degradar a 'Solo'.

Solución: Clínicas multi-empleado/sucursal no pueden arquitectónicamente pasar a plan monousuario 'Solo'.

Saldo bonos insuficiente para deducción

error_insufficient_bonus_balance

Causa: Monto a deducir excede saldo bonos paciente.

Solución: Especifique monto ≤ saldo actual paciente.

Fondos insuficientes en tarjeta regalo

error_insufficient_gift_card_balance

Causa: Deducción excede saldo tarjeta regalo.

Solución: Verifique saldo en pestaña 'Fidelización', deduzca solo monto disponible.

Límite mensajes feed 'Segunda opinión' excedido

error_feed_rate_limit

Causa: Límite publicaciones feed 'Segunda opinión' excedido.

Solución: Trial — máx 1 post/hora, Pago — hasta 30/hora. Espere reinicio ventana temporal.