Caso de estudio 01En producción
Logo de SALUS

SALUS

Plataforma de gestión de turnos para profesionales de la salud

Plataforma web donde pacientes encuentran profesionales de salud mental y reservan un turno en minutos, y donde cada profesional administra su agenda desde un panel propio.

Visitar salusprofesionales.com.ar
salusprofesionales.com.ar/profesionales/…
Perfil de un profesional en SALUS con el selector de fecha y horarios disponibles

El problema

Los profesionales necesitaban administrar sus turnos sin depender de mensajes y planillas, y los pacientes necesitaban una forma simple de encontrar a alguien disponible —según su ubicación, modalidad y cobertura— y reservar sin fricción.

La solución

Diseñé y desarrollé una plataforma completa: un buscador público con filtros, reserva de turnos sin crear cuenta, un panel para que cada profesional gestione disponibilidad y agenda, y un panel de administración. La lógica crítica vive en la base de datos, protegida con Row Level Security y funciones RPC con permisos controlados.

Flujo del paciente

  1. PacienteSin crear cuenta
  2. BúsquedaUbicación, modalidad, cobertura
  3. ProfesionalPerfil y valoraciones
  4. ReservaHorarios disponibles reales
  5. AgendaEl turno impacta en la agenda

Flujo del profesional

  1. ProfesionalAcceso con su rol
  2. AgendaDisponibilidad y bloqueos
  3. TurnosReservas del día
  4. EstadosReservado · Realizado · Cancelado · No asistió
  5. AdministraciónPanel admin y permisos
salusprofesionales.com.ar
Resultados de búsqueda de SALUS con tarjetas de profesionales
Búsqueda pública con filtros y resultados.
salusprofesionales.com.ar/profesional/turnos

Agenda

Turnos del día

Hoy
  • 09:00Paciente A.Realizado
  • 10:00Paciente B.No asistió
  • 11:00Paciente C.Reservado
  • 14:00Paciente D.Cancelado
  • 15:00Paciente E.Reservado
Panel del profesional: agenda y estados de turno.

Representación ilustrativa · datos de ejemplo

Qué resuelve el sistema

Para pacientes

  • Búsqueda de profesionales
  • Filtros por provincia, ciudad, modalidad y cobertura
  • Reserva de turnos sin crear una cuenta
  • Valoración posterior a la consulta mediante un link único

Para profesionales

  • Configuración de disponibilidad semanal y bloqueos puntuales
  • Administración de la agenda
  • Gestión de reservas y cambio de estado de cada turno
  • Edición del perfil público

Administración y seguridad

  • Panel administrativo para alta, edición y baja de profesionales
  • Roles diferenciados (administrador y profesional)
  • Control de acceso a la información con Row Level Security
  • Operaciones críticas en funciones RPC SECURITY DEFINER

Decisiones técnicas

  • 01

    Horarios disponibles calculados

    Los horarios que ve el paciente se calculan cruzando la disponibilidad del profesional, sus bloqueos y los turnos ya reservados.

  • 02

    Sin doble reserva

    La protección contra reservas duplicadas está tanto a nivel de base de datos como en la función RPC que crea el turno.

  • 03

    Acceso controlado por datos

    Cada rol accede únicamente a lo que le corresponde: las reglas viven en Postgres con RLS, no solo en la interfaz.

Mi rol

  • Análisis funcional y definición del alcance
  • Modelado de datos y diseño de la arquitectura
  • Desarrollo frontend y backend
  • Seguridad: RLS, roles y funciones RPC
  • Deploy y puesta en producción

Stack

  • Next.js 15
  • App Router
  • React 19
  • TypeScript
  • Supabase
  • PostgreSQL
  • Supabase Auth
  • Supabase Storage
  • Row Level Security
  • RPC / SECURITY DEFINER
  • Tailwind CSS
  • shadcn/ui
  • Vercel

Resultado

  • Plataforma en producción en salusprofesionales.com.ar.
  • Profesionales con perfil publicado y valoraciones registradas por pacientes después de la consulta.