public function getOperationNoteList()
{
$patient_id = \Yii::app()->request->getParam('patient_id');
if (!$patient_id) {
$patient_id = $this->event->episode->patient->id;
}
$response = array();
if ($patient_id) {
$short_format = array();
$event_type = \EventType::model()->find("name = 'Operation Note'");
$criteria = new \CDbCriteria();
$event = new \Event();
$criteria->addCondition('patient_id = :patient_id');
$criteria->addCondition('event_type_id = :event_type_id');
$criteria->params['patient_id'] = $patient_id;
$criteria->params['event_type_id'] = $event_type->id;
$criteria->order = 't.created_date DESC';
$eventLists = $event->with('episode')->findAll($criteria);
foreach ($eventLists as $event) {
$procedureListModel = new \Element_OphTrOperationnote_ProcedureList();
$criteria = new \CDbCriteria();
$criteria->addCondition('event_id = :event_id');
$criteria->params['event_id'] = $event->id;
$procedureList = $procedureListModel->findAll($criteria);
$date = new \DateTime($event->created_date);
$name = $date->format('d M Y') . ' ';
$short_format = array();
foreach ($procedureList as $procesdures) {
$name .= ($procesdures->eye_id != \Eye::BOTH ? $procesdures->eye->name : '') . ' ';
foreach ($procesdures->procedures as $procesdure) {
$short_format[] = $procesdure->short_format;
}
$name .= implode(' + ', $short_format);
if (strlen($name) > 60) {
$name = substr($name, 0, 57);
$name .= '...';
}
}
$response[$event->id] = $name;
}
}
return $response;
}