Inheritance: BaseHipData
        public List<Models.OfficeVisitDiagnosisModel> GetByVisit(decimal officeVisitId)
        {
            var list = new List<Models.OfficeVisitDiagnosisModel>();
            var diagnosisData = new DiagnosisData();
            var supplimentalDaignosisData = new MulticastNotSupportedException();

            var dataList = _ovDiagRepo.GetDiagnosisByVisitId(officeVisitId);
            foreach (var item in dataList)
            {
                var visitDiag = new Models.OfficeVisitDiagnosisModel();
                visitDiag.ContactTreatmentCount = item.cntct_trmnt_cnt;
                visitDiag.DiagnosisId = item.diag_id;
                visitDiag.DiganosisName = diagnosisData.GetDiagnosis(item.diag_id).DiagnosisDescription;
                visitDiag.SupplementalDiagnosisId = item.splmtl_diag_id;
                visitDiag.SupplementalDiagnosisName = item.splmtl_diag_id != null ? diagnosisData.GetSupplementalDiagnosis((decimal)item.splmtl_diag_id).SupplementalDiagnosisDescription : String.Empty;
                visitDiag.OfficeVisitDiagnosisId = item.ov_diag_id;
                visitDiag.OfficeVisitId = item.ov_id;
                visitDiag.OtherDiagnosisDescription = item.oth_diag_descn;
                visitDiag.OtherSupplementalDiagnosisDescription = item.oth_splmtl_diag_descn;
                if (item.splmtl_diag_cat_id.HasValue)
                {
                    visitDiag.SupplementalDiagnosisCategoryId = item.splmtl_diag_cat_id.Value;
                    visitDiag.SupplementalDiagnosisCategoryName = diagnosisData.GetSupplementalCategory(item.splmtl_diag_cat_id.ToString()).SupplementalDiagnosisCategoryType;
                }
                visitDiag.UpdateDate = item.rec_updt_dt.ToShortDateString();
                visitDiag.UpdatedBy = item.rec_updt_user_id_cd;
                visitDiag.CreateDate = item.rec_creat_dt.ToShortDateString();
                visitDiag.CreatedBy = item.rec_creat_user_id_cd;

                list.Add(visitDiag);
            }

            return list;
        }
        public List<SelectListItem> DiagnosisAsSelectListItems()
        {
            List<SelectListItem> diagnosisAsSelectListItems = new List<SelectListItem>();
            SelectListItem blankSelectListItem = new SelectListItem { Text = "", Value = "" };
            diagnosisAsSelectListItems.Add(blankSelectListItem);

            DiagnosisData diagnosisData = new DiagnosisData();
            List<DiagnosisModel> allDiagnosis = diagnosisData.GetAllDiagnosis();

            foreach(DiagnosisModel diagnosisModel in allDiagnosis)
            {
                SelectListItem diagnoisisAsSelectListItem = new SelectListItem();

                diagnoisisAsSelectListItem.Text = diagnosisModel.DiagnosisDescription;
                diagnoisisAsSelectListItem.Value = diagnosisModel.DiagnosisId;

                diagnosisAsSelectListItems.Add(diagnoisisAsSelectListItem);
            }

            return diagnosisAsSelectListItems;
        }
        public List<SelectListItem> SupplimentalDiagnosisAsSelectListItems(decimal DiagnosisId)
        {
            List<SelectListItem> supplimentalDiagnosisAsSelectListItems = new List<SelectListItem>();
            SelectListItem blankSelectListItem = new SelectListItem { Text = "", Value = "" };
            supplimentalDiagnosisAsSelectListItems.Add(blankSelectListItem);

            DiagnosisData diagnosisData = new DiagnosisData();
            List<SupplementalDiagnosisModel> allSupplementalDiagnosis = diagnosisData.GetAllSupplementalDiagnosisForGivenDiagnosisId(DiagnosisId);

            foreach (SupplementalDiagnosisModel supplementalDiagnosisModel in allSupplementalDiagnosis)
            {
                SelectListItem supplementalDiagnoisisAsSelectListItem = new SelectListItem();

                supplementalDiagnoisisAsSelectListItem.Text = supplementalDiagnosisModel.SupplementalDiagnosisDescription;
                supplementalDiagnoisisAsSelectListItem.Value = supplementalDiagnosisModel.SupplementalDiagnosisId;

                supplimentalDiagnosisAsSelectListItems.Add(supplementalDiagnoisisAsSelectListItem);
            }

            return supplimentalDiagnosisAsSelectListItems;
        }
        public List<SelectListItem> SupplementalDiagnosisCategoryNamesAsSelectListItems()
        {
            List<SelectListItem> supplementalDiagnosisCategoryNamesAsSelectListItems = new List<SelectListItem>();
            SelectListItem blankSelectListItem = new SelectListItem { Text = "", Value = "" };
            supplementalDiagnosisCategoryNamesAsSelectListItems.Add(blankSelectListItem);

            DiagnosisData diagnosisData = new DiagnosisData();
            List<SupplementalDiagnosisCategoryModel> allSupplementalDiagnosisCategoryNames = diagnosisData.GetAllSupplementalCategories();

            foreach (SupplementalDiagnosisCategoryModel supplementalDiagnosisCategory in allSupplementalDiagnosisCategoryNames)
            {
                SelectListItem supplementalDiagnosisCategoryAsSelectListItem = new SelectListItem();

                supplementalDiagnosisCategoryAsSelectListItem.Text = supplementalDiagnosisCategory.SupplementalDiagnosisCategoryType;
                supplementalDiagnosisCategoryAsSelectListItem.Value = supplementalDiagnosisCategory.SupplementalDiagnosisCategoryId;

                supplementalDiagnosisCategoryNamesAsSelectListItems.Add(supplementalDiagnosisCategoryAsSelectListItem);
            }

            return supplementalDiagnosisCategoryNamesAsSelectListItems;
        }