<?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.0.5">
  <xs:include schemaLocation="https://www.his.bg/api/v1/NHIS-Entities.xsd"/>
  <xs:element name="message" type="nhis:messageD001"/>
  <!-- Define all elements in 'Message' block -->
  <xs:complexType name="messageD001">
    <xs:complexContent>
      <xs:extension base="nhis:messageBase">
        <xs:sequence>
          <xs:element name="contents" type="nhis:contentsD001"/>
          <xs:element ref="Signature"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Contents' block -->
  <xs:complexType name="contentsD001">
    <xs:complexContent>
      <xs:extension base="nhis:contentsBase">
        <xs:sequence>
          <xs:element name="dentalTreatment" type="nhis:dentalTreatment"/>
          <xs:element name="subject" type="nhis:patient"/>
          <xs:element name="performer" type="nhis:medicalPractitioner"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Dental Treatment' block -->
  <xs:complexType name="dentalTreatment">
    <xs:sequence>
      <xs:element name="lrn" type="nhis:lrnBase"/>
      <xs:element name="basedOn" type="nhis:documentNumberBase" minOccurs="0"/>
      <xs:element name="treatmentStart" type="nhis:treatmentStartBase"/>
      <xs:element name="treatmentEnd" type="nhis:treatmentEndBase" minOccurs="0"/>
      <xs:element name="adverseConditions" type="nhis:adverseConditionsBase"/>
      <xs:element name="rhifAreaNumber" type="nhis:rhifAreaNumberBase"/>
      <xs:element name="medicalStatus" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="nrnAllergy" type="nhis:nrnBase" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="nrnHistory" type="nhis:nrnBase" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="nrnCondition" type="nhis:nrnBase" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="note" type="nhis:text4kBase" minOccurs="0"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
      <xs:element name="dentalProcedure" minOccurs="0" maxOccurs="unbounded">
        <xs:complexType>
          <xs:sequence>
            <xs:element name="sequence" type="nhis:sequenceBase"/>
            <xs:element name="code" type="nhis:dentalProcedureCodeBase"/>
            <xs:element name="status" type="nhis:procedureStatusBase" minOccurs="0"/>
            <xs:element name="type" type="nhis:dentalProcedureTypeBase"/>
            <xs:element name="duration" type="nhis:durationBase" minOccurs="0"/>
            <xs:element name="datePerformed" type="nhis:occurrenceBase"/>
            <xs:element name="financingSource" type="nhis:financingSourceBase"/>
            <xs:element name="tooth" minOccurs="0" maxOccurs="unbounded">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="toothIndex" type="nhis:toothIndexBase"/>
                  <xs:element name="supernumeralIndex" type="nhis:supernumeralIndexBase" minOccurs="0"/>
                  <xs:element name="condition" maxOccurs="unbounded">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element name="code" type="nhis:toothConditionCodeBase"/>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
            <xs:element name="note" type="nhis:text4kBase" minOccurs="0"/>
            <xs:element name="diagnosis" minOccurs="0">
              <xs:complexType>
                <xs:sequence>
                  <xs:element name="code" type="nhis:dentalDiagnosisCodeBase"/>
                  <xs:element name="note" type="nhis:text4kBase" minOccurs="0"/>
                </xs:sequence>
              </xs:complexType>
            </xs:element>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
