<?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.1.1">
  <xs:include schemaLocation="https://www.his.bg/api/v1/NHIS-Entities.xsd"/>
  <xs:element name="message" type="nhis:messageI001"/>
  <!-- Define all elements in 'Message' block -->
  <xs:complexType name="messageI001">
    <xs:complexContent>
      <xs:extension base="nhis:messageBase">
        <xs:sequence>
          <xs:element name="contents" type="nhis:contentsI001"/>
          <xs:element ref="Signature"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Contents' block -->
  <xs:complexType name="contentsI001">
    <xs:complexContent>
      <xs:extension base="nhis:contentsBase">
        <xs:sequence>
          <xs:element name="immunization" type="nhis:immunization"/>
          <xs:element name="subject" type="nhis:subject"/>
          <xs:element name="performer" type="nhis:medicalPractitioner"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Immunization' block -->
  <xs:complexType name="immunization">
    <xs:sequence>
      <xs:element name="lrn" type="nhis:lrnBase"/>
      <xs:element name="occurrence" type="nhis:occurrenceBase"/>
      <xs:element name="basedOn" type="nhis:documentNumberBase"/>
      <xs:element name="targetDisease" type="nhis:mkbBase" maxOccurs="unbounded"/>
      <xs:element name="vaccineCode" type="nhis:vaccineCodeBase"/>
      <xs:element name="nhifVaccineCode" type="nhis:nhifVaccineCodeBase"/>
      <xs:element name="serialNumber" type="nhis:snBase" minOccurs="0"/>
      <xs:element name="lotNumber" type="nhis:lotBase"/>
      <xs:element name="expirationDate" type="nhis:expBase"/>
      <xs:element name="isSpecialCase" type="nhis:isSpecialCaseBase"/>
      <xs:element name="doseNumber" type="nhis:doseNumberBase"/>
      <xs:element name="seriesDoses" type="nhis:seriesDosesBase"/>
      <xs:element name="doseQuantity" type="nhis:doseQuantityValueBase"/>
      <xs:element name="nextDoseDate" type="nhis:nextDoseDateBase" minOccurs="0"/>
      <xs:element name="primarySource" type="nhis:primarySourceBase"/>
      <xs:element name="site" type="nhis:bodySiteBase" minOccurs="0"/>
      <xs:element name="route" type="nhis:bodyRouteBase" minOccurs="0"/>
      <xs:element name="note" type="nhis:textBase" minOccurs="0"/>
      <xs:element name="extPrevImmunization" type="nhis:extPrevImmunizationBase"/>
      <xs:element name="extImmunizationDetails" type="nhis:extImmunizationDetails" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Patient' block -->
  <xs:complexType name="subject">
    <xs:sequence>
      <xs:element name="identifierType" type="nhis:identifierTypeBase"/>
      <xs:element name="identifier" type="nhis:identifierBase"/>
      <xs:element name="birthDate" type="nhis:birthDateBase"/>
      <xs:element name="gender" type="nhis:genderBase"/>
      <xs:element name="name" type="nhis:humanNameBase"/>
      <xs:element name="address" type="nhis:addressBase"/>
      <xs:element name="nationality" type="nhis:nationalityBase" minOccurs="0"/>
      <xs:element name="socialGroup" type="nhis:socialGroupBase" minOccurs="0"/>
      <xs:element name="phone" type="nhis:phoneBase" minOccurs="0"/>
      <xs:element name="email" type="nhis:emailBase" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
