Situational Awareness for Novel Epidemic Response
1.0.0 - STU Release

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

Produce Measure

This section describes the PUSH-TX of this guide. This transaction is used by the Measure Source and Measure Consumer actors.

Scope

The Produce Measure transaction allows an Measure Source to periodically report on availability of resources to a Measure Consumer.

This transaction defines the create and update operations that a MeasureConsumer and MeasureSource actor shall support.

Actors Roles

<?xml version=”1.0” encoding=”UTF-8” standalone=”no”?>Measure SourceMeasure ConsumerProduce Measure

Figure 2.2-1: Produce Measure Use Case Diagram

Table 2.2-1: Actor Roles
ActorRole
Measure Source Periodically generates data for a Measure Consumer.
Measure Consumer Collects data for reporting

Referenced Standards

Table 3.71.3-1: Referenced Standards
StandardName
FHIR-R4HL7 FHIR Release 4.0
RFC-7230Hypertext Transfer Protocol - HTTP/1.1
NDJSONNewline Delimited JSON

Interactions

    <?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="110px" preserveAspectRatio="none" style="width:310px;height:110px;" version="1.1" viewBox="0 0 310 110" width="310px" zoomAndPan="magnify"><defs><filter height="300%" id="fe4hi3l3nhddf" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><rect fill="#FFFFFF" filter="url(#fe4hi3l3nhddf)" height="14" style="stroke:#A80036;stroke-width:1.0;" width="10" x="65.5" y="71.4297"/><rect fill="#FFFFFF" filter="url(#fe4hi3l3nhddf)" height="14" style="stroke:#A80036;stroke-width:1.0;" width="10" x="218" y="71.4297"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="70" x2="70" y1="40.2969" y2="103.4297"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:5.0,5.0;" x1="223" x2="223" y1="40.2969" y2="103.4297"/><rect fill="#FEFECE" filter="url(#fe4hi3l3nhddf)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="127" x="5" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113" x="12" y="24.9951">Measure Source</text><rect fill="#FEFECE" filter="url(#fe4hi3l3nhddf)" height="30.2969" style="stroke:#A80036;stroke-width:1.5;" width="150" x="146" y="5"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="136" x="153" y="24.9951">Measure Consumer</text><rect fill="#FFFFFF" filter="url(#fe4hi3l3nhddf)" height="14" style="stroke:#A80036;stroke-width:1.0;" width="10" x="65.5" y="71.4297"/><rect fill="#FFFFFF" filter="url(#fe4hi3l3nhddf)" height="14" style="stroke:#A80036;stroke-width:1.0;" width="10" x="218" y="71.4297"/><polygon fill="#A80036" points="206,67.4297,216,71.4297,206,75.4297,210,71.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;" x1="75.5" x2="212" y1="71.4297" y2="71.4297"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="106" x="82.5" y="66.3638">1. Push Measure</text><polygon fill="#A80036" points="81.5,81.4297,71.5,85.4297,81.5,89.4297,77.5,85.4297" style="stroke:#A80036;stroke-width:1.0;"/><line style="stroke:#A80036;stroke-width:1.0;stroke-dasharray:2.0,2.0;" x1="75.5" x2="222" y1="85.4297" y2="85.4297"/></g></svg>

Figure 2.2-2: Produce Measure Interactions

Push Measure

Trigger Event - Reporting Period Elapsed

The current reporting period has elapsed, or the operation is triggered by automation (e.g. for manual testing, diagnostics or error recovery).

See the Reporting Period extension.

Message Semantics

A MeasureReport is created or updated by the MeasureSource on the MeasureConsumer.

The MeasureReport sends a MeasureReport to the MeasureConsumer using the FHIR create or update interactions. A MeasureSource supporting the CSV option sends the CSV file to the MeasureConsumer using the $report-csv operation.

Expected Actions
Send MeasureReport Resource

The Measure Source creates resources and sends them to a Measure Consumer

The Measure Source performs the FHIR create operation on the MeasureReport resource at a Measure Consumer.

Aggregate MeasureReport Resources
Accept Resource

The Measure Consumer reports success using 200 OK, 201 Created, or 204 No Content to indicate a successful update.

Conformance

See the following CapabilityStatement resources for conformance requirements: