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

            var basisOfPharmaStrength = await TerminologyAPIService.GetBasisOfPharmaStrength(token);

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

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

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

        //    if (!dataDictionary.IsCollectionValid())
        //    {
        //        var orderFormTypesLkp = await TerminologyAPIService.GetOrderFormTypes(token);

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

        //            _httpContext.Session.SetObject(SynapseSession.OrderFormTypes, dataDictionary);
        //        }
        //    }

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

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

        public async Task <Dictionary <string, string> > GetBasisOfPharmaStrengths(Action <Dictionary <string, string> > onResultFetch = null)
        {
            string token = _httpContext.Session.GetString("access_token");

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

            if (!dataDictionary.IsCollectionValid())
            {
                var basisOfPharmaStrengths = await TerminologyAPIService.GetBasisOfPharmaStrength(token);

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

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

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

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