Erste Operation Einbeziehung in neuem Dokument beschrieben.

This commit is contained in:
2025-05-02 14:11:13 +02:00
parent bcfc9b8a0e
commit f962c6be25
5 changed files with 323 additions and 3 deletions

View File

@@ -0,0 +1,25 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Einbeziehung PDF" type="LATEX_RUN_CONFIGURATION" factoryName="LaTeX configuration factory">
<texify>
<compiler>PDFLATEX</compiler>
<compiler-path />
<sumatra-path />
<pdf-viewer>BUILT-IN-PDF-VIEWER</pdf-viewer>
<viewer-command />
<compiler-arguments />
<envs />
<expand-macros-in-environment-variables>false</expand-macros-in-environment-variables>
<before-run-command />
<main-file>$PROJECT_DIR$/doc/ON_3 Vertragsbestand/ON_3.05 Einbeziehung/ON_3.05 Einbeziehung.tex</main-file>
<output-path>$PROJECT_DIR$/out</output-path>
<auxil-path>$PROJECT_DIR$/auxil</auxil-path>
<compile-twice>false</compile-twice>
<output-format>PDF</output-format>
<latex-distribution>MIKTEX</latex-distribution>
<has-been-run>true</has-been-run>
<bib-run-config>[]</bib-run-config>
<makeindex-run-config>[]</makeindex-run-config>
</texify>
<method v="2" />
</configuration>
</component>

View File

@@ -124,7 +124,7 @@
Jens Bühring&Dokument in LaTex neu angelegt, Release auf 2025.27-MINOR gesetzt.&26.02.2025\\
\bottomrule
\end{tabularx} \\
\end{tabularx}
\vspace{1cm}
%% Dokumente / Regeln, die hier Voraussetzung sind

View File

@@ -0,0 +1,295 @@
%! 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} %soll direkte Verwendung von Umlauten erlauben
\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}
\usepackage{csquotes}
%% Konfig Seitengeometrie, siehe https://texdoc.org/serve/geometry.pdf/0
\geometry{
left=3.5cm, right=3.5cm,
head=32.81087pt, includehead, top=1cm, 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{3.05 \textemdash~Einbeziehung von Risikoobjekten}}
\normalsize
\vspace{1cm}
\textbf{Release} 2025.27-MINOR-SNAPSHOT\\
\vspace{0.5cm}
\textbf{Kurzbeschreibung}\\
Dieses Dokument beschreibt die Einbeziehung von
Risikoobjekten in einen bestehenden Vertrag, zum Beispiel die Einbeziehung
eines neuen Fahrzeugs in einen Flottenvertrag.
\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{\"Anderung}}&{\textbf{Datum}}\\
\midrule
\endfirsthead
\textbf{Name}&{\textbf{\"Anderung}}&{\textbf{Datum}}\\
\midrule
\endhead
{Jens Bühring}&{Anlage des Dokuments}&2.4.2025\\
{Jens Bühring}&Einführung von Implementierungsprofilen&2.5.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{Einleitung}
Dieses Dokument beschreibt die Einbeziehung von Risikoobjekten in einen bestehenden Vertrag, zum Beispiel die
Einbeziehung eines neuen Fahrzeugs in einen Flottenvertrag.
Die Errichtung des zugrundeliegenden Vertrags ist nicht Gegenstand dieser Norm. Es wird vorausgesetzt, dass ein
Vertrag existiert, welcher die Einbeziehung des Risikoobjekts ermöglicht.
Die Einbeziehung kann in bis zu vier Schritten erfolgen:
\begin{enumerate}
\item Im ersten Schritt kann der Vermittler eine Auskunft einholen, welche Verträge für eine Einbeziehung
für den gegebenen Kunden und die gegebene Sparte in Frage kommen.
\item Im zweiten Schritt gibt er den gewählten Vertrag und die Eigenschaften des Risikoobjekts bekannt und
erhält Deckungsfragen für die Einbeziehung. Die Deckungsfragen können je nach Vertrag unterschiedlich sein.
\item Im optionalen dritten Schritt kann der Vermittler die Deckungsfragen beantworten und prüfen, ob die
Antworten gültig sind.
\item Im vierten Schritt führt der Vermittler die Einbeziehung gemäß seinen Vorstellungen durch, in dem er
die zuvor beantworteten Deckungsfragen übergibt.
\end{enumerate}
Dieses mehrstufige Vorgehen hat den Zweck, dass auch komplexe Einbeziehungen ermöglicht werden,
bei denen zur Laufzeit Fragen zur Einbeziehung gestellt werden, die von Vertrag und Risikoobjekt abhängig sein
können.
Je nach Komplexität der Aufgabenstellung gibt es für ein Versicherungsunternehmen derzeit zwei
Implementierungsprofile. Das Profil ist dem Client vor der Anbindung bekannt zu geben.
\begin{tabularx}{\textwidth}{p{4cm}p{9cm}}
\toprule
\textbf{Profil}&{\textbf{Charakteristik}}\\
\midrule
{Profil 1: Ohne weitere Angaben zur Einbeziehung\vspace{0.2cm}}&{Es sind keine Fragen zur Deckung.
Die Einbeziehung erfolgt über Angabe des Risikoobjekts und des Vertrags.\vspace{0.2cm}}\\
{Profil 2: Mit Angaben zur Einbeziehung als VU-spezifisches Objekt}&{Die Angaben zur
Einbeziehung sind über VU-spezifische Objekte abgebildet, welche in einer eigenen XSD vom Typ
\texttt{AngabenEinbeziehung\_Type} abgeleitet werden. Die Operation AmendRiskProposal gibt vor, welcher Typ für eine
konkrete Einbeziehung zu verwenden ist. Die Operation AmendRiskCheck erlaubt die wiederholte Prüfung der Angaben.
SOAP Operations: AmendableContracts, AmendRiskProposal, AmendRiskCheck, AmendRiskSubmit.}\\
\bottomrule
\end{tabularx}
\noindent Zu einem späteren Zeitpunkt soll die Norm um die folgenden Profile erweitert werden:\\
\begin{tabularx}{\textwidth}{p{4cm}p{9cm}}
\toprule\textbf{Profil}&{\textbf{Charakteristik}}\\
\midrule
{Profil 3: Mit generischen Angaben zur Einbeziehung\vspace{0.2cm}}&{Zu einem späteren Zeitpunkt wird der Standard um ein
Modell mit generischen Deckungsfragen erweitert, welche an Stelle eines VU-spezifischen Typen verwendet werden
können. Die Operation AmendRiskProposal gibt vor, welche Deckungsfragen zu beantworten sind.
Die Operation AmendRiskCheck erlaubt die wiederholte Prüfung der Deckungsfragen.
SOAP Operations: AmendableContracts, AmendRiskProposal, AmendRiskCheck, AmendRiskSubmit.\vspace{0.2cm}}\\
{Profil 4: Als Deep-Link}&{Zu einem späteren Zeitpunkt wird der Standard um ein Modell mit Deep-Link
erweitert. Mit Hilfe des Deeplinks können Deckungsfragen in einer Maske des Versicherers beantwortet werden und
dort die Einbeziehung abgeschlossen werden.}\\
\bottomrule
\end{tabularx}
\noindent Die Services sind durchgängig „stateless“ also untereinander nicht verbunden.
Der Service AmendRiskSubmit kann eine eine Geschäftsfallnummer zur Nachverfolgung zurückgegeben, wenn die
Einbeziehung nicht sofort durchgeführt werden kann und daher eine Nachverfolgung notwendig ist. Das Vorhandensein
der Geschäftsfallnummer signalisiert dem Client, dass die Einbeziehung entgegen genommen wurde, aber
noch nicht durchgeführt wurde ist.
Hauptanwendungsgebiet dieser Services ist der Flottenvertrag. Alle Beispiele in diesem Dokument beziehen sich auf Flottenverträge.
Die Servicedefinitionen sind aber neutral gehalten, da auch Einbeziehungen von Risiken in anderen Sparten möglich sind.
\subsection{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} \\
\section{Methode AmendableContracts}
\subsection{Fachliche Beschreibung}
Der Service AmendableContracts liefert die Polizzennummern bzw. VertragsIDs von Verträgen, in welche
Risikoobjekte einbezogen werden können.\\
\subsubsection{Status}
Entwurf (0)
\subsubsection{Vorbedingung}
Der Benutzer existiert und kann über die Daten im SOAP-Header authentifiziert werden.
\subsubsection{Ablauf}
Der Benutzer spezifiziert einen VN, für den er die Liste der Verträge erhalten möchte, bei denen er
eine Einbeziehung durchführen kann. Als Antwort ist eine SOAP-Exception bei Fehlern oder eine gültige
Antwort mit 0~\dots~n Verträgen gemäß dem Schema möglich.
\subsubsection{Prüflogik}
Es wird geprüft, ob eine Authentifizierung des Benutzers über die Daten im SOAP-Header möglich ist.\\
Weiters wird geprüft, ob die angegebene VUNr vom Service unterstützt wird. Falls die VUNr falsch ist, wird
ein SOAP-Fault geworfen.\\
Es wird geprüft, ob im Request ein AuthFilter-Element vorhanden ist, welches den Vermittler näher spezifiziert. Es \textit{kann} ein
SOAP-Fault geworfen werden, wenn ein AuthFilter-Element übermittelt wird, obwohl ein solches nicht erwartet wird. Es
\textit{muss} ein SOAP-Fault geworfen werden, wenn kein AuthFilter-Element übermittelt wird, obwohl ein solches benötigt wird.
und es \textit{muss} ein SOAP-Fault geworfen werden, falls ein AuthFilter-Element übermittelt wird, es aber fachlich nicht passt,
beispielsweise weil der User für den Vermittler nicht berechtigt ist.\\
Es wird geprüft ob eine Vertragssparte übermittelt wurde. Falls keine Vertragssparte erwartet wird aber eine
Vertragssparte übermittelt wird oder falls eine Vertragssparte übermittelt wird, der Service aber grundsätzlich
keine Vertragssparten unterscheidet, \textit{muss} ein SOAP-Fault geworfen werden. Falls eine Vertragssparte übermittelt
wird, diese Sparte aber vom Service nicht unterstützt wird, \textit{muss} ein SOAP-Fault geworfen werden.
\subsection{Technische Dokumentation}
\subsubsection{ServiceID}
Die ServiceID dieser Methode ist \glqq AmendableContracts\grqq{}.
\subsubsection{Request}
Der Request hat die folgende Form:\\
\includegraphics[width=9cm]{../../../docGen/omds3_ON3_Vertrag_p1}
Wobei\\
\begin{itemize}
\item AuthFilter \textemdash~falls für die Einbeziehung fachlich die Angabe eines Vermittlers benötigt wird
und dieser sich nicht aus dem User ableiten lässt, kann hier eine Vermittlernummer oder eine MaklerID
übermittelt werden. Es ist vom Serviceprovider vorher festzulegen, ob eine solche Angabe erforderlich ist.
\item {Versicherungsnehmer die Vorgabe eines Versicherungsnehmers als \texttt{Person\_Type}. Diese Vorgabe kann
lediglich aus der Partnernummer bestehen oder nähere Angaben wie den Namen usw. enthalten.}
\item {Sparte der Code der Vertragssparte, bei Flotte wird dies regelmäßig \glqq BKF\grqq{} für Kfz-Bündel sein.}
\end{itemize}
\subsubsection{Response}
Der Response kann 0…n passende Verträge enthalten, von denen die Polizzennummer oder die VertragsID übermittelt wird.\\
\includegraphics[width=9cm]{../../../docGen/omds3_ON3_Vertrag_p5}
Wenn für einen Versicherungsnehmer in der Sparte keine Verträge existieren, enthält das Responseobjekt keine
Vertrag-Elemente, es wird aber kein Soap-Fault geworfen.
\subsubsection{Fehler}
Folgende Fehler werden über das Fault-Element des Webservice geworfen:
\begin{tabularx}{\textwidth}{lp{2cm}p{3.5cm}p{6cm}}
\toprule
{\textbf{Fehlertyp}}&{\textbf{Fehlercode}}&{\textbf{Meldung}}&{\textbf{Warum}}\\
\midrule
{Fehler}&{40040}&{VUNr nicht unterstützt}&{Die angegebene VUNr wird von diesem Service nicht unterstützt.}\\
{Fehler}&{40040}&{AuthFilter-Element benötigt}&{Nähere Angaben zum Vermittler werden benötigt, sind aber nicht vorhanden.}\\
{Fehler}&{40040}&{AuthFilter-Element ungültig}&{AuthFilter-Element wurde übermittelt, kann aber nicht verarbeitet werden.}\\
{Fehler}&{40040}&{Unerwartetes AuthFilter-Element}&{AuthFilter-Element wurde übermittelt, es wird aber kein AuthFilter-Element erwartet.}\\
{Fehler}&{400}&{Angaben VN unzureichend}&{Die Angaben zum VN sind nicht ausreichend oder in sich widersprüchlich und können nicht erfolgreich verarbeitet werden.}\\
{Fehler}&{400}&{VN konnte nicht gefunden werden.}&{Der VN existiert nicht oder der Aufrufer hat keine Berechtigung auf den VN.}\\
{Fehler}&{400}&{Sparte nicht unterstützt}&{Die angegebene Vertragssparte wird von der Implementierung grundsätzlich nicht unterstützt.}\\
{Fehler}&{400}&{Unerwartete Spartenangabe}&{Es wurde eine Spartenangabe übermittelt, es wird aber keine Angabe erwartet.}\\
{Fehler}&{400}&{Sparte fehlt}&{Es wird eine Spartenangabe erwartet, es wurde aber keine übermittelt.}\\
\bottomrule
\end{tabularx}
\end{document}

View File

@@ -583,7 +583,7 @@
<xsd:complexContent>
<xsd:extension base="cst:CommonResponse_Type">
<xsd:sequence>
<xsd:element name="Vertrag" type="cst:Ersatzpolizze_Type" maxOccurs="unbounded">
<xsd:element name="Vertrag" type="cst:Ersatzpolizze_Type" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>Vertrag</xsd:documentation>
</xsd:annotation>