R6 Ballot (3rd Draft)

Publish-box (todo)

Example OperationDefinition/Measure-collect-data (XML)

Clinical Quality Information Work GroupMaturity Level: N/AStandards Status: Informative

Raw XML (canonical form + also see XML Format Specification)

Operation Definition

<?xml version="1.0" encoding="UTF-8"?>

<OperationDefinition xmlns="http://hl7.org/fhir">
  <id value="Measure-collect-data"/> 
  <text> 
    <status value="generated"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p class="res-header-id">
        <b> Generated Narrative: OperationDefinition Measure-collect-data</b> 
      </p> 
      <a name="Measure-collect-data"> </a> 
      <a name="hcMeasure-collect-data"> </a> 
      <a name="Measure-collect-data-en-AU"> </a> 
      <p> URL: [base]/Measure/$collect-data</p> 
      <p> URL: [base]/Measure/[id]/$collect-data</p> 
      <h3> Parameters</h3> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</b> 
          </td> 
          <td> 
            <b> Scope</b> 
          </td> 
          <td> 
            <b> Cardinality</b> 
          </td> 
          <td> 
            <b> Type</b> 
          </td> 
          <td> 
            <b> Binding</b> 
          </td> 
          <td> 
            <b> Documentation</b> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> periodStart</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#date">date</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The start of the measurement period. In keeping with the semantics of the date
                 parameter used in the FHIR search operation, the period will start at the beginning
                 of the period implied by the supplied timestamp. E.g. a value of 2014 would set
                 the period start to be 2014-01-01T00:00:00 inclusive</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> periodEnd</td> 
          <td/>  
          <td> 1..1</td> 
          <td> 
            <a href="datatypes.html#date">date</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The end of the measurement period. The period will end at the end of the period
                 implied by the supplied timestamp. E.g. a value of 2014 would set the period end
                 to be 2014-12-31T23:59:59 inclusive</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> measureId</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#id">id</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The id of a Measure resource that is on the server for which the data-of-interest
                 will be collected. E.g., the id of the Measure resource for Breast Cancer Screening
                 measure.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> measureIdentifier</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
            <br/>  (
            <a href="search.html#token">token</a> )
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The business identifier of a measure for which the data-of-interest will be collected.
                 E.g., CMS125 is a CMS assigned identifier for the Breast Cancer Screening eCQM
                 in their system. Note that the type of this parameter is a string with a search
                 type of token, so the $care-gaps operation has only simple input parameters and
                 may be invoked using GET.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> measureUrl</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#canonical">canonical</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> This the the URL of a measure for which the data-of-interest will be collected.
                 A measure URL is specified in the url element of the Measure resource. The measure
                 URL remains the same when the measure is stored on different servers.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> measureResource</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="measure.html">Measure</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The measure for which the data-of-interest will be collected is provided as a Measure
                 resource.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> measure</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
            <br/>  (
            <a href="search.html#token">token</a> )
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The measure for which the data-of-interest will be collected. This parameter is
                 only required when the operation is invoked on the resource type, it is not used
                 when invoking the operation on a Measure instance</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> subject</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
            <br/>  (
            <a href="search.html#reference">reference</a> )
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Subject for which the data-of-interest for the measure will be collected. If not
                 specified, measure data will be collected for all subjects that meet the requirements
                 of the measure.  If specified, the measure will only be collected for the referenced
                 subject(s).</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> subjectGroup</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="group.html">Group</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Subject for which the data-of-interest for measure will be collected is provided
                 as a Group resource.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> practitioner</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
            <br/>  (
            <a href="search.html#reference">reference</a> )
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Practitioner for which the measure will be collected. If specified, measure data
                 will be collected only for subjects that have a primary relationship to the identified
                 practitioner</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> lastReceivedOn</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#dateTime">dateTime</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The date the results of this measure were last received. This parameter used to
                 indicate when the last time data for this measure was collected. This information
                 is used to support incremental data collection scenarios</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> organizationResource</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="organization.html">Organization</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Organization resource for which data-of-interest for the given measure will be
                 collected.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> organization</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
            <br/>  (
            <a href="search.html#reference">reference</a> )
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Organization for which data-of-interest for the given measure will be collected.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> validateResources</td> 
          <td/>  
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#boolean">boolean</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Indicates whether data collected conform to the appropriate profiles as specified
                 by the measure.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> return</td> 
          <td/>  
          <td> 0..*</td> 
          <td> 
            <a href="bundle.html">Bundle</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Returns 
                <a href="https://www.hl7.org/fhir/parameters.html">Parameters</a>  resource, which contains one or more bundles. The first entry of the bundle is
                 a MeasureReport and subsequent entries in the bundle are resources created and/or
                 evaluated as part of the measure calculation. Note that the result of the $evaluate
                 operation must be returned using the Parameters resource, even when the result
                 contains only one bundle, because the cardinality of the return parameter is specified
                 as 0..*
              </p> 

            </div> 
          </td> 
        </tr> 
      </table> 
      <div> 
        <p> The effect of invoking this operation is to gather the data required to perform
           an evaluation of the measure. If the lastReceivedOn parameter is supplied, only
           data that is new or has been changed since the lastReceivedOn date is included
           in the response. Note that the resulting MeasureReport is a transient resource</p> 

      </div> 
    </div> 
  </text> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm">
    <valueInteger value="3"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status">
    <valueCode value="trial-use"/> 
  </extension> 
  <extension url="http://hl7.org/fhir/StructureDefinition/structuredefinition-wg">
    <valueCode value="cqi"/> 
  </extension> 
  <url value="http://hl7.org/fhir/OperationDefinition/Measure-collect-data"/> 
  <version value="6.0.0-ballot3"/> 
  <name value="CollectData"/> 
  <title value="Collect Data"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  <date value="2025-04-01T12:16:37+11:00"/> 
  <publisher value="HL7 International / Clinical Quality Information"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
    <telecom> 
      <system value="email"/> 
      <value value="fhir@lists.hl7.org"/> 
    </telecom> 
  </contact> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://www.hl7.org/Special/committees/cqi"/> 
    </telecom> 
  </contact> 
  <description value="The collect-data operation is used to collect the data-of-interest for the given
   measure. Note that the use of the [X-Provenance header data](provenance.html#header)
   with data that establishes provenance being submitted/collected **SHOULD** be supported.
    This provides the capability for associating the provider with the data submitted
   through the $collect-data transaction. If the X-Provenance header is used it should
   be consistent with the `reporter` element in the DEQM Data Exchange MeasureReport
   Profile."/> 
  <jurisdiction> 
    <coding> 
      <system value="http://unstats.un.org/unsd/methods/m49/m49.htm"/> 
      <code value="001"/> 
      <display value="World"/> 
    </coding> 
  </jurisdiction> 
  <affectsState value="false"/> 
  <code value="collect-data"/> 
  <comment value="The effect of invoking this operation is to gather the data required to perform
   an evaluation of the measure. If the lastReceivedOn parameter is supplied, only
   data that is new or has been changed since the lastReceivedOn date is included
   in the response. Note that the resulting MeasureReport is a transient resource"/> 
  <resource value="Measure"/> 
  <system value="false"/> 
  <type value="true"/> 
  <instance value="true"/> 
  <parameter> 
    <name value="periodStart"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    <documentation value="The start of the measurement period. In keeping with the semantics of the date
     parameter used in the FHIR search operation, the period will start at the beginning
     of the period implied by the supplied timestamp. E.g. a value of 2014 would set
     the period start to be 2014-01-01T00:00:00 inclusive"/> 
    <type value="date"/> 
  </parameter> 
  <parameter> 
    <name value="periodEnd"/> 
    <use value="in"/> 
    <min value="1"/> 
    <max value="1"/> 
    <documentation value="The end of the measurement period. The period will end at the end of the period
     implied by the supplied timestamp. E.g. a value of 2014 would set the period end
     to be 2014-12-31T23:59:59 inclusive"/> 
    <type value="date"/> 
  </parameter> 
  <parameter> 
    <name value="measureId"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The id of a Measure resource that is on the server for which the data-of-interest
     will be collected. E.g., the id of the Measure resource for Breast Cancer Screening
     measure."/> 
    <type value="id"/> 
  </parameter> 
  <parameter> 
    <name value="measureIdentifier"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The business identifier of a measure for which the data-of-interest will be collected.
     E.g., CMS125 is a CMS assigned identifier for the Breast Cancer Screening eCQM
     in their system. Note that the type of this parameter is a string with a search
     type of token, so the $care-gaps operation has only simple input parameters and
     may be invoked using GET."/> 
    <type value="string"/> 
    <searchType value="token"/> 
  </parameter> 
  <parameter> 
    <name value="measureUrl"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="This the the URL of a measure for which the data-of-interest will be collected.
     A measure URL is specified in the url element of the Measure resource. The measure
     URL remains the same when the measure is stored on different servers."/> 
    <type value="canonical"/> 
  </parameter> 
  <parameter> 
    <name value="measureResource"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The measure for which the data-of-interest will be collected is provided as a Measure
     resource."/> 
    <type value="Measure"/> 
  </parameter> 
  <parameter> 
    <name value="measure"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The measure for which the data-of-interest will be collected. This parameter is
     only required when the operation is invoked on the resource type, it is not used
     when invoking the operation on a Measure instance"/> 
    <type value="string"/> 
    <searchType value="token"/> 
  </parameter> 
  <parameter> 
    <name value="subject"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Subject for which the data-of-interest for the measure will be collected. If not
     specified, measure data will be collected for all subjects that meet the requirements
     of the measure.  If specified, the measure will only be collected for the referenced
     subject(s)."/> 
    <type value="string"/> 
    <searchType value="reference"/> 
  </parameter> 
  <parameter> 
    <name value="subjectGroup"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Subject for which the data-of-interest for measure will be collected is provided
     as a Group resource."/> 
    <type value="Group"/> 
  </parameter> 
  <parameter> 
    <name value="practitioner"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Practitioner for which the measure will be collected. If specified, measure data
     will be collected only for subjects that have a primary relationship to the identified
     practitioner"/> 
    <type value="string"/> 
    <searchType value="reference"/> 
  </parameter> 
  <parameter> 
    <name value="lastReceivedOn"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The date the results of this measure were last received. This parameter used to
     indicate when the last time data for this measure was collected. This information
     is used to support incremental data collection scenarios"/> 
    <type value="dateTime"/> 
  </parameter> 
  <parameter> 
    <name value="organizationResource"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Organization resource for which data-of-interest for the given measure will be
     collected."/> 
    <type value="Organization"/> 
  </parameter> 
  <parameter> 
    <name value="organization"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Organization for which data-of-interest for the given measure will be collected."/> 
    <type value="string"/> 
    <searchType value="reference"/> 
  </parameter> 
  <parameter> 
    <name value="validateResources"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Indicates whether data collected conform to the appropriate profiles as specified
     by the measure."/> 
    <type value="boolean"/> 
  </parameter> 
  <parameter> 
    <name value="return"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="Returns [Parameters](https://www.hl7.org/fhir/parameters.html) resource, which
     contains one or more bundles. The first entry of the bundle is a MeasureReport
     and subsequent entries in the bundle are resources created and/or evaluated as
     part of the measure calculation. Note that the result of the $evaluate operation
     must be returned using the Parameters resource, even when the result contains only
     one bundle, because the cardinality of the return parameter is specified as 0..*"/> 
    <type value="Bundle"/> 
  </parameter> 
</OperationDefinition> 

Usage note: every effort has been made to ensure that the examples are correct and useful, but they are not a normative part of the specification.