<?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:messageC009"/>
  <!-- Define all elements in 'Message' block -->
  <xs:complexType name="messageC009">
    <xs:complexContent>
      <xs:extension base="nhis:messageBase">
        <xs:sequence>
          <xs:element name="contents" type="nhis:contentsC009"/>
          <xs:element ref="Signature"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Contents' block -->
  <xs:complexType name="contentsC009">
    <xs:complexContent>
      <xs:extension base="nhis:contentsBase">
        <xs:sequence>
          <xs:element name="execution" type="nhis:execution" maxOccurs="unbounded"/>
          <xs:element name="performer" type="nhis:performer"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Execution' block -->
  <xs:complexType name="execution">
    <xs:sequence>
      <xs:element name="sequenceId" type="nhis:sequenceIdBase"/>
      <xs:element name="nrnReferral" type="nhis:nrnBase" minOccurs="0"/>
      <xs:element name="executeDate" type="nhis:executeDateBase"/>
      <xs:element name="isCorrection" type="nhis:isCorrectionBase"/>
      <xs:element name="correctionReason" type="nhis:reasonBase" minOccurs="0"/>
      <xs:element name="procedure" type="nhis:procedure" maxOccurs="unbounded"/>
      <xs:element name="subject" type="nhis:subject"/>
      <xs:element name="requester" type="nhis:requester" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Requester' block -->
  <xs:complexType name="requester">
    <xs:sequence>
      <xs:element name="pmi" type="nhis:pmiBase"/>
    </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="phone" type="nhis:phoneBase" minOccurs="0"/>
      <xs:element name="email" type="nhis:emailBase" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Medical Practitioner / Practice' block -->
  <xs:complexType name="performer">
    <xs:sequence>
      <xs:element name="pmi" type="nhis:pmiBase"/>
      <xs:element name="qualification" type="nhis:qualificationBase"/>
      <xs:element name="practiceNumber" type="nhis:practiceNumberBase"/>
      <xs:element name="nhifNumber" type="nhis:nhifNumberBase" 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>
