Skip to main content
Exact Dx synthetic data · demonstration
Extended criteria (experimental). This is the broader ten-condition engine, kept as a secondary area. It shows ICD-10-CM codes and illustrative grouping effects for CDI staff. The primary surface is Before you sign (kidney, measurement only). All extended pages.

← 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

Clinical validation gap Criteria met Open In hospital: concurrent review Resident note awaiting attending cosign

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.

Evidence (each item cited to a source row or a quoted span)
InputValueSource
Latest LVEF within 12 months (%) 27.0
echo LVEF 27% · echo ECH-000050 · 2026-05-19 12:02
Highest BNP this stay (pg/mL) 52.0
BNP 52 pg/mL · lab LAB-003597 · 2026-11-09 13:02
Prior heart failure on the problem list / history True
history: heart failure with reduced ejection fraction · history HX-000040
Rule trace (inputs, thresholds, outcome)
Rule trace (rule heart_failure v2026.11-1; evaluated in order, first true outcome wins; "unknown" = missing input)
StepExpressionInputs and thresholds readResult
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

History

Audit entries for this finding (newest first)
SeqWhen (UTC)ActorAction EntitiesDecision / reasonModel / 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