Clinical decision support systems (CDSSs) have been proved as an efficient way to improve health care quality. However, the inflexibility in integrating multiple clinical practice guidelines (multi-CPGs), the mass input workload of patient data, and the difficulty in system sharing become barriers of CDSSs implementation. In this paper, we proposed a framework of CDSS for chronic disease based on ontology and service-oriented architecture (SOA) to improve these defects. We used ontology for knowledge base construction on multi-CPGs integration to overcome their differences as well as reduce the input procedure of patient data by ontology reasoning. Furthermore, we built the CDSS on an SOA structure to provide flexibility in system and data sharing, such that patients could get suggestions from the same system for self-management of chronic disease. A typical case was used to validate the CDSS functions and accuracy. Two clients were developed to illustrate the SOA superiority.