<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<xs:schema version="1.0" targetNamespace="http://www.npdb-hipdb.hrsa.gov/QrxsWebService" xmlns:tns="http://www.npdb-hipdb.hrsa.gov/QrxsWebService" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="ChangePassword" type="tns:ChangePassword"/>

  <xs:element name="ChangePasswordResponse" type="tns:ChangePasswordResponse"/>

  <xs:element name="EncodePassword" type="tns:EncodePassword"/>

  <xs:element name="EncodePasswordResponse" type="tns:EncodePasswordResponse"/>

  <xs:element name="Receive" type="tns:Receive"/>

  <xs:element name="ReceiveResponse" type="tns:ReceiveResponse"/>

  <xs:element name="ResetPassword" type="tns:ResetPassword"/>

  <xs:element name="ResetPasswordResponse" type="tns:ResetPasswordResponse"/>

  <xs:element name="Send" type="tns:Send"/>

  <xs:element name="SendResponse" type="tns:SendResponse"/>

  <xs:element name="transactionFile" type="tns:transactionFile"/>

  <xs:complexType name="ResetPassword">
    <xs:sequence>
      <xs:element name="DataBankID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="Password" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="UserID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="TargetUserID" type="xs:string" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ResetPasswordResponse">
    <xs:sequence>
      <xs:element name="PasswordTransactionResponse" type="tns:passwordTransactionResponse" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="passwordTransactionResponse">
    <xs:sequence>
      <xs:element name="EncodedPassword" type="xs:string" minOccurs="0"/>
      <xs:element name="PasswordErrors" type="tns:transactionError" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="StatusCode" type="xs:string"/>
      <xs:element name="StatusMessage" type="xs:string" minOccurs="0"/>
      <xs:element name="UnencodedPassword" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="transactionError">
    <xs:sequence>
      <xs:element name="ErrorCode" type="xs:string"/>
      <xs:element name="ErrorDescription" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Send">
    <xs:sequence>
      <xs:element name="DataBankID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="Password" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="UserID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="SubmissionFiles" type="tns:transactionFile" form="qualified" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="transactionFile">
    <xs:sequence>
      <xs:element name="FileName" type="xs:string"/>
      <xs:element name="XmlFileData" ns1:expectedContentTypes="text/xml" type="xs:base64Binary" xmlns:ns1="http://www.w3.org/2005/05/xmlmime"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SendResponse">
    <xs:sequence>
      <xs:element name="XMLTransactionResponse" type="tns:xmlTransactionResponse" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="xmlTransactionResponse">
    <xs:sequence>
      <xs:element name="ExpectedNumberOfFiles" type="xs:int"/>
      <xs:element name="FileErrors" type="tns:fileError" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="FilesRemaining" type="xs:int"/>
      <xs:element name="ResponseFiles" type="tns:transactionFile" minOccurs="0" maxOccurs="unbounded"/>
      <xs:element name="StatusCode" type="xs:string"/>
      <xs:element name="StatusMessage" type="xs:string" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="fileError">
    <xs:sequence>
      <xs:element name="Errors" type="tns:transactionError" maxOccurs="unbounded"/>
      <xs:element name="FileName" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ChangePassword">
    <xs:sequence>
      <xs:element name="DataBankID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="Password" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="UserID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="NewPassword" type="xs:string" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ChangePasswordResponse">
    <xs:sequence>
      <xs:element name="PasswordTransactionResponse" type="tns:passwordTransactionResponse" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EncodePassword">
    <xs:sequence>
      <xs:element name="UnencodedPassword" type="xs:string" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EncodePasswordResponse">
    <xs:sequence>
      <xs:element name="PasswordTransactionResponse" type="tns:passwordTransactionResponse" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="Receive">
    <xs:sequence>
      <xs:element name="DataBankID" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="Password" type="xs:string" form="qualified" minOccurs="0"/>
      <xs:element name="UserID" type="xs:string" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReceiveResponse">
    <xs:sequence>
      <xs:element name="XMLTransactionResponse" type="tns:xmlTransactionResponse" form="qualified" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

