Element_OphTrOperationbooking_Diagnosis::afterSave PHP Method

afterSave() protected method

Reset diagnosis data on the event based on the diagnosis set on this element.
protected afterSave ( )
    protected function afterSave()
    {
        if (!$this->event->episode->eye && !$this->event->episode->disorder_id) {
            $this->event->episode->setPrincipalDiagnosis($this->disorder_id, $this->eye_id);
            if ($sd = SecondaryDiagnosis::model()->find('patient_id=? and disorder_id=? and eye_id = ?', array($this->event->episode->patient_id, $this->disorder_id, 3))) {
                $this->event->episode->patient->removeDiagnosis($sd->id);
                if (in_array($this->eye_id, array(1, 2))) {
                    $this->event->episode->patient->addDiagnosis($this->disorder_id, $this->eye_id == 1 ? 2 : 1);
                }
            }
        } else {
            if (!SecondaryDiagnosis::model()->find('patient_id=? and disorder_id=? and eye_id in (' . $this->eye_id . ',3)', array($this->event->episode->patient_id, $this->disorder_id))) {
                if (!Episode::model()->find('patient_id=? and disorder_id=? and eye_id in (' . $this->eye_id . ',3)', array($this->event->episode->patient_id, $this->disorder_id))) {
                    $this->event->episode->patient->addDiagnosis($this->disorder_id, $this->eye_id);
                }
            }
        }
        return parent::afterSave();
    }