Amine Benamrouche · Proyectos
← Volver a los proyectos

HealthHub: SaaS multi-tenant para clínicas virtuales

Resumen

Healtheshub es una plataforma de salud virtual multi-tenant para profesionales médicos y clínicas de Arabia Saudí. Permite a los proveedores de salud operar clínicas virtuales, gestionar pacientes e historiales médicos, programar citas, realizar consultas en línea, gestionar la facturación y configurar servicios de terceros desde sus propios paneles de tenant.

Explora la plataforma: healtheshub.net

Como primer desarrollador del proyecto, trabajé directamente con el product owner para traducir los requisitos de negocio en especificaciones técnicas. Diseñé el esquema de base de datos inicial, los módulos de la aplicación, el modelo de autorización y la estructura de la API REST, y documenté las APIs para los desarrolladores frontend que se incorporaron más tarde.

La plataforma funciona como una aplicación Laravel compartida con bases de datos independientes para cada clínica (tenant), y admite integraciones configurables, suscripciones, programación de citas, facturación electrónica y pagos.

Contribuciones técnicas principales

  • Arquitectura backend: diseño del esquema de base de datos inicial, los módulos de la aplicación, la estructura de la API REST y el enfoque de autenticación y autorización a partir de los requisitos de negocio del cliente.
  • Arquitectura multi-tenant: implementación de una base de datos por tenant con Stancl Tenancy, incluida la resolución del tenant mediante dominios personalizados y subdominios, conexiones de base de datos específicas por tenant y límites de control de acceso.
  • Programación médica: desarrollo de la lógica de disponibilidad de los médicos y reserva de citas, teniendo en cuenta horarios de trabajo, duración de las citas, descansos, tiempos de preparación y conflictos causados por cambios en horarios ya existentes.
  • Consultas virtuales: integración del SDK y las APIs de Zoom para consultas en línea, incluida la gestión de cuentas en varios niveles.
  • Historiales médicos y autorización: implementación de control de acceso basado en roles y permisos mediante políticas, que restringe el acceso al historial médico al médico asignado al paciente.
  • Pagos y facturación electrónica: integración de servicios de pago como Moyasar, Mada, Tabby y Tamara, junto con la facturación electrónica relacionada con ZATCA y funcionalidades de IVA.
  • Integraciones configurables por el tenant: funcionalidad que permite a los tenants activar y configurar las integraciones compatibles desde sus paneles, incluidos servicios de pago y de marketing.
  • Autenticación e incorporación de tenants: implementación de autenticación de la API basada en Passport y de un flujo de incorporación con registros pendientes, verificación por OTP y creación del tenant.
  • Suscripciones y funciones comerciales: desarrollo de la gestión de suscripciones y paquetes, periodos de prueba, límites de uso y un sistema flexible de cupones con descuentos porcentuales o de importe fijo, restricciones de uso y reglas de caducidad.
  • Flujos administrativos y auditoría: implementación de accesos temporales de soporte administrativo y de registro de auditoría, junto con la autorización basada en roles y permisos.

Stack técnico

ComponenteTecnologías
BackendPHP, Laravel
Base de datosMySQL
Multi-tenancyStancl Tenancy, base de datos por tenant
AutenticaciónLaravel Passport
AutorizaciónRoles, permisos, políticas
Arquitectura de la APIAPIs REST
Consultas por vídeoSDK y APIs de Zoom
PagosMoyasar, Mada, Tabby, Tamara
Facturación electrónicaIntegración con ZATCA
Documentación de la APIPostman y documentación de la API

Plataforma en vivo

Explora la plataforma: healtheshub.net

HealthHub es un producto propietario. Este caso de estudio describe mis contribuciones sin exponer código fuente confidencial, credenciales ni información de pacientes.