public function processDeletePatientProcedureAction()
 {
     $id = (int) $this->_getParam('id');
     $ret = false;
     if ($id > 0) {
         $patientProcedure = new PatientProcedure();
         $patientProcedure->patientProcedureId = $id;
         $patientProcedure->setPersistMode(WebVista_Model_ORM::DELETE);
         $patientProcedure->persist();
         $ret = true;
     }
     $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);
 }
 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);
 }
 protected function _processSetDiagnosisModifier($type, $id, $state, $code)
 {
     $ret = false;
     $patientProcedure = new PatientProcedure();
     $patientProcedure->patientProcedureId = (int) $id;
     if (strlen($code) > 0 && $patientProcedure->populate()) {
         $method = 'setUnset' . $type;
         if ($patientProcedure->{$method}($code, $state)) {
             $patientProcedure->persist();
             $ret = true;
         }
     }
     return $ret;
 }