public async Task <JsonResult> GetAdditionalCodeSystems()
        {
            var token = HttpContext.Session.GetString("access_token");

            var additionalCodeSystems = await TerminologyAPIService.GetClassificationCodeTypesLookup(token);

            additionalCodeSystems.Insert(0, new FormularyLookupAPIModel {
                Cd = "", Desc = "Please Select", Recordstatus = 1
            });

            return(Json(additionalCodeSystems));
        }
        public async Task <Dictionary <string, string> > GetClassificationCodeTypes(Action <Dictionary <string, string> > onResultFetch = null)
        {
            string token = _httpContext.Session.GetString("access_token");

            var dataDictionary = _httpContext.Session.GetObject <Dictionary <string, string> >(SynapseSession.ClassificationCodeTypes);

            if (!dataDictionary.IsCollectionValid())
            {
                var codeSystemsLkp = await TerminologyAPIService.GetClassificationCodeTypesLookup(token);

                if (codeSystemsLkp.IsCollectionValid())
                {
                    dataDictionary = codeSystemsLkp.Where(rec => rec.Recordstatus == 1).ToDictionary(k => k.Cd.ToString(), v => v.Desc);

                    _httpContext.Session.SetObject(SynapseSession.ClassificationCodeTypes, dataDictionary);
                }
            }

            dataDictionary = dataDictionary ?? new Dictionary <string, string>();

            onResultFetch?.Invoke(dataDictionary);
            return(dataDictionary);
        }