Situational Awareness for Novel Epidemic Response
1.0.1 - CI Build International flag

Situational Awareness for Novel Epidemic Response, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 1.0.1 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-saner/ and changes regularly. See the Directory of published versions

OperationDefinition: Aggregate (Experimental)

Official URL: http://hl7.org/fhir/uv/saner/OperationDefinition/MeasureReport-aggregate Version: 1.0.1
Draft as of 2024-01-25 Computable Name: Aggregate

Aggregate two or more more Messure Report resources into a single MeasureReport.

This operation enables multiple reports to be aggregated:

  • From multiple systems reporting partial results within a facility into a singular consolidated report which can be reported to local, regional and national agencies.
  • From multiple reports over a period of time from a given location, e.g., to aggregate daily measure reports into a weekly report.
  • From multiple subjects within a geographic region into a MeasureReport describing that region.

Aggregating MeasureReport Resources

The process for aggregating MeasureReport resources up to a geographic region or time period follows the steps below:

  1. Collect all MeasureReport resources to be aggregated. Note: All MeasureReport resources being aggregated shall refererence a common Measure in MeasureReport.measure.
  2. Determine the subject of the report (the larger location)
  3. Compute the start of the time period for the aggregate as the minimum of MeasureReport.period.start for all MeasureReport resources being aggregated.
  4. Compute the end of the time period for the aggregate as the maximum of MeasureReport.period.end for all MeasureReport resources being aggregated.
  5. Compute the population.count values found in group.population and group.stratifier.stratum.population from the matching population.count values in the MeasureReport
  6. Compute the group.measureScore and group.stratifier.stratum.measure score for each group and stratum from the computed counts.

Aggregating Population count values

Measures aggregate values according to the Measure Rate Aggregation Values value set. Across facilities, population counts are always summed. Within a facility the different population types are aggregated differently when aggregating over a larger time period.

  • count
    All population count values are summed.
  • point-in-time
    The most recent population count value is the “aggregated” value, representing the final point-in-time measure.
  • cumulative
    The initial population and numerator are summed, being a count of individual events. The denominator population takes on the value of the report at the end of the time period (the most recent value), beeing a cumulative count.

Measure scores are recomputed based on measure populations after aggregation following the usual rules for measure scoring.

URL: [base]/MeasureReport/[id]/$aggregate

Parameters

UseNameScopeCardinalityTypeBindingDocumentation
IN_id0..*string
(string)
INmeasure1..1string
(uri)
INmeasure-report0..*MeasureReport

The MeasureReport resources to aggregate.

INmeasure.title0..1string
(string)
INperiod1..2string
(date)
INreporter0..*string
(reference)
INreporter:identifier0..*string
(token)
INresult-reporter0..1string
(reference)

A reference or identifier of the reporter for the MeasureReport. May be omitted if all MeasureReport resources being aggregated have a common reporter. A server may determine the reporter based on business rules (e.g., based on the identity of the sender of the request).

INresult-subject0..1string
(reference)

A reference or identifier of the subject for the MeasureReport. May be omitted if all MeasureReport resources being aggregated have a common subject.

INsubject0..*string
(reference)
INsubject:identifier0..*string
(token)
OUTreturn0..1MeasureReport

The result of the aggregation operation.