function setFilteredResults()
 {
     $this->queryBuilder = $this->doctrine->getEntityManager()->createQueryBuilder();
     $this->queryBuilder->select('a, inst')->from('InstitutionBundle:InstitutionMedicalCenter', 'a')->innerJoin('a.institution', 'inst');
     $this->queryBuilder->andWhere('inst.status = :approved_status')->setParameter('approved_status', InstitutionStatus::getBitValueForApprovedStatus());
     $name = \trim($this->queryParams['name']);
     if ('' != $name) {
         $this->queryBuilder->andWhere('inst.name LIKE :name')->setParameter('name', "%{$name}%");
     }
     if ($this->queryParams['country'] != ListFilter::FILTER_KEY_ALL) {
         $this->queryBuilder->andWhere('inst.country = :country');
         $this->queryBuilder->setParameter('country', $this->queryParams['country']);
     }
     if ($this->queryParams['city'] != ListFilter::FILTER_KEY_ALL) {
         $this->queryBuilder->andWhere('inst.city = :city');
         $this->queryBuilder->setParameter('city', $this->queryParams['city']);
     }
     $sortBy = $this->sortBy ? $this->sortBy : 'name';
     $sort = "a.{$sortBy} " . $this->sortOrder;
     $this->queryBuilder->add('orderBy', $sort);
     $this->pagerAdapter->setQueryBuilder($this->queryBuilder);
     $this->filteredResult = $this->pager->getResults();
 }
 /**
  * @return QueryBuilder
  */
 public function getQueryBuilderForApprovedInstitutions()
 {
     $qb = $this->createQueryBuilder('a')->where('a.status = :approved_status')->setParameter('approved_status', InstitutionStatus::getBitValueForApprovedStatus())->orderBy('a.name', 'ASC');
     return $qb;
 }
 /**
  * Check if the $institution is Approved
  *
  * @param Institution $institution
  * @return boolean
  * @author acgvelarde
  */
 public function isApproved(Institution $institution)
 {
     return $institution->getStatus() == InstitutionStatus::getBitValueForApprovedStatus();
 }
 /**
  * 
  * @return \Doctrine\ORM\QueryBuilder
  */
 private function getQueryBuilderForInstitutionPublicProfileData()
 {
     $qb = $this->doctrine->getEntityManager()->createQueryBuilder();
     $qb->select('inst, imc, ct, co, st, icd, fm, lg')->from('InstitutionBundle:Institution', 'inst')->innerJoin('inst.institutionMedicalCenters', 'imc', Join::WITH, 'imc.status = :imcActiveStatus')->setParameter('imcActiveStatus', InstitutionMedicalCenterStatus::APPROVED)->leftJoin('inst.city', 'ct')->leftJoin('inst.country', 'co')->leftJoin('inst.state', 'st')->leftJoin('inst.contactDetails', 'icd')->leftJoin('inst.featuredMedia', 'fm')->leftJoin('inst.logo', 'lg')->where('1=1')->andWhere('inst.status = :activeStatus')->setParameter('activeStatus', InstitutionStatus::getBitValueForApprovedStatus());
     return $qb;
 }
 /**
  * Get query builder for a fully eagerloaded medical center
  * 
  * @return \Doctrine\ORM\QueryBuilder
  */
 private function getQueryBuilderForFullInstitutionMedicalCenterProfile()
 {
     $qb = $this->doctrine->getEntityManager()->createQueryBuilder();
     $qb->select('imc, inst, co, st, ct, inst_lg, imc_lg, inst_fm, imc_m, imc_cd, imc_bh, inst_sp, sp, sp_lg, tr, sub_sp')->from('InstitutionBundle:InstitutionMedicalCenter', 'imc')->innerJoin('imc.institution', 'inst')->leftJoin('inst.country', 'co')->leftJoin('inst.state', 'st')->leftJoin('inst.city', 'ct')->leftJoin('inst.logo', 'inst_lg')->leftJoin('inst.featuredMedia', 'inst_fm')->leftJoin('imc.logo', 'imc_lg')->leftJoin('imc.media', 'imc_m')->leftJoin('imc.contactDetails', 'imc_cd')->leftJoin('imc.businessHours', 'imc_bh')->leftJoin('imc.institutionSpecializations', 'inst_sp')->leftJoin('inst_sp.specialization', 'sp')->leftJoin('sp.media', 'sp_lg')->leftJoin('sp.treatments', 'tr')->leftJoin('tr.subSpecializations', 'sub_sp')->where('1=1')->andWhere('imc.status = :imcActiveStatus')->setParameter('imcActiveStatus', InstitutionMedicalCenterStatus::APPROVED)->andWhere('inst.status = :instActiveStatus')->setParameter('instActiveStatus', InstitutionStatus::getBitValueForApprovedStatus());
     return $qb;
 }