<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
  <xs:element name="extract">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="manufacturerList"/>
        <xs:element ref="formulary"/>
      </xs:sequence>
      <xs:attribute name="createDate" use="required" type="xs:NMTOKEN"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="manufacturerList">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="manufacturer"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
  <xs:element name="manufacturer">
    <xs:complexType mixed="true">
      <xs:attribute name="id" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="formulary">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="pcg2"/>
      </xs:sequence>
      <xs:attribute name="createDate" use="required" type="xs:NMTOKEN"/>
      <xs:attribute name="edition" use="required" type="xs:integer"/>
      <xs:attribute name="formularyDate" use="required" type="xs:NMTOKEN"/>
      <xs:attribute name="updateVer" use="required" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="pcg2">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element maxOccurs="unbounded" ref="pcg6"/>
      </xs:sequence>
      <xs:attribute name="id" use="required" type="xs:integer"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="pcg6">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="name"/>
        <xs:element minOccurs="0" ref="note"/>
        <xs:element maxOccurs="unbounded" ref="genericName"/>
      </xs:sequence>
      <xs:attribute name="id"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="genericName">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element minOccurs="0" ref="note"/>
        <xs:element maxOccurs="unbounded" ref="pcgGroup"/>
      </xs:sequence>
      <xs:attribute name="id" use="required"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="pcgGroup">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" ref="pcg9"/>
        <xs:element minOccurs="0" maxOccurs="unbounded" ref="lccNote"/>
      </xs:sequence>
      <xs:attribute name="lccId" type="xs:integer"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="pcg9">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" ref="itemNumber"/>
        <xs:element minOccurs="0" ref="strength"/>
        <xs:element minOccurs="0" ref="dosageForm"/>
        <xs:element minOccurs="0" ref="price"/>
        <xs:element minOccurs="0" ref="dailyCost"/>
        <xs:element minOccurs="0" ref="note"/>
        <xs:element maxOccurs="unbounded" ref="drug"/>
      </xs:sequence>
      <xs:attribute name="dpp" type="xs:NCName"/>
      <xs:attribute name="id" use="required"/>
      <xs:attribute name="suppliedBy" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="itemNumber" type="xs:string"/>
  <xs:element name="strength" type="xs:string"/>
  <xs:element name="dosageForm" type="xs:string"/>
  <xs:element name="price" type="xs:string"/>
  <xs:element name="drug">
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="name"/>
        <xs:element ref="manufacturerId"/>
        <xs:element minOccurs="0" ref="individualPrice"/>
        <xs:element minOccurs="0" ref="dailyCost"/>
        <xs:element minOccurs="0" ref="note"/>
        <xs:element ref="listingDate"/>
      </xs:sequence>
      <xs:attribute name="additionalBenefitType" type="xs:NCName"/>
      <xs:attribute name="dinStatus" type="xs:NCName"/>
      <xs:attribute name="id" use="required"/>
      <xs:attribute name="insOH" type="xs:NCName"/>
      <xs:attribute name="maO" type="xs:NCName"/>
      <xs:attribute name="notABenefit" type="xs:NCName"/>
      <xs:attribute name="sec12" type="xs:NCName"/>
      <xs:attribute name="sec3" type="xs:NCName"/>
      <xs:attribute name="sec6" type="xs:NCName"/>
      <xs:attribute name="sec9" type="xs:NCName"/>
      <xs:attribute name="selfMed" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="manufacturerId" type="xs:string"/>
  <xs:element name="individualPrice" type="xs:string"/>
  <xs:element name="listingDate" type="xs:string"/>
  <xs:element name="lccNote">
    <xs:complexType mixed="true">
      <xs:attribute name="reasonForUseId" type="xs:integer"/>
      <xs:attribute name="seq" use="required"/>
      <xs:attribute name="type" type="xs:NCName"/>
    </xs:complexType>
  </xs:element>
  <xs:element name="name" type="xs:string"/>
  <xs:element name="note" type="xs:string"/>
  <xs:element name="dailyCost" type="xs:string"/>
</xs:schema>
