public function processPatientDiagnosesAction() { $patientId = (int) $this->_getParam('patientId'); $diagnoses = $this->_getParam('diagnoses'); if ($patientId > 0) { $patientDiagnosisIterator = new PatientDiagnosisIterator(); $patientDiagnosisIterator->setFilters(array('patientId' => $patientId)); $existingDiagnoses = $patientDiagnosisIterator->toArray('code', 'patientId'); foreach ($diagnoses as $code => $diagnosis) { if (isset($existingDiagnoses[$code])) { unset($existingDiagnoses[$code]); } $diagnosis['code'] = $code; $diagnosis['patientId'] = $patientId; $patientDiagnosis = new PatientDiagnosis(); $patientDiagnosis->code = $code; $patientDiagnosis->populate(); if ($patientDiagnosis->dateTime == '0000-00-00 00:00:00') { $diagnosis['dateTime'] = date('Y-m-d H:i:s'); } $patientDiagnosis->populateWithArray($diagnosis); $patientDiagnosis->persist(); } // delete un-used records foreach ($existingDiagnoses as $code => $patientId) { $patientDiagnosis = new PatientDiagnosis(); $patientDiagnosis->code = $code; $patientDiagnosis->patientId = $patientId; $patientDiagnosis->setPersistMode(WebVista_Model_ORM::DELETE); $patientDiagnosis->persist(); } } $data = array(); $data['msg'] = __('Record saved successfully'); $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }
public function processPatientDiagnosisAction() { $params = $this->_getParam('diagnosis'); $patientDiagnosis = new PatientDiagnosis(); if (isset($params['patientDiagnosisId']) && $params['patientDiagnosisId'] > 0) { $patientDiagnosis->patientDiagnosisId = (int) $params['patientDiagnosisId']; $patientDiagnosis->populate(); } $patientDiagnosis->populateWithArray($params); $patientDiagnosis->persist(); $ret = $this->_generateRowData($patientDiagnosis); $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($ret); }