public static function getByAgeAndSex($age, $sex, $measure_id, $lab_config_id) { # Fetches the reference range based on supplied age and sex values global $con; $measure_id = mysql_real_escape_string($measure_id, $con); $lab_config_id = mysql_real_escape_string($lab_config_id, $con); $age = mysql_real_escape_string($age, $con); $sex = mysql_real_escape_string($sex, $con); $saved_db = DbUtil::switchToLabConfig($lab_config_id); $query_string = "SELECT * FROM reference_range WHERE measure_id={$measure_id}"; $retval = null; $resultset = query_associative_all($query_string, $row_count); if ($resultset == null || count($resultset) == 0) { return $retval; } foreach ($resultset as $record) { $ref_range = ReferenceRange::getObject($record); if ($ref_range->ageMin == 0 && $ref_range->ageMax == 0) { # No agewise split if ($ref_range->sex == "B" || strtolower($ref_range->sex) == strtolower($sex)) { return $ref_range; } } else { if ($ref_range->ageMin <= $age && $ref_range->ageMax >= $age) { # Age wise split exists if ($ref_range->sex == "B" || strtolower($ref_range->sex) == strtolower($sex)) { return $ref_range; } } } } DbUtil::switchRestore($saved_db); }