Quality Measure STU2 for FHIR R4 Implementation Guide

This page is part of the Quality Measure STU2 for FHIR R4 Implementation Guide (v1.1.0: STU 2 Ballot 1) based on FHIR R4. The current version which supercedes this version is 3.0.0. For a full list of available versions, see the Directory of published versions

Terminology_FHIR


<Measure xmlns="http://hl7.org/fhir">
  <id value="measure-terminology-FHIR"/>
  <meta>
    <versionId value="4"/>
    <lastUpdated value="2019-11-09T04:44:01.728+00:00"/>
    <profile
             value="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cohort-measure-cqfm"/>
  </meta>
  <text>
    <status value="generated"/>
    <div xmlns="http://www.w3.org/1999/xhtml"><table style="width: 60%; border-bottom: none;" class="header_table">      <!-- <tr th:if="${resource.hasId()}" style="vertical-align: top;"><th style="background-color:#656565; width:20%" scope="row"><span class="td_label">Id: </span></th><td style="width:80%" colspan="3"  th:narrative="${resource.id}"></td></tr> --><tr style="vertical-align: top;"><td scope="row" style="background-color:#656565; width:20%"><span class="td_label">Measure Title</span></td><td colspan="1" style="width:60%"><h1 style="font-size:10px">Terminology FHIR</h1></td><td scope="row" style="background-color:#656565; width:10%"><span class="td_label">Measure ID</span></td><td colspan="1" style="width:10%"><h1 style="font-size:10px">Terminology_FHIR</h1></td></tr>      <!-- <th:block th:each="ident, iter : ${resource.identifier}"><tr th:if="${ident.type.coding[0].code == 'CMS'}" style="vertical-align: top;"><td style="background-color:#656565; width:20%" scope="row"><span class="td_label">eCQM Identifier (Measure Authoring Tool)</span></td><td style="width:30%" th:narrative="${ident.value}"></td><td style="background-color:#656565; width:20%" scope="row"><span class="td_label">eCQM Version number</span></td><td style="width:30%" th:narrative="${resource.version}"></td></tr></th:block><th:block th:each="ident, iter : ${resource.identifier}"><tr th:if="${ident.type.coding[0].code == 'NQF'}" style="vertical-align: top;"><td style="background-color:#656565; width:20%" scope="row"><span class="td_label">NQF Number</span></td><td style="width:30%" th:narrative="${ident.value}"></td><td style="background-color:#656565; width:20%" scope="row"><span class="td_label">GUID</span></td><td style="width:30%" th:narrative="${resource.url}"></td></tr></th:block> --><tr style="vertical-align: top;"><td scope="row" style="background-color:#656565; width:20%"><span class="td_label">Description</span></td><td colspan="3" style="width:80%"><div style="width:660px;overflow-x:hidden;overflow-y:auto"><pre><p>This example illustrates the use of risk adjustment variables within a measure represented as a FHIR eCQM</p>
</pre>
                </div>
            </td>
        </tr>
        <tr>
            <td scope="row" style="background-color:#656565; width:20%"><span class="td_label">Measurement Period</span></td>
            <td colspan="3" style="width:80%">January 1 - December 31</td>
        </tr>
              <!-- <tr>
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Measure Steward</span></td>
            <td style="width:80%" colspan="3" th:narrative="${resource.publisher}"></td>
        </tr>
        <tr>
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Measure Developer</span></td>
            <td style="width:80%" colspan="3" th:narrative="${resource.publisher}"></td>
        </tr> -->
              <!-- <tr th:if="${resource.hasDisclaimer()}">
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Disclaimer</span></td>
            <td style="width:80%" colspan="3">
                <div style="width:660px;overflow-x:hidden;overflow-y:auto">
                    <pre th:text="${resource.disclaimer}"></pre>
                </div>
            </td>
        </tr> -->
        
        
        
        <tr>
            <td colspan="4" scope="row" style="background-color:#656565; width:100%"><span class="td_label">Characteristics</span></td>
        </tr>
        <tr>
            <td scope="row" style="width:20%"><span>Scoring</span></td>
            <td colspan="3" style="width:80%">Cohort</td>
        </tr>
              <!-- <tr th:if="${resource.hasCompositeScoring()}">
            <td style="width:20%" scope="row"><span class="td_label">Composite Scoring</span></td>
            <td style="width:80%" colspan="3" th:narrative="${resource.compositeScoring.getText().substring(0, 1).toUpperCase() + resource.compositeScoring.getText().substring(1)}"></td>
        </tr> -->
        
            <tr style="vertical-align: top;">
                <td rowspan="1" scope="row" style="width:20%"><span>Type</span></td>
                <td colspan="3" style="width:80%">Process</td>
            </tr>
        
              <!-- <tr th:if="${resource.hasStatus()}" style="vertical-align: top;">
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Status</span></td>
            <td style="width:80%" colspan="3" th:narrative="${resource.status.toString().substring(0, 1).toUpperCase() + resource.status.toString().substring(1).toLowerCase()}"></td>
        </tr>
        <tr th:if="${resource.hasPurpose()}" style="vertical-align: top;">
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Purpose</span></td>
            <td style="width:80%" colspan="3" th:narrative="${resource.purpose}"></td>
        </tr>
        <tr th:if="${resource.hasUsage()}" style="vertical-align: top;" >
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Usage</span></td>
            <td style="width:80%" colspan="3" th:narrative="${resource.usage}"></td>
        </tr>
        <th:block th:each="context, iter : ${resource.useContext}" >
            <tr style="vertical-align: top;">
                <td th:if="${iter.index == 0}" th:rowspan="${iter.size}" style="background-color:#656565; width:20%" scope="row"><span class="td_label">Use Context</span></td>
                <td style="width:80%" colspan="3" th:narrative="${context}"></td>
            </tr>
        </th:block>
        <th:block th:each="topics, iter : ${resource.topic}" >
            <tr style="vertical-align: top;">
                <td th:if="${iter.index == 0}" th:rowspan="${iter.size}" style="background-color:#656565; width:20%" scope="row"><span class="td_label">Topic</span></td>
                <td style="width:80%" colspan="3" th:narrative="${topics}"></td>
            </tr>
        </th:block>
        <th:block th:each="cont, iter : ${resource.contributor}" >
            <tr style="vertical-align: top;">
                <td th:if="${iter.index == 0}" th:rowspan="${iter.size}" style="background-color:#656565; width:20%" scope="row"><span class="td_label">Contributor</span></td>
                <td style="width:80%" colspan="3">
                    <b><span th:narrative="${cont.type.toCode()}"></span>: </b><span th:narrative="${cont.name}"></span>
                </td>
            </tr>
        </th:block> -->
              <!-- <th:block th:each="lib, iter : ${resource.library}" >
            <tr style="vertical-align: top;">
                <td th:if="${iter.index == 0}" th:rowspan="${iter.size}" style="background-color:#656565; width:20%" scope="row"><span class="td_label">Library</span></td>
                <td style="width:80%" colspan="3">
                    <p th:if="${lib.hasIdentifier()}"><b>identifier: </b><span th:narrative="${lib.identifier}"></span></p>
                    <p th:if="${lib.hasReference()}"><b>reference: </b><span th:narrative="${lib.reference}"></span></p>
                    <p th:if="${lib.hasDisplay()}"><b>display: </b><span th:narrative="${lib.display}"></span></p>
                </td>
            </tr>
        </th:block> -->
        
              <!-- <tr th:if="${resource.hasRateAggregation()}" >
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Rate Aggregation</span></td>
            <td style="width:80%" colspan="3">
                <div style="width:660px;overflow-x:hidden;overflow-y:auto">
                    <pre th:text="${resource.rateAggregation}"></pre>
                </div>
            </td>
        </tr>
        <tr th:if="${resource.hasRationale()}">
            <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Rationale</span></td>
            <td style="width:80%" colspan="3">
                <div style="width:660px;overflow-x:hidden;overflow-y:auto">
                    <pre th:text="${resource.rationale}"></pre>
                </div>
            </td>
        </tr> -->
        <tr>
            <td scope="row" style="width:20%"><span>Improvement Notation</span></td>
            
            <td colspan="3" style="width:80%">A lower rate indicates better performance.</td>
        </tr>
        
        <tr>
            <td colspan="4" scope="row" style="background-color:#656565; width:100%"><span class="td_label">Definitions</span></td>
        </tr>
        
        
              <!-- <th:block th:each="groups, iter : ${resource.uniquePopulationGroup}" >
            <tr style="vertical-align: top;">
                <td style="background-color:#656565; width:20%" scope="row"><span class="td_label" th:text="${groups.identifier.value}"></span></td>
                <td style="width:80%" colspan="3">
                    <div style="width:660px;overflow-x:hidden;overflow-y:auto">
                        <pre th:text="${pops.description}"></pre>
                    </div>
                </td>
            </tr>
        </th:block> -->
    </table>
    <table style="width: 60%; border-top: none; border-bottom: none" class="header_table">
        
    </table>
    <table style="width: 60%; border-top: none;" class="header_table">
              <!-- <th:block th:each="supples, iter : ${resource.supplementalData}">
            <tr>
                <th th:if="${iter.index == 0}" th:rowspan="${iter.size}" scope="row"><b>Supplemental Data:</b></th>
                <td style="width:80%" colspan="3" >
                    <p style="margin-bottom: 5px;" th:narrative="${supples.identifier}"></p>
                    <p style="margin-bottom: 5px;" th:each="uses : ${supples.usage}">
                        <b>usage: </b>
                        <span th:narrative="${uses}"></span>
                    </p>
                    <p style="margin-bottom: 5px;" th:if="${supples.hasCriteria()}">
                        <b>criteria: </b>
                        <span th:narrative="${supples.criteria}"></span>
                    </p>
                    <p style="margin-bottom: 5px;" th:if="${supples.hasPath()}">
                        <b>path: </b>
                        <span th:narrative="${supples.path}"></span>
                    </p>
                </td>
            </tr>
        </th:block> -->
              <!-- <th:block th:each="param, iter : ${resource.parameter}">
            <tr style="vertical-align: top;">
                <th th:if="${iter.index == 0}" th:rowspan="${iter.size}" scope="row"><b>Parameter: </b></th>
                <td style="width:80%" colspan="3" >
                    <span th:if="${param.hasName()}">
                        <b>name: </b>
                        <span th:narrative="${param.name}"></span>
                        <br/>
                    </span>
                    <b>use: </b>
                    <span th:narrative="${param.use.toCode()}"></span>
                    <br/>
                    <span th:if="${param.hasMin()}">
                        <b>minimum cardinality: </b>
                        <span th:narrative="${param.min}"></span>
                        <br/>
                    </span>
                    <span th:if="${param.hasMax()}">
                        <b>maximum cardinality: </b>
                        <span th:narrative="${param.max}"></span>
                        <br/>
                    </span>
                    <b>type: </b>
                    <span th:narrative="${param.type}"></span>
                    <br/>
                    <span th:if="${param.hasDocumentation()}">
                        <b>documentation: </b>
                        <span th:narrative="${param.documentation}"></span>
                        <br/>
                    </span>
                    <span th:if="${param.hasProfile()}">
                        <b>profile: </b>
                        <span th:narrative="${param.profile}"></span>
                        <br/>
                    </span>
                    <p style="margin-bottom: 5px;"></p>
                </td>
            </tr>
        </th:block> -->
              <!-- <th:block th:each="dataReq, iter : ${resource.dataRequirement}">
            <tr style="vertical-align: top;">
                    <th th:if="${iter.index == 0}" th:rowspan="${iter.size}" scope="row" ><b>Data Requirements: </b></th>
                    <td style="width:80%" colspan="3" th:narrative="${dataReq}"></td>
            </tr>
        </th:block> -->
    </table>
  <h2><a name="toc">Table of Contents</a></h2>
  <ul style="padding-left: 50px;">
   <li><a href="#d1e405">Population Criteria</a></li>
   <li><a href="#d1e649">Definitions</a></li>
   <li><a href="#d1e650">Functions</a></li>
   <li>  <!-- a href="#d1e555" -->Terminology  <!-- /a --></li>
   <li>  <!-- a href="#d1e647" -->Data Criteria (QDM Data Elements)  <!-- /a --></li>
   <li><a href="#d1e767">Supplemental Data Elements</a></li>
   <li><a href="#d1e879">Risk Adjustment Variables</a></li>
  </ul>
  <div style="float:left; background:teal; height:3px; width:80%"/>
  
    <pre><br/></pre>
    <h3><a name="d1e405" href="#toc">Population Criteria</a></h3>
    <div>
    <ul style="list-style:none;padding-left:10px;">
        <li style="list-style:none;padding-left:0px;" class="list-unstyled">
        
        <div class="treeview hover p-l-10">
        <ul class="list-unstyled">
        <li class="list-unstyled">
            <ul class="code">
            <li class="list-unstyled">
            <div class="treeview hover p-l-10">
            <ul>
                <li style="padding-left: 0px;">
                <div>
                <pre class="cql-definition-body">org.hl7.fhir.r4.model.Expression@36a26b2e</pre>
                </div></li>
            </ul> 
            </div></li>
            </ul></li>
        </ul>
        </div>
        
        
    </li>
    </ul>
    </div>

  <h3><a name="d1e649" href="#toc">Definitions</a></h3>
  <div>
   <ul style="list-style:none;padding-left: 10px;">
    <li style="list-style:none;" class="list-unstyled">
     <div>
      <ul style="list-style:none;padding-left:0;" class="list-unstyled">
       <li class="list-unstyled">
        <div class="treeview hover p-l-10">
         
         
         <ul style="margin-right: 20%; opacity: 1;" class="code">
          <li class="list-unstyled">
           <div>
            <ul style="padding-left: 0px;">
             <li style="padding-left: 0px;" class="list-unstyled">
              <div>
               <pre class="cql-definition-body">org.hl7.fhir.r4.model.Expression@39ecedab</pre>
              </div></li>
            </ul> 
           </div></li>
         </ul>
        </div></li>
      </ul>
     </div></li>
   </ul>
  </div>
  <div>
   <ul style="list-style:none;padding-left: 10px;">
    <li style="list-style:none;" class="list-unstyled">
     <div>
      <ul style="list-style:none;padding-left:0;" class="list-unstyled">
       <li class="list-unstyled">
        <div class="treeview hover p-l-10">
         
         
         <ul style="margin-right: 20%; opacity: 1;" class="code">
          <li class="list-unstyled">
           <div>
            <ul style="padding-left: 0px;">
             <li style="padding-left: 0px;" class="list-unstyled">
              <div>
               <pre class="cql-definition-body">org.hl7.fhir.r4.model.Expression@546f756d</pre>
              </div></li>
            </ul> 
           </div></li>
         </ul>
        </div></li>
      </ul>
     </div></li>
   </ul>
  </div>
  <h3><a name="d1e650" href="#toc">Functions</a></h3>
  
        <!-- <h3><a name="d1e555" href="#toc">Terminology</a></h3> -->
        <!-- <div> -->
         <!-- <ul style="padding-left: 50px;"> -->
          <!-- <li th:each="terms, iter : ${resource.terminology}" style="width:80%" th:text="${terms.getDefinition()}"></li> -->
         <!-- </ul> -->
        <!-- </div> -->
        <!-- <h3><a name="d1e647" href="#toc">Data Criteria (QDM Data Elements)</a></h3> -->
        <!-- <div> -->
          <!-- <ul style="padding-left: 50px;"> -->
            <!-- <li th:each="data, iter : ${resource.dataCriteria}" style="width:80%" th:text="${data}"></li> -->
          <!-- </ul> -->
        <!-- </div> -->
  <h3><a name="d1e767" href="#toc">Supplemental Data Elements</a></h3>
  
  <div>
    <ul style="list-style:none;padding-left: 25px;">
        <li>None</li>
    </ul>
 </div>
  <h3><a name="d1e879" href="#toc">Risk Adjustment Variables</a></h3>
  <div>
   <ul style="list-style:none;padding-left: 25px;">
    <li>None</li>
   </ul>
  </div>
  <div style="float:left; background:teal; height:3px; width:80%"/>
  <table>
              <!-- <tr th:if="${resource.hasSet()}" > -->
                  <!-- <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Measure Set</span></td> -->
                  <!-- <td style="width:80%" th:narrative="${resource.set}"></td> -->
              <!-- </tr> -->
              <!-- <th:block th:each="con, iter : ${resource.content}">
            <tr th:if="${con.contentType == 'text/cql'}" style="vertical-align: top;">
                <td style="background-color:#656565; width:20%" scope="row"><span class="td_label">Content</span></td>
                <td style="width:80%" ><b>type: </b><span th:text="${con.contentType}"></span></td>
            </tr>
            <tr th:if="${con.contentType == 'text/cql'}">
                <td style="width:100%" colspan="2" >
                    <th:block th:if="${con.getData() != null }" >
                        <pre><code th:class="${con.contentType == 'text/cql' ? 'language-cql' : 'language-xml'}" th:text="${new java.lang.String(con.getData())}"></code></pre>
                    </th:block>
                    <th:block th:if="${con.getData() == null }" >
                        <span><i>&lt;content is empty&gt;</i></span>
                    </th:block>
                </td>
            </tr>
        </th:block > -->
    </table>
</div>
  </text>
  <extension
             url="http://hl7.org/fhir/us/cqfmeasures/StructureDefinition/cqfm-populationBasis">
    <valueCode value="Encounter"/>
  </extension>
  <url
       value="http://hl7.org/fhir/us/cqfmeasures/Measure/measure-terminology-FHIR"/>
  <identifier>
    <use value="official"/>
    <system value="http://example.org/fhir/cqi/ecqm/Measure/Identifier/exm"/>
    <value value="Terminology_FHIR"/>
  </identifier>
  <version value="1.1.0"/>
  <name value="Terminology_FHIR"/>
  <title value="Terminology FHIR"/>
  <status value="active"/>
  <experimental value="true"/>
  <date value="2019-02-21T00:00:00+00:00"/>
  <publisher
             value="Health Level 7 International - Clinical Quality Information Work Group"/>
  <contact>
    <telecom>
      <system value="url"/>
      <value value="http://www.hl7.org/Special/committees/cqi/index.cfm"/>
    </telecom>
  </contact>
  <description
               value="This example illustrates the use of risk adjustment variables within a measure represented as a FHIR eCQM"/>
  <jurisdiction>
    <coding>
      <system value="urn:iso:std:iso:3166"/>
      <code value="US"/>
      <display value="United States of America"/>
    </coding>
  </jurisdiction>
  <approvalDate value="2019-03-08"/>
  <lastReviewDate value="2019-03-08"/>
  <effectivePeriod>
    <start value="2018-01-01T00:00:00+00:00"/>
    <end value="2018-12-31T00:00:00+00:00"/>
  </effectivePeriod>
  <topic>
    <coding>
      <system value="http://loinc.org"/>
      <code value="57024-2"/>
      <display value="Health Quality Measure Document"/>
    </coding>
  </topic>
  <relatedArtifact>
    <type value="depends-on"/>
    <resource value="Library/fhirhelpers"/>
  </relatedArtifact>
  <library value="Library/terminology-fhir"/>
  <scoring>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/measure-scoring"/>
      <code value="cohort"/>
      <display value="Cohort"/>
    </coding>
  </scoring>
  <type>
    <coding>
      <system value="http://terminology.hl7.org/CodeSystem/measure-type"/>
      <code value="process"/>
    </coding>
  </type>
  <improvementNotation>
    <coding>
      <system
              value="http://terminology.hl7.org/CodeSystem/measure-improvement-notation"/>
      <code value="decrease"/>
      <display value="Decreased score indicates improvement"/>
    </coding>
  </improvementNotation>
  <group>
    <population>
      <code>
        <coding>
          <system
                  value="http://terminology.hl7.org/CodeSystem/measure-population"/>
          <code value="initial-population"/>
          <display value="Initial Population"/>
        </coding>
      </code>
      <criteria>
        <language value="text/cql"/>
        <expression value="Initial Population"/>
      </criteria>
    </population>
  </group>
</Measure>