The followings are the available columns in table:
Inheritance: extends SplitEventTypeElement
 public function run()
 {
     $va_unit_id = @$_GET[$this->va_unit_input] ?: models\Element_OphCiExamination_VisualAcuity::model()->getSetting('unit_id');
     $this->va_unit = models\OphCiExamination_VisualAcuityUnit::model()->findByPk($va_unit_id);
     $chart = $this->configureChart();
     $this->addData($chart);
     $this->render(get_class($this), array('va_unit' => $this->va_unit, 'chart' => $chart));
 }
 /**
  * @dataProvider validate_Provider
  */
 public function testValidate(array $attributes, $should_be_valid)
 {
     $test = new models\Element_OphCiExamination_VisualAcuity();
     foreach ($attributes as $attr => $v) {
         $test->{$attr} = $v;
     }
     $this->assertEquals($should_be_valid, $test->validate());
 }
 public function getVaReadingSplit($criteria, $record)
 {
     $criteria->addInCondition('eye_id', $this->eyesCondition($record));
     $va = \OEModule\OphCiExamination\models\Element_OphCiExamination_VisualAcuity::model()->with(array('event'))->find($criteria);
     $reading = null;
     $sides = array(strtolower($record['eye']));
     if ($sides[0] == 'both') {
         $sides = array('left', 'right');
     }
     $res = array();
     if ($va) {
         $res = array();
         foreach ($sides as $side) {
             $readings = $va->getAllReadings($side);
             if ($readings) {
                 foreach ($readings as $reading) {
                     $res[] = array('side' => ucfirst($side), 'va_reading' => $reading->convertTo($reading->value, $va->unit_id), 'method' => $reading->method->name);
                 }
             } else {
                 $res[] = array('side' => ucfirst($side), 'va_reading' => '', 'method' => '');
             }
         }
     } else {
         $res[] = array('side' => '', 'va_reading' => '', 'method' => '');
     }
     return $res;
 }
Exemplo n.º 4
0
 /**
  * Setting the CVI alert flag to dismiss
  * @param int $element_id
  */
 public function actionDismissCVIalert($element_id)
 {
     $is_ajax = $this->getApp()->request->getParam('ajax', false);
     $cvi_api = $this->getApp()->moduleAPI->get('OphCoCvi');
     if ($cvi_api && ($this->getApp()->request->isAjaxRequest || $is_ajax)) {
         $element = models\Element_OphCiExamination_VisualAcuity::model()->findByPk($element_id);
         $element->cvi_alert_dismissed = 1;
         if ($element->save()) {
             echo \CJSON::encode(array('success' => 'true'));
         }
     }
 }
Exemplo n.º 5
0
 /**
  * To get the most recent VA element for the Patient
  *
  * @param \Patient $patient
  * @return array|bool
  */
 public function getMostRecentVAElementForPatient(\Patient $patient)
 {
     $event_type = $this->getEventType();
     $criteria = new \CDbCriteria();
     $criteria->select = '*';
     $criteria->join = 'join episode on t.episode_id = episode.id and patient_id = :patient_id and event_type_id = :event_type_id';
     $criteria->order = 't.event_date desc';
     $criteria->condition = 't.deleted != 1';
     $criteria->params = array(':patient_id' => $patient->id, ':event_type_id' => $event_type->id);
     foreach (\Event::model()->findAll($criteria) as $event) {
         $result_element = models\Element_OphCiExamination_VisualAcuity::model()->with('event')->find('event_id=?', array($event->id));
         if ($result_element !== null) {
             return array('element' => $result_element, 'event_date' => date($event->created_date));
         }
     }
     return false;
 }