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(); }
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(); }