← Back to the worklist · Whole encounter ENC-00106
Dmitri Greaves: Heart failure
ENC-00106 · 83F · Hospital Medicine · admitted Mon Nov 09, 2026 12:02 PM · in hospital · attending Dr. Cyrus Ellingham · resident Dr. Noor Halvorsen
Documented “acute on chronic systolic heart failure” (I50.23) is more specific than the criteria support (Chronic systolic (HFrEF) heart failure, I50.22).
Documented vs supported
- Documented
- “acute on chronic systolic heart failure” · I50.23 Acute on chronic systolic (congestive) heart failure
- Criteria support
- Chronic systolic (HFrEF) heart failure · I50.22 Chronic systolic (congestive) heart failure
- Outcome
- LVEF 27%, prior heart failure, no acute indicators
- Rule
- Heart failure type (LVEF) and acuity v2026.11-1
- Published source
- Universal Definition and Classification of Heart Failure (HFSA/HFA/JHFS, 2021), as restated in Chandramouli et al., Clin Cardiol 2022 (2021), LVEF classification: HFrEF <=40%, HFmrEF 41-49%, HFpEF >=50%; HFimpEF = baseline <=40%, rise >=10 points, second LVEF >40% · source (checked 2026-11-14)
- Contested
- No guideline gives a numeric definition of "acute" versus "chronic" heart failure. This rule uses a LOCAL CONVENTION: at least two acute indicators (IV loop diuretic, elevated natriuretic peptide, new oxygen requirement) = acute; with a prior history of heart failure = acute on chronic; none with history = chronic; exactly one = clinical judgement.
Effect if the clinician agrees (illustrative)
- Change
- I50.23 -> I50.22
- Secondary-diagnosis level
- MCC → CC
- MS-DRG (illustrative)
- 689 Kidney and urinary tract infections with MCC → 690 Kidney and urinary tract infections without MCC
- Relative weight
- 1.1603 → 0.8095 (-0.3508)
- Codes before
- N39.0, E46, I50.23, E87.1, I10, E78.5
- Codes after
- N39.0, E46, E87.1, I10, E78.5, I50.22
All open gaps on this encounter together: MS-DRG 689 → 690 (RW -0.3508).
CC/MCC status, CC exclusions (subset) and relative weights from the public CMS FY2026 IPPS final rule tables (5, 6I, 6J, 6K). This is not a grouper and not a payment estimate. Queries never mention any of this.
Severity documentation index change SIMULATED
-0.5 points
SIMULATED: Illustrative severity weights (MCC = 1.0, CC = 0.5, non-CC = 0) summed over secondary diagnoses; not a validated risk-adjustment model and not a measured effect.
Evidence
Structured values are read by code from the cited rows. Note facts are shown only when the model's quote was found verbatim in the note.
| Input | Value | Source |
|---|---|---|
| Latest LVEF within 12 months (%) | 27.0 |
echo LVEF 27%
|
| Highest BNP this stay (pg/mL) | 52.0 |
BNP 52 pg/mL
|
| Prior heart failure on the problem list / history | True |
history: heart failure with reduced ejection fraction
|
Rule trace (inputs, thresholds, outcome)
| Step | Expression | Inputs and thresholds read | Result |
|---|---|---|---|
| derived: np_elevated | coalesce(bnp_max >= t.bnp, false) or coalesce(ntprobnp_max >= t.ntprobnp, false) |
bnp_max=52.0, ntprobnp_max=unknown, t.bnp=100, t.ntprobnp=300 | false |
| derived: acute_count | count(iv_loop_diuretic, np_elevated, new_o2) |
iv_loop_diuretic=False, new_o2=False, np_elevated=False | 0 |
| derived: hf_type | case(lvef <= t.ref, 'systolic', lvef >= t.pres, 'diastolic', 'midrange') |
lvef=27.0, t.pres=50, t.ref=40 | systolic |
| derived: improved | coalesce(lvef_prior_min <= t.ref and lvef > t.ref and lvef - lvef_prior_min >= t.improved_rise, false) |
lvef=27.0, lvef_prior_min=unknown, t.improved_rise=10, t.ref=40 | false |
| derived: acuity | case(acute_count >= 2 and hf_history, 'acute on chronic', acute_count >= 2, 'acute', acute_count == 0 and hf_history, 'chronic', null) |
acute_count=0, hf_history=True | chronic |
| outcome: improved_ef | improved |
improved=False | false |
| outcome: midrange | hf_type == 'midrange' |
hf_type=systolic | false |
| outcome: sys_aoc | hf_type == 'systolic' and acuity == 'acute on chronic' |
acuity=chronic, hf_type=systolic | false |
| outcome: sys_acute | hf_type == 'systolic' and acuity == 'acute' |
acuity=chronic, hf_type=systolic | false |
| outcome: sys_chronic | hf_type == 'systolic' and acuity == 'chronic' |
acuity=chronic, hf_type=systolic | true |
Documentation query
Title and question drafted by model clockworks-mock (audit entry #2176); clinical indicators and answer options assembled by code from the rule and the record.
Sign in to act. Sign in as a demo user (a CDI specialist sends queries).
DOCUMENTATION QUERY (draft) Title: Clarification request: cardiac documentation Encounter: ENC-00106 Patient: Dmitri Greaves To: Dr. Cyrus Ellingham Clinical indicators from the health record: - Documented in the record: "acute on chronic systolic heart failure" [Progress note DOC-000358] - echo LVEF 27% (2026-05-19 12:02) [echo ECH-000050] - BNP 52 pg/mL (2026-11-09 13:02) [lab LAB-003597] - history: heart failure with reduced ejection fraction [history HX-000040] Question: The indicators above are documented in this encounter. Could you clarify the type and acuity of the documented heart failure? Response options (select one or write your own): ( ) Acute on chronic systolic heart failure: confirmed (please document the supporting clinical information) ( ) Chronic systolic heart failure (HFrEF) ( ) Other explanation of the clinical findings (please specify): ____________ ( ) Unable to determine Please respond based on your independent clinical judgement. Any response, including "unable to determine", is acceptable. This query and your response are kept as part of the health record.
Other findings on this encounter
- Chronic kidney disease · Specificity gap Criteria support Chronic kidney disease stage 3a (N18.31); no corresponding diagnosis is documented.
- Hyponatraemia · Clinical judgement required Clinical judgement required: Low sodium without documented treatment or repeat values; clinical significance is a clinician judgement.
- Malnutrition · Specificity gap Documented “malnourished” (E46); criteria support the more specific Moderate (non-severe) protein-calorie malnutrition (chronic illness context) (E44.0).
History
| Seq | When (UTC) | Actor | Action | Entities | Decision / reason | Model / hashes |
|---|---|---|---|---|---|---|
| 2176 | 2026-11-14T20:57:25 | system:llm system |
llm.call |
ENC-00106, ENC-00106.heart_failure | — | clockworks-mock mock-1/exactdx.draft_query@1 prompt 3a3f02e0b5de output d9932f2bccc8 entry a989a669ef1e |
| 1350 | 2026-11-14T19:24:30 | system:llm system |
llm.call |
ENC-00106, ENC-00106.heart_failure | — | clockworks-mock mock-1/exactdx.draft_query@1 prompt 3a3f02e0b5de output d9932f2bccc8 entry 778638533b3b |
| 608 | 2026-11-14T18:29:05 | system:llm system |
llm.call |
ENC-00106, ENC-00106.heart_failure | — | clockworks-mock mock-1/exactdx.draft_query@1 prompt 3a3f02e0b5de output d9932f2bccc8 entry f855f3afb4d6 |