In the last few years, hospitals have been collecting a large amount of health related digital data for patients. This includes clinical test reports, treatment updates and disease diagnosis. The information extracted from this data is used for clinical decisions and treatment recommendations. Among health recommender systems, collaborative filtering technique has gained a significant success. However, traditional collaborative filtering algorithms are facing challenges such as data sparsity and scalability, which leads to a reduction in system accuracy and efficiency. In a clinical setting, the recommendations should be accurate and timely. In this paper, an improvised collaborative filtering technique is proposed, which is based on clustering and sub-clustering. The proposed methodology is applied on a supervised set of data for four different types of cardiovascular diseases including angina, non-cardiac chest pain, silent ischemia, and myocardial infarction. The patient data is partitioned with respect to their corresponding disease class, which is followed by k-mean clustering, applied separately on each disease partition. A query patient once directed to the correct disease partition requires to get similarity scores from a reduced sub-cluster, thereby improving the efficiency of the system. Each disease partition has a separate process for recommendation, which gives rise to modularization and helps in improving scalability of the system. The experimental results demonstrate that the proposed modular clustering based recommender system reduces the spatial search domain for a query patient and the time required for providing accurate recommendations. The proposed system improves upon the accuracy of recommendations as demonstrated by the precision and recall values. This is significant for health recommendation systems particularly for those related to cardiovascular diseases.