public object FindByID(string entityID) { GetCohortDataResponse cohortResponse = null; using (CohortMongoContext ctx = new CohortMongoContext(_dbName)) { List <IMongoQuery> queries = new List <IMongoQuery>(); queries.Add(Query.EQ(MECohort.IdProperty, ObjectId.Parse(entityID))); queries.Add(Query.EQ(MECohort.DeleteFlagProperty, false)); IMongoQuery mQuery = Query.And(queries); MECohort meCohort = ctx.Cohorts.Collection.Find(mQuery).FirstOrDefault(); if (meCohort != null) { cohortResponse = new GetCohortDataResponse(); API.DataDomain.Cohort.DTO.CohortData cohort = new API.DataDomain.Cohort.DTO.CohortData { ID = meCohort.Id.ToString(), SName = meCohort.ShortName, Query = meCohort.Query, QueryWithFilter = meCohort.QueryWithFilter, Sort = meCohort.Sort }; cohortResponse.Cohort = cohort; } } return(cohortResponse); }
public static GetCohortDataResponse GetCohortByID(GetCohortDataRequest request) { GetCohortDataResponse response = new GetCohortDataResponse(); ICohortRepository <GetCohortDataResponse> repo = CohortRepositoryFactory <GetCohortDataResponse> .GetCohortRepository(request.ContractNumber, request.Context, request.UserId); response = repo.FindByID(request.CohortID) as GetCohortDataResponse; return(response); }
public void GetCohortByID_Test() { // Arrange double version = 1.0; string contractNumber = "InHealth001"; string context = "NG"; GetCohortDataRequest request = new GetCohortDataRequest { CohortID = "528aa055d4332317acc50978", Context = context, ContractNumber = contractNumber, Version = version }; // Act GetCohortDataResponse response = DataCohortManager.GetCohortByID(request); // Assert Assert.IsTrue(response.Cohort.SName == "All(f)"); }
public GetCohortDataResponse Get(GetCohortDataRequest request) { GetCohortDataResponse response = new GetCohortDataResponse(); try { if (string.IsNullOrEmpty(request.UserId)) { throw new UnauthorizedAccessException("CohortDD:Get()::Unauthorized Access"); } response = DataCohortManager.GetCohortByID(request); response.Version = request.Version; } catch (Exception ex) { CommonFormatter.FormatExceptionResponse(response, base.Response, ex); string aseProcessID = ConfigurationManager.AppSettings.Get("ASEProcessID") ?? "0"; Common.Helper.LogException(int.Parse(aseProcessID), ex); } return(response); }
public void GetCohortByID_Test() { // Arrange string expectedValue = "All(f)"; double version = 1.0; string contractNumber = "InHealth001"; string context = "NG"; string cohortID = "528aa055d4332317acc50978"; IRestClient client = new JsonServiceClient(); JsonServiceClient.HttpWebRequestFilter = x => x.Headers.Add(string.Format("{0}: {1}", "x-Phytel-UserID", "531f2df9072ef727c4d2a3df")); // Act GetCohortDataResponse response = client.Get <GetCohortDataResponse> (string.Format("{0}/{1}/{2}/{3}/cohort/{4}", "http://localhost:8888/Cohort/", context, version, contractNumber, cohortID)); string actualValue = response.Cohort.SName; // Assert Assert.AreEqual(expectedValue, actualValue, true); }
public GetCohortPatientsDataResponse GetCohortPatients(GetCohortPatientsDataRequest request) { try { string DDCohortServiceURL = ConfigurationManager.AppSettings["DDCohortServiceUrl"]; GetCohortPatientsDataResponse result = new GetCohortPatientsDataResponse(); IRestClient client = new JsonServiceClient(); string url = Helpers.BuildURL(string.Format("{0}/{1}/{2}/{3}/cohort/{4}", DDCohortServiceURL, request.Context, request.Version, request.ContractNumber, request.CohortID), request.UserId); // 1) lookup query for cohortid in cohorts collection string cohortID = request.CohortID; GetCohortDataResponse response = client.Get <GetCohortDataResponse>(url); string cohortQuery = response.Cohort.Query; //If #USER_ID# is present in the cohort query, replace it with the ContactId. if (!string.IsNullOrEmpty(request.UserId)) { cohortQuery = response.Cohort.Query.Replace("#USER_ID#", request.UserId); } //Get the filter parameters string field1 = string.Empty; string field2 = string.Empty; if (string.IsNullOrEmpty(request.SearchFilter) == false) { //is there a comma in the string? if (request.SearchFilter.IndexOf(',') > -1) { string[] info = request.SearchFilter.Split(",".ToCharArray()); field1 = info[1].Trim(); field2 = info[0].Trim(); } else { string[] info = request.SearchFilter.Split(" ".ToCharArray()); field1 = info[0].Trim(); if (info.Length > 1) { field2 = info[1].Trim(); } } } string[] filterParms = new string[] { field1, field2 }; // 2) get patientIDs through cohortpatients view IPatientRepository repo = Factory.GetRepository(request, RepositoryType.CohortPatientView); result.CohortPatients = repo.Select(cohortQuery, filterParms, response.Cohort.Sort, request.Skip, request.Take); return(result); } catch (Exception) { throw; } }