Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2

14.15 Resource MeasureReport - Content

Clinical Quality Information Work GroupMaturity Level: 2 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.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MeasureReport ITUDomainResourceResults 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..*IdentifierAdditional identifier for the MeasureReport
... status ?!Σ1..1codecomplete | pending | error
MeasureReportStatus (Required)
... type ΣI1..1codeindividual | subject-list | summary | data-collection
MeasureReportType (Required)
... measure Σ1..1canonical(Measure)What measure was calculated
... subject Σ0..1Reference(Patient | Practitioner | PractitionerRole | Location | Device | RelatedPerson | Group)What individual(s) the report is for
... date Σ0..1dateTimeWhen the report was generated
... reporter Σ0..1Reference(Practitioner | PractitionerRole | Location | Organization)Who is reporting the data
... period Σ1..1PeriodWhat period the report covers
... improvementNotation ?!Σ0..1CodeableConceptincrease | decrease
MeasureImprovementNotation (Required)
... group I0..*BackboneElementMeasure results for each group
.... code Σ0..1CodeableConceptMeaning of the group
.... population 0..*BackboneElementThe populations in the group
..... code Σ0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
MeasurePopulationType (Extensible)
..... count 0..1integerSize of the population
..... subjectResults 0..1Reference(List)For subject-list reports, the subject results in this population
.... measureScore Σ0..1QuantityWhat score this group achieved
.... stratifier 0..*BackboneElementStratification results
..... code 0..*CodeableConceptWhat stratifier of the group
..... stratum 0..*BackboneElementStratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
...... value 0..1CodeableConceptThe stratum value, e.g. male
...... component 0..*BackboneElementStratifier component values
....... code 1..1CodeableConceptWhat stratifier component of the group
....... value 1..1CodeableConceptThe stratum component value, e.g. male
...... population 0..*BackboneElementPopulation results in this stratum
....... code 0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
MeasurePopulationType (Extensible)
....... count 0..1integerSize of the population
....... subjectResults 0..1Reference(List)For subject-list reports, the subject results in this population
...... measureScore 0..1QuantityWhat score this stratum achieved
... evaluatedResource 0..*Reference(Any)What data was used to calculate the measure score

doco Documentation for this format

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! »A reference to the Measure that was calculated to produce this reportmeasure : canonical [1..1] « Measure »Optional subject identifying the individual or individuals the report is forsubject : Reference [0..1] « Patient|Practitioner|PractitionerRole| Location|Device|RelatedPerson|Group »The date this measure report was generateddate : dateTime [0..1]The individual, location, or organization that is reporting the datareporter : Reference [0..1] « Practitioner|PractitionerRole|Location| Organization »The reporting period for which the report was calculatedperiod : Period [1..1]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 Bundle containing the Resources that were used in the calculation of this measureevaluatedResource : Reference [0..*] « Any »GroupThe meaning of the population group as defined in the measure definitioncode : CodeableConcept [0..1]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 : Quantity [0..1]PopulationThe type of the populationcode : CodeableConcept [0..1] « The type of population (e.g. initial, numerator, denominator, etc.). (Strength=Extensible)MeasurePopulationType+ »The number of members of the populationcount : integer [0..1]This element refers to a List of subject level MeasureReport resources, one for each subject in this populationsubjectResults : Reference [0..1] « List »StratifierThe meaning of this stratifier, as defined in the measure definitioncode : CodeableConcept [0..*]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 : CodeableConcept [0..1]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 : Quantity [0..1]ComponentThe code for the stratum component valuecode : CodeableConcept [1..1]The stratum component valuevalue : CodeableConcept [1..1]StratifierGroupPopulationThe type of the populationcode : CodeableConcept [0..1] « The type of population (e.g. initial, numerator, denominator, etc.). (Strength=Extensible)MeasurePopulationType+ »The number of members of the population in this stratumcount : integer [0..1]This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratumsubjectResults : Reference [0..1] « List »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]"/><!-- ?? 1..1 individual | subject-list | summary | data-collection -->
 <measure><!-- 1..1 canonical(Measure) What measure was calculated --></measure>
 <subject><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole|Location|
   Device|RelatedPerson|Group) What individual(s) the report is for --></subject>
 <date value="[dateTime]"/><!-- 0..1 When the report was generated -->
 <reporter><!-- 0..1 Reference(Practitioner|PractitionerRole|Location|
   Organization) Who is reporting the data --></reporter>
 <period><!-- 1..1 Period What period the report covers --></period>
 <improvementNotation><!-- 0..1 CodeableConcept increase | decrease --></improvementNotation>
 <group>  <!-- ?? 0..* Measure results for each group -->
  <code><!-- 0..1 CodeableConcept Meaning of the group --></code>
  <population>  <!-- 0..* The populations in the group -->
   <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>
  </population>
  <measureScore><!-- 0..1 Quantity What score this group achieved --></measureScore>
  <stratifier>  <!-- 0..* Stratification results -->
   <code><!-- 0..* CodeableConcept What stratifier of the group --></code>
   <stratum>  <!-- 0..* Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components -->
    <value><!-- 0..1 CodeableConcept The stratum value, e.g. male --></value>
    <component>  <!-- 0..* Stratifier component values -->
     <code><!-- 1..1 CodeableConcept What stratifier component of the group --></code>
     <value><!-- 1..1 CodeableConcept The stratum component value, e.g. male --></value>
    </component>
    <population>  <!-- 0..* Population results in this stratum -->
     <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>
    </population>
    <measureScore><!-- 0..1 Quantity What score this stratum achieved --></measureScore>
   </stratum>
  </stratifier>
 </group>
 <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>", // C? R!  individual | subject-list | summary | data-collection
  "measure" : { canonical(Measure) }, // R!  What measure was calculated
  "subject" : { Reference(Patient|Practitioner|PractitionerRole|Location|
   Device|RelatedPerson|Group) }, // What individual(s) the report is for
  "date" : "<dateTime>", // When the report was generated
  "reporter" : { Reference(Practitioner|PractitionerRole|Location|
   Organization) }, // Who is reporting the data
  "period" : { Period }, // R!  What period the report covers
  "improvementNotation" : { CodeableConcept }, // increase | decrease
  "group" : [{ // C? Measure results for each group
    "code" : { CodeableConcept }, // Meaning of the group
    "population" : [{ // The populations in the group
      "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
    }],
    "measureScore" : { Quantity }, // What score this group achieved
    "stratifier" : [{ // Stratification results
      "code" : [{ CodeableConcept }], // What stratifier of the group
      "stratum" : [{ // Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        "value" : { CodeableConcept }, // The stratum value, e.g. male
        "component" : [{ // Stratifier component values
          "code" : { CodeableConcept }, // R!  What stratifier component of the group
          "value" : { CodeableConcept } // R!  The stratum component value, e.g. male
        }],
        "population" : [{ // Population results in this stratum
          "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
        }],
        "measureScore" : { Quantity } // What score this stratum achieved
      }]
    }]
  }],
  "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:MeasureReport.identifier [ Identifier ], ... ; # 0..* Additional identifier for the MeasureReport
  fhir:MeasureReport.status [ code ]; # 1..1 complete | pending | error
  fhir:MeasureReport.type [ code ]; # 1..1 individual | subject-list | summary | data-collection
  fhir:MeasureReport.measure [ canonical(Measure) ]; # 1..1 What measure was calculated
  fhir:MeasureReport.subject [ Reference(Patient|Practitioner|PractitionerRole|Location|Device|RelatedPerson|Group) ]; # 0..1 What individual(s) the report is for
  fhir:MeasureReport.date [ dateTime ]; # 0..1 When the report was generated
  fhir:MeasureReport.reporter [ Reference(Practitioner|PractitionerRole|Location|Organization) ]; # 0..1 Who is reporting the data
  fhir:MeasureReport.period [ Period ]; # 1..1 What period the report covers
  fhir:MeasureReport.improvementNotation [ CodeableConcept ]; # 0..1 increase | decrease
  fhir:MeasureReport.group [ # 0..* Measure results for each group
    fhir:MeasureReport.group.code [ CodeableConcept ]; # 0..1 Meaning of the group
    fhir:MeasureReport.group.population [ # 0..* The populations in the group
      fhir:MeasureReport.group.population.code [ CodeableConcept ]; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
      fhir:MeasureReport.group.population.count [ integer ]; # 0..1 Size of the population
      fhir:MeasureReport.group.population.subjectResults [ Reference(List) ]; # 0..1 For subject-list reports, the subject results in this population
    ], ...;
    fhir:MeasureReport.group.measureScore [ Quantity ]; # 0..1 What score this group achieved
    fhir:MeasureReport.group.stratifier [ # 0..* Stratification results
      fhir:MeasureReport.group.stratifier.code [ CodeableConcept ], ... ; # 0..* What stratifier of the group
      fhir:MeasureReport.group.stratifier.stratum [ # 0..* Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        fhir:MeasureReport.group.stratifier.stratum.value [ CodeableConcept ]; # 0..1 The stratum value, e.g. male
        fhir:MeasureReport.group.stratifier.stratum.component [ # 0..* Stratifier component values
          fhir:MeasureReport.group.stratifier.stratum.component.code [ CodeableConcept ]; # 1..1 What stratifier component of the group
          fhir:MeasureReport.group.stratifier.stratum.component.value [ CodeableConcept ]; # 1..1 The stratum component value, e.g. male
        ], ...;
        fhir:MeasureReport.group.stratifier.stratum.population [ # 0..* Population results in this stratum
          fhir:MeasureReport.group.stratifier.stratum.population.code [ CodeableConcept ]; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
          fhir:MeasureReport.group.stratifier.stratum.population.count [ integer ]; # 0..1 Size of the population
          fhir:MeasureReport.group.stratifier.stratum.population.subjectResults [ Reference(List) ]; # 0..1 For subject-list reports, the subject results in this population
        ], ...;
        fhir:MeasureReport.group.stratifier.stratum.measureScore [ Quantity ]; # 0..1 What score this stratum achieved
      ], ...;
    ], ...;
  ], ...;
  fhir:MeasureReport.evaluatedResource [ Reference(Any) ], ... ; # 0..* What data was used to calculate the measure score
]

Changes since R3

MeasureReport
MeasureReport.identifier
  • Max Cardinality changed from 1 to *
MeasureReport.status
  • Change value set from http://hl7.org/fhir/ValueSet/measure-report-status to http://hl7.org/fhir/ValueSet/measure-report-status|4.0.1
MeasureReport.type
  • Change value set from http://hl7.org/fhir/ValueSet/measure-report-type to http://hl7.org/fhir/ValueSet/measure-report-type|4.0.1
MeasureReport.measure
  • Type changed from Reference(Measure) to canonical(Measure)
MeasureReport.subject
  • Added Element
MeasureReport.reporter
  • Added Element
MeasureReport.improvementNotation
  • Added Element
MeasureReport.group.code
  • Added Element
MeasureReport.group.population.code
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/measure-population" to "http://terminology.hl7.org/CodeSystem/measure-population"
MeasureReport.group.population.subjectResults
  • Added Element
MeasureReport.group.measureScore
  • Type changed from decimal to Quantity
MeasureReport.group.stratifier.code
  • Added Element
MeasureReport.group.stratifier.stratum.value
  • Min Cardinality changed from 1 to 0
  • Type changed from string to CodeableConcept
MeasureReport.group.stratifier.stratum.component
  • Added Element
MeasureReport.group.stratifier.stratum.component.code
  • Added Mandatory Element
MeasureReport.group.stratifier.stratum.component.value
  • Added Mandatory Element
MeasureReport.group.stratifier.stratum.population.code
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/measure-population" to "http://terminology.hl7.org/CodeSystem/measure-population"
MeasureReport.group.stratifier.stratum.population.subjectResults
  • Added Element
MeasureReport.group.stratifier.stratum.measureScore
  • Type changed from decimal to Quantity
MeasureReport.evaluatedResource
  • Added Element
MeasureReport.patient
  • deleted
MeasureReport.reportingOrganization
  • deleted
MeasureReport.group.identifier
  • deleted
MeasureReport.group.population.identifier
  • deleted
MeasureReport.group.population.patients
  • deleted
MeasureReport.group.stratifier.identifier
  • deleted
MeasureReport.group.stratifier.stratum.population.identifier
  • deleted
MeasureReport.group.stratifier.stratum.population.patients
  • deleted
MeasureReport.evaluatedResources
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MeasureReport ITUDomainResourceResults 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..*IdentifierAdditional identifier for the MeasureReport
... status ?!Σ1..1codecomplete | pending | error
MeasureReportStatus (Required)
... type ΣI1..1codeindividual | subject-list | summary | data-collection
MeasureReportType (Required)
... measure Σ1..1canonical(Measure)What measure was calculated
... subject Σ0..1Reference(Patient | Practitioner | PractitionerRole | Location | Device | RelatedPerson | Group)What individual(s) the report is for
... date Σ0..1dateTimeWhen the report was generated
... reporter Σ0..1Reference(Practitioner | PractitionerRole | Location | Organization)Who is reporting the data
... period Σ1..1PeriodWhat period the report covers
... improvementNotation ?!Σ0..1CodeableConceptincrease | decrease
MeasureImprovementNotation (Required)
... group I0..*BackboneElementMeasure results for each group
.... code Σ0..1CodeableConceptMeaning of the group
.... population 0..*BackboneElementThe populations in the group
..... code Σ0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
MeasurePopulationType (Extensible)
..... count 0..1integerSize of the population
..... subjectResults 0..1Reference(List)For subject-list reports, the subject results in this population
.... measureScore Σ0..1QuantityWhat score this group achieved
.... stratifier 0..*BackboneElementStratification results
..... code 0..*CodeableConceptWhat stratifier of the group
..... stratum 0..*BackboneElementStratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
...... value 0..1CodeableConceptThe stratum value, e.g. male
...... component 0..*BackboneElementStratifier component values
....... code 1..1CodeableConceptWhat stratifier component of the group
....... value 1..1CodeableConceptThe stratum component value, e.g. male
...... population 0..*BackboneElementPopulation results in this stratum
....... code 0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
MeasurePopulationType (Extensible)
....... count 0..1integerSize of the population
....... subjectResults 0..1Reference(List)For subject-list reports, the subject results in this population
...... measureScore 0..1QuantityWhat score this stratum achieved
... evaluatedResource 0..*Reference(Any)What data was used to calculate the measure score

doco Documentation for this format

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! »A reference to the Measure that was calculated to produce this reportmeasure : canonical [1..1] « Measure »Optional subject identifying the individual or individuals the report is forsubject : Reference [0..1] « Patient|Practitioner|PractitionerRole| Location|Device|RelatedPerson|Group »The date this measure report was generateddate : dateTime [0..1]The individual, location, or organization that is reporting the datareporter : Reference [0..1] « Practitioner|PractitionerRole|Location| Organization »The reporting period for which the report was calculatedperiod : Period [1..1]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 Bundle containing the Resources that were used in the calculation of this measureevaluatedResource : Reference [0..*] « Any »GroupThe meaning of the population group as defined in the measure definitioncode : CodeableConcept [0..1]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 : Quantity [0..1]PopulationThe type of the populationcode : CodeableConcept [0..1] « The type of population (e.g. initial, numerator, denominator, etc.). (Strength=Extensible)MeasurePopulationType+ »The number of members of the populationcount : integer [0..1]This element refers to a List of subject level MeasureReport resources, one for each subject in this populationsubjectResults : Reference [0..1] « List »StratifierThe meaning of this stratifier, as defined in the measure definitioncode : CodeableConcept [0..*]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 : CodeableConcept [0..1]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 : Quantity [0..1]ComponentThe code for the stratum component valuecode : CodeableConcept [1..1]The stratum component valuevalue : CodeableConcept [1..1]StratifierGroupPopulationThe type of the populationcode : CodeableConcept [0..1] « The type of population (e.g. initial, numerator, denominator, etc.). (Strength=Extensible)MeasurePopulationType+ »The number of members of the population in this stratumcount : integer [0..1]This element refers to a List of subject level MeasureReport resources, one for each subject in this population in this stratumsubjectResults : Reference [0..1] « List »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]"/><!-- ?? 1..1 individual | subject-list | summary | data-collection -->
 <measure><!-- 1..1 canonical(Measure) What measure was calculated --></measure>
 <subject><!-- 0..1 Reference(Patient|Practitioner|PractitionerRole|Location|
   Device|RelatedPerson|Group) What individual(s) the report is for --></subject>
 <date value="[dateTime]"/><!-- 0..1 When the report was generated -->
 <reporter><!-- 0..1 Reference(Practitioner|PractitionerRole|Location|
   Organization) Who is reporting the data --></reporter>
 <period><!-- 1..1 Period What period the report covers --></period>
 <improvementNotation><!-- 0..1 CodeableConcept increase | decrease --></improvementNotation>
 <group>  <!-- ?? 0..* Measure results for each group -->
  <code><!-- 0..1 CodeableConcept Meaning of the group --></code>
  <population>  <!-- 0..* The populations in the group -->
   <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>
  </population>
  <measureScore><!-- 0..1 Quantity What score this group achieved --></measureScore>
  <stratifier>  <!-- 0..* Stratification results -->
   <code><!-- 0..* CodeableConcept What stratifier of the group --></code>
   <stratum>  <!-- 0..* Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components -->
    <value><!-- 0..1 CodeableConcept The stratum value, e.g. male --></value>
    <component>  <!-- 0..* Stratifier component values -->
     <code><!-- 1..1 CodeableConcept What stratifier component of the group --></code>
     <value><!-- 1..1 CodeableConcept The stratum component value, e.g. male --></value>
    </component>
    <population>  <!-- 0..* Population results in this stratum -->
     <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>
    </population>
    <measureScore><!-- 0..1 Quantity What score this stratum achieved --></measureScore>
   </stratum>
  </stratifier>
 </group>
 <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>", // C? R!  individual | subject-list | summary | data-collection
  "measure" : { canonical(Measure) }, // R!  What measure was calculated
  "subject" : { Reference(Patient|Practitioner|PractitionerRole|Location|
   Device|RelatedPerson|Group) }, // What individual(s) the report is for
  "date" : "<dateTime>", // When the report was generated
  "reporter" : { Reference(Practitioner|PractitionerRole|Location|
   Organization) }, // Who is reporting the data
  "period" : { Period }, // R!  What period the report covers
  "improvementNotation" : { CodeableConcept }, // increase | decrease
  "group" : [{ // C? Measure results for each group
    "code" : { CodeableConcept }, // Meaning of the group
    "population" : [{ // The populations in the group
      "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
    }],
    "measureScore" : { Quantity }, // What score this group achieved
    "stratifier" : [{ // Stratification results
      "code" : [{ CodeableConcept }], // What stratifier of the group
      "stratum" : [{ // Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        "value" : { CodeableConcept }, // The stratum value, e.g. male
        "component" : [{ // Stratifier component values
          "code" : { CodeableConcept }, // R!  What stratifier component of the group
          "value" : { CodeableConcept } // R!  The stratum component value, e.g. male
        }],
        "population" : [{ // Population results in this stratum
          "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
        }],
        "measureScore" : { Quantity } // What score this stratum achieved
      }]
    }]
  }],
  "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:MeasureReport.identifier [ Identifier ], ... ; # 0..* Additional identifier for the MeasureReport
  fhir:MeasureReport.status [ code ]; # 1..1 complete | pending | error
  fhir:MeasureReport.type [ code ]; # 1..1 individual | subject-list | summary | data-collection
  fhir:MeasureReport.measure [ canonical(Measure) ]; # 1..1 What measure was calculated
  fhir:MeasureReport.subject [ Reference(Patient|Practitioner|PractitionerRole|Location|Device|RelatedPerson|Group) ]; # 0..1 What individual(s) the report is for
  fhir:MeasureReport.date [ dateTime ]; # 0..1 When the report was generated
  fhir:MeasureReport.reporter [ Reference(Practitioner|PractitionerRole|Location|Organization) ]; # 0..1 Who is reporting the data
  fhir:MeasureReport.period [ Period ]; # 1..1 What period the report covers
  fhir:MeasureReport.improvementNotation [ CodeableConcept ]; # 0..1 increase | decrease
  fhir:MeasureReport.group [ # 0..* Measure results for each group
    fhir:MeasureReport.group.code [ CodeableConcept ]; # 0..1 Meaning of the group
    fhir:MeasureReport.group.population [ # 0..* The populations in the group
      fhir:MeasureReport.group.population.code [ CodeableConcept ]; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
      fhir:MeasureReport.group.population.count [ integer ]; # 0..1 Size of the population
      fhir:MeasureReport.group.population.subjectResults [ Reference(List) ]; # 0..1 For subject-list reports, the subject results in this population
    ], ...;
    fhir:MeasureReport.group.measureScore [ Quantity ]; # 0..1 What score this group achieved
    fhir:MeasureReport.group.stratifier [ # 0..* Stratification results
      fhir:MeasureReport.group.stratifier.code [ CodeableConcept ], ... ; # 0..* What stratifier of the group
      fhir:MeasureReport.group.stratifier.stratum [ # 0..* Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components
        fhir:MeasureReport.group.stratifier.stratum.value [ CodeableConcept ]; # 0..1 The stratum value, e.g. male
        fhir:MeasureReport.group.stratifier.stratum.component [ # 0..* Stratifier component values
          fhir:MeasureReport.group.stratifier.stratum.component.code [ CodeableConcept ]; # 1..1 What stratifier component of the group
          fhir:MeasureReport.group.stratifier.stratum.component.value [ CodeableConcept ]; # 1..1 The stratum component value, e.g. male
        ], ...;
        fhir:MeasureReport.group.stratifier.stratum.population [ # 0..* Population results in this stratum
          fhir:MeasureReport.group.stratifier.stratum.population.code [ CodeableConcept ]; # 0..1 initial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
          fhir:MeasureReport.group.stratifier.stratum.population.count [ integer ]; # 0..1 Size of the population
          fhir:MeasureReport.group.stratifier.stratum.population.subjectResults [ Reference(List) ]; # 0..1 For subject-list reports, the subject results in this population
        ], ...;
        fhir:MeasureReport.group.stratifier.stratum.measureScore [ Quantity ]; # 0..1 What score this stratum achieved
      ], ...;
    ], ...;
  ], ...;
  fhir:MeasureReport.evaluatedResource [ Reference(Any) ], ... ; # 0..* What data was used to calculate the measure score
]

Changes since Release 3

MeasureReport
MeasureReport.identifier
  • Max Cardinality changed from 1 to *
MeasureReport.status
  • Change value set from http://hl7.org/fhir/ValueSet/measure-report-status to http://hl7.org/fhir/ValueSet/measure-report-status|4.0.1
MeasureReport.type
  • Change value set from http://hl7.org/fhir/ValueSet/measure-report-type to http://hl7.org/fhir/ValueSet/measure-report-type|4.0.1
MeasureReport.measure
  • Type changed from Reference(Measure) to canonical(Measure)
MeasureReport.subject
  • Added Element
MeasureReport.reporter
  • Added Element
MeasureReport.improvementNotation
  • Added Element
MeasureReport.group.code
  • Added Element
MeasureReport.group.population.code
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/measure-population" to "http://terminology.hl7.org/CodeSystem/measure-population"
MeasureReport.group.population.subjectResults
  • Added Element
MeasureReport.group.measureScore
  • Type changed from decimal to Quantity
MeasureReport.group.stratifier.code
  • Added Element
MeasureReport.group.stratifier.stratum.value
  • Min Cardinality changed from 1 to 0
  • Type changed from string to CodeableConcept
MeasureReport.group.stratifier.stratum.component
  • Added Element
MeasureReport.group.stratifier.stratum.component.code
  • Added Mandatory Element
MeasureReport.group.stratifier.stratum.component.value
  • Added Mandatory Element
MeasureReport.group.stratifier.stratum.population.code
  • Change code system for extensibly bound codes from "http://hl7.org/fhir/measure-population" to "http://terminology.hl7.org/CodeSystem/measure-population"
MeasureReport.group.stratifier.stratum.population.subjectResults
  • Added Element
MeasureReport.group.stratifier.stratum.measureScore
  • Type changed from decimal to Quantity
MeasureReport.evaluatedResource
  • Added Element
MeasureReport.patient
  • deleted
MeasureReport.reportingOrganization
  • deleted
MeasureReport.group.identifier
  • deleted
MeasureReport.group.population.identifier
  • deleted
MeasureReport.group.population.patients
  • deleted
MeasureReport.group.stratifier.identifier
  • deleted
MeasureReport.group.stratifier.stratum.population.identifier
  • deleted
MeasureReport.group.stratifier.stratum.population.patients
  • deleted
MeasureReport.evaluatedResources
  • deleted

See the Full Difference for further information

This analysis is available as XML or JSON.

See R3 <--> R4 Conversion Maps (status = 3 tests that all execute ok. All tests pass round-trip testing and 3 r3 resources are invalid (0 errors).)

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
MeasureReport.status The status of the measure report.RequiredMeasureReportStatus
MeasureReport.type The type of the measure report.RequiredMeasureReportType
MeasureReport.improvementNotation Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue.RequiredMeasureImprovementNotation
MeasureReport.group.population.code
MeasureReport.group.stratifier.stratum.population.code
The type of population (e.g. initial, numerator, denominator, etc.).ExtensibleMeasurePopulationType

idLevelLocationDescriptionExpression
mrp-1Rule (base)Measure Reports used for data collection SHALL NOT communicate group and score information(type != 'data-collection') or group.exists().not()
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. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
datedateThe date of the measure reportMeasureReport.date
evaluated-resourcereferenceAn evaluated resource referenced by the measure reportMeasureReport.evaluatedResource
(Any)
identifiertokenExternal identifier of the measure report to be returnedMeasureReport.identifier
measurereferenceThe measure to return measure report results forMeasureReport.measure
(Measure)
patientreferenceThe identity of a patient to search for individual measure report results forMeasureReport.subject.where(resolve() is Patient)
(Patient)
perioddateThe period of the measure reportMeasureReport.period
reporterreferenceThe reporter to return measure report results forMeasureReport.reporter
(Practitioner, Organization, PractitionerRole, Location)
statustokenThe status of the measure reportMeasureReport.status
subjectreferenceThe identity of a subject to search for individual measure report results forMeasureReport.subject
(Practitioner, Group, Device, Patient, PractitionerRole, RelatedPerson, Location)