<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 sp1 (http://www.altova.com) by XMLSpy 2007 Professional Ed., Installed for 3 users (Przedsiebiorstwo Informatyczne KAMSOFT) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
  <xs:element name="komunikat">
    <xs:annotation>
      <xs:documentation>Element główny komunikatu</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="pacjenci"/>
        <xs:element ref="kolejki"/>
      </xs:sequence>
      <xs:attribute name="typ" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="3"/>
            <xs:enumeration value="KOL"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="wersja" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="8"/>
            <xs:enumeration value="1.08"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="oddz-nfz" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="2"/>
            <xs:enumeration value="01"/>
            <xs:enumeration value="02"/>
            <xs:enumeration value="03"/>
            <xs:enumeration value="04"/>
            <xs:enumeration value="05"/>
            <xs:enumeration value="06"/>
            <xs:enumeration value="07"/>
            <xs:enumeration value="08"/>
            <xs:enumeration value="09"/>
            <xs:enumeration value="10"/>
            <xs:enumeration value="11"/>
            <xs:enumeration value="12"/>
            <xs:enumeration value="13"/>
            <xs:enumeration value="14"/>
            <xs:enumeration value="15"/>
            <xs:enumeration value="16"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kod-swd" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="16"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="czas-gen" type="xs:dateTime" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="pacjenci">
    <xs:annotation>
      <xs:documentation>Element grupujący pacjentów</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="pacjent" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="pacjent">
    <xs:annotation>
      <xs:documentation>Dane pacjenta</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="dane-osob"/>
        <xs:element ref="adres"/>
        <xs:element ref="kontakt" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="rodz-ident" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="3"/>
            <xs:enumeration value="P"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="D"/>
            <xs:enumeration value="T"/>
            <xs:enumeration value="I"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="identyfikator" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="20"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="dane-osob">
    <xs:annotation>
      <xs:documentation>Dane osobowe pacjenta</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="imie" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:whiteSpace value="collapse"/>
            <xs:maxLength value="30"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="imie2" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:whiteSpace value="collapse"/>
            <xs:maxLength value="30"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="nazwisko" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:whiteSpace value="collapse"/>
            <xs:maxLength value="40"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="nazwisko2" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="40"/>
            <xs:whiteSpace value="collapse"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="adres">
    <xs:annotation>
      <xs:documentation>Adres pacjenta</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="kraj" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="2"/>
            <xs:maxLength value="40"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kod-pocztowy" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="15"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kod-teryt" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:totalDigits value="7"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="miejscowosc" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="60"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="ulica" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="65"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="nr-domu" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="9"/>
            <xs:whiteSpace value="collapse"/>
            <xs:pattern value="\S.*"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="nr-lok" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="10"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="kontakt">
    <xs:annotation>
      <xs:documentation>Kontakt do pacjenta</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="telefon" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="40"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="email" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="40"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="kolejki">
    <xs:annotation>
      <xs:documentation>Element grupujący kolejki</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="dane-kolejki" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="dane-kolejki">
    <xs:annotation>
      <xs:documentation>Dane kolejki oczekujących</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="pierwszy-wolny-ter" minOccurs="0" maxOccurs="2"/>
        <xs:element ref="oczekujacy" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="powod-skreslenia" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="255"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="typ" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="1"/>
            <xs:enumeration value="S"/>
            <xs:enumeration value="D"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kod-proc" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="5"/>
            <xs:enumeration value="80006"/>
            <xs:enumeration value="80005"/>
            <xs:enumeration value="80004"/>
            <xs:enumeration value="80003"/>
            <xs:enumeration value="60005"/>
            <xs:enumeration value="60004"/>
            <xs:enumeration value="60003"/>
            <xs:enumeration value="60002"/>
            <xs:enumeration value="50014"/>
            <xs:enumeration value="50013"/>
            <xs:enumeration value="50012"/>
            <xs:enumeration value="50011"/>
            <xs:enumeration value="50010"/>
            <xs:enumeration value="50009"/>
            <xs:enumeration value="50002"/>
            <xs:enumeration value="30002"/>
            <xs:enumeration value="00000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kod-miejsca" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="12"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="nazwa-miejsca" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="100"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="data-oceny" type="xs:date" use="optional"/>
      <xs:attribute name="aktualnosc" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="1"/>
            <xs:enumeration value="T"/>
            <xs:enumeration value="N"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="data-przygotowania" type="xs:date"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="oczekujacy">
    <xs:annotation>
      <xs:documentation>Pacjent oczekujący w kolejce</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="skreslenie" minOccurs="0"/>
        <xs:element ref="termin" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="rodz-ident" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="3"/>
            <xs:enumeration value="P"/>
            <xs:enumeration value="R"/>
            <xs:enumeration value="D"/>
            <xs:enumeration value="T"/>
            <xs:enumeration value="I"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="identyfikator" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="20"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="nr-na-liscie" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:positiveInteger">
            <xs:totalDigits value="5"/>
            <xs:minInclusive value="1"/>
            <xs:maxInclusive value="99999"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="data-zapisu" type="xs:date" use="required"/>
      <xs:attribute name="czas-zapisu" type="xs:time" use="required"/>
      <xs:attribute name="rozpoznanie" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:maxLength value="8"/>
            <xs:minLength value="1"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="operowana-strona" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="1"/>
            <xs:enumeration value="L"/>
            <xs:enumeration value="P"/>
            <xs:enumeration value="N"/>
            <xs:enumeration value="B"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="zglosz-od-innego-swd" type="takNieDotyczyType" use="required"/>
      <xs:attribute name="przywrocenie" type="takNieDotyczyType" use="required"/>
      <xs:attribute name="numer-karty" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="20"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="kod-etapu" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="20"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="skreslenie">
    <xs:annotation>
      <xs:documentation>Dane o skreśleniu pacjenta z kolejki
			</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="powod-inne" minOccurs="0"/>
      </xs:sequence>
      <xs:attribute name="data-skreslenia" type="xs:date" use="required"/>
      <xs:attribute name="powod-skreslenia" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="2"/>
            <xs:enumeration value="1"/>
            <xs:enumeration value="2"/>
            <xs:enumeration value="3"/>
            <xs:enumeration value="4"/>
            <xs:enumeration value="5"/>
            <xs:enumeration value="6"/>
            <xs:enumeration value="7"/>
            <xs:enumeration value="8"/>
            <xs:enumeration value="9"/>
            <xs:enumeration value="10"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="data-wyk" type="xs:date" use="optional"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="powod-inne">
    <xs:annotation>
      <xs:documentation>Inne powody skreślenia </xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="powod-inne-opis" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="1000"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="powod-inne-kod" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="2"/>
            <xs:enumeration value="2"/>
            <xs:enumeration value="3"/>
            <xs:enumeration value="4"/>
            <xs:enumeration value="5"/>
            <xs:enumeration value="8"/>
            <xs:enumeration value="9"/>
            <xs:enumeration value="10"/>
            <xs:enumeration value="11"/>
            <xs:enumeration value="12"/>
            <xs:enumeration value="13"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
    </xs:complexType>
  </xs:element>
  <xs:element name="termin">
    <xs:annotation>
      <xs:documentation>Przewidywany termin udzielenia świadczenia
			</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="kategoria-med" type="katMedType" use="required"/>
      <xs:attribute name="dokladnosc-terminu" use="required">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:length value="1"/>
            <xs:enumeration value="D"/>
            <xs:enumeration value="T"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="planowany-termin" type="xs:date" use="required"/>
      <xs:attribute name="powod-zmiany" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="2"/>
            <xs:enumeration value="1"/>
            <xs:enumeration value="2"/>
            <xs:enumeration value="3"/>
            <xs:enumeration value="4"/>
            <xs:enumeration value="5"/>
            <xs:enumeration value="6"/>
            <xs:enumeration value="7"/>
            <xs:enumeration value="8"/>
            <xs:enumeration value="9"/>
            <xs:enumeration value="10"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="powod-zmiany-opis" use="optional">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="200"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="data-zmiany" type="xs:date" use="required"/>
      <xs:attribute name="czas-zmiany" type="xs:time" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="pierwszy-wolny-ter">
    <xs:annotation>
      <xs:documentation>Pierwszy wolny termin</xs:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:attribute name="kategoria-med" type="katMedType" use="required"/>
      <xs:attribute name="termin" type="xs:date" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:simpleType name="katMedType">
    <xs:restriction base="xs:string">
      <xs:length value="1"/>
      <xs:enumeration value="P"/>
      <xs:enumeration value="S"/>
      <xs:enumeration value="N"/>
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="takNieDotyczyType">
    <xs:restriction base="xs:string">
      <xs:length value="1"/>
      <xs:enumeration value="T"/>
      <xs:enumeration value="N"/>
    </xs:restriction>
  </xs:simpleType>
</xs:schema>
