§ 170.315(c)(2)

Clinical quality measures (CQMs) — import and calculate

Certification Companion Guide v1.1

View Changelog

Issued Date:

Last Updated:

This Certification Companion Guide (CCG) is an informative document designed to assist with health IT product certification. The CCG is not a substitute for the requirements outlined in regulation and related ONC final rules. It extracts key portions of ONC final rules’ preambles and includes subsequent clarifying interpretations. To access the full context of regulatory intent please consult the Certification Regulations page for links to all ONC final rules or consult other regulatory references as noted. The CCG is for public use and should not be sold or redistributed.

Quick Overview

Required Updates

None

Design and Performance

Certification Clarifications

Technical Explanations and Clarifications

Search and Filter

#query-monitor-main {display:none;} /* Improve table styling for print */ table { width: 100%; border-collapse: collapse; margin-bottom: 1em; font-size: 14px; } #pf-body table { width:100% !important; } #pf-body table thead { background: #f6f6f6; } figure.wp-block-table { width:100%; } #pf-body table td { padding:1em; } #pf-body ul li:first-child:last-child { list-style-type: disc; } table, th, td { border: 1px solid #333; } th, td { padding: 8px 12px; text-align: left; } /* Alternate row shading for better readability */ tr:nth-child(even) { background-color: #f2f2f2; } /* Add page break inside long tables */ table { page-break-inside: avoid; } /* Improve list styling */ ul, ol { margin: 0 0 1em 1em; padding-left: .5em; } ul li, ol li { margin-bottom: 0.5em; font-size: 14px; line-height: 1.5; } /* Optional: Fix nested list indentation */ ul ul, ol ol { margin-top: 0.3em; margin-bottom: 0.3em; margin-left: 1.5em; } /* Prevent list items from splitting across pages */ li { page-break-inside: avoid; } /** * Extended List Block - Complete CSS Styling * All parentheses and italic combinations for legal */ /* === BASE RESET FOR EXTENDED LISTS === */ [class*="extended-list-"] { list-style: none !important; counter-reset: extended-counter; padding-left: 0; } /* Reset for nested lists */ [class*="extended-list-"] ol, [class*="extended-list-"] ul { list-style: none !important; counter-reset: extended-counter; } /* === BASE LIST ITEM STYLES === */ [class*="extended-list-"] li { counter-increment: extended-counter; position: relative; padding-left: 2em; margin-bottom: 0.5em; list-style: none !important; } /* Remove default markers */ [class*="extended-list-"] li::marker { display: none !important; } /* === UPPERCASE LETTERS WITH FULL PARENTHESES (A) (B) (C) === */ .extended-list-upper-alpha-paren li::before { content: "(" counter(extended-counter, upper-alpha) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-upper-alpha-paren-italic li::before { content: "(" counter(extended-counter, upper-alpha) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === UPPERCASE LETTERS WITH RIGHT PARENTHESIS A) B) C) === */ .extended-list-upper-alpha-right-paren li::before { content: counter(extended-counter, upper-alpha) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-upper-alpha-right-paren-italic li::before { content: counter(extended-counter, upper-alpha) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === LOWERCASE LETTERS WITH FULL PARENTHESES (a) (b) (c) === */ .extended-list-lower-alpha-paren li::before { content: "(" counter(extended-counter, lower-alpha) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-lower-alpha-paren-italic li::before { content: "(" counter(extended-counter, lower-alpha) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === LOWERCASE LETTERS WITH RIGHT PARENTHESIS a) b) c) === */ .extended-list-lower-alpha-right-paren li::before { content: counter(extended-counter, lower-alpha) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-lower-alpha-right-paren-italic li::before { content: counter(extended-counter, lower-alpha) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === NUMBERS WITH FULL PARENTHESES (1) (2) (3) === */ .extended-list-decimal-paren li::before { content: "(" counter(extended-counter, decimal) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-decimal-paren-italic li::before { content: "(" counter(extended-counter, decimal) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === NUMBERS WITH RIGHT PARENTHESIS 1) 2) 3) === */ .extended-list-decimal-right-paren li::before { content: counter(extended-counter, decimal) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-decimal-right-paren-italic li::before { content: counter(extended-counter, decimal) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === UPPERCASE ROMAN WITH FULL PARENTHESES (I) (II) (III) === */ .extended-list-upper-roman-paren li::before { content: "(" counter(extended-counter, upper-roman) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-upper-roman-paren-italic li::before { content: "(" counter(extended-counter, upper-roman) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === UPPERCASE ROMAN WITH RIGHT PARENTHESIS I) II) III) === */ .extended-list-upper-roman-right-paren li::before { content: counter(extended-counter, upper-roman) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-upper-roman-right-paren-italic li::before { content: counter(extended-counter, upper-roman) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === LOWERCASE ROMAN WITH FULL PARENTHESES (i) (ii) (iii) === */ .extended-list-lower-roman-paren li::before { content: "(" counter(extended-counter, lower-roman) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-lower-roman-paren-italic li::before { content: "(" counter(extended-counter, lower-roman) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === LOWERCASE ROMAN WITH RIGHT PARENTHESIS i) ii) iii) === */ .extended-list-lower-roman-right-paren li::before { content: counter(extended-counter, lower-roman) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } .extended-list-lower-roman-right-paren-italic li::before { content: counter(extended-counter, lower-roman) ")"; position: absolute; left: 0; top: 0; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === AUTO-NESTING OUTLINE STYLES === */ /* Outline Alpha: (A) -> (1) -> (a) -> (i) -> *(A)* -> *(1)* */ .extended-auto-nest.extended-list-outline-alpha { counter-reset: level1; } .extended-auto-nest.extended-list-outline-alpha > li { counter-increment: level1; } .extended-auto-nest.extended-list-outline-alpha > li::before { content: "(" counter(level1, upper-alpha) ")"; position: absolute; left: 0; top: 0; font-weight: 600; width: auto; color: #081f7a; } /* Level 2: Numbers with parentheses */ .extended-auto-nest.extended-list-outline-alpha > li > ol, .extended-auto-nest.extended-list-outline-alpha > li > ul { counter-reset: level2; } .extended-auto-nest.extended-list-outline-alpha > li > ol > li, .extended-auto-nest.extended-list-outline-alpha > li > ul > li { counter-increment: level2; } .extended-auto-nest.extended-list-outline-alpha > li > ol > li::before, .extended-auto-nest.extended-list-outline-alpha > li > ul > li::before { content: "(" counter(level2, decimal) ")"; font-weight: 600; width: auto; color: #081f7a; } /* Level 3: Lowercase letters with parentheses */ .extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol, .extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul, .extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol, .extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul { counter-reset: level3; } .extended-auto-nest.extended-list-outline-alpha > li > ol > li > ol > li::before, .extended-auto-nest.extended-list-outline-alpha > li > ol > li > ul > li::before, .extended-auto-nest.extended-list-outline-alpha > li > ul > li > ol > li::before, .extended-auto-nest.extended-list-outline-alpha > li > ul > li > ul > li::before { content: "(" counter(level3, lower-alpha) ")"; font-weight: 600; width: auto; color: #081f7a; } /* Level 4: Lower roman with parentheses */ .extended-auto-nest.extended-list-outline-alpha li li li ol, .extended-auto-nest.extended-list-outline-alpha li li li ul { counter-reset: level4; } .extended-auto-nest.extended-list-outline-alpha li li li ol li::before, .extended-auto-nest.extended-list-outline-alpha li li li ul li::before { content: "(" counter(level4, lower-roman) ")"; font-weight: 600; width: auto; color: #081f7a; } /* Level 5: Upper alpha italic with parentheses */ .extended-auto-nest.extended-list-outline-alpha li li li li ol, .extended-auto-nest.extended-list-outline-alpha li li li li ul { counter-reset: level5; } .extended-auto-nest.extended-list-outline-alpha li li li li ol li::before, .extended-auto-nest.extended-list-outline-alpha li li li li ul li::before { content: "(" counter(level5, upper-alpha) ")"; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* Level 6: Decimal italic with parentheses */ .extended-auto-nest.extended-list-outline-alpha li li li li li ol, .extended-auto-nest.extended-list-outline-alpha li li li li li ul { counter-reset: level6; } .extended-auto-nest.extended-list-outline-alpha li li li li li ol li::before, .extended-auto-nest.extended-list-outline-alpha li li li li li ul li::before { content: "(" counter(level6, decimal) ")"; font-style: italic; font-weight: 600; width: auto; color: #081f7a; } /* === OUTLINE NUMERIC PATTERN === */ .extended-auto-nest.extended-list-outline-numeric { counter-reset: level1; } .extended-auto-nest.extended-list-outline-numeric > li::before { content: "(" counter(level1, decimal) ")"; font-weight: normal; width: 2.5em; } .extended-auto-nest.extended-list-outline-numeric > li > ol > li::before, .extended-auto-nest.extended-list-outline-numeric > li > ul > li::before { content: "(" counter(level2, lower-alpha) ")"; font-weight: 600; width: auto; color: #081f7a; } .extended-auto-nest.extended-list-outline-numeric > li > ol > li > ol > li::before, .extended-auto-nest.extended-list-outline-numeric > li > ol > li > ul > li::before, .extended-auto-nest.extended-list-outline-numeric > li > ul > li > ol > li::before, .extended-auto-nest.extended-list-outline-numeric > li > ul > li > ul > li::before { content: "(" counter(level3, lower-roman) ")"; font-weight: 600; width: auto; color: #081f7a; } /* === EDITOR-SPECIFIC STYLES === */ .block-editor-writing-flow [class*="extended-list-"] { list-style: none !important; } .block-editor-writing-flow [class*="extended-list-"] li { list-style: none !important; } /* === DEEP NESTING SUPPORT === */ [class*="extended-list-"] li ol, [class*="extended-list-"] li ul { margin-top: 0.5em; margin-bottom: 0.5em; padding-left: 2em; } /* === RESPONSIVE ADJUSTMENTS === */ @media (max-width: 768px) { [class*="extended-list-"] li { padding-left: 2.5em; } [class*="extended-list-"] li::before { width: 2em; } } /* === PRINT STYLES === */ @media print { [class*="extended-list-"] li::before { color: black !important; font-style: normal; } [class*="extended-list-"] li { break-inside: avoid; page-break-inside: avoid; } } /* === ACCESSIBILITY === */ [class*="extended-list-"] li:focus-within::before { outline: 2px solid #005cee; outline-offset: 2px; }