<?xml version="1.0" encoding="UTF-8"?>
<!--File version: 7 -->
<xs:schema xmlns:bhr="xmlns://afsprakenstelsel.medmij.nl/BeheerRapport/release2/"
    xmlns:xs="http://www.w3.org/2001/XMLSchema"
    targetNamespace="xmlns://afsprakenstelsel.medmij.nl/BeheerRapport/release2/"
    elementFormDefault="qualified">
    <!--Root element-->
    <xs:element name="BeheerRapport">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="BeheerRapportmeta" type="bhr:MedMijRapport"/>
                <xs:element minOccurs="0" name="Personen" type="bhr:Personen"/>
                <xs:element minOccurs="1" name="Gegevensdiensten" type="bhr:Gegevensdiensten"/>
            </xs:sequence>
        </xs:complexType>
    </xs:element>

    <!--Logische klassen-->
    <xs:complexType name="MedMijRapport">
        <xs:sequence>
            <xs:element name="Deelnemer" type="bhr:DeelnemerId"/>
            <xs:element name="Van" type="bhr:DatumTijd"/>
            <xs:element name="Tot" type="bhr:DatumTijd"/>
            <xs:element name="Tijdstempel" type="bhr:DatumTijd"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Personen">
        <xs:sequence>
            <xs:element name="Aantal" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalActiefSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalActiefOnsuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalActiefSuccesvolNieuw" type="bhr:NietNegatiefGetal"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Gegevensdiensten">
        <xs:sequence>
            <xs:element maxOccurs="unbounded" minOccurs="0" name="Gegevensdienst"
                type="bhr:Gegevensdienst"/>
        </xs:sequence>
    </xs:complexType>

    <xs:complexType name="Gegevensdienst">
        <xs:sequence>
            <xs:element name="GegevensdienstId" type="bhr:GegevensdienstId"/>
            <xs:element name="AuthorizationRequestNumbers" type="bhr:AuthorizationRequestNumbers"/>
            <xs:element name="TokenRequestNumbers" type="bhr:TokenRequestNumbers"/>
            <xs:element name="ResourceRequestNumbers" type="bhr:ResourceRequestNumbers"/>
            <xs:element name="SubscriptionRequestNumbers" type="bhr:SubscriptionRequestNumbers"/>
            <xs:element name="ResourceNotificationNumbers" type="bhr:ResourceNotificationNumbers"/>
            <xs:element name="SubscriptionNotificationNumbers"
                type="bhr:SubscriptionNotificationNumbers"/>
        </xs:sequence>
    </xs:complexType>

    <!--Basisklassen-->
    <xs:complexType name="AuthorizationRequestNumbers">
        <xs:sequence>
            <xs:element name="AantalSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalOnsuccesvol" type="bhr:NietNegatiefGetal" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="TokenRequestNumbers">
        <xs:sequence>
            <xs:element name="AantalSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalOnsuccesvol" type="bhr:NietNegatiefGetal"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResourceRequestNumbers">
        <xs:sequence>
            <xs:element name="AantalSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalOnsuccesvol" type="bhr:NietNegatiefGetal"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubscriptionRequestNumbers">
        <xs:sequence>
            <xs:element name="AantalSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalOnsuccesvol" type="bhr:NietNegatiefGetal"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="ResourceNotificationNumbers">
        <xs:sequence>
            <xs:element name="AantalSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalOnsuccesvol" type="bhr:NietNegatiefGetal"/>
        </xs:sequence>
    </xs:complexType>
    <xs:complexType name="SubscriptionNotificationNumbers">
        <xs:sequence>
            <xs:element name="AantalSuccesvol" type="bhr:NietNegatiefGetal"/>
            <xs:element name="AantalOnsuccesvol" type="bhr:NietNegatiefGetal"/>
        </xs:sequence>
    </xs:complexType>
    <xs:simpleType name="DeelnemerId">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="30"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="DatumTijd">
        <xs:restriction base="xs:dateTime">
            <xs:pattern value=".{20,}"/>
        </xs:restriction>
    </xs:simpleType>
    <xs:simpleType name="NietNegatiefGetal">
        <xs:restriction base="xs:nonNegativeInteger"/>
    </xs:simpleType>
    <xs:simpleType name="GegevensdienstId">
        <xs:restriction base="xs:string">
            <xs:minLength value="1"/>
            <xs:maxLength value="30"/>
        </xs:restriction>
    </xs:simpleType>
</xs:schema>
