<?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:messageP001"/>
  <!-- Define all elements in 'Message' block -->
  <xs:complexType name="messageP001">
    <xs:complexContent>
      <xs:extension base="nhis:messageBase">
        <xs:sequence>
          <xs:element name="contents" type="nhis:contentsP001"/>
          <xs:element ref="Signature"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <!-- Define all elements in 'Contents' block -->
  <xs:complexType name="contentsP001">
    <xs:complexContent>
      <xs:extension base="nhis:contentsBase">
        <xs:sequence>
          <xs:element name="prescription" type="nhis:prescription"/>
          <xs:element name="subject" type="nhis:patientP001"/>
          <xs:element name="requester" type="nhis:medicalPractitioner"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </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="lrn" type="nhis:lrnBase"/>
      <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="group" type="nhis:group" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <!-- Define all elements in 'Patient' block -->
  <xs:complexType name="patientP001">
    <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>
