The clinical concepts in the information gathered from the healthcare services are categorized and standardized using medical coding. The International Classification of Diseases (ICD) includes codes for various diseases that have an impact on financing, reporting, and research. In order to provide patient care and billing, medical coding allocates a subset of ICD codes to each patient visit. Medical personnel must spend a lot of time and effort on manual medical coding, which can lead to missed revenue and claim denials. Different studies on machine learning achieved promising performance for automated medical coding. Many researchers carried out their research on ICD. But, heterogeneous mode of operations by doctors and diagnosis methods makes the medical coding as more complex one. Furthermore, the current ICD approaches did not reduce computational complexity or increase accuracy. To address these problems, a range of deep learning and machine learning approaches are tested for ICD.