
4Axes, l’entreprise pour laquelle j’ai conçu et développé Kalia, agit comme un intermédiaire clé entre les établissements de santé et les mutuelles, en particulier pour la gestion des prises en charge hospitalières. Les opérateurs y associent les demandes de prise en charge avec les réponses des mutuelles, un processus facilité par Kalia, une suite d’outils pensée pour optimiser et simplifier ce travail complexe.
Kalia a été conçut pour simplifier le traitement des prises en charge hospitalières en rendant les échanges entre établissements de soins et mutuelles plus fluides. Grâce à son architecture modulaire, elle s’adapte aux besoins d’utilisateurs aux profils variés en intégrant des modules — de véritables applications — qui facilitent leur travail au quotidien.
Sommaire
Une architecture logicielle ingénieuse au service de la santé
Kalia est une application métier conçue pour optimiser des processus critiques dans le domaine de la santé, tels que la réconciliation des prises en charge hospitalières ou la gestion des relances aux mutuelles. Sa conception technique a été pensée pour être robuste, flexible et facile à maintenir, démontrant une approche de développement moderne et efficace.
Une architecture modulaire : L’approche “LEGO®”
Nous avons bâti Kalia sur un principe de modularité forte, s’appuyant sur le framework Qt. Imaginez Kalia comme une collection de modules indépendants, chacun étant un fichier DLL chargé dynamiquement.
- Autonomie et spécialisation : Chaque module gère une fonctionnalité utilisateur spécifique (par exemple, la réconciliation de document ou la relance téléphonique), garantissant une clarté fonctionnelle et une grande autonomie.
- Flexibilité et évolutivité : Cette approche permet d’ajouter, de modifier ou de retirer des fonctionnalités sans impacter le reste de l’application, rendant Kalia extrêmement adaptable aux nouveaux besoins.
Voici une diagramme représentant l’architecture modulaire de Kalia

Trois bibliothèques clés : Des fondations solides
Kalia s’appuie sur trois bibliothèques distinctes, chacune avec un rôle bien défini, ce qui est un gage de qualité architecturale.
Core Library : Le cœur métier en C++
- C’est le cerveau de l’application, concentrant la logique métier (définition des “Hôpitaux”, “Messages”, etc.) et les fonctionnalités transverses.
- Elle gère les communications avec les webservices 4Axes, les bases de données, la manipulation de PDF, l’envoi d’e-mails et la gestion des logs.
- Atout majeur : Entièrement en C++, elle est conçue pour être réutilisable par d’autres projets et intègre des tests unitaires automatiques, reflétant une conception rigoureuse.
UI Library : l’identité visuelle et les composants QML
- Cette bibliothèque est dédiée à l’interface utilisateur, fournissant un ensemble de composants graphiques QML génériques et les règles de l’identité visuelle de Kalia (couleurs, polices, espacements).
- Innovation : Un “Showcase” a été développé, une application autonome permettant de visualiser et tester tous les composants graphiques en dehors de Kalia. Cela garantit une cohérence visuelle, accélère le développement et facilite les tests manuels.
Kalia Library : Le liant stratégique de l’application
- Elle assure la cohésion de l’ensemble, définissant les règles et fournissant les services communs dont les modules ont besoin (gestion des modules, actions utilisateur, notifications, incidents, configuration).
- Fonctionnalités valorisantes :
- Annulation d’actions utilisateur : Un mécanisme unique permet aux utilisateurs d’annuler une action après l’avoir effectuée, améliorant considérablement l’expérience utilisateur et réduisant les erreurs.
- Notifications avancées : Kalia utilise un système de notifications à 3 niveaux de criticité (INFO, WARNING, ERROR) avec des comportements (flottantes/fixes) et couleurs distincts, assurant que l’utilisateur est toujours informé de manière appropriée.
- Gestion automatisée des incidents : En cas de problème critique (WARNING/ERROR), un e-mail est automatiquement envoyé à l’équipe technique avec des informations détaillées (infos poste, capture d’écran, logs), garantissant une réactivité maximale en cas de dysfonctionnement.
Inspirée de la “clean architecture” : Un gage de qualité
L’architecture de Kalia s’inspire des principes de la Clean Architecture, une philosophie de conception logicielle visant à créer des systèmes modulaires, maintenables et évolutifs. Bien qu’adaptée à nos besoins spécifiques, nous avons intégré ses principes clés :
- Séparation des préoccupations : Chaque partie du code a un rôle unique (logique métier, UI, accès aux données), facilitant la compréhension et la modification.
- Dépendance inversée : Les éléments centraux sont indépendants des détails techniques, rendant le système plus flexible.
- Structure en couches : Le code est organisé en couches logiques, chaque couche ne dépendant que des couches inférieures.
Notre approche pragmatique : Nous avons adapté la Clean Architecture pour créer une architecture qui combine robustesse et agilité. Par exemple, nous avons introduit la notion de “Models” pour les besoins d’affichage (QML) sans polluer les “Entities” métier, et des “Handlers” qui encapsulent de grandes parties fonctionnelles. Un “Coordinateur” a également été mis en place pour gérer la communication entre les “Handlers” renforçant ainsi l’autonomie des modules.
Cette architecture, pensée et mise en œuvre avec rigueur, est le reflet de notre engagement envers la qualité logicielle et la facilité d’évolution, des atouts majeurs pour la pérennité et le succès de Kalia.