public GetPatientMedFrequenciesResponse Get(GetPatientMedFrequenciesRequest request) { GetPatientMedFrequenciesResponse response = new GetPatientMedFrequenciesResponse(); ValidateTokenResponse result = null; try { if (base.Request != null) { request.Token = base.Request.Headers["Token"] as string; } result = Security.IsUserValidated(request.Version, request.Token, request.ContractNumber); if (result.UserId.Trim() != string.Empty) { request.UserId = result.UserId; response.PatientMedFrequencies = MedicationManager.GetPatientMedFrequencies(request); } else { throw new UnauthorizedAccessException(); } } catch (Exception ex) { CommonFormatter.FormatExceptionResponse(response, base.Response, ex); if ((ex is WebServiceException) == false) { MedicationManager.LogException(ex); } } finally { List <string> patientIds = new List <string>(); patientIds.Add(request.PatientId); if (result != null) { string browser = (base.Request != null) ? base.Request.UserAgent : unknownBrowserType; string hostAddress = (base.Request != null) ? base.Request.UserHostAddress : unknownUserHostAddress; AuditUtil.LogAuditData(request, result.SQLUserId, patientIds, browser, hostAddress, request.GetType().Name); } } return(response); }
public List <PatientMedFrequency> GetPatientMedFrequencies(GetPatientMedFrequenciesRequest request) { List <PatientMedFrequency> patientMedFreqs = null; try { List <PatientMedFrequencyData> data = EndpointUtil.GetPatientMedFrequencies(request); if (data != null && data.Count > 0) { patientMedFreqs = new List <PatientMedFrequency>(); data.ForEach(a => patientMedFreqs.Add(new PatientMedFrequency { Id = a.Id, Name = a.Name })); } return(patientMedFreqs); } catch (Exception ex) { throw ex; } }
public List <PatientMedFrequencyData> GetPatientMedFrequencies(GetPatientMedFrequenciesRequest request) { try { List <PatientMedFrequencyData> result = null; IRestClient client = new JsonServiceClient(); //[Route("/{Context}/{Version}/{ContractNumber}/PatientMedSupp/Frequency/{PatientId}", "GET")] var url = Common.Helper.BuildURL(string.Format("{0}/{1}/{2}/{3}/PatientMedSupp/Frequency/{4}", DDMedicationUrl, "NG", request.Version, request.ContractNumber, request.PatientId), request.UserId); GetPatientMedFrequenciesDataResponse dataDomainResponse = client.Get <GetPatientMedFrequenciesDataResponse>(url); if (dataDomainResponse != null) { result = dataDomainResponse.PatientMedFrequenciesData; } return(result); } catch (Exception ex) { throw ex; } }
public string CalculateSigCode(PostPatientMedSuppRequest request) { DateTime?startDate = request.PatientMedSupp.StartDate; DateTime?endDate = request.PatientMedSupp.EndDate; string quantity = request.PatientMedSupp.FreqQuantity; string strength = request.PatientMedSupp.Strength; string form = request.PatientMedSupp.Form; string route = request.PatientMedSupp.Route; string frequencyId = request.PatientMedSupp.FrequencyId; string patientId = request.PatientMedSupp.PatientId; string contractNumber = request.ContractNumber; string token = request.Token; string userId = request.UserId; double version = request.Version; string sigCode = ""; string dateRange = ""; if (startDate != null && endDate != null) { startDate = (DateTime)startDate.Value.ToUniversalTime(); endDate = (DateTime)endDate.Value.ToUniversalTime(); TimeSpan ts = endDate.Value - startDate.Value; int days = (int)Math.Round(ts.TotalDays); // daylight savings adjustments: just round it if (days > 0) { dateRange = "for " + days.ToString() + (days == 1 ? " day" : " days"); } } if (quantity == null) { quantity = ""; } quantity = quantity.Trim(); if (strength == null) { strength = ""; } strength = strength.Trim(); if (form == null) { form = ""; } form = form.Trim(); if (route == null) { route = ""; } route = route.Trim(); if (string.IsNullOrEmpty(quantity.Trim()) && string.IsNullOrEmpty(strength.Trim()) && string.IsNullOrEmpty(form.Trim()) && string.IsNullOrEmpty(route.Trim()) && string.IsNullOrEmpty(frequencyId) && string.IsNullOrEmpty(dateRange)) { sigCode = "-"; } else { string howOften = ""; if (!string.IsNullOrEmpty(frequencyId)) { //get the frequency name (how often) from frequencyId: NGManager ngManager = new NGManager(); GetLookUpsRequest getLookupsRequest = new GetLookUpsRequest { ContractNumber = contractNumber, Token = token, TypeName = "Frequency", UserId = userId, Version = version }; List <IdNamePair> frequencies = ngManager.GetLookUps(getLookupsRequest); //GetLookUpDetailsRequest lookupRequest = new GetLookUpDetailsRequest //{ // ContractNumber = contractNumber, // Token = token, // TypeName = "Frequency", // UserId = userId, // Version = version //}; //List<LookUpDetails> lookups = ngManager.GetLookUpDetails(lookupRequest); //this has error in the implementation code! if (frequencies != null && frequencies.Count() > 0) { IdNamePair aLookup = frequencies.Where(l => l.Id.Equals(frequencyId)).FirstOrDefault(); if (aLookup != null) { howOften = aLookup.Name; } else { GetPatientMedFrequenciesRequest freqRequest = new GetPatientMedFrequenciesRequest(); freqRequest.PatientId = request.PatientMedSupp.PatientId; freqRequest.ContractNumber = contractNumber; freqRequest.UserId = userId; freqRequest.Token = token; freqRequest.Version = version; List <PatientMedFrequency> patientFrequencies = GetPatientMedFrequencies(freqRequest); if (frequencies != null && (frequencies.Count() > 0)) { PatientMedFrequency theFrequency = patientFrequencies.Where(f => f.Id.Equals(frequencyId)).FirstOrDefault(); if (theFrequency != null) { howOften = theFrequency.Name; howOften = howOften.Trim(); } } } } } sigCode = AddSigSubCode(sigCode, quantity); sigCode = AddSigSubCode(sigCode, strength); sigCode = AddSigSubCode(sigCode, form); sigCode = AddSigSubCode(sigCode, route); sigCode = AddSigSubCode(sigCode, howOften); sigCode = AddSigSubCode(sigCode, dateRange); } return(sigCode); }