Beispiele aus dem Src-Folder verschoben, damit sie nicht ins Jar gelangen.

This commit is contained in:
2025-02-04 16:29:15 +01:00
parent ffa010c6ae
commit e376b7306e
108 changed files with 227 additions and 3114 deletions

View File

@@ -0,0 +1,250 @@
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns="http://boa.example.com/kranken"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:cst="urn:omds3CommonServiceTypes-1-1-0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ac="urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common"
xmlns:kv="urn:at.vvo.omds.types.omds3types.v1-6-0.on2antrag.kranken"
targetNamespace="http://boa.example.com/kranken"
elementFormDefault="qualified" attributeFormDefault="qualified" version="1.11.0"
xsi:schemaLocation="
urn:omds3CommonServiceTypes-1-1-0 ../../../src/main/resources/def/r2025_05/omds3CommonServiceTypes.xsd
urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common ../../../src/main/resources/def/r2025_05/omds3_ON2_Antrag_Common.xsd
">
<xsd:import namespace="urn:omds3CommonServiceTypes-1-1-0" schemaLocation="../../../src/main/resources/def/r2025_05/omds3CommonServiceTypes.xsd"/>
<xsd:import namespace="urn:at.vvo.omds.types.omds3types.v1-3-0.on2antrag.common" schemaLocation="../../../src/main/resources/def/r2025_05/omds3_ON2_Antrag_Common.xsd"/>
<!--
Beispiele für die Anpassung der Produktbausteine an die Bedürfnisse der VU:
Variante 1: Vererbung vom OMDS-Produktbaustein der betreffenden Ebene, hier im Beispiel Elementarprodukt.
Variante 2: Vererbung von "Zusaetzliche...Daten" der betreffenden Ebene, hier ebenfalls am Beispiel des Elementarprodukts.
-->
<xsd:complexType name="ExampleVuElementarproduktKranken_Type" >
<xsd:annotation>
<xsd:documentation>Variante 1 Vererbung vom Produktbaustein</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="kv:ElementarproduktKranken_Type" >
<!-- typischerweise wird mit sequence erweitert, Attribute gingen natürlich auch -->
<xsd:sequence>
<!-- verpflichtend eine Angabe zur stationären Deckung -->
<xsd:element name="DeckungStationaer" type="xsd:unsignedByte"/>
<!-- optional eine Angabe zum Gesundheitsprogramm -->
<xsd:element name="Gesundheitsprogramm" type="xsd:unsignedByte" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ExampleVuZusaetzlicheElementarproduktdaten_Type">
<xsd:annotation>
<xsd:documentation>Variante 2: Ein Pluginbaustein, welcher im Standard-Elementarprodukt verwendet werden kann.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="cst:ZusaetzlicheElementarproduktdaten_Type" >
<!-- typischerweise wird mit sequence erweitert, Attribute gingen natürlich auch -->
<xsd:sequence>
<!-- verpflichtend eine Angabe zur stationären Deckung -->
<xsd:element name="DeckungStationaer" type="xsd:unsignedByte"/>
<!-- optional eine Angabe zum Gesundheitsprogramm -->
<xsd:element name="Gesundheitsprogramm" type="xsd:unsignedByte" minOccurs="0"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!--
Beispiele für die Nutzung von TarifId_Type für die Kennzeichnung der Produktbausteine. Daneben können
auch andere Wege bestritten werden, z.B. Ableitung eigener Produktbausteine von den Standardbausteinen mittels
Vererbung.
-->
<!-- Ebene 1 Verkaufsprodukt: Eine Liste mit zwei Elementen zur Auswahl. Die Liste ist im XSD definiert, das
hat den Vorteil, dass der Entwickler des Clients zur Compilezeit die Liste zur Validierung zur Verfügung hat.
Es hat den Nachteil, dass die Einführung eines neuen Verkaufsprodukts den Release eines neuen XSD voraussetzt. -->
<xsd:complexType name="TarifIdVerkaufsprodukt">
<xsd:annotation>
<xsd:documentation>Einfache Standardimplementierung für Ordnungsbegriffe als String</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="cst:TarifId_Type" >
<xsd:attribute name="text" type="ListeVerkaufprodukte"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="ListeVerkaufprodukte">
<xsd:annotation>
<xsd:documentation>Liste der Verkaufsprodukte</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="001">
<xsd:annotation>
<xsd:documentation>Global und Sicher 2023</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="002">
<xsd:annotation>
<xsd:documentation>Global und Sicher 2024</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<!-- Ebene 2 Produkt = Versicherte Person -->
<xsd:complexType name="TarifIdVersichertePerson">
<xsd:annotation>
<xsd:documentation>Einfache Standardimplementierung für Ordnungsbegriffe als String</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="cst:TarifId_Type">
<xsd:attribute name="text" type="ListeProdukte"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="ListeProdukte">
<xsd:annotation>
<xsd:documentation>Liste der Baustein auf Ebene Produkt</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="stationaer">
<xsd:annotation>
<xsd:documentation>Stationär</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="ambulant">
<xsd:annotation>
<xsd:documentation>Ambulant</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<!-- Ebene 3: Elementarprodukt -->
<xsd:complexType name="TarifIdElementarprodukt" >
<xsd:annotation>
<xsd:documentation>Einfache Standardimplementierung für Ordnungsbegriffe als String</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="cst:TarifId_Type">
<xsd:attribute name="text" type="ListeElementarprodukte"/>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="ListeElementarprodukte">
<xsd:annotation>
<xsd:documentation>Liste der Baustein auf Ebene Elementarprodukt</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="WahlarztWien2024">
<xsd:annotation>
<xsd:documentation>Grundbaustein</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="MuUndKind">
<xsd:annotation>
<xsd:documentation>Zusatzbaustein Mutter und Kind</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SonderkWien2024">
<xsd:annotation>
<xsd:documentation>Sonderklasse Wien</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="Zahngesundheit">
<xsd:annotation>
<xsd:documentation>Zahngesundheit</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<!-- Definition eines Kontext für die neue Funktion ProductProposal -->
<xsd:complexType name="KrankenProposalContext_Type" >
<xsd:annotation>
<xsd:documentation>Ableitung des Kontext für ProductProposal Krankenversicherung</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="ac:ProposalContext_Type">
<xsd:sequence>
<xsd:element name="Geburtsdatum" type="xsd:date" />
<xsd:element name="Beruf" type="Beruf_Type" />
<xsd:element name="Sozialversicherung" type="Sozialversicherung_Type"/>
<xsd:element name="Bundesland" type="Bundesland_Type" />
<xsd:element name="TarifArt" type="KvTarifArt_Type" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType name="Sozialversicherung_Type">
<xsd:annotation>
<xsd:documentation>Liste der Baustein auf Ebene Elementarprodukt</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="ÖGK">
<xsd:annotation>
<xsd:documentation>Österreichische Gesundheitskasse (ÖGK)</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="BVAEB">
<xsd:annotation>
<xsd:documentation>Versicherungsanstalt öffentlicher Bediensteter, Eisenbahn und Bergbau (BVAEB)</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="SVS">
<xsd:annotation>
<xsd:documentation>Sozialversicherung der Selbständigen (SVS)</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="Bundesland_Type">
<xsd:annotation>
<xsd:documentation>Liste Bundeslaender</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Burgenland"/>
<xsd:enumeration value="Kärnten"/>
<xsd:enumeration value="Wien"/>
<xsd:enumeration value="Salzburg"/>
<xsd:enumeration value="Oberösterreich"/>
<xsd:enumeration value="Niederösterreich"/>
<xsd:enumeration value="Tirol"/>
<xsd:enumeration value="Vorarlberg"/>
<xsd:enumeration value="Steiermark"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Beispiel für eine zur Design-Zeit festgelegte Berufeliste (nur durch Release der Schnittstelle änderbar) -->
<xsd:simpleType name="Beruf_Type">
<xsd:annotation>
<xsd:documentation>Liste Berufe</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Angestellter"/>
<xsd:enumeration value="Arzt"/>
<xsd:enumeration value="Apotheker"/>
<xsd:enumeration value="Bestatter"/>
<xsd:enumeration value="Fischer"/>
<xsd:enumeration value="Fleischer"/>
<xsd:enumeration value="Zimmermann"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="KvTarifArt_Type">
<xsd:annotation>
<xsd:documentation>Liste Tarifarten</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="Sonderklasse"/>
<xsd:enumeration value="Privatarzt"/>
<xsd:enumeration value="Novum"/>
<xsd:enumeration value="MyAssist"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>