Release 5 Ballot

This page is part of the FHIR Specification (v5.0.0-ballot: R5 Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3

Example OperationDefinition/Measure-evaluate-measure (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-evaluate-measure"/> 
  <text> 
    <status value="extensions"/> 
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p> URL: [base]/Measure/$evaluate-measure</p> 
      <p> URL: [base]/Measure/[id]/$evaluate-measure</p> 
      <p> Parameters</p> 
      <table class="grid">
        <tr> 
          <td> 
            <b> Use</b> 
          </td> 
          <td> 
            <b> Name</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> measure</td> 
          <td> 0..1</td> 
          <td> 
            <a href="measure.html">Measure</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The measure to evaluate. If the operation is invoked at the instance level, this
                 parameter is not allowed; if the operation is invoked at the type level, this parameter
                 is required, or a url (and optionally version) must be supplied.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> url</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#canonical">canonical</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The url of the plan measure to be applied. If the operation is invoked at the instance
                 level, this parameter is not allowed; if the operation is invoked at the type level,
                 this parameter (and optionally the version), or the measure parameter must be supplied</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> version</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#string">string</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The version of the measure to be applied. If the operation is invoked at the instance
                 level, this parameter is not allowed; if the operation is invoked at the type level,
                 this parameter may only be used if the url parameter is supplied.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> subject</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 measure will be calculated. The subject may be a Patient,
                 Practitioner, PractitionerRole, Organization, Location, Device, or Group. Subjects
                 provided in this parameter will be resolved as the subject of the measure based
                 on the type of the subject. If multiple subjects of the same type are provided,
                 the behavior is implementation-defined</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> periodStart</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> 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> reportType</td> 
          <td> 0..1</td> 
          <td> 
            <a href="datatypes.html#code">code</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The type of measure report: subject, subject-list, or population. If not specified,
                 a default value of subject will be used if the subject parameter is supplied, otherwise,
                 population will be used</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> provider</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> The provider for which the report will be run. This may be a reference to a Practitioner,
                 PractitionerRole, or Organization. If specified, the measure will be calculated
                 for subjects that have a primary relationship to the identified provider. How this
                 relationship is determined is implementation-specific.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> location</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> The location for which the report will be run.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> lastReceivedOn</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 is only
                 valid for patient-level reports and is used to indicate when the last time a result
                 for this patient was received. This information can be used to limit the set of
                 resources returned for a patient-level report</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> IN</td> 
          <td> parameters</td> 
          <td> 0..1</td> 
          <td> 
            <a href="parameters.html">Parameters</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> Any input parameters for the evaluation. Parameters defined in this input will
                 be made available by name to the CQL expression. Parameter types are mapped to
                 CQL as specified in the Using CQL topic of the Clinical Reasoning Module. If a
                 parameter appears more than once in the input Parameters resource, it is represented
                 with a List in the input CQL. If a parameter has parts, it is represented as a
                 Tuple in the input CQL.</p> 

            </div> 
          </td> 
        </tr> 
        <tr> 
          <td> OUT</td> 
          <td> return</td> 
          <td> 0..*</td> 
          <td> 
            <a href="bundle.html">Bundle</a> 
          </td> 
          <td/>  
          <td> 
            <div> 
              <p> The results of the measure calculation. The result of this operation will be a
                 Bundle for each input subject, where the first entry of the Bundle is a MeasureReport
                 representing the results of the calculation, and subsequent entries in the Bundle
                 are resources created and/or evaluated as part of the calculation. See the MeasureReport
                 resource for a complete description of the output of this operation. Note that
                 implementations may choose to return a MeasureReport with a status of pending to
                 indicate that the report is still being generated. In this case, the client can
                 use a polling method to continually request the MeasureReport until the status
                 is updated to complete</p> 

            </div> 
          </td> 
        </tr> 
      </table> 
      <div> 
        <p> The effect of invoking this operation is to calculate the measure for the given
           subject(s), or all subjects if no subject is supplied. For individual and subject-list
           reports, the result is a set of Bundles, one for each evaluated subject, where
           the first entry in each bundle is a MeasureReport resource, and subsequent entries
           in the Bundle are resources evaluated or created as part of the measure evaluation.
           For the summary report, the result of this operation is a single bundle with a
           single MeasureReport of type summary. Note that whether or not this operation affects
           the state of the server depends on whether the server persists the generated MeasureReport.
           If the MeasureReport is not persisted, this operation can be invoked with GET</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> 
  <url value="http://hl7.org/fhir/OperationDefinition/Measure-evaluate-measure"/> 
  <version value="5.0.0-ballot"/> 
  <name value="EvaluateMeasure"/> 
  <title value="Evaluate Measure"/> 
  <status value="draft"/> 
  <kind value="operation"/> 
  <experimental value="false"/> 
  <date value="2022-09-10T04:52:37+10:00"/> 
  <publisher value="HL7 (FHIR Project)"/> 
  <contact> 
    <telecom> 
      <system value="url"/> 
      <value value="http://hl7.org/fhir"/> 
    </telecom> 
    <telecom> 
      <system value="email"/> 
      <value value="fhir@lists.hl7.org"/> 
    </telecom> 
  </contact> 
  <description value="The evaluate-measure operation is used to calculate an eMeasure and obtain the
   results"/> 
  <affectsState value="false"/> 
  <code value="evaluate-measure"/> 
  <comment value="The effect of invoking this operation is to calculate the measure for the given
   subject(s), or all subjects if no subject is supplied. For individual and subject-list
   reports, the result is a set of Bundles, one for each evaluated subject, where
   the first entry in each bundle is a MeasureReport resource, and subsequent entries
   in the Bundle are resources evaluated or created as part of the measure evaluation.
   For the summary report, the result of this operation is a single bundle with a
   single MeasureReport of type summary. Note that whether or not this operation affects
   the state of the server depends on whether the server persists the generated MeasureReport.
   If the MeasureReport is not persisted, this operation can be invoked with GET"/> 
  <resource value="Measure"/> 
  <system value="false"/> 
  <type value="true"/> 
  <instance value="true"/> 
  <parameter> 
    <name value="measure"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The measure to evaluate. If the operation is invoked at the instance level, this
     parameter is not allowed; if the operation is invoked at the type level, this parameter
     is required, or a url (and optionally version) must be supplied."/> 
    <type value="Measure"/> 
  </parameter> 
  <parameter> 
    <name value="url"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The url of the plan measure to be applied. If the operation is invoked at the instance
     level, this parameter is not allowed; if the operation is invoked at the type level,
     this parameter (and optionally the version), or the measure parameter must be supplied"/> 
    <type value="canonical"/> 
    <targetProfile value="http://hl7.org/fhir/StructureDefinition/PlanDefinition"/> 
  </parameter> 
  <parameter> 
    <name value="version"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The version of the measure to be applied. If the operation is invoked at the instance
     level, this parameter is not allowed; if the operation is invoked at the type level,
     this parameter may only be used if the url parameter is supplied."/> 
    <type value="string"/> 
  </parameter> 
  <parameter> 
    <name value="subject"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Subject for which the measure will be calculated. The subject may be a Patient,
     Practitioner, PractitionerRole, Organization, Location, Device, or Group. Subjects
     provided in this parameter will be resolved as the subject of the measure based
     on the type of the subject. If multiple subjects of the same type are provided,
     the behavior is implementation-defined"/> 
    <type value="string"/> 
    <searchType value="reference"/> 
  </parameter> 
  <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="reportType"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The type of measure report: subject, subject-list, or population. If not specified,
     a default value of subject will be used if the subject parameter is supplied, otherwise,
     population will be used"/> 
    <type value="code"/> 
  </parameter> 
  <parameter> 
    <name value="provider"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The provider for which the report will be run. This may be a reference to a Practitioner,
     PractitionerRole, or Organization. If specified, the measure will be calculated
     for subjects that have a primary relationship to the identified provider. How this
     relationship is determined is implementation-specific."/> 
    <type value="string"/> 
    <searchType value="reference"/> 
  </parameter> 
  <parameter> 
    <name value="location"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="The location for which the report will be run."/> 
    <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 is only
     valid for patient-level reports and is used to indicate when the last time a result
     for this patient was received. This information can be used to limit the set of
     resources returned for a patient-level report"/> 
    <type value="dateTime"/> 
  </parameter> 
  <parameter> 
    <name value="parameters"/> 
    <use value="in"/> 
    <min value="0"/> 
    <max value="1"/> 
    <documentation value="Any input parameters for the evaluation. Parameters defined in this input will
     be made available by name to the CQL expression. Parameter types are mapped to
     CQL as specified in the Using CQL topic of the Clinical Reasoning Module. If a
     parameter appears more than once in the input Parameters resource, it is represented
     with a List in the input CQL. If a parameter has parts, it is represented as a
     Tuple in the input CQL."/> 
    <type value="Parameters"/> 
  </parameter> 
  <parameter> 
    <name value="return"/> 
    <use value="out"/> 
    <min value="0"/> 
    <max value="*"/> 
    <documentation value="The results of the measure calculation. The result of this operation will be a
     Bundle for each input subject, where the first entry of the Bundle is a MeasureReport
     representing the results of the calculation, and subsequent entries in the Bundle
     are resources created and/or evaluated as part of the calculation. See the MeasureReport
     resource for a complete description of the output of this operation. Note that
     implementations may choose to return a MeasureReport with a status of pending to
     indicate that the report is still being generated. In this case, the client can
     use a polling method to continually request the MeasureReport until the status
     is updated to complete"/> 
    <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.