R6 Ballot (1st Draft)

This page is part of the FHIR Specification v6.0.0-ballot1: Release 6 Ballot (1st Draft) (see Ballot Notes). The current version is 5.0.0. For a full list of available versions, see the Directory of published versions

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 TUDomainResourceResults 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
Binding: Measure Report Status (Required)
... type ΣC1..1codeindividual | subject-list | summary | data-exchange
Binding: Measure Report Type (Required)
... measure Σ0..1canonical(Measure)What measure was calculated
... subject Σ0..1Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)What individual(s) the report is for
... date Σ0..1dateTimeWhen the measure was calculated
... reporter Σ0..1Reference(Practitioner | PractitionerRole | Organization | Group)Who is reporting the data
... reportingVendor 0..1Reference(Organization)What vendor prepared the data
... location 0..1Reference(Location)Where the reported data is from
... period Σ1..1PeriodWhat period the report covers
... inputParameters 0..1Reference(Parameters)What parameters were provided to the report
... scoring ?!Σ0..1CodeableConceptWhat scoring method (e.g. proportion, ratio, continuous-variable)
Binding: MeasureScoring icon (Extensible)
... improvementNotation ?!Σ0..1CodeableConceptincrease | decrease
Binding: Measure Improvement Notation (Required)
... group C0..*BackboneElementMeasure results for each group

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

..... linkId 0..1stringPointer to specific population from Measure
..... code Σ0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
..... count 0..1integerSize of the population
..... subjectResults 0..1Reference(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..1Reference(Group)What individual(s) in the population
.... measureScore[x] Σ0..1What score this group achieved
..... measureScoreQuantityQuantity
..... measureScoreDateTimedateTime
..... measureScoreCodeableConceptCodeableConcept
..... measureScorePeriodPeriod
..... measureScoreRangeRange
..... measureScoreDurationDuration
.... stratifier C0..*BackboneElementStratification results

..... linkId 0..1stringPointer to specific stratifier from Measure
..... code 0..1CodeableConceptWhat stratifier of the group
Binding: Measure Stratifier Example (Example)
..... stratum C0..*BackboneElementStratum results, one for each unique value, or set of values, in the stratifier, or stratifier components

...... value[x] C0..1The stratum value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
....... valueCodeableConceptCodeableConcept
....... valueBooleanboolean
....... valueQuantityQuantity
....... valueRangeRange
....... valueReferenceReference()
...... component C0..*BackboneElementStratifier component values

....... linkId 0..1stringPointer to specific stratifier component from Measure
....... code 1..1CodeableConceptWhat stratifier component of the group
Binding: Measure Stratifier Example (Example)
....... value[x] 1..1The stratum component value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
........ valueCodeableConceptCodeableConcept
........ valueBooleanboolean
........ valueQuantityQuantity
........ valueRangeRange
........ valueReferenceReference()
...... population 0..*BackboneElementPopulation results in this stratum

....... linkId 0..1stringPointer to specific population from Measure
....... code 0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
....... count 0..1integerSize of the population
....... subjectResults 0..1Reference(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..1Reference(Group)What individual(s) in the population
...... measureScore[x] 0..1What score this stratum achieved
....... measureScoreQuantityQuantity
....... measureScoreDateTimedateTime
....... measureScoreCodeableConceptCodeableConcept
....... measureScorePeriodPeriod
....... measureScoreRangeRange
....... measureScoreDurationDuration
... 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.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. MeasureReport TUDomainResourceResults 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
Binding: Measure Report Status (Required)
... type ΣC1..1codeindividual | subject-list | summary | data-exchange
Binding: Measure Report Type (Required)
... measure Σ0..1canonical(Measure)What measure was calculated
... subject Σ0..1Reference(CareTeam | Device | Group | HealthcareService | Location | Organization | Patient | Practitioner | PractitionerRole | RelatedPerson)What individual(s) the report is for
... date Σ0..1dateTimeWhen the measure was calculated
... reporter Σ0..1Reference(Practitioner | PractitionerRole | Organization | Group)Who is reporting the data
... reportingVendor 0..1Reference(Organization)What vendor prepared the data
... location 0..1Reference(Location)Where the reported data is from
... period Σ1..1PeriodWhat period the report covers
... inputParameters 0..1Reference(Parameters)What parameters were provided to the report
... scoring ?!Σ0..1CodeableConceptWhat scoring method (e.g. proportion, ratio, continuous-variable)
Binding: MeasureScoring icon (Extensible)
... improvementNotation ?!Σ0..1CodeableConceptincrease | decrease
Binding: Measure Improvement Notation (Required)
... group C0..*BackboneElementMeasure results for each group

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

..... linkId 0..1stringPointer to specific population from Measure
..... code Σ0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
..... count 0..1integerSize of the population
..... subjectResults 0..1Reference(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..1Reference(Group)What individual(s) in the population
.... measureScore[x] Σ0..1What score this group achieved
..... measureScoreQuantityQuantity
..... measureScoreDateTimedateTime
..... measureScoreCodeableConceptCodeableConcept
..... measureScorePeriodPeriod
..... measureScoreRangeRange
..... measureScoreDurationDuration
.... stratifier C0..*BackboneElementStratification results

..... linkId 0..1stringPointer to specific stratifier from Measure
..... code 0..1CodeableConceptWhat stratifier of the group
Binding: Measure Stratifier Example (Example)
..... stratum C0..*BackboneElementStratum results, one for each unique value, or set of values, in the stratifier, or stratifier components

...... value[x] C0..1The stratum value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
....... valueCodeableConceptCodeableConcept
....... valueBooleanboolean
....... valueQuantityQuantity
....... valueRangeRange
....... valueReferenceReference()
...... component C0..*BackboneElementStratifier component values

....... linkId 0..1stringPointer to specific stratifier component from Measure
....... code 1..1CodeableConceptWhat stratifier component of the group
Binding: Measure Stratifier Example (Example)
....... value[x] 1..1The stratum component value, e.g. male
Binding: Measure Report Stratifier Value Example (Example)
........ valueCodeableConceptCodeableConcept
........ valueBooleanboolean
........ valueQuantityQuantity
........ valueRangeRange
........ valueReferenceReference()
...... population 0..*BackboneElementPopulation results in this stratum

....... linkId 0..1stringPointer to specific population from Measure
....... code 0..1CodeableConceptinitial-population | numerator | numerator-exclusion | denominator | denominator-exclusion | denominator-exception | measure-population | measure-population-exclusion | measure-observation
Binding: Measure Population Type (Extensible)
....... count 0..1integerSize of the population
....... subjectResults 0..1Reference(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..1Reference(Group)What individual(s) in the population
...... measureScore[x] 0..1What score this stratum achieved
....... measureScoreQuantityQuantity
....... measureScoreDateTimedateTime
....... measureScoreCodeableConceptCodeableConcept
....... measureScorePeriodPeriod
....... measureScoreRangeRange
....... measureScoreDurationDuration
... 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.

See R4 <--> R5 Conversion Maps (status = See Conversions Summary.)

 

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

PathValueSetTypeDocumentation
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.

NameTypeDescriptionExpressionIn Common
datedateThe date of the measure reportMeasureReport.date26 Resources
evaluated-resourcereferenceAn evaluated resource referenced by the measure reportMeasureReport.evaluatedResource
(Any)
identifiertokenExternal identifier of the measure report to be returnedMeasureReport.identifier65 Resources
locationreferenceThe location to return measure report results forMeasureReport.location
(Location)
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)
66 Resources
perioddateThe period of the measure reportMeasureReport.period
reporterreferenceThe reporter to return measure report results forMeasureReport.reporter
(Practitioner, Group, Organization, PractitionerRole)
statustokenThe status of the measure reportMeasureReport.status
subjectreferenceThe identity of a subject to search for individual measure report results forMeasureReport.subject
(Practitioner, Group, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson, Location)