public function indexAction()
 {
     $personId = (int) $this->_getParam('personId');
     $visitId = (int) $this->_getParam('visitId');
     $identity = Zend_Auth::getInstance()->getIdentity();
     $this->view->providerId = (int) $identity->personId;
     $this->view->personId = $personId;
     $insuredRelationship = new InsuredRelationship();
     $insuredRelationship->personId = $personId;
     $insurancePrograms = array('0' => '');
     foreach ($insuredRelationship->getProgramList() as $key => $value) {
         $insurancePrograms[$key] = $value;
     }
     $this->view->insurancePrograms = $insurancePrograms;
     $visit = new Visit();
     $visit->visitId = $visitId;
     if (!$visit->populate()) {
         $visit->visitId = 0;
         $visit->dateOfTreatment = date('Y-m-d');
     }
     $this->view->visit = $visit;
     $this->view->room = Building::getBuildingDefaultLocation($this->view->providerId, (int) $identity->default_location_id);
     $facilityIterator = new FacilityIterator();
     $this->view->facilityIterator = $facilityIterator;
     $facilityIterator->setFilter(array('Practice'));
     $this->view->practices = $facilityIterator->toArray('practiceId', 'name');
     $provider = new Provider();
     $providerIterator = $provider->getIter();
     $this->view->providers = $providerIterator->toArray('personId', 'displayName');
     $this->render();
 }
示例#2
0
 public function preferencesAction()
 {
     $mainTabs = Menu::getMainTabs($this->view->baseUrl);
     $data = array();
     $tabs = array();
     foreach ($mainTabs as $key => $value) {
         $tabs[$key] = $key;
     }
     $this->view->tabs = $tabs;
     $visibleTabs = array();
     $defaultTab = '';
     $currentLocation = '';
     if ($this->xmlPreferences !== null) {
         foreach ($this->xmlPreferences->tabs as $tab) {
             $tab = (string) $tab;
             $visibleTabs[$tab] = $tab;
         }
         $defaultTab = (string) $this->xmlPreferences->defaultTab;
         $currentLocation = (string) $this->xmlPreferences->currentLocation;
     }
     $data['tabs'] = $visibleTabs;
     $data['defaultTab'] = $defaultTab;
     $data['currentLocation'] = $currentLocation;
     $this->view->data = $data;
     $facilityIterator = new FacilityIterator();
     $facilityIterator->setFilter(array('Practice', 'Building', 'Room'));
     $facilities = array();
     foreach ($facilityIterator as $facility) {
         $name = $facility['Practice']->name . '->' . $facility['Building']->name . '->' . $facility['Room']->name;
         $facilities[$facility['Room']->roomId] = $name;
     }
     $this->view->facilities = $facilities;
     $this->render();
 }
 public function detailsAction()
 {
     $patientId = (int) $this->_getParam('patientId');
     $this->_patient = new Patient();
     $this->_patient->person_id = $patientId;
     $this->_patient->populate();
     $facilityIterator = new FacilityIterator();
     $facilityIterator->setFilter(array('Practice'));
     $this->_form = new WebVista_Form(array('name' => 'patient-details'));
     $this->_form->setAction(Zend_Registry::get('baseUrl') . "patient.raw/process-details");
     $this->_form->loadORM($this->_patient, "Patient");
     $this->_form->setWindow('windowPatientDetailsId');
     $this->view->form = $this->_form;
     $this->view->facilityIterator = $facilityIterator;
     $this->view->reasons = $this->_getReasons();
     $this->view->statesList = Address::getStatesList();
     $this->render();
 }
 public function listUserRoomAction()
 {
     $providerId = (int) $this->_getParam('providerId');
     $roomId = (int) $this->_getParam('roomId');
     $db = Zend_Registry::get('dbAdapter');
     $rows = array();
     // if every provider MUST have a corresponding user data, then the below query is not required
     $sqlSelect = $db->select()->from('user')->joinUsing('person', 'person_id')->order('person.last_name DESC')->order('person.first_name DESC');
     $userResults = $db->fetchAll($sqlSelect);
     foreach ($userResults as $row) {
         if ($row['person_id'] == $providerId) {
             continue;
         }
         $name = ucwords(strtolower($row['last_name'] . ', ' . $row['first_name'] . ' ' . substr($row['middle_name'], 0, 1))) . ' ' . $row['suffix'] . ' (' . $row['username'] . ')';
         $rows[] = array('id' => 'pid' . $row['person_id'], 'data' => array($name));
     }
     $facilityIterator = new FacilityIterator();
     $facilityIterator->setFilter(array('Practice', 'Building', 'Room'));
     foreach ($facilityIterator as $facilities) {
         if ($facilities['Room']->roomId == $roomId) {
             continue;
         }
         $name = $facilities['Practice']->name . '->' . $facilities['Building']->name . '->' . $facilities['Room']->name;
         $rows[] = array('id' => 'rid' . $facilities['Room']->roomId, 'data' => array($name));
     }
     $json = Zend_Controller_Action_HelperBroker::getStaticHelper('json');
     $json->suppressExit = true;
     $json->direct(array('rows' => $rows));
 }
 protected function _generateSchedules()
 {
     // get all rooms, used in random schedule
     //$this->_generateRooms();
     $facilityIterator = new FacilityIterator();
     // used the FacilityIterator rather than the Room model
     $facilityIterator->setFilter(array('Room'));
     $rows = array();
     foreach ($facilityIterator as $room) {
         $rows[] = $room;
     }
     $dates = $this->_generateDays();
     // generate random schedules for each current provider
     $providerIterator = Provider::getIter();
     foreach ($providerIterator as $provider) {
         $rows[] = $provider;
     }
     foreach ($rows as $row) {
         $title = '';
         $roomId = 0;
         $providerId = 0;
         if ($row instanceof Room) {
             $roomId = (int) $row->id;
             $title = $row->name;
         } else {
             if ($row instanceof Provider) {
                 $providerId = (int) $row->personId;
                 $title = $row->person->firstName;
             }
         }
         $title .= "'s Event";
         // 08:00 - 12:00; 13:00 - 17:00
         // TODO: create a random time starts from 07:00 to 17:00
         $times = array();
         $time = array();
         $time['start'] = '08:00';
         $time['end'] = '12:00';
         $times[] = $time;
         $time = array();
         $time['start'] = '13:00';
         $time['end'] = '17:00';
         $times[] = $time;
         foreach ($dates as $date) {
             foreach ($times as $time) {
                 $scheduleEvent = new ScheduleEvent();
                 // disable cascadePersist, we only generate schedule event
                 $this->_setORMPersistMode($scheduleEvent);
                 //$scheduleEvent->scheduleEventId = 0; // must be set to 0 to add new schedule
                 //$scheduleEvent->scheduleCode = ''; // leave as empty
                 //$scheduleEvent->scheduleId = 0; // leave as empty
                 $scheduleEvent->title = $title;
                 $scheduleEvent->roomId = $roomId;
                 $scheduleEvent->providerId = $providerId;
                 $scheduleEvent->start = $date . ' ' . $time['start'];
                 $scheduleEvent->end = $date . ' ' . $time['end'];
                 $scheduleEvent->persist();
             }
         }
     }
 }
 public function editAction()
 {
     $personId = (int) $this->_getParam('personId');
     if (isset($this->_session->messages)) {
         $this->view->messages = $this->_session->messages;
     }
     $this->_form = new WebVista_Form(array('name' => 'person-detail'));
     $this->_form->setAction(Zend_Registry::get('baseUrl') . "admin-persons.raw/edit-process");
     $this->_person = new Person();
     $this->_person->person_id = $personId;
     $this->_person->populate();
     $this->_form->loadORM($this->_person, "Person");
     //var_dump($this->_form);
     $this->view->form = $this->_form;
     $this->view->person = $this->_person;
     $practices = array('' => '');
     $facilityIterator = new FacilityIterator();
     $facilityIterator->setFilter(array('Practice'));
     foreach ($facilityIterator as $practice) {
         $practices[$practice->id] = $practice->name;
     }
     $this->view->practices = $practices;
     $genders = array('' => '');
     $gender = Enumeration::getEnumArray('Gender', 'key');
     foreach ($gender as $key => $value) {
         $genders[$key] = $value;
     }
     $this->view->genders = $genders;
     $maritalStatuses = array('' => '');
     $maritalStatus = Enumeration::getEnumArray('Marital Status', 'key');
     foreach ($maritalStatus as $key => $value) {
         $maritalStatuses[$key] = $value;
     }
     $this->view->maritalStatuses = $maritalStatuses;
     $this->view->statesList = Address::getStatesList();
     $this->view->phoneTypes = PhoneNumber::getListPhoneTypes();
     $this->view->addressTypes = Address::getListAddressTypes();
     $identifierTypes = array('' => '');
     $identifierType = Enumeration::getEnumArray('Identifier Type', 'key');
     foreach ($identifierType as $key => $value) {
         $identifierTypes[$key] = $value;
     }
     $this->view->identifierTypes = $identifierTypes;
     //Person::getListIdentifierTypes();
     $this->render('edit-person');
 }
 public function patientAction()
 {
     if (!isset($this->_session->patientFilters)) {
         $this->_session->patientFilters = array();
     }
     $filters = $this->_session->patientFilters;
     if (!isset($filters['dateStart'])) {
         $filters['dateStart'] = date('Y-m-d', strtotime('-1 week'));
         $this->_session->patientFilters = $filters;
     }
     if (!isset($filters['dateEnd'])) {
         $filters['dateEnd'] = date('Y-m-d');
         $this->_session->patientFilters = $filters;
     }
     $this->view->filters = $filters;
     $this->view->personId = (int) $this->_getParam('personId');
     $facilities = array('' => '');
     $facilityIterator = new FacilityIterator();
     $facilityIterator->setFilter(array('Practice', 'Building', 'Room'));
     foreach ($facilityIterator as $facility) {
         $key = $facility['Practice']->practiceId . '_' . $facility['Building']->buildingId . '_' . $facility['Room']->roomId;
         $name = $facility['Practice']->name . '->' . $facility['Building']->name . '->' . $facility['Room']->name;
         $facilities[$key] = $name;
     }
     $this->view->facilities = $facilities;
     $payers = array('' => '');
     foreach (InsuranceProgram::getInsurancePrograms() as $key => $value) {
         $payers[$key] = $value;
     }
     $this->view->payers = $payers;
     $providers = array('' => '');
     $provider = new Provider();
     foreach ($provider->getIter() as $row) {
         $providers[$row->personId] = $row->displayName;
     }
     $this->view->providers = $providers;
     $users = array('' => '');
     $db = Zend_Registry::get('dbAdapter');
     $user = new User();
     $sqlSelect = $db->select()->from($user->_table)->order('username');
     foreach ($user->getIterator($sqlSelect) as $row) {
         $users[$row->userId] = $row->username;
     }
     $this->view->users = $users;
     $this->render();
 }
 public function batchHistoryAction()
 {
     $this->view->balanceOperators = Claim::balanceOperators();
     $filters = $this->_session->filters;
     if (!isset($filters['total'])) {
         $filters['total'] = array('active' => 0, 'operator' => '=', 'operand1' => '', 'operand2' => '');
     }
     if (!isset($filters['billed'])) {
         $filters['billed'] = '';
     }
     if (!isset($filters['paid'])) {
         $filters['paid'] = '';
     }
     if (!isset($filters['writeoff'])) {
         $filters['writeoff'] = '';
     }
     if (!isset($filters['openClosed'])) {
         $filters['openClosed'] = 2;
     }
     $this->view->filters = $filters;
     $facilityIterator = new FacilityIterator();
     $facilityIterator->setFilter(array('Practice', 'Building', 'Room'));
     $facilities = array();
     foreach ($facilityIterator as $facility) {
         $key = $facility['Practice']->practiceId . '_' . $facility['Building']->buildingId . '_' . $facility['Room']->roomId;
         $name = $facility['Practice']->name . '->' . $facility['Building']->name . '->' . $facility['Room']->name;
         $facilities[$key] = $name;
     }
     $this->view->facilities = $facilities;
     $this->render();
 }