← Index des services · SI FGA · spécification de service

svc-medical-billing

Catégorie : Métier  ·  Périmètre : PR1 · PR2 (service unique)  ·  Module : services/svc-medical-billing (monorepo fga-services — ADR-0001)  ·  Stack : Java · Quarkus · Gradle · YAML  ·  Architecture : hexagonale

1. Rôle et responsabilités

Factures des prestataires de santé, contrôle de cohérence (bons, ordonnances, fiches de suivi), visa médical des factures, validation du dossier de facturation, demande de paiement, remboursement des frais exposés. Service unique consommé par les deux lots : il remplace la zone dupliquée PEC/IND du backlog.

2. Modèle de domaine (agrégats)

MedicalInvoiceBillingFileDiscrepancy

3. API exposée

/v1/invoices/v1/billing-files/v1/billing-files/{id}/approval

API REST versionnée, contrat OpenAPI généré et versionné avec le service. Authentification par jeton Keycloak (JWT RS256) validé par le service (Quarkus OIDC).

4. Événements publiés

5. Événements consommés

Topics sigfga.<service>.<aggregate> · enveloppe CloudEvents 1.0 · publication via outbox pattern · consommateurs idempotents (déduplication par event id).

6. Dépendances synchrones

7. Flux principal

svc-medical-billing · flux principalconsommerinvoice.receivedrapprocher bons · ordonnances ·fiches de suivicréer la Discrepancypublierinvoice.rejecteddemander la correctionnoncohérent ?publierinvoice.checkedpubliermedical-visa.deniedrefusévisa médical ?publiermedical-visa.grantedassembler le BillingFilepublierbilling-file.approvedpublierpayment.requestedattendrepayment.executedsolder la factureouiaccordé

8. Backlog Jira rattaché

116 tickets du backlog Jira se rattachent à ce service, via 21 épics :

ÉpicIntituléEnfants
FSD-27[PEC] Contrôle des dossiers de remboursement · clôturée en v2 (fusion)
FSD-28[PEC] Élaboration et validation fiche technique · clôturée en v2 (fusion)
FSD-32[PEC] Réception et contrôle de conformité des pièces de remboursement · clôturée en v2 (fusion)
FSD-33[PEC] Élaboration, validation et transmission de la fiche technique · clôturée en v2 (fusion)
FSD-35[PEC] Consolidation et préparation des factures pour paiement · clôturée en v2 (fusion)
FSD-39[PEC] Enregistrement des factures sinistres · clôturée en v2 (fusion)
FSD-40[PEC] Vérification des factures · clôturée en v2 (fusion)
FSD-41[PEC] Validation des factures pour paiement · clôturée en v2 (fusion)
FSD-60[PC] Réception et traitement des factures · clôturée en v2 (fusion)
FSD-61[PC] Vérification de la conformité des factures · clôturée en v2 (fusion)
FSD-62[PC] Visa médical des factures · clôturée en v2 (fusion)
FSD-63[PC] Contrôle de cohérence des pièces justificatives · clôturée en v2 (fusion)
FSD-64[PC] Validation finale du dossier de facturation · clôturée en v2 (fusion)
FSD-66[PC] Consolidation automatique des pièces de paiement · clôturée en v2 (fusion)
FSD-69[PC] Gestion des demandes de remboursement externes · clôturée en v2 (fusion)
FSD-70[PC] Élaboration des fiches techniques des frais · clôturée en v2 (fusion)
FSD-746[PEC] Contrôle des factures12
FSD-757[PEC] Validation du dossier de paiement10
FSD-827[PEC] Remboursement des frais exposés10
FSD-864[IND] Validation du dossier de facturation · clôturée en v2 (fusion)
FSD-928[IND] Orientation et remboursement des dossiers · clôturée en v2 (fusion)
Zone la plus dupliquée du backlog : les épics PC (FSD-60 à 70), PEC (FSD-746, 757) et IND (FSD-864, 928) décrivent trois fois les mêmes stories (« Valider définitivement un dossier de facturation » existe en 3 exemplaires : FSD-689, 758, 870). Une seule implémentation ici ; ne garder qu'une génération de tickets.

MAJ backlog v2 (16/07/2026) — Zone la plus dupliquée du v1 : assainie en v2 (18 épics clôturées par fusion).

9. Implémentation

Structure hexagonale standard : domain (modèle, événements, services purs, sans dépendance framework), application (use cases, ports in/out, transactions), adapter (in/rest, in/messaging, out/persistence, out/messaging, out/client). Dépendances verrouillées par test ArchUnit. Base de données dédiée (schéma PostgreSQL propre), migrations Liquibase (changesets exclusivement en SQL formaté — ADR-0002). Code intégralement en anglais ; textes utilisateur en fichiers i18n français.