Two-sided comparison of documented kidney statements with the computed criteria
Compare with what the note says, in both directions; say 'not assessable' when the data cannot decide.
- Rule and version
kidney_compare@1.1- Published source
- Directions are this tool's definitions. Documentation rule: ICD-10-CM Official Guidelines for Coding and Reporting FY2026, Section I.A.19 (code assignment rests on the provider's statement, not on clinical criteria), so the comparison flags, it never assigns. Panel wording: ACDIS/AHIMA Guidelines for Achieving a Compliant Query Practice (2026 update): no diagnosis named beside 'criteria met', nothing implied by layout, no payment, quality or denial words, every value cited. https://www.cms.gov/medicare/coding-billing/icd-10-codes
- Edition
- this tool's comparison rules
- Effective
- from 2026-11-12
- Role
- direction of each finding
- Status
- draft: encoded from the published source; not yet signed off by a clinical reviewer
- Clinical reviewer
- —
- Coding reviewer
- —
- Sponsor
- none
- Body hash
23fd394b4f02789eec020368dcfc30acab0cb62e411c3f4651d2bc778e3ee6cf
Thresholds and parameters
{
"aki_precedence": "exclusion or no usable baseline -> NOT_ASSESSABLE; only the reverse comparison available -> CONSISTENT if stated, DEFINITIONS_DISAGREE if not; met at peak under 4 of 4 -> UNDER or CONSISTENT; 0 of 4 -> UNSUPPORTED or NONE (CONSISTENT / DEFINITIONS_DISAGREE when the reverse comparison is met); otherwise DEFINITIONS_DISAGREE",
"ckd_precedence": "2021 equation not assessable -> NOT_ASSESSABLE; else note unreadable -> NOTE_UNREADABLE; else if the 2009 equation is assessable and gives a different status, stage or direction -> DEFINITIONS_DISAGREE (both shown; the tool never chooses); otherwise the 2021 direction",
"counted_as_over": [
"UNSUPPORTED"
],
"counted_as_under": [
"UNDER"
],
"directions": {
"CONSISTENT": "statement and computed result agree",
"DEFINITIONS_DISAGREE": "the definitions (2009 vs 2021 equation, or the four creatinine baselines) lead to different directions; both are shown and the tool never chooses",
"NONE": "criteria not met and nothing documented",
"NOT_ASSESSABLE": "the data cannot decide (exclusion on record, insufficient history, no pre-admission baseline, or a statement the check cannot test); shown with the reason; counted in neither direction and not a review item",
"NOT_ASSESSED": "the check does not apply to this encounter",
"SPECIFICITY_GAP": "criteria met and the statement is unstaged or its stage differs from the computed G category",
"UNDER": "criteria met (all definitions) and no matching statement for the encounter",
"UNSUPPORTED": "a statement exists and the values affirmatively do not meet the criteria: two eGFR >= 60 at least 90 days apart against a stated stage 3a-5; or, for creatinine change, a pre-admission baseline with 0 of 4 baselines met and no reverse-comparison fall"
},
"statement_preference": "the current draft note's statement, else the encounter diagnosis list",
"statement_stage": {
"N18.1": "G1",
"N18.2": "G2",
"N18.30": "G3",
"N18.31": "G3a",
"N18.32": "G3b",
"N18.4": "G4",
"N18.5": "G5",
"N18.6": "G5",
"N18.9": null
},
"two_sided": "both directions are always computed; there is no setting that turns either off"
}
Boundary tests: 7/7 pass
- pass · met G3a vs stated nothing: expected UNDER, got UNDER
- pass · met G3a vs stated G4: expected SPECIFICITY_GAP, got SPECIFICITY_GAP
- pass · met G3b vs stated G3b: expected CONSISTENT, got CONSISTENT
- pass · not_met vs stated G3a: expected UNSUPPORTED, got UNSUPPORTED
- pass · not_met vs stated None: expected NOT_ASSESSABLE, got NOT_ASSESSABLE
- pass · not_met vs stated nothing: expected NONE, got NONE
- pass · not_assessable vs stated G3a: expected NOT_ASSESSABLE, got NOT_ASSESSABLE