Aperçu
Healtheshub est une plateforme de santé virtuelle multi-tenant au service de professionnels de santé et de cliniques en Arabie saoudite. Elle permet aux prestataires de soins d’exploiter des cliniques virtuelles, de gérer les patients et les dossiers médicaux, de planifier des rendez-vous, de mener des consultations en ligne, de gérer la facturation et de configurer des services tiers depuis leurs propres tableaux de bord de tenant.
Découvrir la plateforme : healtheshub.net
En tant que premier développeur du projet, j’ai travaillé directement avec le product owner pour traduire les besoins métier en spécifications techniques. J’ai conçu le schéma de base de données initial, les modules applicatifs, le modèle d’autorisation et la structure des API REST, puis documenté les API pour les développeurs frontend arrivés plus tard.
La plateforme fonctionne comme une application Laravel partagée avec des bases de données distinctes pour chaque clinique (tenant), et prend en charge des intégrations configurables, des abonnements, la planification de rendez-vous, la facturation électronique et les paiements.
Principales contributions techniques
- Architecture backend : conception du schéma de base de données initial, des modules applicatifs, de la structure des API REST et de l’approche d’authentification et d’autorisation à partir des besoins métier du client.
- Architecture multi-tenant : implémentation d’une base de données par tenant avec Stancl Tenancy, comprenant la résolution du tenant par domaines personnalisés et sous-domaines, des connexions de base de données propres à chaque tenant et des frontières de contrôle d’accès.
- Planification médicale : développement de la logique de disponibilité des médecins et de prise de rendez-vous, en tenant compte des horaires de travail, de la durée des rendez-vous, des pauses, des temps de préparation et des conflits causés par les modifications d’un planning existant.
- Consultations virtuelles : intégration du SDK et des API Zoom pour les consultations en ligne, y compris la gestion de comptes à plusieurs niveaux.
- Dossiers médicaux et autorisation : mise en place d’un contrôle d’accès basé sur les rôles et les permissions à l’aide de policies, limitant l’accès au dossier médical au médecin assigné au patient.
- Paiements et facturation électronique : intégration de services de paiement comme Moyasar, Mada, Tabby et Tamara, ainsi que de la facturation électronique liée à ZATCA et des fonctionnalités de TVA.
- Intégrations configurables par le tenant : fonctionnalité permettant aux tenants d’activer et de configurer les intégrations prises en charge depuis leurs tableaux de bord, notamment des services de paiement et de marketing.
- Authentification et onboarding des tenants : implémentation d’une authentification d’API basée sur Passport et d’un parcours d’onboarding comprenant inscriptions en attente, vérification par OTP et création du tenant.
- Abonnements et fonctionnalités commerciales : développement de la gestion des abonnements et des forfaits, des périodes d’essai, des limites d’usage et d’un système de coupons flexible prenant en charge les remises en pourcentage ou à montant fixe, les restrictions d’usage et les règles d’expiration.
- Workflows administratifs et audit : implémentation d’accès temporaires de support administratif et d’une journalisation d’audit, en complément de l’autorisation basée sur les rôles et les permissions.
Stack technique
| Composant | Technologies |
|---|---|
| Backend | PHP, Laravel |
| Base de données | MySQL |
| Multi-tenancy | Stancl Tenancy, une base de données par tenant |
| Authentification | Laravel Passport |
| Autorisation | Rôles, permissions, policies |
| Architecture d’API | API REST |
| Consultations vidéo | SDK et API Zoom |
| Paiements | Moyasar, Mada, Tabby, Tamara |
| Facturation électronique | Intégration ZATCA |
| Documentation d’API | Postman et documentation d’API |
Plateforme en ligne
Découvrir la plateforme : healtheshub.net
HealthHub est un produit propriétaire. Cette étude de cas décrit mes contributions sans divulguer de code source confidentiel, d’identifiants ni d’informations sur les patients.