<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:nhis="https://www.his.bg"
  targetNamespace="https://www.his.bg" elementFormDefault="qualified" version="1.3.2">
  <xs:include schemaLocation="https://www.his.bg/api/v1/NHIS-Entities.xsd"/>
  <xs:element name="message" type="nhis:messageP004"/>
  <!-- Define all elements in 'Message' block -->
  <xs:complexType name="messageP004">
    <xs:complexContent>
      <xs:extension base="nhis:messageBase">
        <xs:sequence>
          <xs:element name="contents" type="nhis:contentsP004"/>
          <xs:element name="warnings" type="nhis:warningsBase" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Contents' block -->
  <xs:complexType name="contentsP004">
    <xs:complexContent>
      <xs:extension base="nhis:contentsBase">
        <xs:sequence>
          <xs:element name="foundNumber" type="nhis:foundNumber"/>
          <xs:element name="results" type="nhis:results" minOccurs="0" maxOccurs="20"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Results' block -->
  <xs:complexType name="results">
    <xs:sequence>
      <xs:element name="prescription" type="nhis:prescription"/>
      <xs:element name="dispense" type="nhis:dispense" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="subject" type="nhis:patientP004"/>
      <xs:element name="requester" type="nhis:medicalPractitionerWithName"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Medication Group' block -->
  <xs:complexType name="group">
    <xs:sequence>
      <xs:element name="groupIdentifier" type="nhis:groupIdentifierBase" minOccurs="0"/>
      <xs:element name="medication" type="nhis:medicationPrescribe" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Prescription' block -->
  <xs:complexType name="prescription">
    <xs:sequence>
      <xs:element name="nrnPrescription" type="nhis:nrnBase"/>
      <xs:element name="lrn" type="nhis:lrnBase"/>
      <xs:element name="status" type="nhis:prescriptionStatusBase"/>
      <xs:element name="statusReason" type="nhis:reasonBase" minOccurs="0"/>
      <xs:element name="authoredOn" type="nhis:authoredOnBase"/>
      <xs:element name="category" type="nhis:prescriptionTypeBase"/>
      <xs:element name="isProtocolBased" type="nhis:isProtocolBasedBase" minOccurs="0"/>
      <xs:element name="protocolNumber" type="nhis:protocolNumberBase" minOccurs="0"/>
      <xs:element name="protocolDate" type="nhis:protocolDateBase" minOccurs="0"/>
      <xs:element name="rhifNumber" type="nhis:rhifNumberBase" minOccurs="0"/>
      <xs:element name="basedOn" type="nhis:documentNumberBase" minOccurs="0"/>
      <xs:element name="financingSource" type="nhis:financingSourceBase"/>
      <xs:element name="dispensationType" type="nhis:dispensationTypeBase" minOccurs="0"/>
      <xs:element name="allowedRepeatsNumber" type="nhis:allowedRepeatsNumberBase" minOccurs="0"/>
      <xs:element name="supplements" type="nhis:supplementsBase" minOccurs="0"/>
      <xs:element name="isFulfilled" type="nhis:isFulfilledBase" minOccurs="0"/>
      <xs:element name="group" type="nhis:group"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Dispense' block -->
  <xs:complexType name="dispense">
    <xs:sequence>
      <xs:element name="nrnDispense" type="nhis:nrnBase"/>
      <xs:element name="fulfilDate" type="nhis:fulfilDateBase"/>
      <xs:element name="isInternationalFulfil" type="nhis:isInternationalFulfilBase" minOccurs="0"/>
      <xs:element name="group">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="groupIdentifier" type="nhis:groupIdentifierBase" minOccurs="0"/>
            <xs:element name="medication">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="sequenceId" type="nhis:sequenceIdBase"/>
                  <xs:element name="medicationCode" type="nhis:medicationCodeBase"/>
                  <xs:element name="quantityValue" type="nhis:quantityBase"/>
                  <xs:element name="isQuantityByForm" type="nhis:isQuantityByFormBase"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Patient' block -->
  <xs:complexType name="patientP004">
    <xs:complexContent>
      <xs:extension base="nhis:patientExtended">
        <xs:sequence>
          <xs:element name="prBookNumber" type="nhis:prBookNumberBase" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
