Ejemplo n.º 1
0
        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;
            }
        }