<?xml version="1.0" encoding="UTF-8"?>
<!-- 
 * #%L
 * org.hl7.fhir.r5
 * %%
 * Copyright (C) 2014 - 2019 Health Level 7
 * %%
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * #L%
 */

/*
  Copyright (c) 2011+, HL7, Inc.
  All rights reserved.
  
  Redistribution and use in source and binary forms, with or without modification, 
  are permitted provided that the following conditions are met:
  
   * Redistributions of source code must retain the above copyright notice, this 
     list of conditions and the following disclaimer.
   * Redistributions in binary form must reproduce the above copyright notice, 
     this list of conditions and the following disclaimer in the documentation 
     and/or other materials provided with the distribution.
   * Neither the name of HL7 nor the names of its contributors may be used to 
     endorse or promote products derived from this software without specific 
     prior written permission.
  
  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
  ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 
  IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 
  INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 
  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 
  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
  POSSIBILITY OF SUCH DAMAGE.
  

  Generated on Tue, Jun 16, 2026 19:54+0000 for FHIR v6.0.0-ballot4 

  Note: the schemas &amp; schematrons do not contain all of the rules about what makes resources
  valid. Implementers will still need to be familiar with the content of the specification and with
  any profiles that apply to the resources in order to make a conformant implementation.

-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://hl7.org/fhir" xmlns:xhtml="http://www.w3.org/1999/xhtml" targetNamespace="http://hl7.org/fhir" elementFormDefault="qualified" version="1.0">
  <xs:include schemaLocation="fhir-base.xsd"/>
  <xs:element name="MeasureReport" type="MeasureReport">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
  </xs:element>
  <xs:complexType name="MeasureReport">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="DomainResource">
        <xs:sequence>
          <xs:element name="identifier" minOccurs="0" maxOccurs="unbounded" type="Identifier">
            <xs:annotation>
              <xs:documentation xml:lang="en">A formal identifier that is used to identify this MeasureReport when it is represented in other formats or referenced in a specification, model, design or an instance.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="category" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">The category of measure report instance this is such as Data Exchange for Quality Measures (DEQM), Risk Adjustment, or Value-Based Performance.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="messages" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to an OperationOutcome that contains any information, warning, and/or error messages that were generated while processing an operation such as $evaluate.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="status" minOccurs="1" maxOccurs="1" type="MeasureReportStatus">
            <xs:annotation>
              <xs:documentation xml:lang="en">The MeasureReport status. No data will be available until the MeasureReport status is complete. Pending means the report is in progress and in the future should lead to a complete report or an error report. Systems that do not know the status of the measure report should use a status of &quot;error&quot; and a message that explains that the status is unknown.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="type" minOccurs="0" maxOccurs="1" type="MeasureReportType">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure. The code &quot;other&quot; should be used if the report type is known, but it is not one of the enumerated report types. When &quot;other&quot;  is used, an extension SHOULD be added to provide information on the type of measure report. The code &quot;other&quot;  SHOULD NOT be used if the report type is unknown or undefined.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="dataUpdateType" minOccurs="0" maxOccurs="1" type="SubmitDataUpdateType">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates whether the data submitted in a data-exchange report represents a snapshot or incremental update. A snapshot update replaces all previously submitted data for the receiver, whereas an incremental update represents only updated and/or changed data and should be applied as a differential update to the existing submitted data for the receiver.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="measure" minOccurs="0" maxOccurs="1" type="canonical">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to the Measure that was calculated to produce this report.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subject" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">Optional subject identifying the individual or individuals the report is for.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="date" minOccurs="0" maxOccurs="1" type="dateTime">
            <xs:annotation>
              <xs:documentation xml:lang="en">The date this measure report was generated.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="reporter" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">The individual or organization that is reporting the data.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="reportingVendor" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to the vendor who queried the data, calculated results and/or generated the report. The ‘reporting vendor’ is intended to represent the submitting entity when it is not the same as the reporting entity. This extension is used when the Receiver is interested in getting vendor information in the report.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="location" minOccurs="0" maxOccurs="unbounded" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to the location for which the data is being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="period" minOccurs="1" maxOccurs="1" type="Period">
            <xs:annotation>
              <xs:documentation xml:lang="en">The reporting period for which the report was calculated.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="inputParameters" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report. If the input parameter includes stratifiers, then the MeasureReport SHALL include the input parameters.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="group" type="MeasureReport.Group" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The results of the calculation, one for each population group in the measure. A MeasureReport SHALL have a group element corresponding to each group element defined in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="supplementalData" minOccurs="0" maxOccurs="unbounded" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to a Resource that represents additional information collected for the report. If the value of the supplemental data is not a Resource (i.e. evaluating the supplementalData expression for this case in the measure results in a value that is not a FHIR Resource), it is reported as a reference to a contained Observation resource.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="evaluatedResource" minOccurs="0" maxOccurs="unbounded" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">Evaluated resources are used to capture what data was involved in the calculation of a measure. This usage is only allowed for individual reports to ensure that the size of the MeasureReport resource is bounded.</xs:documentation>
           </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasureReport.Group">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneElement">
        <xs:sequence>
          <xs:element name="linkId" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">The group from the Measure that corresponds to this group in the MeasureReport resource. This element SHALL be populated based on the corresponding element in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="title" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the title for of the group.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="calculatedDate" minOccurs="0" maxOccurs="1" type="dateTime">
            <xs:annotation>
              <xs:documentation xml:lang="en">The date the Measure Report was calculated.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="code" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">The meaning of the population group as defined in the measure definition. This element SHALL be populated with at least the codings in the code of the corresponding group in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="description" minOccurs="0" maxOccurs="1" type="markdown">
            <xs:annotation>
              <xs:documentation xml:lang="en">The human readable description of this population group. This element SHOULD be populated based on the description of the corresponding group in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="type" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates whether the measure is used to examine a process, an outcome over time, a patient-reported outcome, or a structure measure such as utilization.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subject" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">Optional subject identifying the individual or individuals the report is for.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="scoring" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="compositeScoring" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">If this is a composite measure, the scoring method used to combine the component measures to determine the composite score.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="improvementNotation" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">Whether improvement in the measure is noted by an increase or decrease in the measure score. Exercise caution when using any values besides increase or decrease for improvementNotation.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="improvementNotationGuidance" minOccurs="0" maxOccurs="1" type="markdown">
            <xs:annotation>
              <xs:documentation xml:lang="en">Narrative text to explain the improvement notation and how to interpret it.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="population" type="MeasureReport.Population" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The populations that make up the population group, one for each type of population appropriate for the measure. Each group in the MeasureReport SHALL have populations as defined in the corresponding group of the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1" >
            <xs:annotation>
              <xs:documentation xml:lang="en">The measure score for this population group, calculated as appropriate for the measure type and scoring method, and based on the contents of the populations defined in the group.</xs:documentation>
            </xs:annotation>
            <xs:element name="measureScoreQuantity" type="Quantity"/>
            <xs:element name="measureScoreDateTime" type="dateTime"/>
            <xs:element name="measureScoreCodeableConcept" type="CodeableConcept"/>
            <xs:element name="measureScorePeriod" type="Period"/>
            <xs:element name="measureScoreRange" type="Range"/>
            <xs:element name="measureScoreDuration" type="Duration"/>
            <xs:element name="measureScoreBoolean" type="boolean"/>
            <xs:element name="measureScoreRatio" type="Ratio"/>
          </xs:choice>
          <xs:element name="stratifier" type="MeasureReport.Stratifier" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The stratification results for this measure group, calculated as defined by the stratifier element of the measure being reported. Each group in the MeasureReport SHALL have stratifiers as defined in the corresponding group of the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasureReport.Population">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneElement">
        <xs:sequence>
          <xs:element name="linkId" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">The population from the Measure that corresponds to this population in the MeasureReport resource. This element SHALL be populated based on the corresponding element in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="title" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the title for of the group's population.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="code" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of the population. This element SHALL be populated with at least the codings in the code element of the corresponding population in the Measure group being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="description" minOccurs="0" maxOccurs="1" type="markdown">
            <xs:annotation>
              <xs:documentation xml:lang="en">The human readable description of this population criteria. This element SHOULD be populated based on the description element of the corresponding population in the Measure group being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="count" minOccurs="0" maxOccurs="1" type="integer">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of members of the population.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="countQuantity" minOccurs="0" maxOccurs="1" type="Quantity">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of members of the population, specified as a quantity to support identifying units, as well as to support some composite measure calculation use cases where the resulting count of the population is a decimal value.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subjectResults" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">This element refers to a List of individual level MeasureReport resources, one for each subject in this population.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subjectReport" minOccurs="0" maxOccurs="unbounded" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to an individual level MeasureReport resource for a member of the population.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subjects" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">Optional Group identifying the individuals that make up the population.</xs:documentation>
           </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasureReport.Stratifier">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneElement">
        <xs:sequence>
          <xs:element name="linkId" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">The stratifier from the Measure that corresponds to this stratifier in the MeasureReport resource. This element SHALL be populated based on the corresponding element in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="title" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">Indicates the title for of the group's stratifier.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="code" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">The meaning of this stratifier, as defined in the measure definition. This element SHALL be populated with at least the codings in the code element of the corresponding stratifier in the Measure group being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="description" minOccurs="0" maxOccurs="1" type="markdown">
            <xs:annotation>
              <xs:documentation xml:lang="en">The human readable description of this stratifier criteria. This element SHOULD be populated with the description element of the corresponding stratifier in the Measure group being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="stratum" type="MeasureReport.Stratum" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value.</xs:documentation>
           </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasureReport.Stratum">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneElement">
        <xs:sequence>
          <xs:choice minOccurs="0" maxOccurs="1" >
            <xs:annotation>
              <xs:documentation xml:lang="en">The value for this stratum, expressed as a CodeableConcept. When defining stratifiers on complex values, the value must be rendered such that the value for each stratum within the stratifier is unique.</xs:documentation>
            </xs:annotation>
            <xs:element name="valueCodeableConcept" type="CodeableConcept"/>
            <xs:element name="valueBoolean" type="boolean"/>
            <xs:element name="valueQuantity" type="Quantity"/>
            <xs:element name="valueRange" type="Range"/>
            <xs:element name="valueReference" type="Reference"/>
          </xs:choice>
          <xs:element name="component" type="MeasureReport.Component" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">A stratifier component value.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="population" type="MeasureReport.Population1" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
              <xs:documentation xml:lang="en">The populations that make up the stratum, one for each type of population appropriate to the measure. For each stratifier, systems MAY provide population breakdowns in addition to the stratified scores.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="0" maxOccurs="1" >
            <xs:annotation>
              <xs:documentation xml:lang="en">The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratum.</xs:documentation>
            </xs:annotation>
            <xs:element name="measureScoreQuantity" type="Quantity"/>
            <xs:element name="measureScoreDateTime" type="dateTime"/>
            <xs:element name="measureScoreCodeableConcept" type="CodeableConcept"/>
            <xs:element name="measureScorePeriod" type="Period"/>
            <xs:element name="measureScoreRange" type="Range"/>
            <xs:element name="measureScoreDuration" type="Duration"/>
            <xs:element name="measureScoreBoolean" type="boolean"/>
            <xs:element name="measureScoreRatio" type="Ratio"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasureReport.Component">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneElement">
        <xs:sequence>
          <xs:element name="linkId" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">The stratifier component from the Measure that corresponds to this stratifier component in the MeasureReport resource. This element SHALL be populated based on the corresponding element in the Measure being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="code" minOccurs="1" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">The code for the stratum component value. This element SHALL be populated with at least the codings in the code element of the corresponding component of the stratifier being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="description" minOccurs="0" maxOccurs="1" type="markdown">
            <xs:annotation>
              <xs:documentation xml:lang="en">The human readable description of this stratifier criteria component. This element MAY be populated with the description of the corresponding component of the stratifier being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:choice minOccurs="1" maxOccurs="1" >
            <xs:annotation>
              <xs:documentation xml:lang="en">The stratum component value.</xs:documentation>
            </xs:annotation>
            <xs:element name="valueCodeableConcept" type="CodeableConcept"/>
            <xs:element name="valueBoolean" type="boolean"/>
            <xs:element name="valueQuantity" type="Quantity"/>
            <xs:element name="valueRange" type="Range"/>
            <xs:element name="valueReference" type="Reference"/>
          </xs:choice>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:complexType name="MeasureReport.Population1">
    <xs:annotation>
      <xs:documentation xml:lang="en">The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BackboneElement">
        <xs:sequence>
          <xs:element name="linkId" minOccurs="0" maxOccurs="1" type="string">
            <xs:annotation>
              <xs:documentation xml:lang="en">The population from the Measure that corresponds to this population in the MeasureReport resource. This element SHALL be populated with the linkId corresponding to the population being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="code" minOccurs="0" maxOccurs="1" type="CodeableConcept">
            <xs:annotation>
              <xs:documentation xml:lang="en">The type of the population. This element SHALL be populated with at least the codings in the code element of the corresponding population being reported.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="count" minOccurs="0" maxOccurs="1" type="integer">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of members of the population in this stratum.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="countQuantity" minOccurs="0" maxOccurs="1" type="Quantity">
            <xs:annotation>
              <xs:documentation xml:lang="en">The number of members of the population in this stratum, specified as a quantity to support identifying units, as well as to support some composite measure calculation use cases where the resulting count of the population is a decimal value.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subjectResults" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">This element refers to a List of individual level MeasureReport resources, one for each subject in this population in this stratum.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subjectReport" minOccurs="0" maxOccurs="unbounded" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">A reference to an individual level MeasureReport resource for a member of the population.</xs:documentation>
           </xs:annotation>
          </xs:element>
          <xs:element name="subjects" minOccurs="0" maxOccurs="1" type="Reference">
            <xs:annotation>
              <xs:documentation xml:lang="en">Optional Group identifying the individuals that make up the population.</xs:documentation>
           </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="SubmitDataUpdateTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="incremental">
        <xs:annotation>
          <xs:documentation xml:lang="en">Incremental</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="snapshot">
        <xs:annotation>
          <xs:documentation xml:lang="en">Snapshot</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="SubmitDataUpdateType">
    <xs:annotation>
      <xs:documentation xml:lang="en"></xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="SubmitDataUpdateTypeEnum" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MeasureReportStatusEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="complete">
        <xs:annotation>
          <xs:documentation xml:lang="en">Complete</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="pending">
        <xs:annotation>
          <xs:documentation xml:lang="en">Pending</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="error">
        <xs:annotation>
          <xs:documentation xml:lang="en">Error</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeasureReportStatus">
    <xs:annotation>
      <xs:documentation xml:lang="en">The status of the measure report.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="MeasureReportStatusEnum" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
  <xs:simpleType name="MeasureReportTypeEnum">
    <xs:restriction base="code-primitive">
      <xs:enumeration value="individual">
        <xs:annotation>
          <xs:documentation xml:lang="en">Individual</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="subject-list">
        <xs:annotation>
          <xs:documentation xml:lang="en">Subject List</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="summary">
        <xs:annotation>
          <xs:documentation xml:lang="en">Summary</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="data-exchange">
        <xs:annotation>
          <xs:documentation xml:lang="en">Data Exchange</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
      <xs:enumeration value="other">
        <xs:annotation>
          <xs:documentation xml:lang="en">Other</xs:documentation>
        </xs:annotation>
      </xs:enumeration>
    </xs:restriction>
  </xs:simpleType>
  <xs:complexType name="MeasureReportType">
    <xs:annotation>
      <xs:documentation xml:lang="en">The type of the measure report.</xs:documentation>
      <xs:documentation xml:lang="en">If the element is present, it must have either a @value, an @id, or extensions</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="Element">
        <xs:attribute name="value" type="MeasureReportTypeEnum" use="optional"/>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>
</xs:schema>
