SOA Senior — Edytor wzorców

Rachunek to graf.
Ty jesteś jego architektem.

Jako SOA Senior projektujesz szablony technicznych rachunków reasekuracyjnych (wzorce). Każdy wzorzec definiuje strukturę rachunku: linie księgowe, typy połączeń i węzły FORMULA odnoszące się do ilościowych wyników Managera.

📐 Edytor DAG wzorców
🏷 Typy połączeń SOA
🔗 Okablowanie FORMULA
🧩 Wymiary dokumentacyjne

Twoja rola w łańcuchu

Sześć ról — jeden kierunek. Moduł SOA znajduje się na końcu łańcucha, tłumacząc pracę aktuarialną na rachunki finansowe.

Junior
Tworzenie klauzul
Strukturyzuje tekst w typowane klauzule
Senior
Walidacja
Waliduje klauzule, wymiary, typy umów
Actuary
Formalizacja DAG
Koduje klauzule jako grafy obliczeniowe
Manager
Instancjonowanie
Instancjonuje grafy na kontraktach, wprowadza wartości
SOA Senior — Ty
Projektowanie wzorców
Projektuje DAG rachunku — łączy węzły FORMULA z wynikami Managera
SOA Junior
Produkcja rachunków
Instancjonuje Twoje wzorce na kontraktach
💡
Nie wprowadzasz wartości finansowych. Budujesz strukturę prezentacji. SOA Junior wypełnia odniesienia do danych Managera. Rzeczywiste liczby pochodzą z instancji grafów Managera.

Pasek boczny wzorców

Lewy pasek boczny wyświetla wszystkie wzorce SOA. Każdy wzorzec to wielokrotnie używalny szablon zestawienia rachunku.

Użyj pola wyszukiwania, aby filtrować wzorce według nazwy lub identyfikatora. Kliknij + New pattern, aby utworzyć — nadaj mu opisową etykietę (np. XL Treaty Statement v1, Quota Share — Annual).

Odznaka obok nazwy wzorca wskazuje wykryty cykl — wzorzec nie może być instancjonowany przez Juniora, dopóki cykl nie zostanie naprawiony. Mały licznik instancji (np. ) pokazuje, ile aktywnych instancji SOA odwołuje się do tego wzorca.

🔒
Instancjonowane wzorce są zamrożone. Po utworzeniu instancji przez Juniora nie możesz zmieniać struktury węzłów/połączeń wzorca. Utwórz nową wersję (nowa etykieta), aby zmienić strukturę dla przyszłych instancji.

Budowanie wzorca SOA

Wzorzec to skierowany graf acykliczny pozycji rachunkowych. Każdy węzeł reprezentuje jedną linię zestawienia. Połączenia kodują strukturę hierarchiczną (szczegół → suma częściowa → suma).

1
Wybierz wzorzec
Kliknij wzorzec na pasku bocznym, aby załadować go do canvasa. Jeśli canvas jest pusty, wzorzec nie ma jeszcze węzłów.
2
Dodaj węzły
Kliknij + Node na pasku narzędzi (lub kliknij dwukrotnie canvas). Wypełnij etykietę, typ połączenia księgowego i typ wartości. Kliknij Add node.
3
Połącz węzły
Najedź myszą na węzeł, aż pojawi się port wyjściowy na dolnej krawędzi, a następnie przeciągnij do węzła docelowego. Pojawi się monit o typ połączenia (DETAIL, SUBTOTAL itp.).
4
Dołącz wymiary (opcjonalnie)
Wybierz węzeł → otwórz zakładkę Dimensions w inspektorze → dodaj wymiary, które SOA Junior powinien dokumentować dla tej pozycji.
5
Zapisz
Kliknij 💾 Save. Cały wzorzec jest zapisywany atomowo. Wykrywanie cykli działa przy każdym zapisie.
⚠️
Niezapisane zmiany istnieją tylko w przeglądarce. Nawigacja lub odświeżenie bez zapisania powoduje utratę pracy. Nagłówek zawsze pokazuje ● niezapisane / ✓ zapisane.

Skróty klawiszowe

KlawiszAkcja
Ctrl/Cmd + SZapisz bieżący wzorzec
Del / BackspaceUsuń wybrany węzeł lub połączenie
Kółko myszyPowiększ / pomniejsz
Przeciąganie na canvasiePrzesuń widok
Podwójne kliknięcie canvasaDodaj węzeł przy kursorze

Typy połączeń SOA

Każdy węzeł i każde połączenie we wzorcu SOA ma typ połączenia — jego rolę rachunkową w zestawieniu. Zastępuje to operandy obliczeniowe używane przez Aktuariusza.

HEADER
Tytuł sekcji lub główny nagłówek — bez wartości, czysto strukturalny.
DETAIL
Pojedyncza pozycja. Zasila SUBTOTAL lub TOTAL.
SUBTOTAL
Suma pośrednia pozycji DETAIL w obrębie sekcji.
TOTAL
Saldo końcowe — dolna linia rachunku lub głównej sekcji.
OFFSET
Pozycja przeciwstawna — zmniejsza lub koryguje sąsiednią linię (np. depozyt jako offset).
NOTE
Adnotacja informacyjna — widoczna w rachunku, ale nie część obliczeń.

Możesz rozszerzyć listę z 🏷 SOA Link Types na pasku bocznym. Nowe kody są natychmiast dostępne w edytorze węzłów. Usunięcie kodu jest blokowane, jeśli węzeł lub połączenie nadal go używa.

💡
Kolor węzła = typ połączenia. Canvas renderuje każdy węzeł kolorem odpowiadającym typowi połączenia — HEADER w granatowym, DETAIL w niebieskim, SUBTOTAL w zielonym, TOTAL w ciemnozielonym, OFFSET w pomarańczowym, NOTE w szarym. Struktura rachunku jest natychmiast czytelna.

Panel inspektora

Kliknięcie węzła otwiera inspektor po prawej — dwie zakładki dla wybranego węzła.

ZakładkaCo tu robisz
PropertiesEdytuj etykietę, typ połączenia i typ wartości węzła. Kliknij Apply, aby zaktualizować stan w pamięci — potem Save (pasek narzędzi), aby utrwalić.
DimensionsDodawaj lub usuwaj dołączenia wymiarów dokumentacyjnych. Każdy dołączony wymiar staje się formularzem wypełniania, który SOA Junior musi ukończyć dla tej pozycji.

Kliknięcie połączenia otwiera inspektor z selektorem typu połączenia — zmień typ i kliknij Apply.

Kliknięcie tła wzorca (bez wybranego węzła) pokazuje inspektor wzorca: powiązane klauzule, ograniczenia typów umów, liczba instancji i przyciski szybkich działań (zmień nazwę, edytuj klauzule, edytuj typy umów, usuń).

Węzły FORMULA — pomost do danych Managera

Węzeł FORMULA to specjalna pozycja rachunkowa, której wartość nie jest wprowadzana bezpośrednio przez SOA Juniora — zamiast tego Junior cytuje konkretny węzeł z instancji grafu Managera.

🔗 Sygnał uzgodnienia
Okablowanie FORMULA jest aktem uzgodnienia między domeną aktuarialną a rzeczywistością rachunkową. Jeśli linia rachunku nie może znaleźć węzła docelowego w grafach Managera, narzędzie ujawnia rozbieżność — to, co aktuariusz zamodelował, i to, czego wymaga rachunek, nie są zsynchronizowane. RI-TOOL sprawia, że ta luka staje się widoczna.

Jak utworzyć węzeł FORMULA

1
Dodaj węzeł
Kliknij + Node. Ustaw etykietę (np. Netto strata własna), wybierz odpowiedni typ połączenia (zazwyczaj DETAIL) i ustaw typ wartości na FORMULA.
2
Zapisz
Zapisz wzorzec. Wymiar FORMULA jest dołączany automatycznie — nie jest wymagany żaden ręczny krok. Węzeł pojawia się z przerywaną ramką i ikoną 🔗 na canvasie.
💡
Jeden węzeł FORMULA na ilość Managera. Jeśli rachunek ma dwie odrębne składki reinstatement, utwórz dwa węzły FORMULA — każdy będzie cytowany niezależnie przez Juniora.

Co robi SOA Junior z węzłami FORMULA

Gdy Junior otwiera węzeł FORMULA, pojawia się selektor z trzema grupami: Ten sam kontrakt, Ten sam typ umowy, Ta sama klauzula. Junior wybiera odpowiedni graf Managera i konkretny węzeł, którego wynik zasila tę linię rachunku. Odniesienie jest przechowywane jako cytowanie JSON — nie jest kopiowana żadna wartość, tylko wskaźnik.

📊
Dwa gotowe szablony dołączone do każdego nowego konta
PC Standard i PC Sliding Scale — 21 węzłów, 14 linków FORMULA podłączonych do aktywnych grafów aktuarialnych Profit Commission. Gotowe do instancjacji od pierwszego dnia.

Operandy linku IF / THEN / ELSE

Gdy węzeł wzorca SOA jest połączony z węzłem grafu Actuary typu CONDITION, trzy wyspecjalizowane operandy linku strukturyzują wprost relację warunkową.

Przed patchem 035 węzły CONDITION używały ogólnego operandu ARGUMENT dla wszystkich rodziców, co czyniło graficzny zamysł niejednoznacznym. Trzy dedykowane operandy poniżej zastępują ARGUMENT na linkach CONDITION i sprawiają, że logika predykatu jest natychmiast czytelna na canvasie.

IF
Oceniany predykat. Dokładnie jeden rodzic IF na węzeł CONDITION. Renderowany w kolorze fioletowym.
THEN
Wartość zwracana gdy predykat jest prawdziwy. Renderowana w kolorze zielonym.
ELSE
Wartość zwracana gdy predykat jest fałszywy. Może być CONSTANT(0) dla zerowej podłogi. Renderowana w kolorze czerwonym.

Kiedy te operandy są istotne dla SOA Senior?

Jako SOA Senior nie budujesz grafów Actuary — ale łączysz węzły FORMULA z ich odpowiednikami Manager, które same odwołują się do wyjść grafów Actuary. Rozumienie tego, co produkuje węzeł CONDITION, pomaga precyzyjnie oznaczyć odpowiednią pozycję FORMULA w zestawieniu.

Typowy przykład: węzeł FORMULA Profit Commission Payable after Loss Corridor powinien cytować wyjście węzła CONDITION w grafie Actuary. Ten CONDITION ocenia próg loss corridor — rodzic IF to test, rodzic THEN to prowizja jeśli corridor zostanie przekroczony, rodzic ELSE to zero. Twoja linia FORMULA przechwytuje wynik tego rozgałęzienia.

💡
Jeden CONDITION = jeden wynik binarny. Jeśli konto wymaga dwóch oddzielnych linii dla scenariuszy "powyżej corridoru" i "poniżej corridoru", modeluj je jako dwa oddzielne węzły FORMULA — każdy cytujący inną gałąź grafu Actuary, nie sam węzeł CONDITION.

Węzły THRESHOLD

Węzeł THRESHOLD (pomarańczowy, wprowadzony w patchu 035) to węzeł liść reprezentujący pojedynczą granicę — podłogę, sufit, punkt przyłączenia lub wyzwalacz. Jest zawsze rodzicem węzła CONDITION lub LOOKUP. Węzły THRESHOLD nie pojawiają się bezpośrednio jako cele FORMULA we wzorcach SOA: są pośrednimi wejściami w grafie Actuary, a nie ilościami wyjściowymi. Nie twórz linii FORMULA cytujących węzły THRESHOLD.

Wymiary

Wymiary to osie dokumentacyjne — opcjonalne formularze wypełniania dołączone do węzłów wzorca. SOA Senior może dołączyć dowolny wymiar z katalogu tenanta do dowolnego węzła.

Katalog wymiarów należy do Starszego Underwritera i jest współdzielony przez wszystkie profile. Dedykowana kategoria wymiarów SOA jest tworzona przy inicjalizacji tenanta z trzema podstawowymi osiami: Periodicyność, Udział i Kontrahent — najczęstszy kontekst dokumentacyjny dla linii rachunku.

💡
Węzły FORMULA mają dedykowany komunikat na zakładce Dimensions. Gdy węzeł jest ustawiony na FORMULA, zakładka Dimensions w inspektorze pokazuje notatkę wyjaśniającą zamiast listy wymiarów — wymiar FORMULA jest zarządzany automatycznie i nie może być ręcznie dodawany ani usuwany.
Podstawowy wymiarTypowe użycie na węźle SOA
PERIODICITYKwartalnie / rocznie / korekta / uzupełniające — cykl rachunkowy dla tej linii
SHARE100% / udział reasekuratora / udział cedenta — stosowna proporcja
COUNTERPARTReasekurator / broker — strona płacąca lub otrzymująca
💡
Wymiary są opcjonalne, ale potężne. Węzeł TOTAL rzadko wymaga dokumentacji; węzeł DETAIL zasilający linię składki prawie zawsze korzysta z PERIODICITY i SHARE. Używaj oceny — mniej, dobrze dobrane wymiary są lepsze niż przeciążenie formularzami.

Ograniczenia wzorców

Dwa opcjonalne ograniczenia pomagają SOA Juniorowi znaleźć właściwy wzorzec dla każdego kontraktu.

Powiązane klauzule

Wzorzec może być zakotwiczony do jednej lub więcej zwalidowanych klauzul (np. klauzula reinstatement XL). Jest to informacyjne — sygnalizuje rodzinę klauzul, dla której wzorzec został zaprojektowany. Ograniczenie nie jest egzekwowane przy instancjonowaniu.

Zarządzanie: kliknij 🔗 Clauses na pasku narzędzi lub użyj przycisku Edit linked clauses w inspektorze wzorca.

Ograniczenia typów umów

Jeśli ograniczysz wzorzec do jednego lub więcej typów umów (np. TREATY_XL), ekran tworzenia instancji Juniora pokazuje odznakę kompatybilności: ✓ Compatible lub ⚠ Mismatch. Niezgodność to ostrzeżenie, nie blokada.

Pozostaw wszystkie typy umów niezaznaczone, aby wzorzec był uniwersalny — stosowany do dowolnego kontraktu.

Zarządzanie: kliknij 📋 Treaty types na pasku narzędzi lub użyj inspektora wzorca.

Wykrywanie cykli

DAG musi być acykliczny — żadna linia nie może być własnym przodkiem. RI-TOOL wykrywa cykle automatycznie przy każdym zapisie.

Jeśli wykryto cykl, pojawi się pomarańczowy baner na górze edytora, a wiersz wzorca na pasku bocznym pokaże odznakę ♻ cycle. Wzorzec jest mimo to zapisywany, ale jest oznaczony jako nie nadający się do instancjonowania.

⚠️
Wykrywanie nie blokuje. Znajdź węzeł, który wraca do jednego ze swoich przodków, usuń błędne połączenie i zapisz ponownie. Flaga cyklu czyści się automatycznie.

Eksplorator wzorców

Produkcyjny widok wszystkich wzorców — filtrowalny według statusu instancji i flagi cyklu.

Kliknij 🔭 Pattern Explorer na pasku bocznym, aby otworzyć widok pełnoekranowy. Każda karta pokazuje identyfikator wzorca, etykietę, liczbę węzłów, procentowe pokrycie wymiarów i liczbę instancji. Kliknij kartę, aby przejść bezpośrednio do tego wzorca w edytorze.

Pokrycie wymiarów

Pokrycie to procent węzłów mających dołączony co najmniej jeden wymiar. 🧩 80% oznacza, że 80% węzłów ma wymagania dokumentacyjne. Wzorzec z 0% pokryciem jest prawidłowy, ale nie generuje formularza wypełniania dla Juniora.

Data Checks

Zapytania SQL na żywo na danych tenanta — dostępne przez 📊 Data Checks na pasku bocznym.

WidokCo pokazuje
SOA Templates — overviewWszystkie wzorce z liczbą węzłów, węzłami FORMULA, liczbą instancji, typami umów i powiązanymi klauzulami
FORMULA nodes — missing dimensionWęzły FORMULA bez dołączonego wymiaru FORMULA — anomalie konfiguracyjne do naprawienia
Dimension coverage by nodeWszystkie węzły z dołączonymi wymiarami i liczbą instrukcji — przydatne do audytu pokrycia

Każdy widok ma przycisk ▶ Run. Wyniki są wyświetlane inline z linkiem ⬇ Download CSV do pełnego eksportu.

Konserwacja

Cztery kontrole czyszczenia dostępne z paska bocznego. Zawsze diagnozuj przed wykonaniem — wykonanie jest nieodwracalne.

KodCo czyściRyzyko
S1Wzorce bez węzłów — puste powłoki pozostałe po przerwanym tworzeniuNiskie
S2Wzorce z wykrytym cyklem — tylko diagnostyka, bez usuwania. Naprawić ręcznie w edytorze.Średnie
S3Osierocone węzły, których wzorzec nadrzędny został usunięty poza normalnym przepływemŚrednie
S4Osierocone powiązania wymiarów, których węzeł lub wymiar został usuniętyNiskie

Zalecana kolejność: S1 → S3 → S4. S2 to diagnostyka tylko do odczytu — podświetla cykle do ręcznej naprawy, niczego nie usuwa.