R6 Ballot (2nd Draft)

Publish-box (todo)

14.19 Resource MeasureReport - Content

Clinical Quality Information icon Work GroupMaturity Level: 4 Trial UseSecurity Category: Business Compartments: Patient

The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation.

The MeasureReport resource represents the results of calculating a measure for a specific subject or group of subjects. The $evaluate-measure operation of the Measure resource is defined to return a MeasureReport. The resource is capable of representing three different levels of report: individual, subject-list, and summary.

The resource draws requirements from the HL7 CDA R2 Implementation Guide: Quality Reporting Document Architecture - Category 1 (QRDA I) DSTU Release 3 (US Realm) and the HL7 Implementation Guide for CDA Release 2: Quality Reporting Document Architecture - Category III (QRDA III), DSTU Release 1 implementation guides.

For a detailed discussion of how to use the Measure and MeasureReport resources, refer to the Quality Reporting topic.

Note that this resource is a special case of the more general notion of a query evaluation result. However, because the general case requires the ability to represent arbitrary content, this resource uses a simple indicator structure to describe population sizes for each population type defined in the measure. The intent is to be able to represent the more general case as well, either by generalizing this resource, or by making this structure a profile of a more general resource, and we are actively seeking comments about what approaches might be taken to achieve that aim.

Although the MeasureReport is conceptually an Observation, there is enough specific information required to support the quality reporting use case to warrant a separate resource.

The resource is differentiated from a general purpose query result because it communicates specific information related to quality measurement evaluation that would be difficult to convey generally without imposing some other structure on top of the general results.

  • Resource References: itself

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MeasureReport TU DomainResource Results of a measure evaluation
+ Rule: Measure Reports used for data collection SHALL NOT communicate group and score information
+ Rule: Stratifiers SHALL be either a single criteria or a set of criteria components

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Additional identifier for the MeasureReport

... status ?!Σ 1..1 code complete | pending | error
Binding: Measure Report Status (Required)
... type ΣC 1..1 code individual | subject-list | summary | data-exchange
Binding: Measure Report Type (Required)
... measure Σ 0..1 canonical(Measure) What measure was calculated
... subject Σ 0..1 Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) What individual(s) the report is for
... date Σ 0..1 dateTime When the measure was calculated
... reporter Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | Group) Who is reporting the data
... reportingVendor 0..1 Reference(Organization) What vendor prepared the data
... location 0..1 Reference(Location) Where the reported data is from
... period Σ 1..1 Period What period the report covers
... inputParameters 0..1 Reference(Parameters) What parameters were provided to the report
... scoring ?!Σ 0..1 CodeableConcept What scoring method (e.g. proportion, ratio, continuous-variable)
Binding: Measure Scoring icon (Extensible)
... improvementNotation ?!Σ 0..1 CodeableConcept increase | decrease
Binding: Measure Improvement Notation (Required)
... group C 0..* BackboneElement Measure results for each group

.... linkId 0..1 string Pointer to specific group from Measure
.... code Σ 0..1 CodeableConcept Meaning of the group
Binding: Measure Group Example (Example)
.... subject Σ 0..1 Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) What individual(s) the report is for
.... population 0..* BackboneElement The populations in the group

..... linkId 0..1 string Pointer to specific population from Measure
..... code Σ 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
..... count 0..1 integer Size of the population
..... subjectResults 0..1 Reference(List) For subject-list reports, the subject results in this population
..... subjectReport 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population

..... subjects 0..1 Reference(Group) What individual(s) in the population
.... measureScore[x] Σ 0..1 What score this group achieved
..... measureScoreQuantity Quantity
..... measureScoreDateTime dateTime
..... measureScoreCodeableConcept CodeableConcept
..... measureScorePeriod Period
..... measureScoreRange Range
..... measureScoreDuration Duration
.... stratifier C 0..* BackboneElement Stratification results

..... linkId 0..1 string Pointer to specific stratifier from Measure
..... code 0..1 CodeableConcept What stratifier of the group
Binding: Measure Stratifier Example (Example)
..... stratum C 0..* BackboneElement Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components

...... value[x] C 0..1 The stratum value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
....... valueCodeableConcept CodeableConcept
....... valueBoolean boolean
....... valueQuantity Quantity
....... valueRange Range
....... valueReference Reference()
...... component C 0..* BackboneElement Stratifier component values

....... linkId 0..1 string Pointer to specific stratifier component from Measure
....... code 1..1 CodeableConcept What stratifier component of the group
Binding: Measure Stratifier Example (Example)
....... value[x] 1..1 The stratum component value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
........ valueCodeableConcept CodeableConcept
........ valueBoolean boolean
........ valueQuantity Quantity
........ valueRange Range
........ valueReference Reference()
...... population 0..* BackboneElement Population results in this stratum

....... linkId 0..1 string Pointer to specific population from Measure
....... code 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
....... count 0..1 integer Size of the population
....... subjectResults 0..1 Reference(List) For subject-list reports, the subject results in this population
....... subjectReport 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population

....... subjects 0..1 Reference(Group) What individual(s) in the population
...... measureScore[x] 0..1 What score this stratum achieved
....... measureScoreQuantity Quantity
....... measureScoreDateTime dateTime
....... measureScoreCodeableConcept CodeableConcept
....... measureScorePeriod Period
....... measureScoreRange Range
....... measureScoreDuration Duration
... supplementalData 0..* Reference(Any) Additional information collected for the report

... evaluatedResource 0..* Reference(Any) What data was used to calculate the measure score


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

MeasureReport (DomainResource)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 instanceidentifier : Identifier [0..*]The MeasureReport status. No data will be available until the MeasureReport status is complete (this element modifies the meaning of other elements)status : code [1..1] « The status of the measure report. (Strength=Required)MeasureReportStatus! »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 measuretype : code [1..1] « The type of the measure report. (Strength=Required)MeasureReportType! » « This element has or is affected by some invariantsC »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 (this element modifies the meaning of other elements)dataUpdateType : code [0..1] « null (Strength=Required)SubmitDataUpdateType! »A reference to the Measure that was calculated to produce this reportmeasure : canonical [0..1] « Measure »Optional subject identifying the individual or individuals the report is forsubject : Reference [0..1] « CareTeam|Device|Group|HealthcareService| Location|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson »The date this measure was calculateddate : dateTime [0..1]The individual or organization that is reporting the datareporter : Reference [0..1] « Practitioner|PractitionerRole| Organization|Group »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 reportreportingVendor : Reference [0..1] « Organization »A reference to the location for which the data is being reportedlocation : Reference [0..1] « Location »The reporting period for which the report was calculatedperiod : Period [1..1]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 reportinputParameters : Reference [0..1] « Parameters »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 (this element modifies the meaning of other elements)scoring : CodeableConcept [0..1] « null (Strength=Extensible)MeasureScoring+ »Whether improvement in the measure is noted by an increase or decrease in the measure score (this element modifies the meaning of other elements)improvementNotation : CodeableConcept [0..1] « Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue. (Strength=Required) MeasureImprovementNotation! »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 resourcesupplementalData : Reference [0..*] « Any »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 boundedevaluatedResource : Reference [0..*] « Any »GroupThe group from the Measure that corresponds to this group in the MeasureReport resourcelinkId : string [0..1]The meaning of the population group as defined in the measure definitioncode : CodeableConcept [0..1] « null (Strength=Example)MeasureGroupExample?? »Optional subject identifying the individual or individuals the report is forsubject : Reference [0..1] « CareTeam|Device|Group|HealthcareService| Location|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson »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 groupmeasureScore[x] : DataType [0..1] « Quantity|dateTime| CodeableConcept|Period|Range|Duration »PopulationThe population from the Measure that corresponds to this population in the MeasureReport resourcelinkId : string [0..1]The type of the populationcode : CodeableConcept [0..1] « null (Strength=Extensible)MeasurePopulationType+ »The number of members of the populationcount : integer [0..1]This element refers to a List of individual level MeasureReport resources, one for each subject in this populationsubjectResults : Reference [0..1] « List »A reference to an individual level MeasureReport resource for a member of the populationsubjectReport : Reference [0..*] « MeasureReport »Optional Group identifying the individuals that make up the populationsubjects : Reference [0..1] « Group »StratifierThe stratifier from the Measure that corresponds to this stratifier in the MeasureReport resourcelinkId : string [0..1]The meaning of this stratifier, as defined in the measure definitioncode : CodeableConcept [0..1] « null (Strength=Example)MeasureStratifierExample?? »StratifierGroupThe 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 uniquevalue[x] : DataType [0..1] « CodeableConcept|boolean|Quantity|Range| Reference; null (Strength=Example)MeasureReportStratifierValueE...?? » « This element has or is affected by some invariantsC »The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratummeasureScore[x] : DataType [0..1] « Quantity|dateTime| CodeableConcept|Period|Range|Duration »ComponentThe stratifier component from the Measure that corresponds to this stratifier component in the MeasureReport resourcelinkId : string [0..1]The code for the stratum component valuecode : CodeableConcept [1..1] « null (Strength=Example)MeasureStratifierExample?? »The stratum component valuevalue[x] : DataType [1..1] « CodeableConcept|boolean|Quantity|Range| Reference; null (Strength=Example)MeasureReportStratifierValueE...?? »StratifierGroupPopulationThe population from the Measure that corresponds to this population in the MeasureReport resourcelinkId : string [0..1]The type of the populationcode : CodeableConcept [0..1] « null (Strength=Extensible)MeasurePopulationType+ »The number of members of the population in this stratumcount : integer [0..1]This element refers to a List of individual level MeasureReport resources, one for each subject in this population in this stratumsubjectResults : Reference [0..1] « List »A reference to an individual level MeasureReport resource for a member of the populationsubjectReport : Reference [0..*] « MeasureReport »Optional Group identifying the individuals that make up the populationsubjects : Reference [0..1] « Group »The populations that make up the population group, one for each type of population appropriate for the measurepopulation[0..*]A stratifier component valuecomponent[0..*]The populations that make up the stratum, one for each type of population appropriate to the measurepopulation[0..*]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 valuestratum[0..*]When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measurestratifier[0..*]The results of the calculation, one for each population group in the measuregroup[0..*]

XML Template

<MeasureReport xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Additional identifier for the MeasureReport --></identifier>
 <status value="[code]"/><!-- 1..1 complete | pending | error -->
 <type value="[code]"/><!-- I 1..1 individual | subject-list | summary | data-exchange -->
 <dataUpdateType value="[code]"/><!-- 0..1 incremental | snapshot -->
 <measure><!-- 0..1 canonical(Measure) What measure was calculated --></measure>
 <subject><!-- 0..1 Reference(CareTeam|Device|Group|HealthcareService|Location|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) What individual(s) the report is for --></subject>
 <date value="[dateTime]"/><!-- 0..1 When the measure was calculated -->
 <reporter><!-- 0..1 Reference(Group|Organization|Practitioner|PractitionerRole) Who is reporting the data --></reporter>
 <reportingVendor><!-- 0..1 Reference(Organization) What vendor prepared the data --></reportingVendor>
 <location><!-- 0..1 Reference(Location) Where the reported data is from --></location>
 <period><!-- 1..1 Period What period the report covers --></period>
 <inputParameters><!-- 0..1 Reference(Parameters) What parameters were provided to the report --></inputParameters>
 <scoring><!-- 0..1 CodeableConcept What scoring method (e.g. proportion, ratio, continuous-variable) icon --></scoring>
 <improvementNotation><!-- 0..1 CodeableConcept increase | decrease --></improvementNotation>
 <group>  <!-- I 0..* Measure results for each group -->
  <linkId value="[string]"/><!-- 0..1 Pointer to specific group from Measure -->
  <code><!-- 0..1 CodeableConcept Meaning of the group --></code>
  <subject><!-- 0..1 Reference(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) What individual(s) the report is for --></subject>
  <population>  <!-- 0..* The populations in the group -->
   <linkId value="[string]"/><!-- 0..1 Pointer to specific population from Measure -->
   <code><!-- 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation --></code>
   <count value="[integer]"/><!-- 0..1 Size of the population -->
   <subjectResults><!-- 0..1 Reference(List) For subject-list reports, the subject results in this population --></subjectResults>
   <subjectReport><!-- 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population --></subjectReport>
   <subjects><!-- 0..1 Reference(Group) What individual(s) in the population --></subjects>
  </population>
  <measureScore[x]><!-- 0..1 Quantity|dateTime|CodeableConcept|Period|Range|
    Duration What score this group achieved --></measureScore[x]>
  <stratifier>  <!-- I 0..* Stratification results -->
   <linkId value="[string]"/><!-- 0..1 Pointer to specific stratifier from Measure -->
   <code><!-- 0..1 CodeableConcept What stratifier of the group --></code>
   <stratum>  <!-- I 0..* Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components -->
    <value[x]><!-- I 0..1 CodeableConcept|boolean|Quantity|Range|Reference The stratum value, e.g. male --></value[x]>
    <component>  <!-- I 0..* Stratifier component values -->
     <linkId value="[string]"/><!-- 0..1 Pointer to specific stratifier component from Measure -->
     <code><!-- 1..1 CodeableConcept What stratifier component of the group --></code>
     <value[x]><!-- 1..1 CodeableConcept|boolean|Quantity|Range|Reference The stratum component value, e.g. male --></value[x]>
    </component>
    <population>  <!-- 0..* Population results in this stratum -->
     <linkId value="[string]"/><!-- 0..1 Pointer to specific population from Measure -->
     <code><!-- 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation --></code>
     <count value="[integer]"/><!-- 0..1 Size of the population -->
     <subjectResults><!-- 0..1 Reference(List) For subject-list reports, the subject results in this population --></subjectResults>
     <subjectReport><!-- 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population --></subjectReport>
     <subjects><!-- 0..1 Reference(Group) What individual(s) in the population --></subjects>
    </population>
    <measureScore[x]><!-- 0..1 Quantity|dateTime|CodeableConcept|Period|Range|
      Duration What score this stratum achieved --></measureScore[x]>
   </stratum>
  </stratifier>
 </group>
 <supplementalData><!-- 0..* Reference(Any) Additional information collected for the report --></supplementalData>
 <evaluatedResource><!-- 0..* Reference(Any) What data was used to calculate the measure score --></evaluatedResource>
</MeasureReport>

JSON Template

{doco
  "resourceType" : "MeasureReport",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Additional identifier for the MeasureReport
  "status" : "<code>", // R!  complete | pending | error
  "type" : "<code>", // I R!  individual | subject-list | summary | data-exchange
  "dataUpdateType" : "<code>", // incremental | snapshot
  "measure" : "<canonical(Measure)>", // What measure was calculated
  "subject" : { Reference(CareTeam|Device|Group|HealthcareService|Location|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // What individual(s) the report is for
  "date" : "<dateTime>", // When the measure was calculated
  "reporter" : { Reference(Group|Organization|Practitioner|PractitionerRole) }, // Who is reporting the data
  "reportingVendor" : { Reference(Organization) }, // What vendor prepared the data
  "location" : { Reference(Location) }, // Where the reported data is from
  "period" : { Period }, // R!  What period the report covers
  "inputParameters" : { Reference(Parameters) }, // What parameters were provided to the report
  "scoring" : { CodeableConcept }, // What scoring method (e.g. proportion, ratio, continuous-variable) icon
  "improvementNotation" : { CodeableConcept }, // increase | decrease
  "group" : [{ // I Measure results for each group
    "linkId" : "<string>", // Pointer to specific group from Measure
    "code" : { CodeableConcept }, // Meaning of the group
    "subject" : { Reference(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // What individual(s) the report is for
    "population" : [{ // The populations in the group
      "linkId" : "<string>", // Pointer to specific population from Measure
      "code" : { CodeableConcept }, // initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
      "count" : <integer>, // Size of the population
      "subjectResults" : { Reference(List) }, // For subject-list reports, the subject results in this population
      "subjectReport" : [{ Reference(MeasureReport) }], // For subject-list reports, a subject result in this population
      "subjects" : { Reference(Group) } // What individual(s) in the population
    }],
    // measureScore[x]: What score this group achieved. One of these 6:
    "measureScoreQuantity" : { Quantity },
    "measureScoreDateTime" : "<dateTime>",
    "measureScoreCodeableConcept" : { CodeableConcept },
    "measureScorePeriod" : { Period },
    "measureScoreRange" : { Range },
    "measureScoreDuration" : { Duration },
    "stratifier" : [{ // I Stratification results
      "linkId" : "<string>", // Pointer to specific stratifier from Measure
      "code" : { CodeableConcept }, // What stratifier of the group
      "stratum" : [{ // I Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        // value[x]: The stratum value, e.g. male. One of these 5:
        "valueCodeableConcept" : { CodeableConcept },
        "valueBoolean" : <boolean>,
        "valueQuantity" : { Quantity },
        "valueRange" : { Range },
        "valueReference" : { Reference },
        "component" : [{ // I Stratifier component values
          "linkId" : "<string>", // Pointer to specific stratifier component from Measure
          "code" : { CodeableConcept }, // R!  What stratifier component of the group
          // value[x]: The stratum component value, e.g. male. One of these 5:
          "valueCodeableConcept" : { CodeableConcept },
          "valueBoolean" : <boolean>,
          "valueQuantity" : { Quantity },
          "valueRange" : { Range },
          "valueReference" : { Reference }
        }],
        "population" : [{ // Population results in this stratum
          "linkId" : "<string>", // Pointer to specific population from Measure
          "code" : { CodeableConcept }, // initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
          "count" : <integer>, // Size of the population
          "subjectResults" : { Reference(List) }, // For subject-list reports, the subject results in this population
          "subjectReport" : [{ Reference(MeasureReport) }], // For subject-list reports, a subject result in this population
          "subjects" : { Reference(Group) } // What individual(s) in the population
        }],
        // measureScore[x]: What score this stratum achieved. One of these 6:
        "measureScoreQuantity" : { Quantity },
        "measureScoreDateTime" : "<dateTime>",
        "measureScoreCodeableConcept" : { CodeableConcept },
        "measureScorePeriod" : { Period },
        "measureScoreRange" : { Range },
        "measureScoreDuration" : { Duration }
      }]
    }]
  }],
  "supplementalData" : [{ Reference(Any) }], // Additional information collected for the report
  "evaluatedResource" : [{ Reference(Any) }] // What data was used to calculate the measure score
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:MeasureReport;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Additional identifier for the MeasureReport
  fhir:status [ code ] ; # 1..1 complete | pending | error
  fhir:type [ code ] ; # 1..1 I individual | subject-list | summary | data-exchange
  fhir:dataUpdateType [ code ] ; # 0..1 incremental | snapshot
  fhir:measure [ canonical(Measure) ] ; # 0..1 What measure was calculated
  fhir:subject [ Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 What individual(s) the report is for
  fhir:date [ dateTime ] ; # 0..1 When the measure was calculated
  fhir:reporter [ Reference(Group|Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who is reporting the data
  fhir:reportingVendor [ Reference(Organization) ] ; # 0..1 What vendor prepared the data
  fhir:location [ Reference(Location) ] ; # 0..1 Where the reported data is from
  fhir:period [ Period ] ; # 1..1 What period the report covers
  fhir:inputParameters [ Reference(Parameters) ] ; # 0..1 What parameters were provided to the report
  fhir:scoring [ CodeableConcept ] ; # 0..1 What scoring method (e.g. proportion, ratio, continuous-variable)
  fhir:improvementNotation [ CodeableConcept ] ; # 0..1 increase | decrease
  fhir:group ( [ # 0..* I Measure results for each group
    fhir:linkId [ string ] ; # 0..1 Pointer to specific group from Measure
    fhir:code [ CodeableConcept ] ; # 0..1 Meaning of the group
    fhir:subject [ Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 What individual(s) the report is for
    fhir:population ( [ # 0..* The populations in the group
      fhir:linkId [ string ] ; # 0..1 Pointer to specific population from Measure
      fhir:code [ CodeableConcept ] ; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
      fhir:count [ integer ] ; # 0..1 Size of the population
      fhir:subjectResults [ Reference(List) ] ; # 0..1 For subject-list reports, the subject results in this population
      fhir:subjectReport  ( [ Reference(MeasureReport) ] ... ) ; # 0..* For subject-list reports, a subject result in this population
      fhir:subjects [ Reference(Group) ] ; # 0..1 What individual(s) in the population
    ] ... ) ;
    # measureScore[x] : 0..1 What score this group achieved. One of these 6
      fhir:measureScore [  a fhir:Quantity ; Quantity ]
      fhir:measureScore [  a fhir:dateTime ; dateTime ]
      fhir:measureScore [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:measureScore [  a fhir:Period ; Period ]
      fhir:measureScore [  a fhir:Range ; Range ]
      fhir:measureScore [  a fhir:Duration ; Duration ]
    fhir:stratifier ( [ # 0..* I Stratification results
      fhir:linkId [ string ] ; # 0..1 Pointer to specific stratifier from Measure
      fhir:code [ CodeableConcept ] ; # 0..1 What stratifier of the group
      fhir:stratum ( [ # 0..* I Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        # value[x] : 0..1 I The stratum value, e.g. male. One of these 5
          fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
          fhir:value [  a fhir:boolean ; boolean ]
          fhir:value [  a fhir:Quantity ; Quantity ]
          fhir:value [  a fhir:Range ; Range ]
          fhir:value [  a fhir:Reference ; Reference ]
        fhir:component ( [ # 0..* I Stratifier component values
          fhir:linkId [ string ] ; # 0..1 Pointer to specific stratifier component from Measure
          fhir:code [ CodeableConcept ] ; # 1..1 What stratifier component of the group
          # value[x] : 1..1 The stratum component value, e.g. male. One of these 5
            fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
            fhir:value [  a fhir:boolean ; boolean ]
            fhir:value [  a fhir:Quantity ; Quantity ]
            fhir:value [  a fhir:Range ; Range ]
            fhir:value [  a fhir:Reference ; Reference ]
        ] ... ) ;
        fhir:population ( [ # 0..* Population results in this stratum
          fhir:linkId [ string ] ; # 0..1 Pointer to specific population from Measure
          fhir:code [ CodeableConcept ] ; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
          fhir:count [ integer ] ; # 0..1 Size of the population
          fhir:subjectResults [ Reference(List) ] ; # 0..1 For subject-list reports, the subject results in this population
          fhir:subjectReport  ( [ Reference(MeasureReport) ] ... ) ; # 0..* For subject-list reports, a subject result in this population
          fhir:subjects [ Reference(Group) ] ; # 0..1 What individual(s) in the population
        ] ... ) ;
        # measureScore[x] : 0..1 What score this stratum achieved. One of these 6
          fhir:measureScore [  a fhir:Quantity ; Quantity ]
          fhir:measureScore [  a fhir:dateTime ; dateTime ]
          fhir:measureScore [  a fhir:CodeableConcept ; CodeableConcept ]
          fhir:measureScore [  a fhir:Period ; Period ]
          fhir:measureScore [  a fhir:Range ; Range ]
          fhir:measureScore [  a fhir:Duration ; Duration ]
      ] ... ) ;
    ] ... ) ;
  ] ... ) ;
  fhir:supplementalData  ( [ Reference(Any) ] ... ) ; # 0..* Additional information collected for the report
  fhir:evaluatedResource  ( [ Reference(Any) ] ... ) ; # 0..* What data was used to calculate the measure score
]

Changes from both R4 and R4B

MeasureReport
MeasureReport.type
  • Remove code data-collection
  • Add code data-exchange
MeasureReport.dataUpdateType
  • Added Element
MeasureReport.measure
  • Min Cardinality changed from 1 to 0
MeasureReport.subject
  • Type Reference: Added Target Types CareTeam, HealthcareService, Organization
MeasureReport.reporter
  • Type Reference: Added Target Type Group
  • Type Reference: Removed Target Type Location
MeasureReport.reportingVendor
  • Added Element
MeasureReport.location
  • Added Element
MeasureReport.inputParameters
  • Added Element
MeasureReport.scoring
  • Added Element
MeasureReport.group.linkId
  • Added Element
MeasureReport.group.subject
  • Added Element
MeasureReport.group.population.linkId
  • Added Element
MeasureReport.group.population.subjectReport
  • Added Element
MeasureReport.group.population.subjects
  • Added Element
MeasureReport.group.measureScore[x]
  • Renamed from measureScore to measureScore[x]
  • Add Types dateTime, CodeableConcept, Period, Range, Duration
MeasureReport.group.stratifier.linkId
  • Added Element
MeasureReport.group.stratifier.code
  • Max Cardinality changed from * to 1
MeasureReport.group.stratifier.stratum.value[x]
  • Renamed from value to value[x]
  • Add Types boolean, Quantity, Range, Reference
MeasureReport.group.stratifier.stratum.component.linkId
  • Added Element
MeasureReport.group.stratifier.stratum.component.value[x]
  • Renamed from value to value[x]
  • Add Types boolean, Quantity, Range, Reference
MeasureReport.group.stratifier.stratum.population.linkId
  • Added Element
MeasureReport.group.stratifier.stratum.population.subjectReport
  • Added Element
MeasureReport.group.stratifier.stratum.population.subjects
  • Added Element
MeasureReport.group.stratifier.stratum.measureScore[x]
  • Renamed from measureScore to measureScore[x]
  • Add Types dateTime, CodeableConcept, Period, Range, Duration
MeasureReport.supplementalData
  • Added Element

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MeasureReport TU DomainResource Results of a measure evaluation
+ Rule: Measure Reports used for data collection SHALL NOT communicate group and score information
+ Rule: Stratifiers SHALL be either a single criteria or a set of criteria components

Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... identifier Σ 0..* Identifier Additional identifier for the MeasureReport

... status ?!Σ 1..1 code complete | pending | error
Binding: Measure Report Status (Required)
... type ΣC 1..1 code individual | subject-list | summary | data-exchange
Binding: Measure Report Type (Required)
... measure Σ 0..1 canonical(Measure) What measure was calculated
... subject Σ 0..1 Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) What individual(s) the report is for
... date Σ 0..1 dateTime When the measure was calculated
... reporter Σ 0..1 Reference(Practitioner | PractitionerRole | Organization | Group) Who is reporting the data
... reportingVendor 0..1 Reference(Organization) What vendor prepared the data
... location 0..1 Reference(Location) Where the reported data is from
... period Σ 1..1 Period What period the report covers
... inputParameters 0..1 Reference(Parameters) What parameters were provided to the report
... scoring ?!Σ 0..1 CodeableConcept What scoring method (e.g. proportion, ratio, continuous-variable)
Binding: Measure Scoring icon (Extensible)
... improvementNotation ?!Σ 0..1 CodeableConcept increase | decrease
Binding: Measure Improvement Notation (Required)
... group C 0..* BackboneElement Measure results for each group

.... linkId 0..1 string Pointer to specific group from Measure
.... code Σ 0..1 CodeableConcept Meaning of the group
Binding: Measure Group Example (Example)
.... subject Σ 0..1 Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson) What individual(s) the report is for
.... population 0..* BackboneElement The populations in the group

..... linkId 0..1 string Pointer to specific population from Measure
..... code Σ 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
..... count 0..1 integer Size of the population
..... subjectResults 0..1 Reference(List) For subject-list reports, the subject results in this population
..... subjectReport 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population

..... subjects 0..1 Reference(Group) What individual(s) in the population
.... measureScore[x] Σ 0..1 What score this group achieved
..... measureScoreQuantity Quantity
..... measureScoreDateTime dateTime
..... measureScoreCodeableConcept CodeableConcept
..... measureScorePeriod Period
..... measureScoreRange Range
..... measureScoreDuration Duration
.... stratifier C 0..* BackboneElement Stratification results

..... linkId 0..1 string Pointer to specific stratifier from Measure
..... code 0..1 CodeableConcept What stratifier of the group
Binding: Measure Stratifier Example (Example)
..... stratum C 0..* BackboneElement Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components

...... value[x] C 0..1 The stratum value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
....... valueCodeableConcept CodeableConcept
....... valueBoolean boolean
....... valueQuantity Quantity
....... valueRange Range
....... valueReference Reference()
...... component C 0..* BackboneElement Stratifier component values

....... linkId 0..1 string Pointer to specific stratifier component from Measure
....... code 1..1 CodeableConcept What stratifier component of the group
Binding: Measure Stratifier Example (Example)
....... value[x] 1..1 The stratum component value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
........ valueCodeableConcept CodeableConcept
........ valueBoolean boolean
........ valueQuantity Quantity
........ valueRange Range
........ valueReference Reference()
...... population 0..* BackboneElement Population results in this stratum

....... linkId 0..1 string Pointer to specific population from Measure
....... code 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
....... count 0..1 integer Size of the population
....... subjectResults 0..1 Reference(List) For subject-list reports, the subject results in this population
....... subjectReport 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population

....... subjects 0..1 Reference(Group) What individual(s) in the population
...... measureScore[x] 0..1 What score this stratum achieved
....... measureScoreQuantity Quantity
....... measureScoreDateTime dateTime
....... measureScoreCodeableConcept CodeableConcept
....... measureScorePeriod Period
....... measureScoreRange Range
....... measureScoreDuration Duration
... supplementalData 0..* Reference(Any) Additional information collected for the report

... evaluatedResource 0..* Reference(Any) What data was used to calculate the measure score


doco Documentation for this format icon

See the Extensions for this resource

UML Diagram (Legend)

MeasureReport (DomainResource)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 instanceidentifier : Identifier [0..*]The MeasureReport status. No data will be available until the MeasureReport status is complete (this element modifies the meaning of other elements)status : code [1..1] « The status of the measure report. (Strength=Required)MeasureReportStatus! »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 measuretype : code [1..1] « The type of the measure report. (Strength=Required)MeasureReportType! » « This element has or is affected by some invariantsC »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 (this element modifies the meaning of other elements)dataUpdateType : code [0..1] « null (Strength=Required)SubmitDataUpdateType! »A reference to the Measure that was calculated to produce this reportmeasure : canonical [0..1] « Measure »Optional subject identifying the individual or individuals the report is forsubject : Reference [0..1] « CareTeam|Device|Group|HealthcareService| Location|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson »The date this measure was calculateddate : dateTime [0..1]The individual or organization that is reporting the datareporter : Reference [0..1] « Practitioner|PractitionerRole| Organization|Group »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 reportreportingVendor : Reference [0..1] « Organization »A reference to the location for which the data is being reportedlocation : Reference [0..1] « Location »The reporting period for which the report was calculatedperiod : Period [1..1]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 reportinputParameters : Reference [0..1] « Parameters »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 (this element modifies the meaning of other elements)scoring : CodeableConcept [0..1] « null (Strength=Extensible)MeasureScoring+ »Whether improvement in the measure is noted by an increase or decrease in the measure score (this element modifies the meaning of other elements)improvementNotation : CodeableConcept [0..1] « Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue. (Strength=Required) MeasureImprovementNotation! »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 resourcesupplementalData : Reference [0..*] « Any »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 boundedevaluatedResource : Reference [0..*] « Any »GroupThe group from the Measure that corresponds to this group in the MeasureReport resourcelinkId : string [0..1]The meaning of the population group as defined in the measure definitioncode : CodeableConcept [0..1] « null (Strength=Example)MeasureGroupExample?? »Optional subject identifying the individual or individuals the report is forsubject : Reference [0..1] « CareTeam|Device|Group|HealthcareService| Location|Organization|Patient|Practitioner|PractitionerRole| RelatedPerson »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 groupmeasureScore[x] : DataType [0..1] « Quantity|dateTime| CodeableConcept|Period|Range|Duration »PopulationThe population from the Measure that corresponds to this population in the MeasureReport resourcelinkId : string [0..1]The type of the populationcode : CodeableConcept [0..1] « null (Strength=Extensible)MeasurePopulationType+ »The number of members of the populationcount : integer [0..1]This element refers to a List of individual level MeasureReport resources, one for each subject in this populationsubjectResults : Reference [0..1] « List »A reference to an individual level MeasureReport resource for a member of the populationsubjectReport : Reference [0..*] « MeasureReport »Optional Group identifying the individuals that make up the populationsubjects : Reference [0..1] « Group »StratifierThe stratifier from the Measure that corresponds to this stratifier in the MeasureReport resourcelinkId : string [0..1]The meaning of this stratifier, as defined in the measure definitioncode : CodeableConcept [0..1] « null (Strength=Example)MeasureStratifierExample?? »StratifierGroupThe 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 uniquevalue[x] : DataType [0..1] « CodeableConcept|boolean|Quantity|Range| Reference; null (Strength=Example)MeasureReportStratifierValueE...?? » « This element has or is affected by some invariantsC »The measure score for this stratum, calculated as appropriate for the measure type and scoring method, and based on only the members of this stratummeasureScore[x] : DataType [0..1] « Quantity|dateTime| CodeableConcept|Period|Range|Duration »ComponentThe stratifier component from the Measure that corresponds to this stratifier component in the MeasureReport resourcelinkId : string [0..1]The code for the stratum component valuecode : CodeableConcept [1..1] « null (Strength=Example)MeasureStratifierExample?? »The stratum component valuevalue[x] : DataType [1..1] « CodeableConcept|boolean|Quantity|Range| Reference; null (Strength=Example)MeasureReportStratifierValueE...?? »StratifierGroupPopulationThe population from the Measure that corresponds to this population in the MeasureReport resourcelinkId : string [0..1]The type of the populationcode : CodeableConcept [0..1] « null (Strength=Extensible)MeasurePopulationType+ »The number of members of the population in this stratumcount : integer [0..1]This element refers to a List of individual level MeasureReport resources, one for each subject in this population in this stratumsubjectResults : Reference [0..1] « List »A reference to an individual level MeasureReport resource for a member of the populationsubjectReport : Reference [0..*] « MeasureReport »Optional Group identifying the individuals that make up the populationsubjects : Reference [0..1] « Group »The populations that make up the population group, one for each type of population appropriate for the measurepopulation[0..*]A stratifier component valuecomponent[0..*]The populations that make up the stratum, one for each type of population appropriate to the measurepopulation[0..*]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 valuestratum[0..*]When a measure includes multiple stratifiers, there will be a stratifier group for each stratifier defined by the measurestratifier[0..*]The results of the calculation, one for each population group in the measuregroup[0..*]

XML Template

<MeasureReport xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <identifier><!-- 0..* Identifier Additional identifier for the MeasureReport --></identifier>
 <status value="[code]"/><!-- 1..1 complete | pending | error -->
 <type value="[code]"/><!-- I 1..1 individual | subject-list | summary | data-exchange -->
 <dataUpdateType value="[code]"/><!-- 0..1 incremental | snapshot -->
 <measure><!-- 0..1 canonical(Measure) What measure was calculated --></measure>
 <subject><!-- 0..1 Reference(CareTeam|Device|Group|HealthcareService|Location|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) What individual(s) the report is for --></subject>
 <date value="[dateTime]"/><!-- 0..1 When the measure was calculated -->
 <reporter><!-- 0..1 Reference(Group|Organization|Practitioner|PractitionerRole) Who is reporting the data --></reporter>
 <reportingVendor><!-- 0..1 Reference(Organization) What vendor prepared the data --></reportingVendor>
 <location><!-- 0..1 Reference(Location) Where the reported data is from --></location>
 <period><!-- 1..1 Period What period the report covers --></period>
 <inputParameters><!-- 0..1 Reference(Parameters) What parameters were provided to the report --></inputParameters>
 <scoring><!-- 0..1 CodeableConcept What scoring method (e.g. proportion, ratio, continuous-variable) icon --></scoring>
 <improvementNotation><!-- 0..1 CodeableConcept increase | decrease --></improvementNotation>
 <group>  <!-- I 0..* Measure results for each group -->
  <linkId value="[string]"/><!-- 0..1 Pointer to specific group from Measure -->
  <code><!-- 0..1 CodeableConcept Meaning of the group --></code>
  <subject><!-- 0..1 Reference(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) What individual(s) the report is for --></subject>
  <population>  <!-- 0..* The populations in the group -->
   <linkId value="[string]"/><!-- 0..1 Pointer to specific population from Measure -->
   <code><!-- 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation --></code>
   <count value="[integer]"/><!-- 0..1 Size of the population -->
   <subjectResults><!-- 0..1 Reference(List) For subject-list reports, the subject results in this population --></subjectResults>
   <subjectReport><!-- 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population --></subjectReport>
   <subjects><!-- 0..1 Reference(Group) What individual(s) in the population --></subjects>
  </population>
  <measureScore[x]><!-- 0..1 Quantity|dateTime|CodeableConcept|Period|Range|
    Duration What score this group achieved --></measureScore[x]>
  <stratifier>  <!-- I 0..* Stratification results -->
   <linkId value="[string]"/><!-- 0..1 Pointer to specific stratifier from Measure -->
   <code><!-- 0..1 CodeableConcept What stratifier of the group --></code>
   <stratum>  <!-- I 0..* Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components -->
    <value[x]><!-- I 0..1 CodeableConcept|boolean|Quantity|Range|Reference The stratum value, e.g. male --></value[x]>
    <component>  <!-- I 0..* Stratifier component values -->
     <linkId value="[string]"/><!-- 0..1 Pointer to specific stratifier component from Measure -->
     <code><!-- 1..1 CodeableConcept What stratifier component of the group --></code>
     <value[x]><!-- 1..1 CodeableConcept|boolean|Quantity|Range|Reference The stratum component value, e.g. male --></value[x]>
    </component>
    <population>  <!-- 0..* Population results in this stratum -->
     <linkId value="[string]"/><!-- 0..1 Pointer to specific population from Measure -->
     <code><!-- 0..1 CodeableConcept initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation --></code>
     <count value="[integer]"/><!-- 0..1 Size of the population -->
     <subjectResults><!-- 0..1 Reference(List) For subject-list reports, the subject results in this population --></subjectResults>
     <subjectReport><!-- 0..* Reference(MeasureReport) For subject-list reports, a subject result in this population --></subjectReport>
     <subjects><!-- 0..1 Reference(Group) What individual(s) in the population --></subjects>
    </population>
    <measureScore[x]><!-- 0..1 Quantity|dateTime|CodeableConcept|Period|Range|
      Duration What score this stratum achieved --></measureScore[x]>
   </stratum>
  </stratifier>
 </group>
 <supplementalData><!-- 0..* Reference(Any) Additional information collected for the report --></supplementalData>
 <evaluatedResource><!-- 0..* Reference(Any) What data was used to calculate the measure score --></evaluatedResource>
</MeasureReport>

JSON Template

{doco
  "resourceType" : "MeasureReport",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "identifier" : [{ Identifier }], // Additional identifier for the MeasureReport
  "status" : "<code>", // R!  complete | pending | error
  "type" : "<code>", // I R!  individual | subject-list | summary | data-exchange
  "dataUpdateType" : "<code>", // incremental | snapshot
  "measure" : "<canonical(Measure)>", // What measure was calculated
  "subject" : { Reference(CareTeam|Device|Group|HealthcareService|Location|
   Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // What individual(s) the report is for
  "date" : "<dateTime>", // When the measure was calculated
  "reporter" : { Reference(Group|Organization|Practitioner|PractitionerRole) }, // Who is reporting the data
  "reportingVendor" : { Reference(Organization) }, // What vendor prepared the data
  "location" : { Reference(Location) }, // Where the reported data is from
  "period" : { Period }, // R!  What period the report covers
  "inputParameters" : { Reference(Parameters) }, // What parameters were provided to the report
  "scoring" : { CodeableConcept }, // What scoring method (e.g. proportion, ratio, continuous-variable) icon
  "improvementNotation" : { CodeableConcept }, // increase | decrease
  "group" : [{ // I Measure results for each group
    "linkId" : "<string>", // Pointer to specific group from Measure
    "code" : { CodeableConcept }, // Meaning of the group
    "subject" : { Reference(CareTeam|Device|Group|HealthcareService|Location|
    Organization|Patient|Practitioner|PractitionerRole|RelatedPerson) }, // What individual(s) the report is for
    "population" : [{ // The populations in the group
      "linkId" : "<string>", // Pointer to specific population from Measure
      "code" : { CodeableConcept }, // initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
      "count" : <integer>, // Size of the population
      "subjectResults" : { Reference(List) }, // For subject-list reports, the subject results in this population
      "subjectReport" : [{ Reference(MeasureReport) }], // For subject-list reports, a subject result in this population
      "subjects" : { Reference(Group) } // What individual(s) in the population
    }],
    // measureScore[x]: What score this group achieved. One of these 6:
    "measureScoreQuantity" : { Quantity },
    "measureScoreDateTime" : "<dateTime>",
    "measureScoreCodeableConcept" : { CodeableConcept },
    "measureScorePeriod" : { Period },
    "measureScoreRange" : { Range },
    "measureScoreDuration" : { Duration },
    "stratifier" : [{ // I Stratification results
      "linkId" : "<string>", // Pointer to specific stratifier from Measure
      "code" : { CodeableConcept }, // What stratifier of the group
      "stratum" : [{ // I Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        // value[x]: The stratum value, e.g. male. One of these 5:
        "valueCodeableConcept" : { CodeableConcept },
        "valueBoolean" : <boolean>,
        "valueQuantity" : { Quantity },
        "valueRange" : { Range },
        "valueReference" : { Reference },
        "component" : [{ // I Stratifier component values
          "linkId" : "<string>", // Pointer to specific stratifier component from Measure
          "code" : { CodeableConcept }, // R!  What stratifier component of the group
          // value[x]: The stratum component value, e.g. male. One of these 5:
          "valueCodeableConcept" : { CodeableConcept },
          "valueBoolean" : <boolean>,
          "valueQuantity" : { Quantity },
          "valueRange" : { Range },
          "valueReference" : { Reference }
        }],
        "population" : [{ // Population results in this stratum
          "linkId" : "<string>", // Pointer to specific population from Measure
          "code" : { CodeableConcept }, // initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
          "count" : <integer>, // Size of the population
          "subjectResults" : { Reference(List) }, // For subject-list reports, the subject results in this population
          "subjectReport" : [{ Reference(MeasureReport) }], // For subject-list reports, a subject result in this population
          "subjects" : { Reference(Group) } // What individual(s) in the population
        }],
        // measureScore[x]: What score this stratum achieved. One of these 6:
        "measureScoreQuantity" : { Quantity },
        "measureScoreDateTime" : "<dateTime>",
        "measureScoreCodeableConcept" : { CodeableConcept },
        "measureScorePeriod" : { Period },
        "measureScoreRange" : { Range },
        "measureScoreDuration" : { Duration }
      }]
    }]
  }],
  "supplementalData" : [{ Reference(Any) }], // Additional information collected for the report
  "evaluatedResource" : [{ Reference(Any) }] // What data was used to calculate the measure score
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:MeasureReport;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:identifier  ( [ Identifier ] ... ) ; # 0..* Additional identifier for the MeasureReport
  fhir:status [ code ] ; # 1..1 complete | pending | error
  fhir:type [ code ] ; # 1..1 I individual | subject-list | summary | data-exchange
  fhir:dataUpdateType [ code ] ; # 0..1 incremental | snapshot
  fhir:measure [ canonical(Measure) ] ; # 0..1 What measure was calculated
  fhir:subject [ Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 What individual(s) the report is for
  fhir:date [ dateTime ] ; # 0..1 When the measure was calculated
  fhir:reporter [ Reference(Group|Organization|Practitioner|PractitionerRole) ] ; # 0..1 Who is reporting the data
  fhir:reportingVendor [ Reference(Organization) ] ; # 0..1 What vendor prepared the data
  fhir:location [ Reference(Location) ] ; # 0..1 Where the reported data is from
  fhir:period [ Period ] ; # 1..1 What period the report covers
  fhir:inputParameters [ Reference(Parameters) ] ; # 0..1 What parameters were provided to the report
  fhir:scoring [ CodeableConcept ] ; # 0..1 What scoring method (e.g. proportion, ratio, continuous-variable)
  fhir:improvementNotation [ CodeableConcept ] ; # 0..1 increase | decrease
  fhir:group ( [ # 0..* I Measure results for each group
    fhir:linkId [ string ] ; # 0..1 Pointer to specific group from Measure
    fhir:code [ CodeableConcept ] ; # 0..1 Meaning of the group
    fhir:subject [ Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|
  Practitioner|PractitionerRole|RelatedPerson) ] ; # 0..1 What individual(s) the report is for
    fhir:population ( [ # 0..* The populations in the group
      fhir:linkId [ string ] ; # 0..1 Pointer to specific population from Measure
      fhir:code [ CodeableConcept ] ; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
      fhir:count [ integer ] ; # 0..1 Size of the population
      fhir:subjectResults [ Reference(List) ] ; # 0..1 For subject-list reports, the subject results in this population
      fhir:subjectReport  ( [ Reference(MeasureReport) ] ... ) ; # 0..* For subject-list reports, a subject result in this population
      fhir:subjects [ Reference(Group) ] ; # 0..1 What individual(s) in the population
    ] ... ) ;
    # measureScore[x] : 0..1 What score this group achieved. One of these 6
      fhir:measureScore [  a fhir:Quantity ; Quantity ]
      fhir:measureScore [  a fhir:dateTime ; dateTime ]
      fhir:measureScore [  a fhir:CodeableConcept ; CodeableConcept ]
      fhir:measureScore [  a fhir:Period ; Period ]
      fhir:measureScore [  a fhir:Range ; Range ]
      fhir:measureScore [  a fhir:Duration ; Duration ]
    fhir:stratifier ( [ # 0..* I Stratification results
      fhir:linkId [ string ] ; # 0..1 Pointer to specific stratifier from Measure
      fhir:code [ CodeableConcept ] ; # 0..1 What stratifier of the group
      fhir:stratum ( [ # 0..* I Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        # value[x] : 0..1 I The stratum value, e.g. male. One of these 5
          fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
          fhir:value [  a fhir:boolean ; boolean ]
          fhir:value [  a fhir:Quantity ; Quantity ]
          fhir:value [  a fhir:Range ; Range ]
          fhir:value [  a fhir:Reference ; Reference ]
        fhir:component ( [ # 0..* I Stratifier component values
          fhir:linkId [ string ] ; # 0..1 Pointer to specific stratifier component from Measure
          fhir:code [ CodeableConcept ] ; # 1..1 What stratifier component of the group
          # value[x] : 1..1 The stratum component value, e.g. male. One of these 5
            fhir:value [  a fhir:CodeableConcept ; CodeableConcept ]
            fhir:value [  a fhir:boolean ; boolean ]
            fhir:value [  a fhir:Quantity ; Quantity ]
            fhir:value [  a fhir:Range ; Range ]
            fhir:value [  a fhir:Reference ; Reference ]
        ] ... ) ;
        fhir:population ( [ # 0..* Population results in this stratum
          fhir:linkId [ string ] ; # 0..1 Pointer to specific population from Measure
          fhir:code [ CodeableConcept ] ; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
          fhir:count [ integer ] ; # 0..1 Size of the population
          fhir:subjectResults [ Reference(List) ] ; # 0..1 For subject-list reports, the subject results in this population
          fhir:subjectReport  ( [ Reference(MeasureReport) ] ... ) ; # 0..* For subject-list reports, a subject result in this population
          fhir:subjects [ Reference(Group) ] ; # 0..1 What individual(s) in the population
        ] ... ) ;
        # measureScore[x] : 0..1 What score this stratum achieved. One of these 6
          fhir:measureScore [  a fhir:Quantity ; Quantity ]
          fhir:measureScore [  a fhir:dateTime ; dateTime ]
          fhir:measureScore [  a fhir:CodeableConcept ; CodeableConcept ]
          fhir:measureScore [  a fhir:Period ; Period ]
          fhir:measureScore [  a fhir:Range ; Range ]
          fhir:measureScore [  a fhir:Duration ; Duration ]
      ] ... ) ;
    ] ... ) ;
  ] ... ) ;
  fhir:supplementalData  ( [ Reference(Any) ] ... ) ; # 0..* Additional information collected for the report
  fhir:evaluatedResource  ( [ Reference(Any) ] ... ) ; # 0..* What data was used to calculate the measure score
]

Changes from both R4 and R4B

MeasureReport
MeasureReport.type
  • Remove code data-collection
  • Add code data-exchange
MeasureReport.dataUpdateType
  • Added Element
MeasureReport.measure
  • Min Cardinality changed from 1 to 0
MeasureReport.subject
  • Type Reference: Added Target Types CareTeam, HealthcareService, Organization
MeasureReport.reporter
  • Type Reference: Added Target Type Group
  • Type Reference: Removed Target Type Location
MeasureReport.reportingVendor
  • Added Element
MeasureReport.location
  • Added Element
MeasureReport.inputParameters
  • Added Element
MeasureReport.scoring
  • Added Element
MeasureReport.group.linkId
  • Added Element
MeasureReport.group.subject
  • Added Element
MeasureReport.group.population.linkId
  • Added Element
MeasureReport.group.population.subjectReport
  • Added Element
MeasureReport.group.population.subjects
  • Added Element
MeasureReport.group.measureScore[x]
  • Renamed from measureScore to measureScore[x]
  • Add Types dateTime, CodeableConcept, Period, Range, Duration
MeasureReport.group.stratifier.linkId
  • Added Element
MeasureReport.group.stratifier.code
  • Max Cardinality changed from * to 1
MeasureReport.group.stratifier.stratum.value[x]
  • Renamed from value to value[x]
  • Add Types boolean, Quantity, Range, Reference
MeasureReport.group.stratifier.stratum.component.linkId
  • Added Element
MeasureReport.group.stratifier.stratum.component.value[x]
  • Renamed from value to value[x]
  • Add Types boolean, Quantity, Range, Reference
MeasureReport.group.stratifier.stratum.population.linkId
  • Added Element
MeasureReport.group.stratifier.stratum.population.subjectReport
  • Added Element
MeasureReport.group.stratifier.stratum.population.subjects
  • Added Element
MeasureReport.group.stratifier.stratum.measureScore[x]
  • Renamed from measureScore to measureScore[x]
  • Add Types dateTime, CodeableConcept, Period, Range, Duration
MeasureReport.supplementalData
  • Added Element

See the Full Difference for further information

This analysis is available for R4 as XML or JSON and for R4B as XML or JSON.

 

Additional definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis

Path ValueSet Type Documentation
MeasureReport.status MeasureReportStatus Required

The status of the measure report.

MeasureReport.type MeasureReportType Required

The type of the measure report.

MeasureReport.dataUpdateType SubmitDataUpdateType Required

Concepts for how a measure report consumer and receiver coordinate data exchange updates. The choices are snapshot or incremental updates

MeasureReport.scoring MeasureScoring icon Extensible

The scoring type of the measure.

MeasureReport.improvementNotation MeasureImprovementNotation Required

Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue.

MeasureReport.group.code MeasureGroupExample Example

Example Measure Groups for the Measure Resource.

MeasureReport.group.population.code MeasurePopulationType Extensible

The type of population.

MeasureReport.group.stratifier.code MeasureStratifierExample Example

Identifier subgroups in a population for measuring purposes.

MeasureReport.group.stratifier.stratum.value[x] MeasureReportStratifierValueExample Example

Example Measure Stratification Value for MeasureReports Resource.

MeasureReport.group.stratifier.stratum.component.code MeasureStratifierExample Example

Identifier subgroups in a population for measuring purposes.

MeasureReport.group.stratifier.stratum.component.value[x] MeasureReportStratifierValueExample Example

Example Measure Stratification Value for MeasureReports Resource.

MeasureReport.group.stratifier.stratum.population.code MeasurePopulationType Extensible

The type of population.

UniqueKeyLevelLocationDescriptionExpression
img mrp-1Rule (base)Measure Reports used for data collection SHALL NOT communicate group and score information(type != 'data-exchange') or group.exists().not()
img mrp-2Rule (base)Stratifiers SHALL be either a single criteria or a set of criteria componentsgroup.stratifier.stratum.all(value.exists() xor component.exists())

Although the MeasureReport resource does define search parameters, it is up to the individual measure evaluation service whether or not historical records of measure evaluation requests are preserved. A service might not support searching on MeasureReports at all, or it may support searching only for a pre-defined expiration period. The search parameters are defined to provide consumers with a consistent interface to searching if it is available for a specific service implementation. In any case, services should detail the support they do provide using a CapabilityStatement.

Search parameters for this resource. See also the full list of search parameters for this resource, and check the Extensions registry for search parameters on extensions related to this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

Name Type Description Expression In Common
date date The date of the measure report MeasureReport.date 26 Resources
evaluated-resource reference An evaluated resource referenced by the measure report MeasureReport.evaluatedResource
(Any)
identifier token External identifier of the measure report to be returned MeasureReport.identifier 65 Resources
location reference The location to return measure report results for MeasureReport.location
(Location)
measure reference The measure to return measure report results for MeasureReport.measure
(Measure)
patient reference The identity of a patient to search for individual measure report results for MeasureReport.subject.where(resolve() is Patient)
(Patient)
65 Resources
period date The period of the measure report MeasureReport.period
reporter reference The reporter to return measure report results for MeasureReport.reporter
(Practitioner, Group, Organization, PractitionerRole)
status token The status of the measure report MeasureReport.status
subject reference The identity of a subject to search for individual measure report results for MeasureReport.subject
(Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Location)