public string Run([FromBody] StudySettings revisedMappings) { // Apply Ex setting used for reference computation revisedMappings.UseEx = revisedMappings.UseExRef; DataSet data = revisedMappings.ToMappingDataSet(true); // Delete old analysis results DeleteAnalysisResults(revisedMappings); // Run the analysis code return(SasClientObject.NewJob(data, "RunStudyAnalysis").ToString()); }
public IDictionary <string, IEnumerable <string> > GetReference([FromBody] StudySettings revisedMappings) { // Apply Ex setting for reference computation revisedMappings.UseEx = revisedMappings.UseExRef; DataSet data = revisedMappings.ToMappingDataSet(); JobResponse response; var id = SasClientObject.NewJob(data, "ListReferences"); do { System.Threading.Thread.Sleep(500); response = SasClientObject.Getjob(id); } while (response.Status == SasJobs.Messages.StatusCode.Running); // return the potential references if (response.Status == SasJobs.Messages.StatusCode.Done) { var resultsTable = response.Data.Tables[0]; if (resultsTable.Rows.Count > 0) { var referenceTable = new Dictionary <string, IEnumerable <string> >(); foreach (var row in resultsTable.AsEnumerable()) { var cohort = row["CohortDescription"].ToString(); if (!referenceTable.ContainsKey(cohort)) { referenceTable.Add(cohort, new List <string>()); } var reference = row["Reference"].ToString().Trim(); if (!String.IsNullOrWhiteSpace(reference)) { ((List <string>)referenceTable[cohort]) .Add(reference); } } return(referenceTable); } } return(null); }
public int GenerateDemographicSummary([FromBody] StudySettings revisedMappings) { // Apply Ex setting for reference computation revisedMappings.UseEx = revisedMappings.UseExRef; DataSet data = revisedMappings.ToMappingDataSet(true); JobResponse response; Guid id; id = SasClientObject.NewJob(data, "Reports_DemographicSummary"); // Wait for job response do { System.Threading.Thread.Sleep(500); response = SasClientObject.Getjob(id); } while (response.Status == SasJobs.Messages.StatusCode.Running); // Return the completion code return(response.Status == SasJobs.Messages.StatusCode.Done ? 0 : -1); }
public int?DetermineStudyDesign([FromBody] StudySettings revisedMappings) { DataSet data = revisedMappings.ToMappingDataSet(); JobResponse response; var id = SasClientObject.NewJob(data, "DetermineStudyDesign"); //var id = SasClientObject.NewJob(data, "variabilitytest4"); do { System.Threading.Thread.Sleep(500); response = SasClientObject.Getjob(id); } while (response.Status == SasJobs.Messages.StatusCode.Running); // return the potential references if (response.Status == SasJobs.Messages.StatusCode.Done) { var resultsTable = response.Data.Tables[0]; if (resultsTable.Rows.Count > 0) { var studyDesign = resultsTable.AsEnumerable().First()["StudyDesign"].ToString(); switch (studyDesign.ToLower()) { case "unknown": return(1); case "sequential": return(2); case "parallel": return(3); case "crossover": return(4); default: return(0); } } } return(null); }