We present a decision support system to let medical doctors analyze important clinical data, like patients medical history, diagnosis, or therapy, in order to detect common patterns of knowledge useful in the diagnosis process. The underlying approach mainly exploits case-based reasoning (CBR), which is useful to extract knowledge from previously experienced cases. In particular, we used sequence data mining to detect common patterns in patients histories and to highlight the effects of medical practices, based on evidence. We also exploited data warehousing techniques, such OLAP queries to let medical doctor analyze diagnosis along several measures, and recent visual data integration approaches and tools to effectively support the complex task of integrating and reconciling data from different medical data sources. In addition, due to massive presence of textual information within the clinical records of many hospitals, text mining techniques have been devised. In particular, we performed lexical analysis of free text in order to extract discriminatory terms and to derive encoded information. Finally, the system provides user friendly mechanisms to manage the protection of confidential medical data. System validation has been performed, mainly focusing on usability issues, by running experiments based on a large database from a primary public hospital.