protected void waitForSurveySelectionToLoad() {
   this.setElements(
           this.surveyTypeSelect, this.patientTypeSelect, this.compositeSelect, this.itemSelect)
       .byId(
           true,
           appProps.getPE_ELEMENT_ID_SURVEY_TYPE_SELECT(),
           appProps.getPE_ELEMENT_ID_PATIENT_TYPE_SELECT(),
           appProps.getPE_ELEMENT_ID_COMPOSITE_SELECT(),
           appProps.getPE_ELEMENT_ID_ITEM_SELECT());
 }
 public PatientExperienceIFrame configureSurveySelectionFilter(ReportFilter reportFilter) {
   if (reportFilter != null) {
     this.accessPanelFrame();
     // TODO: THESE NEXT THREE LINES ARE A BIT RIDICULOUS,
     // BUT IT DOESN'T WORK OTHERWISE...
     this.surveyTypeSelect.sendKeys(reportFilter.getSurveyType());
     this.surveyTypeSelect.click();
     this.surveyTypeSelect.click();
     loadCombos("surveyType", reportFilter.getSurveyType());
     new Select(
             this.getDriver().findElement(By.id(appProps.getPE_ELEMENT_ID_SURVEY_TYPE_SELECT())))
         .selectByValue(reportFilter.getSurveyType());
     this.patientTypeSelect.safeSelectByValue(true, reportFilter.getPatientTypes());
     loadCombos("patientType", reportFilter.getPatientTypes());
     this.compositeSelect.safeSelectByValue(true, reportFilter.getFactorComposites());
     loadCombos("composite", reportFilter.getFactorComposites());
     this.itemSelect.safeSelectByValue(true, reportFilter.getItemQuestions());
     loadCombos("item", reportFilter.getItemQuestions());
     this.scrollUp();
   }
   return this;
 }