<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hcahps.ifmc.org" targetNamespace="http://hcahps.ifmc.org" elementFormDefault="qualified">
  <xs:element name="monthlydata" type="monthlydata"/>
  <xs:complexType name="header">
    <xs:sequence>
      <xs:element name="npi" type="xs:string" minOccurs="0"/>
      <xs:element name="provider-name" type="xs:string"/>
      <xs:element name="provider-id" type="xs:string" nillable="false"/>
      <xs:element name="discharge-yr" type="xs:string" nillable="false"/>
      <xs:element name="discharge-month" type="xs:string" nillable="false"/>
      <xs:element name="survey-mode" type="xs:string" nillable="false"/>
      <xs:element name="number-eligible-discharge" type="xs:string" nillable="false"/>
      <xs:element name="sample-size" type="xs:string" nillable="false"/>
      <xs:element name="sample-type" type="xs:string" nillable="false"/>
      <xs:element name="dsrs-strata" type="dsrs-strata" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="administration">
    <xs:sequence>
      <xs:element name="provider-id" type="xs:string" nillable="false"/>
      <xs:element name="discharge-yr" type="xs:string" nillable="false"/>
      <xs:element name="discharge-month" type="xs:string" nillable="false"/>
      <xs:element name="patient-id" type="xs:string" nillable="false"/>
      <xs:element name="admission-source" type="xs:string" nillable="false"/>
      <xs:element name="principal-reason-admission" type="xs:string" nillable="false"/>
      <xs:element name="discharge-status" type="xs:string" nillable="false"/>
      <xs:element name="strata-name" type="xs:string" minOccurs="0" nillable="false"/>
      <xs:element name="survey-status" type="xs:string" nillable="false"/>
      <xs:element name="language" type="xs:string" nillable="false"/>
      <xs:element name="lag-time" type="xs:string" nillable="false"/>
      <xs:element name="gender" type="xs:string" nillable="false"/>
      <xs:element name="patient-age" type="xs:string" nillable="false"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="patientresponse">
    <xs:sequence>
      <xs:element name="nurse-courtesy-respect" type="xs:string" nillable="false"/>
      <xs:element name="nurse-listen" type="xs:string" nillable="false"/>
      <xs:element name="nurse-explain" type="xs:string" nillable="false"/>
      <xs:element name="call-button" type="xs:string" nillable="false"/>
      <xs:element name="dr-courtesy-respect" type="xs:string" nillable="false"/>
      <xs:element name="dr-listen" type="xs:string" nillable="false"/>
      <xs:element name="dr-explain" type="xs:string" nillable="false"/>
      <xs:element name="cleanliness" type="xs:string" nillable="false"/>
      <xs:element name="quiet" type="xs:string" nillable="false"/>
      <xs:element name="bathroom-screener" type="xs:string" nillable="false"/>
      <xs:element name="bathroom-help" type="xs:string" nillable="false"/>
      <xs:element name="med-screener" type="xs:string" nillable="false"/>
      <xs:element name="pain-control" type="xs:string" nillable="false"/>
      <xs:element name="help-pain" type="xs:string" nillable="false"/>
      <xs:element name="new-med-screener" type="xs:string" nillable="false"/>
      <xs:element name="med-for" type="xs:string" nillable="false"/>
      <xs:element name="side-effects" type="xs:string" nillable="false"/>
      <xs:element name="discharge-screener" type="xs:string" nillable="false"/>
      <xs:element name="help-after-discharge" type="xs:string" nillable="false"/>
      <xs:element name="symptoms" type="xs:string" nillable="false"/>
      <xs:element name="overall-rate" type="xs:string" nillable="false"/>
      <xs:element name="recommend" type="xs:string" nillable="false"/>
      <xs:element name="overall-health" type="xs:string" nillable="false"/>
      <xs:element name="education" type="xs:string" nillable="false"/>
      <xs:element name="ethnic" type="xs:string" nillable="false"/>
      <xs:element name="race-white" type="xs:string" nillable="false"/>
      <xs:element name="race-african-amer" type="xs:string" nillable="false"/>
      <xs:element name="race-asian" type="xs:string" nillable="false"/>
      <xs:element name="race-hi-pacific-islander" type="xs:string" nillable="false"/>
      <xs:element name="race-amer-indian-ak" type="xs:string" nillable="false"/>
      <xs:element name="language-speak" type="xs:string" nillable="false"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="dsrs-strata">
    <xs:sequence>
      <xs:element name="strata-name" type="xs:string" nillable="false"/>
      <xs:element name="dsrs-eligible" type="xs:string" nillable="false"/>
      <xs:element name="dsrs-samplesize" type="xs:string" nillable="false"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="patientleveldata">
    <xs:sequence>
      <xs:element name="administration" type="administration" nillable="false"/>
      <xs:element name="patientresponse" type="patientresponse" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="monthlydata">
    <xs:sequence>
      <xs:element name="header" type="header" nillable="false"/>
      <xs:element name="patientleveldata" type="patientleveldata" minOccurs="0" maxOccurs="unbounded" nillable="false"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
