  Management of chronic diseases such as heart failure, diabetes, and chronic
obstructive pulmonary disease (COPD) is a major problem in health care. A
standard approach that the medical community has devised to manage widely
prevalent chronic diseases such as chronic heart failure (CHF) is to have a
committee of experts develop guidelines that all physicians should follow.
These guidelines typically consist of a series of complex rules that make
recommendations based on a patient's information. Due to their complexity,
often the guidelines are either ignored or not complied with at all, which can
result in poor medical practices. It is not even clear whether it is humanly
possible to follow these guidelines due to their length and complexity. In the
case of CHF management, the guidelines run nearly 80 pages. In this paper we
describe a physician-advisory system for CHF management that codes the entire
set of clinical practice guidelines for CHF using answer set programming. Our
approach is based on developing reasoning templates (that we call knowledge
patterns) and using these patterns to systemically code the clinical guidelines
for CHF as ASP rules. Use of the knowledge patterns greatly facilitates the
development of our system. Given a patient's medical information, our system
generates a recommendation for treatment just as a human physician would, using
the guidelines. Our system will work even in the presence of incomplete
information. Our work makes two contributions: (i) it shows that highly complex
guidelines can be successfully coded as ASP rules, and (ii) it develops a
series of knowledge patterns that facilitate the coding of knowledge expressed
in a natural language and that can be used for other application domains. This
paper is under consideration for acceptance in TPLP.
