コード例 #1
0
ファイル: Insights.php プロジェクト: apfrankowski/insights
 public function prepareInsights($id, $indicators)
 {
     $hospitalIndicators = Divisions::find()->where(['id' => $id])->one();
     $whereArray = ['and'];
     foreach ($indicators as $key => $value) {
         array_push($whereArray, ['or', "{$key} = {$value}", "{$key} IS NULL"]);
     }
     if ($insights = InsightsDef::find()->where($whereArray)->orderBy('priority')->all()) {
         foreach ($insights as $insight) {
             foreach ($insight->content as $insightLine) {
                 array_push($this->insightsArray, Insights::_evaluateIndicators($insightLine->content, $hospitalIndicators));
             }
         }
     } else {
         $this->insightsArray = [];
     }
 }
コード例 #2
0
ファイル: Indicators.php プロジェクト: apfrankowski/insights
 public function calculateIndicators($id, $idSpec)
 {
     $hospitalIndicators = Divisions::find()->where(['id' => $id])->one();
     $indicatorDefinitions = IndicatorNames::find()->all();
     foreach ($indicatorDefinitions as $indicator) {
         $numeratorName = $indicator->basicNumerator->name;
         if ($indicator->denominator != 0) {
             $denominatorName = $indicator->basicDenominator->name;
         }
         if ($indicator->denominator != 0 && $hospitalIndicators->{$denominatorName} != 0) {
             $indicatorValue = ($hospitalIndicators->{$numeratorName} - $hospitalIndicators->{$denominatorName}) / $hospitalIndicators->{$denominatorName};
         } elseif ($indicator->denominator_dec != 0) {
             $indicatorValue = ($hospitalIndicators->{$numeratorName} - $indicator->denominator_dec) / $indicator->denominator_dec;
         } else {
             $indicatorValue = $hospitalIndicators->{$numeratorName};
         }
         $this->indicatorsArray[$indicator->indicator] = Indicators::_getRank($indicator->indicator, $indicatorValue, $id, $idSpec);
     }
 }
コード例 #3
0
 /**
  * Lists all Divisions models.
  * @return mixed
  */
 public function actionIndex($id_hospitals)
 {
     $dataProvider = new ActiveDataProvider(['query' => Divisions::find()->where(['id_szpital' => $id_hospitals])->orderBy('id')]);
     return $this->render('index', ['dataProvider' => $dataProvider]);
 }