Beispiel #1
0
 /**
  * Get TestTypes that support prevalence counts
  *
  * @return Collection TestTypes
  */
 public static function supportPrevalenceCounts()
 {
     $testTypes = new Illuminate\Database\Eloquent\Collection();
     // Get ALPHANUMERIC measures whose possible results (or their interpretation) can be
     // reduced to either Positive or Negative
     $measures = DB::table('measures')->select(DB::raw('measures.id, measures.name'))->join('measure_ranges', 'measures.id', '=', 'measure_ranges.measure_id')->where('measures.measure_type_id', '=', Measure::ALPHANUMERIC)->where(function ($query) {
         $query->where('measure_ranges.alphanumeric', '=', 'Positive')->orWhere('measure_ranges.alphanumeric', '=', 'Negative')->orWhere('measure_ranges.interpretation', '=', 'Positive')->orWhere('measure_ranges.interpretation', '=', 'Negative');
     })->get();
     foreach ($measures as $measure) {
         $measureORM = Measure::find($measure->id);
         $objArray = $measureORM->testTypes()->first();
         if (!empty($objArray)) {
             foreach ($measureORM->testTypes()->get() as $tType) {
                 if ($tType->measures()->count() == 1) {
                     $testTypes->add($tType);
                 }
             }
         }
     }
     return $testTypes->unique()->sortBy('name');
 }