Services externes
Vue d’ensemble
Section titled “Vue d’ensemble”L’application s’intègre avec plusieurs services externes, tous situés dans src/Infrastructure/. Chaque intégration est liée à une FeatureKey du plan de souscription.
Doctolib
Section titled “Doctolib”Service : src/Infrastructure/Doctolib/DoctolibService.php
Feature : FeatureKey::ADDONS_DOCTOLIB
Intégration bidirectionnelle avec Doctolib pour la gestion d’agenda.
Fonctionnalités
Section titled “Fonctionnalités”| Méthode | Description |
|---|---|
auth() | Authentification API |
setConfig() | Configuration du connecteur |
getEvents() | Récupération des événements (polling) |
createOrUpdatePatient() | Sync patient vers Doctolib |
mergePatient() | Fusion de patient |
deletePatient() | Suppression patient |
import() | Import de données |
updateAppointmentStatus() | Mise à jour statut RDV |
Configuration par site
Section titled “Configuration par site”Stockée sur le modèle Site :
doctolib_client_id/doctolib_secret— credentials APIdoctolib_sync— sync activée (bool)doctolib_last_import_at/doctolib_last_import_id— dernier importdoctolib_config_push_at— dernière config push
Traits
Section titled “Traits”DoctolibImport— logique d’importDoctolibPullSync— sync depuis DoctolibDoctolibPushConfiguration— push de config vers DoctolibDoctolibPatientMigration— migration de patientsDoctolibMapper— mapping des données
IntellioEditeur (FSE)
Section titled “IntellioEditeur (FSE)”Service : src/Infrastructure/IntellioEditeur/IntellioEditeursService.php
Feature : FeatureKey::ADDONS_FSE
Spec API : src/Infrastructure/IntellioEditeur/intellio.swagger.json
Gestion des Feuilles de Soins Electroniques (FSE) — facturation Sécurité Sociale.
Fonctionnalités
Section titled “Fonctionnalités”| Méthode | Description |
|---|---|
testAuth() | Test d’authentification |
getUIToken() | Token pour l’interface IntellioEditeur |
generateUrl() | URL d’accès à l’éditeur |
importOrUpdatePatientFromId() | Import patient depuis l’annuaire |
getEnumValues() | Récupération des valeurs d’enum |
getInvoice() | Consultation d’une facture FSE |
createInvoice() | Création d’une facture FSE |
simulateInvoice() | Simulation de facture |
Pages UI (IntellioUiTokenPages)
Section titled “Pages UI (IntellioUiTokenPages)”L’éditeur FSE expose une interface web intégrée en iframe. Le token UI permet d’authentifier l’accès.
Ophtabase
Section titled “Ophtabase”Service : src/Infrastructure/Ophtabase/OphtabaseService.php
Base de données de lentilles ophtalmiques.
Fonctionnalités
Section titled “Fonctionnalités”| Méthode | Description |
|---|---|
authenticate() | Auth API |
syncCatalog() | Sync complète du catalogue |
syncLaboratories() | Import des laboratoires |
syncCorrectionTypes() | Import des types de correction |
syncLensTypes() | Import des types de lentilles |
syncLenses() | Import des lentilles |
Les données sont stockées dans le domaine Lens (src/Domain/Lens/).
GuestSuite
Section titled “GuestSuite”Service : src/Infrastructure/GuestSuite/GuestSuiteService.php
Plateforme d’avis patients post-consultation.
Fonctionnalités
Section titled “Fonctionnalités”| Méthode | Description |
|---|---|
createContact() | Créer un contact patient |
createExperienceFromAppointment() | Envoyer un questionnaire post-RDV |
Configuration par site via guest_suite_id sur le modèle Site.
Claude (IA)
Section titled “Claude (IA)”Client : src/Infrastructure/Claude/ClaudeClient.php
Feature : FeatureKey::ADDONS_AI_GENERATION
Génération de comptes-rendus médicaux via l’API Claude.
- Config :
services.claude.api_key,services.claude.model - Méthode unique :
generate(prompt, maxTokens)→ texte
Gotenberg (PDF)
Section titled “Gotenberg (PDF)”Service : src/Infrastructure/Gotenberg/GotenbergService.php
Conversion de documents en PDF via un conteneur Docker Gotenberg.
| Méthode | Description |
|---|---|
libreOfficeToPdf() | Conversion fichier → PDF (via LibreOffice) |
chromium() | Accès au module Chromium (HTML → PDF) |
Config : services.gotenberg.url
Stripe
Section titled “Stripe”Dossier : src/Infrastructure/Stripe/
Utilisé pour 3 cas d’usage distincts :
| Usage | Service/Trait | Description |
|---|---|---|
| Subscriptions | Laravel Cashier | Abonnements tenant |
| Paiements patients | StripePaymentIntentService | Payment Intents via Connect |
| Terminaux | StripeTerminalService | Terminaux physiques |
| Rétrocession | RetrocessionPayoutService | Transferts entre comptes |
Les webhooks sont centralisés dans StripeWebhookService → voir FSE & Paiements.