public async Task <JsonResult> SearchTitrationType(string q)
        {
            if (q.IsEmpty())
            {
                return(Json(null));
            }

            var titrInSession = await _formularyLookupService.GetTitrationType();

            if (!titrInSession.IsCollectionValid())
            {
                return(Json(null));
            }

            var matchingTitrInSession = titrInSession.Where(rec => rec.Value.ToLower().StartsWith(q.ToLower())).ToList();

            if (!matchingTitrInSession.IsCollectionValid())
            {
                return(Json(null));
            }

            var titrsAsLkp = matchingTitrInSession.Select(rec => new CodeNameSelectorModel {
                Id = rec.Key, Name = rec.Value, IsReadonly = false, Source = TerminologyConstants.MANUAL_DATA_SOURCE, SourceColor = TerminologyConstants.GetColorForRecordSource(TerminologyConstants.MANUAL_DATA_SOURCE)
            });

            return(Json(titrsAsLkp));
        }
        public async Task <JsonResult> SearchRoutes(string q)
        {
            if (q.IsEmpty())
            {
                return(Json(null));
            }

            var routesInSession = await _formularyLookupService.GetRoutesLookup();

            if (!routesInSession.IsCollectionValid())
            {
                string token  = HttpContext.Session.GetString("access_token");
                var    routes = await TerminologyAPIService.GetRoutes(token);

                if (!routes.IsCollectionValid())
                {
                    return(Json(null));
                }

                var matchingRoutes = routes.Where(rec => rec.Desc.ToLower().StartsWith(q.ToLower())).ToList();

                if (!matchingRoutes.IsCollectionValid())
                {
                    return(Json(null));
                }

                var routesAsCodeName = matchingRoutes.Select(rec => new CodeNameSelectorModel {
                    Id = rec.Cd, Name = rec.Desc, IsReadonly = false, Source = TerminologyConstants.MANUAL_DATA_SOURCE, SourceColor = TerminologyConstants.GetColorForRecordSource(TerminologyConstants.MANUAL_DATA_SOURCE)
                });

                return(Json(routesAsCodeName));
            }

            var matchingRoutesInSession = routesInSession.Where(rec => rec.Value.ToLower().StartsWith(q.ToLower())).ToList();

            if (!matchingRoutesInSession.IsCollectionValid())
            {
                return(Json(null));
            }

            var routesAsLkp = matchingRoutesInSession.Select(rec => new CodeNameSelectorModel {
                Id = rec.Key, Name = rec.Value, IsReadonly = false, Source = TerminologyConstants.MANUAL_DATA_SOURCE, SourceColor = TerminologyConstants.GetColorForRecordSource(TerminologyConstants.MANUAL_DATA_SOURCE)
            });

            return(Json(routesAsLkp));
        }
        public async Task <JsonResult> SearchTradeFamily(string q)
        {
            const string semanticTag = "product";

            var token = HttpContext.Session.GetString("access_token");

            var searchResult = await TerminologyAPIService.SearchSNOMEDData(q, semanticTag, token);

            if (searchResult == null || !searchResult.Data.IsCollectionValid())
            {
                return(Json(new List <string>()));
            }

            var resultsAsCodeText = searchResult.Data.Select(rec => new CodeNameSelectorModel {
                Id = rec.Code, Name = rec.Term, IsReadonly = false, Source = TerminologyConstants.MANUAL_DATA_SOURCE, SourceColor = TerminologyConstants.GetColorForRecordSource(TerminologyConstants.MANUAL_DATA_SOURCE)
            });

            return(Json(resultsAsCodeText));
        }
        public async Task <JsonResult> GetFormCodes()
        {
            string token = HttpContext.Session.GetString("access_token");

            var formCodes = await TerminologyAPIService.GetFormCodes(token);

            if (!formCodes.IsCollectionValid())
            {
                return(Json(null));
            }
            var formCodesTxt = formCodes.Select(rec => new CodeNameSelectorModel {
                Id = rec.Cd, Name = rec.Desc, IsReadonly = false, Source = TerminologyConstants.MANUAL_DATA_SOURCE, SourceColor = TerminologyConstants.GetColorForRecordSource(TerminologyConstants.MANUAL_DATA_SOURCE)
            });

            return(Json(formCodesTxt));
        }