public function processDeletePatientDiagnosisAction()
 {
     $id = (int) $this->_getParam('id');
     $ret = false;
     if ($id > 0) {
         $patientDiagnosis = new PatientDiagnosis();
         $patientDiagnosis->patientDiagnosisId = $id;
         $patientDiagnosis->setPersistMode(WebVista_Model_ORM::DELETE);
         $patientDiagnosis->persist();
         $ret = true;
     }
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct($ret);
 }
 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 processAddVisitTypesAction()
 {
     $personId = (int) $this->_getParam('personId');
     $visitId = (int) $this->_getParam('visitId');
     $id = (int) $this->_getParam('id');
     $ret = false;
     $closure = new EnumerationClosure();
     $diagnoses = array();
     $procedures = array();
     foreach ($closure->getAllDescendants($id, 1, true) as $enum) {
         switch ($enum->ormClass) {
             case 'DiagnosisCodesICD':
                 $diagnoses[] = $enum;
                 break;
             case 'ProcedureCodesCPT':
                 $procedures[] = $enum;
                 break;
         }
     }
     $providerId = (int) Zend_Auth::getInstance()->getIdentity()->personId;
     foreach ($procedures as $procedure) {
         $patientProcedure = new PatientProcedure();
         $patientProcedure->code = $procedure->key;
         $patientProcedure->quantity = 1;
         // default to 1
         $patientProcedure->procedure = $procedure->name;
         $patientProcedure->patientId = $personId;
         $patientProcedure->providerId = $providerId;
         $patientProcedure->visitId = $visitId;
         $diagCtr = 1;
         foreach ($diagnoses as $diagnosis) {
             $key = $diagnosis->key;
             $patientDiagnosis = new PatientDiagnosis();
             $patientDiagnosis->code = $key;
             $patientDiagnosis->dateTime = date('Y-m-d H:i:s');
             $patientDiagnosis->diagnosis = $diagnosis->name;
             $patientDiagnosis->patientId = $personId;
             $patientDiagnosis->providerId = $providerId;
             $patientDiagnosis->visitId = $visitId;
             $patientDiagnosis->persist();
             $diag = 'diagnosisCode' . $diagCtr++;
             $patientProcedure->{$diag} = $key;
         }
         $patientProcedure->persist();
         $ret = true;
     }
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct($ret);
 }