Erstellen BOA-allgemein Dokument als Tex-File, Hinzufügen Produktmodell Zeitlich und Arten von Änderungen.

This commit is contained in:
2025-02-28 15:39:58 +01:00
parent 31bd55b0a4
commit f788a3a570
17 changed files with 589 additions and 2 deletions

106
.idea/workspace.xml generated Normal file
View File

@@ -0,0 +1,106 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="AutoImportSettings">
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="e0e5f782-08ef-4945-a944-b4866593efbf" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/doc/ON_2 Antragsabwicklung/ON_2.01_Deep-Link-Angebot-Antrag/ON_2.01.2_Qualifizierte-Deep-Links.docx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/doc/ON_2 Antragsabwicklung/ON_2.02_BOA Services/ON_2.02.03 BOA RS/ON_2.02.03_BOA_RS.docx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/doc/ON_2 Antragsabwicklung/ON_2.03_BOA Vorbereitung/ON_2.03.02_BOA_Produktvorschlag.docx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/docEntw/ON_2 Antragsabwicklung/ON_2.02_BOA Services/ON_2.02.04_BOA_Auskunftsservice.docx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/docEntw/ON_2.04.01_BOA_Rabattabzeichnung_Annahme.docx" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/common/AntragsZuordnung.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/common/BetreuerZuordnung.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/common/GeschaeftsfallZuordnung.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/common/PersonenZuordnung.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/common/VertragsZuordnung.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/CalculateRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/CalculateResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/CreateApplicationRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/CreateApplicationResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/CreateOfferRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/CreateOfferResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/ProductProposalRequestType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/ProductProposalResponseType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/ProposalContextType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/SubmitApplicationRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/common/SubmitApplicationResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/CalculateRechtsschutzRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/CalculateRechtsschutzResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/CreateApplicationRechtsschutzRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/CreateApplicationRechtsschutzResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/CreateOfferRechtsschutzRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/CreateOfferRechtsschutzResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/ElementarproduktRechtsschutzType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/ObjectFactory.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/ProduktRechtsschutzType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/SpezAntragRechtsschutzType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/SpezBerechnungRechtsschutzType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/SpezOffertRechtsschutzType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/SubmitApplicationRechtsschutzRequest.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/SubmitApplicationRechtsschutzResponse.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/VerkaufsproduktRechtsschutzType.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/java/at/vvo/omds/types/omds3Types/r1_11_0/on2antrag/rs/package-info.java" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/TestXmls/BspPersonenversicherung/KrankenExtension.xsd" beforeDir="false" afterPath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/TestXmls/BspPersonenversicherung/KrankenExtension.xsd" afterDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/TestXmls/ZentralesBoa/1_Zentraler_Calc_Request_EHHH.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/TestXmls/ZentralesBoa/1_Zentraler_Calc_Request_Kfz.xml" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3CommonServiceTypes.xsd" beforeDir="false" afterPath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3CommonServiceTypes.xsd" afterDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3Services.wsdl" beforeDir="false" afterPath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3Services.wsdl" afterDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3_ON2_Antrag_Common.xsd" beforeDir="false" afterPath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3_ON2_Antrag_Common.xsd" afterDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds3_ON2_Antrag_Rechtsschutz.xsd" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds_binding.xml" beforeDir="false" afterPath="$PROJECT_DIR$/OMDSServiceDefinition/src/main/resources/def/r1_11_0/omds_binding.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="Git.Settings">
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
</component>
<component name="ProjectColorInfo"><![CDATA[{
"associatedIndex": 6
}]]></component>
<component name="ProjectId" id="2gUubiSM5Jut9YVYFBVLdNg69es" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"RunOnceActivity.ShowReadmeOnStart": "true",
"git-widget-placeholder": "develop",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "C:/Users/jensb/git/omdsservicedefinitions_20240515/OMDSServiceDefinition/pom.xml",
"nodejs_package_manager_path": "npm",
"project.structure.last.edited": "Project",
"project.structure.proportion": "0.0",
"project.structure.side.proportion": "0.2",
"vue.rearranger.settings.migration": "true"
}
}]]></component>
<component name="SharedIndexes">
<attachedChunks>
<set>
<option value="bundled-jdk-9f38398b9061-18abd8497189-intellij.indexing.shared.core-IU-241.14494.240" />
<option value="bundled-js-predefined-1d06a55b98c1-74d2a5396914-JavaScript-IU-241.14494.240" />
</set>
</attachedChunks>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="e0e5f782-08ef-4945-a944-b4866593efbf" name="Changes" comment="" />
<created>1715764550395</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1715764550395</updated>
<workItem from="1715764551681" duration="125000" />
</task>
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
<option name="version" value="3" />
</component>
</project>

View File

@@ -0,0 +1,35 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="OMDSServiceDefinition [clean deploy]" type="MavenRunConfiguration" factoryName="Maven">
<MavenSettings>
<option name="myGeneralSettings" />
<option name="myRunnerSettings" />
<option name="myRunnerParameters">
<MavenRunnerParameters>
<option name="cmdOptions" />
<option name="profiles">
<set />
</option>
<option name="goals">
<list>
<option value="clean" />
<option value="deploy" />
</list>
</option>
<option name="multimoduleDir" />
<option name="pomFileName" />
<option name="profilesMap">
<map>
<entry key="genJavaFromWsdl" value="true" />
</map>
</option>
<option name="projectsCmdOptionValues">
<list />
</option>
<option name="resolveToWorkspace" value="false" />
<option name="workingDirPath" value="$PROJECT_DIR$" />
</MavenRunnerParameters>
</option>
</MavenSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,33 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="OMDSServiceDefinition generate code [ clean package]" type="MavenRunConfiguration" factoryName="Maven">
<MavenSettings>
<option name="myGeneralSettings" />
<option name="myRunnerSettings" />
<option name="myRunnerParameters">
<MavenRunnerParameters>
<option name="cmdOptions" />
<option name="profiles">
<set />
</option>
<option name="goals">
<list>
<option value="clean" />
<option value="package" />
</list>
</option>
<option name="multimoduleDir" />
<option name="pomFileName" />
<option name="profilesMap">
<map />
</option>
<option name="projectsCmdOptionValues">
<list />
</option>
<option name="resolveToWorkspace" value="false" />
<option name="workingDirPath" value="$PROJECT_DIR$" />
</MavenRunnerParameters>
</option>
</MavenSettings>
<method v="2" />
</configuration>
</component>

View File

@@ -0,0 +1,413 @@
%! Author = jensb
%! Date = 26.02.2025
% Preamble
\documentclass[a4paper, 10pt]{scrartcl}
% Packages
\usepackage[ngerman]{babel} %recommended
\usepackage{alltt,graphicx,textcomp,hyperref,amsmath}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{booktabs}
\usepackage{makecell}
\usepackage{listings}
%\usepackage{longtable}
\usepackage{tabularx}
\usepackage{ltablex} % bringt longtable eigenschaften nach tabluarx
\usepackage{geometry}
\usepackage{datetime}
\usepackage{lastpage}
\usepackage{scrlayer-scrpage}
\pagestyle{scrheadings}
\usepackage{tgadventor}
\renewcommand*\familydefault{\sfdefault} %% Only if the base font of the document is to be sans serif
\usepackage[T1]{fontenc}
%% Konfig Seitengeometrie, siehe https://texdoc.org/serve/geometry.pdf/0
\geometry{
left=3.5cm, right=3.5cm,
includehead, top=2cm, headsep=1.5cm,
includefoot, bottom=1.5cm, %% Abstand unten 1 cm, gemessen bis zum Footer
textwidth=15cm,
marginpar=3cm}
% Konfiguriere Listings
\lstset{numbers=left, numberstyle=\tiny, numbersep=5pt, basicstyle=\small,}
\lstset{language=XML}
% nenne Abstract wieder Abstract
\addto\captionsngerman{%
\renewcommand{\abstractname}{Abstract}
\renewcommand{\contentsname}{Inhalte} % Table name
}
\date{28. Januar 2025}
\author{Jens Bühring}
\title{1.04.4 - Dokumententypen}
%% Kopf und Fußzeile
\setkomafont{pagefoot}{%
\normalfont
}
\ihead{\includegraphics[scale=0.1]{../../../VVO_Logo_2024}}
\cfoot*{\textcopyright~\the\year~\textemdash~VVO Versicherungsverband Österreich\\Seite~\pagemark~von~\pageref{LastPage}}
% Document
\begin{document}
\begin{flushleft}
\LARGE{\textbf{1.04.4 \textemdash~Dokumententypen}}
\normalsize
\vspace{1cm}
\textbf{Release} 2025.27-MINOR-SNAPSHOT\\
\vspace{0.5cm}
\textbf{Kurzbeschreibung}\\
Dieses Dokument beschreibt die Grundlagen der BOA-Services. BOA steht dabei für Berechnung, Offert und Antrag. In diesem Dokument wird die grundsätzliche Funktionsweise der BOA-Services geschildert und es wird das allgemeine Produktmodell vorgestellt.
\vspace{0.5cm}
\textbf{Ansprechpartner} Manfred Klaber \underline{\texttt{\href{mailto:manfred.klaber@vvo.at}{manfred.klaber@vvo.at}}}\\
\vspace{0.5cm}
\textbf{Dokumentenhistorie}\\
\vspace{0.3cm}
\begin{tabularx}{\textwidth}{lp{9cm}l}
\toprule
\textbf{Name}&{\textbf{Änderung}}&{\textbf{Datum}}\\
\midrule
\endfirsthead
\textbf{Name}&{\textbf{Änderung}}&{\textbf{Datum}}\\
\midrule
\endhead
Carsten Rogas&Version 1 Neuanlage&04.10.2017\\
Jens Bühring&Ergänzung Dokumentation&24.11.2017\\
René Gritsch&Diverse Rückmeldungen eingearbeitet&27.01.2018\\
Jens Bühring&Konzept der Ids für Verarbeitung, Berechnung, Offert und Antrag angepasst&18.04.2018\\
Jens Bühring&Überarbeitung nach Implementierung durch Generali, weitere Einarbeitung Feedback Uniqa&07.12.2018\\
Jens Bühring&Beschreibung SubmitApplication dahingehend angepasst, dass entweder IDs (Geschäftsfallnummer, Antragsnummer) oder die Daten übermittelt werden können.&01.07.2019\\
Jens Bühring&Bausteine zur generischen Produktauskunft integriert, Attribut-Metadaten beschrieben, Verweis auf Methode um Dokumente zu Geschäftsfall hinzuzufügen.&19.08.2019\\
Jens Bühring&Beschreibung der Gruppe bei den Attribut-Metadaten ergänzt, Feedback Uniqa eingearbeitet.&10.06.2020\\
Jens Bühring&Gruppe wieder entfernt, Version auf Release 1.5.0 gesetzt.&10.07.2020\\
Jens Bühring&Beschreibung der Konvertierung ergänzt.&05.03.2021\\
Jens Bühring&In den Personensparten wird in Produktbausteinen der Ebene 2 genau eine versicherte Person referenziert.&11.06.2021\\
Jens Bühring&Version auf Release 1.6.0 gesetzt&23.06.2021\\
Jens Bühring&Beschreibung der Konvertierung überarbeitet&06.12.2021\\
Jens Bühring&Konvertierung nochmals überarbeitet&16.12.2021\\
Jens Bühring&Aufnahme des verbesserten Dokumentenhandlings; das Produktmodell erweitert sich von 3 auf 4 Stufen. Status auf „Freigegebener Standard“ gesetzt, Release auf 1.7.0 gesetzt.&07.01.2022\\
Jens Bühring&Hauptfaelligkeit, Zahlweg und Zahlrhythmus wird jetzt auch auf Verkaufsproduktebene angeboten. Release auf 1.8.0 gesetzt. &18.07.2022\\
Jens Bühring&TarifId beschrieben&08.08.2022\\
Jens Bühring&Hinweis das Jahresprämie Pflicht im Response&02.11.2022\\
Jens Bühring&Element Eingeschlossen im generischen Produktbaustein ist optional&15.02.2023\\
Jens Bühring&Überarbeitung der Dokumentation der Statusübergänge Antrag&20.03.2023\\
Jens Bühring&Statusübergänge korrigiert gemäß Steuerkreis, Dokumentation Polizzennr und VertragsID in SpezAntrag\_Type, Release auf 1.9.0 gesetzt&13.07.2023\\
Jens Bühring&Korrektur Statusübergänge Antrag: Szenario 1 fällt Status bei NOK auf 5 zurück, Grafik Szenario 2 korrigiert.&25.09.2023\\
Jens Bühring&Verbesserung der Darstellung des Prozessmodells&17.11.2023\\
Jens Bühring&Release auf 1.10.0 gesetzt&12.12.2023\\
Jens Bühring&Statusübergänge aktualisiert&22.02.2024\\
Jens Bühring&Genehmigungsvorbehalt aufgenommen&15.04.2024\\
Jens Bühring&Erläuterung Konzept Sicherstellung ergänzt, Release auf 1.11 gesetzt.&05.05.2024\\
Jens Bühring&Korrektur UML-Diagramm Seite 13&10.10.2024\\
Jens Bühring&Release auf 2025.05-MAJOR gesetzt.&30.01.2025\\
Jens Bühring&Dokument in LaTex neu angelegt, Release auf 2025.27-MINOR gesetzt.&26.02.2025\\
\bottomrule
\end{tabularx} \\
\vspace{1cm}
%% Dokumente / Regeln, die hier Voraussetzung sind
\textbf{Voraussetzungen} ON\_1.02.1\_AuthentifizierungAllgemein\\
\vspace{1cm}
%% Rechtliche Hinweise
\begin{addmargin}[0cm]{1cm}
\textbf{Rechtliche Hinweise} Dieses Dokument wie auch alle anderen Arbeitsgrundlagen, Dokumente und
Ergebnisse des OMDS 3.0 unterliegt den Nutzungsbedingungen des OMDS 3.0.
\end{addmargin}
\vspace{1.5cm}
%Seite Inhaltsverzeichnis
\pagebreak
\tableofcontents
\end{flushleft}
\pagebreak
\section{Grundsätzliche Aspekte der Modellierung}
Die in diesem Dokument beschriebenen Services „Berechnen-Offert-Antrag“ (kurz BOA) bilden den Prozess von der ersten
Berechnung eines Produkts über die Einreichung des Antrags bis zur Polizzierung ab. Diese Services werden in
unterschiedlicher fachlicher Ausprägung für verschiedene Versicherungssparten erstellt, wie z.B. Kfz,
Haushalt und Rechtsschutz.
Um eine möglichst gleichartige Abbildung über alle Sparten hinweg zu erreichen, sind in diesem Dokument die
allgemeinen Rahmenbedingungen festgelegt, die für alle Sparten gleich sind.
\subsubsection{Verwendete Namespaces}
\begin{tabular}[c]{ll}
\toprule
\textbf{Prefix} & {\textbf{Namespace}} \\
\midrule
xsd & {http://www.w3.org/2001/XMLSchema} \\
omds & {urn:omds20} \\
cst & {urn:omds3CommonServiceTypes-1-1-0} \\
ost & {urn:omds3ServiceTypes-1-1-0} \\
ac & {urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common} \\
boak & {urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.kfz} \\
boaU & {urn:at.vvo.omds.types.omds3types.v1-4-0.on2antrag.unfall} \\
boaL & {urn:at.vvo.omds.types.omds3types.v1-4-0.on2antrag.leben}\\
boaSp & {urn:at.vvo.omds.types.omds3types.v1-4-0.on2antrag.sachprivat} \\
\bottomrule
\end{tabular} \\
Spartenübergreifende allgemeine Elemente bzw. Typen von BOA sind im Namespace „urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common“ angesiedelt.
Dazu kommen Spartenspezifische Namespaces. So sind Kfz-spezifische Elemente sind z.B. in „urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.kfz“ zu finden.
Der Namespace „urn:omds20“ bezeichnet die aktuelle Definition des OMDS 2 Datensatzes.
\subsubsection{Aufbau dieses Dokuments}
Dieses Dokument enthält zwei Bestandteile: Im ersten Teil wird der Antragsprozess als Prozess
mit mehreren Stufen und der Abfolge von Methoden und Statusänderungen beschrieben.
Im zweiten Teil wird das Objektmodell für die Abbildung der Versicherungsprodukte dargestellt, über
welchem dieser Prozess abläuft.
\section{Methoden von der Berechnung bis zur Polizzierung des Antrags}
Für die Abfolge von der Berechnung eines Produkts bis zur Polizzierung des Antrags sind fünf Methoden vorgesehen:
\begin{enumerate}
\item Berechnen (Calculate)
\item Offert erstellen (Create Offer)
\item Antrag erstellen (Create Application)
\item Antrag einreichen (Submit Application)
\item Antrag beobachten (GetStateChanges)
\end{enumerate}
\subsection{Geschäftsfall Antragseinreichung}
Der Vorgang von der Berechnung über Offert-
und Antragserstellung bis hin zur Polizzierung wird hier als ein durchgängiger,
zusammengehöriger Prozess oder Geschäftsfall verstanden. Diesem Geschäftsfall
kann eine ID, die sog. Geschäftsfallnummer zugeordnet werden.
\begin{left}
\includegraphics[width=100mm]{CommonProcessRequest_Type}
\end{left}
\noindent Dabei ist:
\begin{itemize}
\item VUNr die Nummer des Versicherungsunternehmens, welches aufgerufen wird
\item ClientId eine technische Kennung des aufrufenden Client-Systems. Diese darf keine fachliche Bedeutung annehmen.
\item TechnischeParameter eine Erweiterung, um 0 - n nicht normierte Informationen als Key-Value-Paare an den
Serviceprovider zu übergeben.
\item TechnischeObjekte eine Erweiterung um 0 n nicht normierte Objekte an den Serviceprovider zu übergeben.
\item KorrelationsId eine technische Id, die vom Serviceprovider im Response genau gleich zurückzugeben ist
\item Geschaeftsfallnummer eine Kennung des Geschäftsfalls.
\end{itemize}
\subsubsetion{Geschäftsfallnummer}
Die Geschäftsfallnummer enthält folgende Informationen:
\begin{left}
\includegraphics[width=60mm]{Geschaeftsfallnummer_Ausschnitt}
\end{left}
\noindent Dabei ist:
\begin{itemize}
\item Id die Geschäftsfallnummer des Serviceproviders, also im Falle von BOA in der Regel die
Geschäftsfallnummer des Versicherungsunternehmens.
\item GueltigAb ein Zeitstempel, der die Versionierung ermöglicht
\item OrdnungsbegriffZuordFremd die Geschäftsfallnummer des Aufrufers, also in der Regel des Maklersystems.
\end{itemize}
\subsubsection{Der Response mit Geschäftsfallnummer}
Der Response hat durchgängig die folgende Form:
\begin{left}
\includegraphics[width=100mm]{CommonProcessResponse_Type}
\end{left}
\noindent Wobei
\begin{itemize}
\item Status der Status der Antwort, in welchem
\begin{itemize}
\item KorrelationsId ist die KorrelationsId des Requests, welche hier zurückgegeben wird,
\item Ergebnis das Ergebnis des Aufrufs: OK wenn erfolgreich, NOK wenn nicht erfolgreich.
\item Meldungen - optional eine Meldung oder mehrere Meldungen. Die Meldungen enthalten Hinweise oder
Fehlermeldungen, insbesondere wenn der Status „NOK“ ist. Die Meldungen sind vom Typ ServiceFault.
\item Referenzen vom Serviceprovider frei wählbare Links, welche zu näheren Informationen zum Status
enthalten können.
\end{itemize}
\item Geschaeftsfallnummer enthält die Geschäftsfallnummer des Aufrufers als „OrdnungsbegriffZuordFremd“
und des Service-Providers als „Id“ sowie ein Zeitpunkt für die Versionierung.
\end{itemize}
\subsubsection{Ableitung der BOA-Methoden}
Damit das Handling der Geschäftsfallnummer über alle Methoden des Prozesses gleichförmig ist, erben alle
Request und Response-Objekte der allgemeinen BOA-Methoden von den Elementen „cst:CommonProcessRequest\_Type“\\
und „cst:CommonProcessResponse\_Type“.
\subsubsection*{Request}
\begin{left}
\includegraphics[width=80mm]{BOAProcessRequest_Type}
\end{left}
\noindent Dabei ist:
\begin{itemize}
\item Aenderungsgrund optional ein Objekt zur Angabe des Änderungsgrundes, welches aber nicht mehr
verwendet werden soll. Stattdessen sollen Elemente vom Typ „Ersatzpolizzen“ angegeben werden.
\item Ersatzpolizzen optional Elemente, welche die Daten von Vorpolizzen angeben. Diese Elemente werden
im Abschnitt „Konvertierung“ näher erläutert.
\end{itemize}
\subsubsection*{Response}
\begin{left}
\includegraphics[width=80mm]{BOAProcessResponse_Type}
\end{left}
\noindent Dabei ist:
\begin{itemize}
\item Aenderungsgrund optional ein Objekt zur Angabe des Änderungsgrundes, welches aber nicht mehr
verwendet werden soll. Stattdessen sollen Elemente vom Typ „Ersatzpolizzen“ angegeben werden.
\item Ersatzpolizzen optional Elemente, welche die Daten von Vorpolizzen angeben. Diese Elemente werden
im Abschnitt „Konvertierung“ näher erläutert.
\end{itemize}
\noindent Unter diesen Objekten, werden für alle vier Endpoints des Antragsprozesses jeweils für Request und
Response eigene Definitionen abgeleitet.
\begin{left}
\includegraphics[width=140mm]{KlassendiagrammBOA-Services}
\end{left}
Die Request- und Response-Objekte der einzelnen Sparten (Kfz, Sach-Privat, Leben, Unfall…) erben dann wiederum
von diesen allgemeinen BOA Request- und Responseobjekten (siehe Abbildung).
\subsubsection{Vergabe der Geschäftsfallnummern}
Der Geschäftsfall kann mit einer der folgenden Methoden gestartet werden:
\begin{itemize}
\item Calculate
\item CreateOffer
\item CreateApplication.
\end{itemize}
Es gibt also drei mögliche Einstiegspunkte in den Geschäftsfall. Da Berechnung-Offert-Antrag vom Maklersystem
aus initiiert wird, wird zunächst ein „OrdnungsbegriffZuordFremd“
vorhanden sein. Der Serviceprovider wird diesen Ordnungsbegriff in seinem Response zurückgeben und dem Aufrufer
zusätzlich seine eigene Geschäftsfallnummer im Feld „Id“ bekannt geben.\\
\noindent Der Geschäftsfall ist abgeschlossen, wenn
\begin{itemize}
\item der Antrag polizziert wurde,
\item der Antrag abgelehnt wurde,
\item der Antrag storniert wurde,
\item der Antrag auf einen Fehler gelaufen ist oder
\item der Geschäftsfall nicht bis zu einem Antrag verfolgt wurde und nach einer gewissen Zeit vom
Serviceprovider gelöscht wurde.
\end{itemize}
\subsubsection{Objekte des Geschäftsfalls}
Dem Geschäftsfall sind folgende Geschäftsobjekte zuzuordnen:
\begin{itemize}
\item die Berechnung,
\item das Offert,
\item der Antrag und
\item die Polizze.
\end{itemize}
Allen Objekten außer der Berechnung können Ids zugeordnet werden. Die Id des Offerts heißt Offertnummer, die
Id des Antrags heißt Antragsnummer und die Id der Polizze heißt Polizzennr.
Jedes dieser Geschäftsobjekte ist dem Geschäftsfall maximal einmal zuzuordnen. Dies bedeutet, erzeugt der
Aufrufer mit der Methode „CreateApplication“ zwei Mal einen Antrag, so ist dennoch nur ein Antrag im
Geschäftsfall vorhanden. Der zweite Aufruf überschreibt den Antrag aus dem ersten Aufruf. Die Antragsnummer
bleibt dabei gleich. Gleiches gilt für Berechnung und Offert.
\subsubsection{Status des Geschäftsfalls}
Ziel des Geschäftsfalls ist die Einreichung eines Antrags. Entsprechend wird der Status im
„cst:SubmitApplicationStatus\_Type“ definiert.\\
\noindent Folgende Status sind vorgesehen:\\
\begin{tabular}[c]{ll}
\toprule
\textbf{Code} & {\textbf{Bedeutung}} \\
\midrule
1 & Antrag angenommen (polizziert)\\
3 & Antrag abgelehnt\\
4 & Entwurf\\
5 & Vorschlag\\
6 & Antrag übertragungsfähig\\
8 & Antrag abgebrochen\\
9 & Verarbeitung gestartet\\
10 & Antrag storniert\\
13 & Gelöscht\\
14 & Antrag ausgesteuert\\
\bottomrule
\end{tabular} \\
Die Responseobjekte von Antragserzeugung (CreateApplication) und Antragseinreichung (SubmitApplication)
geben diesen fachlichen Status zurück. Die Methoden Calculate und CreateOffer geben keinen Status zurück.
Sie können beliebig aufgerufen werden, ohne dass dies Auswirkungen auf einen nach außen sichtbaren
Antragsstatus hat.
Der Standard erlaubt zwei unterschiedliche Arten der Implementierung:
\subsubsection{Szenario 1}
Bei dieser Implementierung ist es notwendig
CreateApplication aufzurufen, um SubmitApplication aufrufen zu können. Bei
SubmitApplication wird lediglich die Antragsnummer übermittelt.
CreateApplication ist so lange aufzurufen, bis
Status „6 Antrag übertragungsfähig“ erreicht ist.
Dann wird der Antrag mit SubmitApplication
eingereicht, wobei nur mehr die Antragsnummer übermittelt wird. Hier kann es
nicht mehr zu Fehlern in der Antragskonfiguration kommen. Der Status wechselt
bei Erfolg zu „9 Verarbeitung gestartet“ oder er fällt auf „5 Vorschlag“ zurück.
Fällt der Antrag bei SubmitApplication auf „5 Vorschlag“ zurück, so muss
zunächst wieder CreateApplication aufgerufen werden, bevor ein erneuter Anlauf
mit SubmitApplication stattfinden kann.
\begin{left}
\includegraphics[width=80mm]{Grafik_Statusübergänge_Szenario1}
\end{left}
\subsubsection{Szenario 2}
Bei dieser Implementierung kann SubmitApplication direkt aufgerufen werden, ein vorheriger Aufruf von
CreateApplication ist möglich, aber nicht notwendig. Das Ergebnis von CreateApplication hat keine Auswirkung
auf die Durchführung von SubmitApplication.
\begin{itemize}
\item Bei erfolgreicher Verarbeitung von CreateApplication wird „6 Antrag übertragungsfähig“ übermittelt,
sonst „5 Vorschlag“.
\item Bei erfolgreicher Verarbeitung von SubmitApplication wird „9 Verarbeitung gestartet“ gesetzt,
sonst „5 Vorschlag“.
\end{itemize}
\begin{left}
\includegraphics[width=80mm]{Grafik_Statusübergänge_Szenario2}
\end{left}
\end{document}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -3,7 +3,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
<modelVersion>4.0.0</modelVersion>
<groupId>at.vvo.omds</groupId>
<artifactId>OMDSServiceDefinition</artifactId>
<version>2025.05-MAJOR-SNAPSHOT</version>
<version>2025.27-MINOR-SNAPSHOT</version>
<name>OMDS Service Definition</name>
<description>Dieses Projekt enthält die Definitionen für die OMDS-Services.</description>

View File

@@ -673,7 +673,7 @@
</xsd:element>
<xsd:complexType name="Konvertierungsumfang_Type">
<xsd:annotation>
<xsd:documentation>Spezifiziert die Konvertierung mehrerer Verträge in einen neuen Vertrag</xsd:documentation>
<xsd:documentation>Spezifiziert die Konvertierung eines Vertrags oder mehrerer Verträge in einen neuen Vertrag</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="Vertrag" type="cst:KonvertierungsumfangVertrag_Type" maxOccurs="unbounded"/>