public function processPatientProcedureAction() { $params = $this->_getParam('procedure'); $patientProcedure = new PatientProcedure(); if (isset($params['patientProcedureId']) && $params['patientProcedureId'] > 0) { $patientProcedure->patientProcedureId = (int) $params['patientProcedureId']; $patientProcedure->populate(); } $patientProcedure->populateWithArray($params); $patientProcedure->persist(); $ret = $this->_generateRowData($patientProcedure); $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($ret); }
public function processPatientProcedureAction() { $patientId = (int) $this->_getParam('patientId'); $procedures = $this->_getParam('procedures'); if ($patientId > 0) { $patientProcedureIterator = new PatientProcedureIterator(); $patientProcedureIterator->setFilters(array('patientId' => $patientId)); $existingProcedures = $patientProcedureIterator->toArray('code', 'patientId'); if (is_array($procedures)) { foreach ($procedures as $code => $procedure) { if (isset($existingProcedures[$code])) { unset($existingProcedures[$code]); } $procedure['code'] = $code; $procedure['patientId'] = $patientId; $patientProcedure = new PatientProcedure(); $patientProcedure->populateWithArray($procedure); $patientProcedure->persist(); } } // delete un-used records foreach ($existingProcedures as $code => $patientId) { $patientProcedure = new PatientProcedure(); $patientProcedure->code = $code; $patientProcedure->patientId = $patientId; $patientProcedure->setPersistMode(WebVista_Model_ORM::DELETE); $patientProcedure->persist(); } } $data = array(); $data['msg'] = __('Record saved successfully'); $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json'); $json->suppressExit = true; $json->direct($data); }