private static void GroupResults(ref DataSet ds, SummaryRequestType requestType) { DataSetHelper dsHelper = new DataSetHelper(ref ds); string GenderColumnName = (ds.Tables[0].Columns.Contains("gender")) ? "gender Sex" : "Sex"; string SortColumnName = (ds.Tables[0].Columns.Contains("gender")) ? "gender" : "Sex"; switch (requestType.StringId) { case SummaryRequestType.GenericName: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, Period, GenericName,sum(Dispensings) Dispensings, sum(Members) Members, sum(DaysSupply) DaysSupply, sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, avg(Prevalence_Rate_Users_per_1000_enrollees) Prevalence_Rate_Users_per_1000_enrollees,avg(Dispensing_Rate_Dispensings_per_1000_enrollees) Dispensing_Rate_Dispensings_per_1000_enrollees, avg(Days_Per_Dispensing) Days_Per_Dispensing, avg(Days_Per_user) Days_Per_user", "", "AgeGroup, Sex, Period,GenericName"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.Incident_GenericName: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, Period, GenericName,sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, " + "sum(Members90) Members90, sum(Dispensings90) Dispensings90, sum(DaysSupply90) DaysSupply90, sum(Members90Q1) Members90Q1, sum(Members90Q2) Members90Q2, sum(Members90Q3) Members90Q3, sum(Members90Q4) Members90Q4, " + "sum(Members180) Members180, sum(Dispensings180) Dispensings180, sum(DaysSupply180) DaysSupply180, sum(Members180Q1) Members180Q1, sum(Members180Q2) Members180Q2, sum(Members180Q3) Members180Q3, sum(Members180Q4) Members180Q4, " + "sum(Members270) Members270, sum(Dispensings270) Dispensings270, sum(DaysSupply270) DaysSupply270, sum(Members270Q1) Members270Q1, sum(Members270Q2) Members270Q2, sum(Members270Q3) Members270Q3, sum(Members270Q4) Members270Q4", "", "AgeGroup, Sex, Period,GenericName"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.DrugClass: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, Period, DrugClass,sum(Dispensings) Dispensings, sum(Members) Members, sum(DaysSupply) DaysSupply, sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, avg(Prevalence_Rate_Users_per_1000_enrollees) Prevalence_Rate_Users_per_1000_enrollees,avg(Dispensing_Rate_Dispensings_per_1000_enrollees) Dispensing_Rate_Dispensings_per_1000_enrollees, avg(Days_Per_Dispensing) Days_Per_Dispensing, avg(Days_Per_user) Days_Per_user", "", "AgeGroup, Sex, Period,DrugClass"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.Incident_DrugClass: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, Period, DrugClass,sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, " + "sum(Members90) Members90, sum(Dispensings90) Dispensings90, sum(DaysSupply90) DaysSupply90, sum(Members90Q1) Members90Q1, sum(Members90Q2) Members90Q2, sum(Members90Q3) Members90Q3, sum(Members90Q4) Members90Q4, " + "sum(Members180) Members180, sum(Dispensings180) Dispensings180, sum(DaysSupply180) DaysSupply180, sum(Members180Q1) Members180Q1, sum(Members180Q2) Members180Q2, sum(Members180Q3) Members180Q3, sum(Members180Q4) Members180Q4, " + "sum(Members270) Members270, sum(Dispensings270) Dispensings270, sum(DaysSupply270) DaysSupply270, sum(Members270Q1) Members270Q1, sum(Members270Q2) Members270Q2, sum(Members270Q3) Members270Q3, sum(Members270Q4) Members270Q4", "", "AgeGroup, Sex, Period,DrugClass"); ds.Tables.RemoveAt(0); break; //case SummaryRequestType.NDC: // dsHelper.SelectGroupByInto("Results", ds.Tables[0], "GenericName,_NDC,sum(dispensing) dispensing,sum(Members) Members", "", "GenericName,_NDC"); // ds.Tables.RemoveAt(0); // break; case SummaryRequestType.ICD9Diagnosis: case SummaryRequestType.ICD9Diagnosis_4_digit: case SummaryRequestType.ICD9Diagnosis_5_digit: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup,Sex, Period, DXCode, DXName, Setting, sum(Events) Events, sum(Members) Members, sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, avg(Prevalence_Rate_Users_per_1000_enrollees) Prevalence_Rate_Users_per_1000_enrollees, avg(Event_Rate_Events_per_1000_enrollees) Event_Rate_Events_per_1000_enrollees, avg(Events_Per_member) Events_Per_member", "", "AgeGroup, Sex,Period, DXCode, DXName, Setting"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.Incident_ICD9Diagnosis: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup,Sex, Period, DXCode, DXName, Setting, sum(Members90) Members90, sum(Members180) Members180, sum(Members270) Members270, sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered", "", "AgeGroup, Sex,Period, DXCode, DXName, Setting"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.ICD9Procedures: case SummaryRequestType.ICD9Procedures_4_digit: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, Period, PXCode, PXName, Setting, sum(Events) Events, sum(Members) Members, sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, avg(Prevalence_Rate_Users_per_1000_enrollees) Prevalence_Rate_Users_per_1000_enrollees, avg(Event_Rate_Events_per_1000_enrollees) Event_Rate_Events_per_1000_enrollees, avg(Events_Per_member) Events_Per_member", "", "AgeGroup, Sex, Period, PXCode, PXName, Setting"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.HCPCSProcedures: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, Period, PXCode, PXName, Setting, sum(Events) Events, sum(Members) Members, sum(Total_Enrollment_in_Strata_Members) Total_Enrollment_in_Strata_Members, sum(Days_Covered) Days_Covered, avg(Prevalence_Rate_Users_per_1000_enrollees) Prevalence_Rate_Users_per_1000_enrollees, avg(Event_Rate_Events_per_1000_enrollees) Event_Rate_Events_per_1000_enrollees, avg(Events_Per_member) Events_Per_member", "", "AgeGroup, Sex, Period, PXCode, PXName, Setting"); ds.Tables.RemoveAt(0); break; case SummaryRequestType.EligibilityAndEnrollment: dsHelper.SelectGroupByInto("Results", ds.Tables[0], "AgeGroup, Sex, DrugCoverage, MedicalCoverage, Year, sum(Members) Members", "", "AgeGroup, Sex, DrugCoverage, MedicalCoverage, Year"); ds.Tables.RemoveAt(0); break; default: break; } }