Files
productmodel/OMDSServiceDefinition/bsp/r2025_05/BspPersonenversicherung/KrankenExtension.xsd

250 lines
9.9 KiB
XML
Raw Normal View History

2024-05-15 11:37:34 +02:00
<?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"
2024-05-16 13:15:13 +02:00
xmlns:kv="urn:at.vvo.omds.types.omds3types.v1-6-0.on2antrag.kranken"
2024-05-15 11:37:34 +02:00
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
2024-05-15 11:37:34 +02:00
">
<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"/>
2024-05-16 13:15:13 +02:00
<!--
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>
2024-05-15 11:37:34 +02:00
<!--
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
2024-05-16 13:15:13 +02:00
Vererbung.
2024-05-15 11:37:34 +02:00
-->
2024-05-16 13:15:13 +02:00
<!-- 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. -->
2024-05-15 11:37:34 +02:00
<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>
2024-05-16 13:15:13 +02:00
<!-- Ebene 2 Produkt = Versicherte Person -->
2024-05-15 11:37:34 +02:00
<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>
2024-05-16 13:15:13 +02:00
<!-- Ebene 3: Elementarprodukt -->
2024-05-15 11:37:34 +02:00
<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>
2024-05-16 13:15:13 +02:00
<!-- Definition eines Kontext für die neue Funktion ProductProposal -->
2024-05-15 11:37:34 +02:00
<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>