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

168 lines
6.8 KiB
XML

<?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>
</xsd:schema>