SOA Senior — Éditeur de patterns

Le compte est un graphe.
Vous en êtes l'architecte.

En tant que SOA Senior, vous concevez les templates de compte technique de réassurance (patterns). Chaque pattern définit la structure d'un compte : lignes comptables, types de lien et nœuds FORMULA qui référencent les sorties quantitatives produites par le Manager.

📐 Éditeur DAG de patterns
🏷 Types de lien SOA
🔗 Câblage FORMULA
🧩 Dimensions documentaires

Votre rôle dans la chaîne

Six rôles — une direction. Le module SOA se situe en fin de chaîne, traduisant le travail actuariel en comptes financiers.

Junior
Création de clauses
Structure le texte des clauses en clauses typées
Senior
Validation
Valide les clauses, dimensions, types de traité
Actuary
Formalisation DAG
Encode les clauses en graphes de calcul
Manager
Instanciation
Instancie les graphes sur contrats, saisit les valeurs
SOA Senior — vous
Conception de patterns
Conçoit le DAG du compte technique — câble les nœuds FORMULA aux sorties Manager
SOA Junior
Production des comptes
Instancie vos patterns sur les contrats
💡
Vous ne saisissez pas de valeurs financières. Vous construisez la structure de présentation. Le SOA Junior renseigne les références aux données Manager. Les chiffres réels proviennent des instances de graphes du Manager.

Barre latérale des patterns

La barre latérale gauche liste tous vos patterns SOA. Chaque pattern est un template réutilisable pour un compte technique.

Utilisez la zone de recherche pour filtrer les patterns par nom ou identifiant. Cliquez sur + New pattern pour en créer un — donnez-lui un libellé descriptif (ex. "XL Treaty Statement v1", "Quota Share — Annual").

Un badge à côté d'un pattern indique un cycle détecté — ce pattern ne peut pas être instancié par le Junior tant que le cycle n'est pas corrigé. Un petit compteur d'instances (ex. ) indique combien d'instances SOA actives référencent ce pattern.

🔒
Les patterns instanciés sont figés. Une fois que le Junior crée une instance depuis votre pattern, vous ne pouvez plus modifier la structure nœuds/liens du pattern. Créez une nouvelle version (nouveau libellé) pour amender la structure pour les futures instances.

Construire un pattern SOA

Un pattern est un graphe acyclique dirigé de lignes comptables. Chaque nœud représente une ligne du compte. Les liens encodent la structure hiérarchique (détail → sous-total → total).

1
Sélectionner un pattern
Cliquez sur un pattern dans la barre latérale pour le charger dans le canvas. Si le canvas est vide, le pattern n'a pas encore de nœuds.
2
Ajouter des nœuds
Cliquez sur + Node dans la barre d'outils (ou double-cliquez sur le canvas). Renseignez le libellé, le type de lien comptable et le type de valeur. Cliquez sur Add node.
3
Connecter les nœuds
Survolez un nœud jusqu'à ce que le port de sortie apparaisse sur son bord inférieur, puis faites glisser vers un nœud cible. Une invite demande le type de lien (DETAIL, SUBTOTAL, etc.).
4
Attacher des dimensions (optionnel)
Sélectionnez un nœud → ouvrez l'onglet Dimensions dans l'inspecteur → ajoutez les dimensions que le SOA Junior devra documenter pour cette ligne.
5
Sauvegarder
Cliquez sur 💾 Save. Le pattern entier est écrit de manière atomique. La détection de cycle s'exécute à chaque sauvegarde.
⚠️
Les modifications non sauvegardées n'existent que dans le navigateur. Naviguer ailleurs ou rafraîchir sans sauvegarder fait perdre votre travail. L'en-tête affiche en permanence ● non sauvegardé / ✓ sauvegardé.

Raccourcis clavier

ToucheAction
Ctrl/Cmd + SSauvegarder le pattern actuel
Suppr / Retour arrièreSupprimer le nœud ou le lien sélectionné
Molette de défilementZoom avant / arrière
Glisser sur le canvasDéplacer la vue
Double-clic canvasAjouter un nœud au curseur

Types de lien SOA

Chaque nœud et chaque lien d'un pattern SOA porte un type de lien — son rôle comptable dans le compte. Cela remplace les opérandes de calcul utilisés par l'Actuaire.

HEADER
Titre de section ou titre principal — aucune valeur, purement structurel.
DETAIL
Ligne individuelle. Alimente un SUBTOTAL ou un TOTAL.
SUBTOTAL
Somme intermédiaire des lignes DETAIL d'une section.
TOTAL
Solde final — le bas du compte ou d'une section majeure.
OFFSET
Contre-poste — réduit ou ajuste une ligne adjacente (ex. dépôt en offset).
NOTE
Annotation informative — visible dans le compte mais pas dans le calcul.

Vous pouvez étendre la liste depuis 🏷 SOA Link Types dans la barre latérale. Les nouveaux codes sont immédiatement disponibles dans l'éditeur de nœuds. La suppression d'un code est bloquée si un nœud ou un lien l'utilise encore.

💡
La couleur du nœud = type de lien. Le canvas rend chaque nœud avec la couleur de son type de lien — HEADER en bleu marine, DETAIL en bleu, SUBTOTAL en vert, TOTAL en vert foncé, OFFSET en orange, NOTE en gris. La structure du compte est instantanément lisible d'un coup d'œil.

Panneau inspecteur

Cliquer sur un nœud ouvre l'inspecteur à droite — deux onglets pour un nœud sélectionné.

OngletCe que vous faites ici
PropertiesModifiez le libellé, le type de lien et le type de valeur du nœud. Cliquez sur Apply pour mettre à jour l'état en mémoire — puis Save (barre d'outils) pour persister.
DimensionsAjoutez ou retirez des attachements de dimensions documentaires. Chaque dimension que vous attachez devient un formulaire de saisie que le SOA Junior doit compléter pour cette ligne.

Cliquer sur un lien ouvre l'inspecteur avec un sélecteur de type de lien — modifiez le type et cliquez sur Apply.

Cliquer sur le fond du pattern (aucun nœud sélectionné) affiche l'inspecteur du pattern : clauses liées, restrictions de types de traité, nombre d'instances et boutons d'action rapide (renommer, modifier les clauses, modifier les types de traité, supprimer).

Nœuds FORMULA — le pont vers les données Manager

Un nœud FORMULA est une ligne comptable spéciale dont la valeur n'est pas saisie directement par le SOA Junior — à la place, le Junior cite un nœud précis d'une instance de graphe Manager.

🔗 Le signal de réconciliation
Le câblage FORMULA est un acte de réconciliation entre le domaine actuariel et la réalité comptable. Si une ligne du compte ne trouve pas son nœud de destination dans les graphes Manager, l'outil révèle le désalignement — ce que l'actuaire a modélisé et ce que le compte requiert sont hors de sync. RI-TOOL rend cet écart visible.

Comment créer un nœud FORMULA

1
Ajouter un nœud
Cliquez sur + Node. Définissez le libellé (ex. "Perte nette conservée"), choisissez un type de lien approprié (généralement DETAIL) et réglez le type de valeur sur FORMULA.
2
Sauvegarder
Sauvegardez le pattern. La dimension FORMULA est attachée automatiquement — aucune étape manuelle requise. Le nœud apparaît avec une bordure en pointillés et une icône 🔗 sur le canvas.
💡
Un nœud FORMULA par quantité Manager. Si le compte a deux primes de réintégration distinctes (ex. libre et payante), créez deux nœuds FORMULA — chacun sera cité indépendamment par le Junior.

Ce que fait le SOA Junior avec les nœuds FORMULA

Quand le Junior ouvre un nœud FORMULA, un picker en trois groupes apparaît — Même contrat, Même type de traité, Même clause. Le Junior sélectionne le graphe Manager pertinent et le nœud spécifique dont la sortie alimente cette ligne de compte. La référence est stockée sous forme de citation JSON — aucune valeur n'est copiée, seulement le pointeur.

📊
Deux modèles prêts à l'emploi sont livrés avec chaque nouveau compte
PC Standard et PC Sliding Scale — 21 nœuds, 14 liens FORMULA câblés aux graphes actuaire Profit Commission. Prêts à instancier dès le premier jour.

Opérandes de lien IF / THEN / ELSE

Lorsqu'un nœud de pattern SOA est relié à un nœud de graphe Actuary de type CONDITION, trois opérandes de lien spécialisés structurent explicitement la relation conditionnelle.

Avant le patch 035, les nœuds CONDITION utilisaient l'opérande générique ARGUMENT pour tous les parents, rendant l'intention graphique ambiguë. Les trois opérandes dédiés ci-dessous remplacent ARGUMENT sur les liens CONDITION et rendent la logique de prédicat immédiatement lisible sur le canvas.

IF
Le prédicat évalué. Exactement un parent IF par nœud CONDITION. Rendu en violet.
THEN
Valeur retournée si le prédicat est vrai. Rendue en vert.
ELSE
Valeur retournée si le prédicat est faux. Peut être un CONSTANT(0) pour un plancher à zéro. Rendue en rouge.

Quand ces opérandes sont-ils pertinents pour le SOA Senior ?

En tant que SOA Senior, vous ne construisez pas de graphes Actuary — mais vous reliez les nœuds FORMULA à leurs homologues Manager, qui eux-mêmes référencent les sorties de graphes Actuary. Comprendre ce que produit un nœud CONDITION vous aide à libeller avec précision la ligne FORMULA correspondante dans le statement.

Exemple typique : un nœud FORMULA Profit Commission Payable after Loss Corridor doit citer la sortie d'un nœud CONDITION dans le graphe Actuary. Ce CONDITION évalue un seuil de loss corridor — le parent IF est le test, le parent THEN est la commission si le corridor est franchi, le parent ELSE est zéro. Votre ligne FORMULA capture le résultat de ce branchement.

💡
Un CONDITION = un résultat binaire. Si le compte requiert deux lignes séparées pour les scénarios "au-dessus du corridor" et "en-dessous du corridor", modélisez-les comme deux nœuds FORMULA distincts — chacun citant une branche différente du graphe Actuary, pas le nœud CONDITION lui-même.

Nœuds THRESHOLD

Un nœud THRESHOLD (orange, introduit dans le patch 035) est un nœud feuille représentant une borne unique — plancher, plafond, point d'attachement ou déclencheur. Il est toujours parent d'un nœud CONDITION ou LOOKUP. Les nœuds THRESHOLD n'apparaissent pas directement comme cibles FORMULA dans les patterns SOA : ce sont des entrées intermédiaires dans le graphe Actuary, pas des quantités de sortie. Ne créez pas de lignes FORMULA citant des nœuds THRESHOLD.

Dimensions

Les dimensions sont des axes documentaires — des formulaires de saisie optionnels attachés aux nœuds du pattern. Le SOA Senior peut attacher n'importe quelle dimension du catalogue du tenant à n'importe quel nœud.

Le catalogue de dimensions appartient au Senior Underwriter et est partagé entre tous les profils. Une catégorie de dimensions dédiée SOA est provisionnée à la création du tenant avec trois axes de base : Périodicité, Quote-part et Contrepartie — le contexte documentaire le plus courant pour une ligne de compte.

💡
Les nœuds FORMULA ont un message dédié dans l'onglet Dimensions. Quand un nœud est réglé sur FORMULA, l'onglet Dimensions de l'inspecteur affiche un message explicatif au lieu de la liste des dimensions — la dimension FORMULA est gérée automatiquement et ne peut pas être ajoutée ou retirée manuellement.
Dimension de baseUsage typique sur un nœud SOA
PERIODICITYTrimestriel / annuel / ajustement / complémentaire — le cycle comptable de cette ligne
SHARE100% / quote-part réassureur / quote-part cédante — la proportion applicable
COUNTERPARTRéassureur / courtier — la partie payante ou réceptrice
💡
Les dimensions sont optionnelles mais puissantes. Un nœud TOTAL nécessite rarement de documentation ; un nœud DETAIL alimentant une ligne de prime bénéficie presque toujours de PERIODICITY et SHARE. Faites preuve de jugement — moins de dimensions bien choisies valent mieux qu'une surcharge de formulaires.

Restrictions de patterns

Deux restrictions optionnelles aident le SOA Junior à trouver le bon pattern pour chaque contrat.

Clauses liées

Un pattern peut être ancré à une ou plusieurs clauses validées (ex. "clause de réintégration XL"). C'est informatif — cela signale la famille de clauses pour laquelle ce pattern a été conçu. La restriction n'est pas imposée à l'instanciation.

Pour gérer : cliquez sur 🔗 Clauses dans la barre d'outils, ou utilisez le bouton Edit linked clauses de l'inspecteur du pattern.

Restrictions de types de traité

Si vous restreignez un pattern à un ou plusieurs types de traité (ex. TREATY_XL), l'écran de création d'instance du Junior affiche un badge de compatibilité — ✓ Compatible ou ⚠ Mismatch. Un mismatch est un avertissement, pas un blocage — le Junior peut toujours continuer.

Laissez tous les types de traité décochés pour rendre le pattern universel — applicable à tout contrat quel que soit son type de traité.

Pour gérer : cliquez sur 📋 Treaty types dans la barre d'outils, ou utilisez l'inspecteur du pattern.

Détection de cycle

Un DAG doit être acyclique — aucune ligne ne peut être son propre ancêtre. RI-TOOL détecte les cycles automatiquement à chaque sauvegarde.

Si un cycle est détecté, une bannière orange apparaît en haut de l'éditeur et la ligne du pattern dans la barre latérale affiche un badge ♻ cycle. Le pattern est quand même sauvegardé mais est marqué comme non instanciable.

⚠️
La détection n'est pas bloquante. Trouvez le nœud qui remonte vers un de ses propres ancêtres, supprimez le lien fautif et sauvegardez à nouveau. Le flag de cycle se lève automatiquement.

Explorateur de patterns

Vue de production de tous vos patterns — filtrable par statut d'instance et flag de cycle.

Cliquez sur 🔭 Pattern Explorer dans la barre latérale pour ouvrir la vue plein écran. Chaque carte affiche l'identifiant du pattern, son libellé, le nombre de nœuds, le pourcentage de couverture des dimensions et le nombre d'instances. Cliquez sur une carte pour accéder directement à ce pattern dans l'éditeur.

Couverture des dimensions

La couverture est le pourcentage de nœuds ayant au moins une dimension attachée. 🧩 80% signifie que 80% des nœuds ont des exigences de documentation. Un pattern avec 0% de couverture est valide mais ne génère aucun formulaire de saisie pour le Junior.

Data Checks

Requêtes SQL en temps réel sur les données de votre tenant — accessibles depuis 📊 Data Checks dans la barre latérale.

VueCe qu'elle affiche
SOA Templates — overviewTous les patterns avec nombre de nœuds, nœuds FORMULA, nombre d'instances, types de traité et clauses liées
FORMULA nodes — missing dimensionNœuds FORMULA sans dimension FORMULA attachée — anomalies de configuration à corriger
Dimension coverage by nodeTous les nœuds avec leurs dimensions attachées et le nombre d'instructions — utile pour l'audit de couverture

Chaque vue dispose d'un bouton ▶ Run. Les résultats s'affichent en ligne avec un lien ⬇ Download CSV pour l'export complet.

Maintenance

Quatre vérifications de nettoyage accessibles depuis la barre latérale. Toujours diagnostiquer avant d'exécuter — l'exécution est irréversible.

CodeCe qu'il nettoieRisque
S1Patterns sans nœuds — coques vides laissées par une création avortéeFaible
S2Patterns avec un cycle détecté — diagnostic uniquement, pas de suppression. Corriger manuellement dans l'éditeur.Moyen
S3Nœuds orphelins dont le pattern parent a été supprimé hors flux normalMoyen
S4Rattachements de dimensions orphelins dont le nœud ou la dimension a été suppriméFaible

Ordre recommandé : S1 → S3 → S4. S2 est un diagnostic en lecture seule — il met en évidence les cycles à corriger manuellement, il ne supprime rien.