//public async Task<Dictionary<string, string>> GetMedicationTypeLookup(Action<Dictionary<string, string>> onResultFetch = null) //{ // string token = _httpContext.Session.GetString("access_token"); // var dataDictionary = _httpContext.Session.GetObject<Dictionary<string, string>>(SynapseSession.FormularyMedicationTypeLkpKey); // if (!dataDictionary.IsCollectionValid()) // { // var recordStatusLkp = await TerminologyAPIService.GetMedicationTypes(token); // if (recordStatusLkp.IsCollectionValid()) // { // dataDictionary = recordStatusLkp.Where(rec => rec.recordstatus == 1).ToDictionary(k => k.cd.ToString(), v => v.desc); // _httpContext.Session.SetObject(SynapseSession.FormularyMedicationTypeLkpKey, dataDictionary); // } // } // dataDictionary = dataDictionary ?? new Dictionary<string, string>(); // onResultFetch?.Invoke(dataDictionary); // return dataDictionary; //} public async Task <Dictionary <string, string> > GetBasisOfPreferredName(Action <Dictionary <string, string> > onResultFetch = null) { string token = _httpContext.Session.GetString("access_token"); var dataDictionary = _httpContext.Session.GetObject <Dictionary <string, string> >(SynapseSession.BasisOfPreferredName); if (!dataDictionary.IsCollectionValid()) { var basisOfPreferredNameLkp = await TerminologyAPIService.GetBasisOfPreferredName(token); if (basisOfPreferredNameLkp.IsCollectionValid()) { dataDictionary = basisOfPreferredNameLkp.Where(rec => rec.Recordstatus == 1).ToDictionary(k => k.Cd.ToString(), v => v.Desc); _httpContext.Session.SetObject(SynapseSession.BasisOfPreferredName, dataDictionary); } } dataDictionary = dataDictionary ?? new Dictionary <string, string>(); onResultFetch?.Invoke(dataDictionary); return(dataDictionary); }