load->library('form_validation'); $this->load->model('Patient_model'); $this->load->model('referral/Referral_model'); $this->load->model('master_cg_service/Master_cg_service_model'); $this->load->model('master_caregiver_skills/Test_model', 'cg_skill'); $this->load->helper('dynamicFormViewer'); if (!$this->ion_auth->in_group('admin')) { if(!$this->ion_auth->coordinator_permission('caregivers')){ redirect('home/permission'); } } $this->load->helper('common_helper'); } public function index() { $this->load->view('home/dashboard'); // just the header file $this->load->view('patient'); $this->load->view('home/master_assets'); $this->load->view('home/footer'); // just the header file } public function viewPatient() { $view =$this->load->helper('dynamicFormViewer'); $pid =$_GET['id']; $data['pid']=$_GET['id']; $allData = $this->Referral_model->getWherevalue($pid)[0]; $data['datas'] = $allData; $insdata = $this->Referral_model->getWherevalueInsInfo($pid)[0]; $data['idata'] = $insdata; $data['serviceActivityTherapy'] = servicetherapy($allData->level_of_service); $data['lvlService'] = $this->Referral_model->getLevelService(); $data['accessType'] = $this->Referral_model->getAccessType(); $data['patientList'] = $this->Referral_model->patientLists(); $data['relationList'] = $this->Referral_model->relationLists(); // pre($data['datas']);die(); $data['mdorders'] = $this->Referral_model->getMdOrdersByPatientId($pid); $skl = $this->cg_skill->getWherevalue($data['datas']->level_of_service)[0]; $data['datas']->level_of_service_name=$skl->name; if($data['datas']->service_type_required == 'Service') { // _die($data['datas']->service_ids); $stn = $this->Referral_model->getServiceNameByID($data['datas']->service_ids); $data['datas']->serviceTherapyName=$stn->name; } else{ $stn = $this->Referral_model->getTherapyNameByID($data['datas']->therapy_ids); $data['datas']->serviceTherapyName=$stn->name; } $data['datas']->service_or_therapy_name = $stn; $type_access_arr = explode(',', $data['datas']->type_access); $taa = array(); foreach ($type_access_arr as $value) { $ta = $this->Referral_model->getAccessNameByID($value)->name; $taa[] = $ta; } $data['datas']->type_access_names= implode(',', $taa); $allDataIns = $this->Referral_model->getWherevalueInsInfo($pid)[0]; $data['dataIns'] = $allDataIns; $pdocsTRACH = $this->Referral_model->getPatientDoc($pid,'TRACH'); $data['TRACHdocs'] = $pdocsTRACH; $pdocsPAGD = $this->Referral_model->getPatientDoc($pid,'PAGD'); $data['PAGDdocs'] = $pdocsPAGD; $pdocsINSD = $this->Referral_model->getPatientDoc($pid,'INSD'); $data['INSDdocs'] = $pdocsINSD; /*assessment*/ $data['asmData'] = $this->Referral_model->getWhereAssessment($pid); /*assessment end*/ $data['datas']->serviceName=$this->Referral_model->getServiceName($data['datas']->service_ids); $ta=explode(",",$data['datas']->type_access); $data['datas']->type_of_accesss=implode(", ",$this->Referral_model->getTypeOfAccesses($ta)); #service for specific choosen Level of Service needed $data['type_of_service_need']=$this->Referral_model->getServiceHeads($id="",$data['datas']->level_of_service); #service for specific choosen Level of Service needed // pre($data['type_of_service_need']);die(); $annual_in_home_performance=[]; if($data['datas']->annual_in_home_performance){ $annual_in_home_performance=$this->objectToArray(json_decode($data['datas']->annual_in_home_performance)); } $data['newArray']=json_encode(array_merge($annual_in_home_performance)); $data['annual_in_home_performance'] = $annual_in_home_performance; $this->load->view('home/dashboard'); // just the header file $this->load->view('loader'); $this->load->view('patientView',$data); $this->load->view('home/footer'); $this->load->view('home/dynamicViewScript',$data['newArray']); } public function statusChange() { $this->load->model('Patient_model'); $res = $this->Referral_model->status_change($_POST); echo $res; } public function approval() { $pid =$_GET['id']; $data['pid']=$_GET['id']; if(isset($_GET['id'])){ if ($_GET['approve']=='true') { $resp = $this->Referral_model->approvePatient($pid); $this->session->unset_userdata('actPtn_stat'); redirect("patient/activatePatient?pid=$pid"); } $allData = $this->Referral_model->getWherevalue($pid)[0]; $data['datas'] = $allData; $allDataIns = $this->Referral_model->getWherevalueInsInfo($pid)[0]; $data['dataIns'] = $allDataIns; /*assessment*/ $data['asmData'] = $this->Referral_model->getWhereAssessment($pid)[0]; /*assessment end*/ $this->load->view('home/dashboard'); // just the header file $this->load->view('approval_view',$data); $this->load->view('home/footer'); }else{ $this->load->view('home/dashboard'); // just the header file $this->load->view('pendin_approval_list'); $this->load->view('home/footer'); // just the header file } } public function activatePatient() { $pid = $_GET['pid']; $data['langs'] = $this->Referral_model->getLanguages(); $data['preferal'] = $this->Referral_model->getReferalSource(); $data['lvlService'] = $this->Referral_model->getLevelService(); $data['serviceActivity'] = $this->Referral_model->getServiceActivity(); $data['eleDep'] = $this->Referral_model->getEleDep(); $data['therapyType'] = $this->Referral_model->getTherapyType(); $data['accessType'] = $this->Referral_model->getAccessType(); $data['tubes'] = $this->Referral_model->getTubeType(); $data['vendorList'] = $this->Referral_model->getvendorLists(); $data['payerType'] = $this->Referral_model->getPayertype(); $data['allergy'] = $this->Referral_model->getallergy(); $data['rnId'] = $this->Referral_model->getValueFrom('master_cg_skills','name','RN')[0]->id; $data['lnpId'] = $this->Referral_model->getValueFrom('master_cg_skills','name','LNP')[0]->id; $pdocs = $this->Referral_model->getPatientDoc($pid,'TRACH'); $data['TRACHdocs'] = $pdocs; $pdocs = $this->Referral_model->getPatientDoc($pid,'PAGD'); $data['PAGDdocs'] = $pdocs; $pdocs = $this->Referral_model->getPatientDoc($pid,'INSD'); $data['INSDdocs'] = $pdocs; $data['type'] = $_GET['pid']; $pdata = $this->Referral_model->getWherevalue($pid)[0]; $data['pdata'] = $pdata; $insdata = $this->Referral_model->getWherevalueInsInfo($pid)[0]; $data['idata'] = $insdata; $mdData = $this->Referral_model->getWhereMdOrders($pid)[0]; $data['mddata'] = $mdData; if(isset($_GET['pid'])) { if ($_GET['activate']=='true') { $resp = $this->Referral_model->activatePatient($pid); redirect("patient/approval"); } } if (isset($_POST) && $_POST['submit'] == 'gen_info') { $this->form_validation->set_error_delimiters('
', '
'); $this->form_validation->set_rules('fname', 'First Name', 'trim|required|max_length[100]|xss_clean'); $this->form_validation->set_rules('lname', 'Last Name', 'trim|required|max_length[100]|xss_clean'); $this->form_validation->set_rules('email', 'Email', 'trim|required|max_length[50]|xss_clean'); $this->form_validation->set_rules('gender', 'Gender', 'trim|required|xss_clean'); $this->form_validation->set_rules('pnalguage', 'Primary language', 'trim|required|max_length[50]|xss_clean'); $this->form_validation->set_rules('dob', 'Date of Birth', 'trim|required|max_length[50]|xss_clean'); $this->form_validation->set_rules('socsec', 'Soc sec ', 'required'); $this->form_validation->set_rules('merital_stat', 'Merital Status', 'required'); $this->form_validation->set_rules('cellphone', 'CellPhone', 'required'); $this->form_validation->set_rules('address', 'Address', 'required'); } if (isset($_POST) && $_POST['submit'] == 'mdOrders_info') { $this->form_validation->set_rules('MdOrderNotes', 'MdOrderNotes', 'xss_clean'); // $this->form_validation->set_rules('level_service', 'Level of service', 'required'); } if (isset($_POST) && $_POST['submit'] == 'services') { $this->form_validation->set_error_delimiters('
', '
'); $this->form_validation->set_rules('level_service', 'Level of Service', 'required|xss_clean'); } if (isset($_POST) && $_POST['submit'] == 'insInfo') { $this->form_validation->set_error_delimiters('
', '
'); $this->form_validation->set_rules('paymentModes', 'Payment Type', 'required|xss_clean'); } if (isset($_POST) && $_POST['submit'] == 'patientAgreement') { $this->form_validation->set_error_delimiters('
', '
'); $this->form_validation->set_rules('patient_agreement_Document_Verified', 'patient agreement Document Verified', 'required'); } if (isset($_POST) && $_POST['submit'] == 'insAgreement') { $this->form_validation->set_error_delimiters('
', '
'); $this->form_validation->set_rules('ins_agreement_doc_Verified', 'Insurance Authorization', 'required|xss_clean'); } if ($this->form_validation->run() == FALSE) { $this->load->view('home/dashboard'); // just the header file $this->load->view('activatePatient',$data); $this->load->view('home/footer'); // just the header file } else { /**genral**/ if (isset($_POST) && $_POST['submit'] == 'gen_info') { $referance_source = $this->input->post('pt_refrance_type'); if($this->input->post('pt_refrance_type') == "Reffered by Patient") { $referance_source_value = $this->input->post('pt_refrance_value'); } elseif($this->input->post('pt_refrance_type') == "Reffered by Vendor") { $referance_source_value = $this->input->post('vend_refrance_value'); } else { $referance_source_value = ""; } // Validating Name Field $fname = $this->input->post('fname'); // Validating Email Field $lname = $this->input->post('lname'); $email = $this->input->post('email'); $Gender = $this->input->post('gender'); $pnalguage = $this->input->post('pnalguage'); $dob = $this->input->post('dob'); $socsec = $this->input->post('socsec'); $merital_stat = $this->input->post('merital_stat'); $telephone = $this->input->post('telephone'); $height = $this->input->post('height'); $weight = $this->input->post('weight'); $cellphone = $this->input->post('cellphone'); $address = $this->input->post('address'); $lati_cdnt = $this->input->post('lang1'); $longi_cdnt = $this->input->post('long1'); $AddrApartment = $this->input->post('AddrApartment'); $addrCity = $this->input->post('addrCity'); $addrState = $this->input->post('addrState'); $addrZipcode = $this->input->post('addrZipcode'); $addrCounty = $this->input->post('addrCounty'); $alt_address = $this->input->post('alt_address'); $altApartment = $this->input->post("altApartment"); $AltCity = $this->input->post("AltCity"); $altState = $this->input->post("altState"); $altZipcode = $this->input->post("altZipcode"); $altCounty = $this->input->post("altCounty"); $direction = $this->input->post('direction'); $otr_number = $this->input->post('otr_number'); $data = array( 'reference_information' => $referance_source, 'reference_id' => $referance_source_value, 'referral_contact' => $this->input->post('referal_contact'), 'referral_type' => $this->input->post('referal_type'), 'referral_date' => $this->input->post('referal_recive_date'), 'first_name' => $fname, 'last_name' => $lname, 'patient_email' => $email, 'gender' => $Gender, 'primary_language' => $pnalguage, 'dob' => $dob, 'soc_sec_no' => $socsec, 'marital_stat' => $merital_stat, 'height' => $height, 'weight' => $weight, 'telephone' => $telephone, 'cellphone' => $cellphone, 'other_no' => $otr_number, 'address' => $address, 'add_house_Number_and_Street_Name' => $address, 'add_Apartment' => $AddrApartment, 'add_city' => $addrCity, 'add_state' => $addrState, 'add_zip_code' => $addrZipcode, 'add_county' => $addrCounty, 'alt_billing_address' => $alt_address, 'alt_house_Number_and_Street_Name' => $alt_address, 'alt_Apartment' => $altApartment, 'alt_city' => $AltCity, 'alt_state' => $altState, 'alt_zip_code' => $altZipcode, 'alt_county' => $altCounty, 'latitude' => $lati_cdnt, 'longitude' => $longi_cdnt, 'direction' => $direction, 'designate_first_name' => $this->input->post('dg_fname'), 'designate_last_name' => $this->input->post('dg_lname'), 'designate_telephone' => $this->input->post('dg_telephone'), 'designate_cell' => $this->input->post('dg_cell'), ); $pid = $_GET['pid']; $id = $this->Referral_model->updatePatient($data,$pid); $this->session->set_userdata('actPtn_stat', 'step1'); $this->session->set_flashdata('ref_updated', 'updated'); redirect("patient/activatePatient?pid={$pid}"); } /**genral**/ /**services**/ if (isset($_POST) && $_POST['submit'] == 'services') { $data = array( 'level_of_care' => $this->input->post('level_care'), 'level_service' => $this->input->post('level_service'), 'new_order' => $this->input->post('new_order'), 'service_activity' => implode(",",$this->input->post('service_activity')), 'therapy_type' => implode(",",$this->input->post('therapy_type')), 'type_access' => implode(",",$this->input->post('type_access')), 'patient_seen_by_MD' => $this->input->post('patient_seen_by_MD'), 'current_lab_work' => $this->input->post('current_lab_work'), 'lab_order' => $this->input->post('lab_order'), 'additional_lab_order' => $this->input->post('additional_lab_order'), 'lab_frequency' => $this->input->post('lab_frequency'), 'other_lab_frequency' => $this->input->post('other_lab_frequency'), 'tube_type' => $this->input->post('tube_type'), 'formula' => $this->input->post('formula'), 'schedule' => $this->input->post('schedule'), 'flush_with' => $this->input->post('flush_with'), 'daily_intake_requirment' => $this->input->post('daily_intake_requirment'), 'flush_frequency' => $this->input->post('flush_frequency'), 'fluid_restriction' => $this->input->post('fluid_restriction'), 'fluide_restric_amount' => $this->input->post('fluide_restric_amount'), 'referal_source' => $this->input->post('referal_source'), 'fluide_restric_frequency' => $this->input->post('fluide_restric_frequency') ); if ($pdata->form_status <= "1") { $data['form_status'] = 2; $data['progress'] = 40; } $id = $this->Referral_model->updatePatient($data,$pid); $this->session->set_userdata('actPtn_stat', 'step3'); $this->session->set_flashdata('ref_updated', 'updated'); redirect("patient/activatePatient?pid={$pid}"); } /**services**/ /**payer info**/ if (isset($_POST) && $_POST['submit'] == 'insInfo') { $pid = $_GET['pid']; $data = array( 'patient_id' => $pid, 'paymentModes' => $this->input->post('paymentModes'), 'CreditCardInfo' => $this->input->post('CreditCardInfo'), 'ccNumber' => $this->input->post('ccNumber'), 'ccExpiration' => $this->input->post('ccExpiration'), 'ccCvv' => $this->input->post('ccCvv'), 'ccZipcode' => $this->input->post('ccZipcode'), 'bankAccount' => $this->input->post('bankAccount'), 'bankName' => $this->input->post('bankName'), 'bankNumber' => $this->input->post('bankNumber'), 'RoutingNumber' => $this->input->post('insurance_type'), 'Monthly_Invoice' => $this->input->post('Monthly_Invoice'), 'insurance_type' => $this->input->post('insurance_type'), 'insurance_plan' => $this->input->post('insurance_plan'), 'medicaid_id' => $this->input->post('MedicaidId'), 'medicaid_adult' => $this->input->post('medicaidAdult'), 'medicaid_pedriatic' => $this->input->post('MedicaidPediriatic'), 'primaryOrSecondary' => $this->input->post('primarySeconday'), 'Pvt_Ins_PlanId_Policy_no' => $this->input->post('privatePolicyNumber'), 'claim_no' => $this->input->post('Private_claim_number'), 'payerType' => $this->input->post('payerType'), // 'emgContactName' => $this->input->post('emgName'), // 'emgContactRelation' => $this->input->post('emgRelationtoPt'), // 'emgContactAddress' => $this->input->post('emgAddress'), // 'emgContactTelephone' => $this->input->post('emgTelephone'), // 'emgContactCellNo' => $this->input->post('emgCellNumber'), // 'emgContactOteNo' => $this->input->post('emgOtrNumber'), // 'emgContactEmail' => $this->input->post('emgEmail'), // 'emgContactLiveswithPatient' => $this->input->post('emglivesWithPatient'), // 'emgContactAccessToHome' => $this->input->post('emgAccessTohome'), // 'EmgPrepdEvacZone' => $this->input->post('emgEvacZone'), // 'EmgPrepdMobilityStat' => $this->input->post('emgMobilityStat'), // 'EmgPrepdLocation' => $this->input->post('emgEvaclocation'), // 'EmgPrepdEleDependency' => $this->input->post('emgEleDEpendency'), // 'ClinicalStartOfCare' => $this->input->post('startOfCare'), // 'ClinicalAllergies' => $this->input->post('clinfallergies'), // 'ClinicalAllergiesReaction' => $this->input->post('clinfAllergicREaction'), // 'ClinicalNotes' => $this->input->post('clinfNotes'), // 'AdvDirective' => $this->input->post('advanceDirective'), // 'AdvDirectiveIfYes' => $this->input->post('advanceDirectiveIfyes'), // 'AdvDirectiveDateRecived' => $this->input->post('advDateREcived'), // 'AdvDirectiveEffective' => $this->input->post('advDateEffective'), // 'PhysicanName' => $this->input->post('phymdName'), // 'PhysicanAddress' => $this->input->post('phymdAddress'), // 'PhysicanTelephone' => $this->input->post('phymdTelephone'), // 'PhysicanFax' => $this->input->post('phymdFAX'), // 'PhysicanEmail' => $this->input->post('phymdEmail'), // 'PhysicanAffiliation' => $this->input->post('phymdAffiliation'), // 'PhysicanNPI' => $this->input->post('phymdNPI'), // 'PhysicanLisence' => $this->input->post('phymdLisence'), // 'PhysicanNote' => $this->input->post('phymdnote'), // 'diagonosisICD' => $this->input->post('diagICD'), // 'diagonosisDescription' => implode(",",$this->input->post('diagDesc')), // 'diagonosisHistoricalDate' => $this->input->post('diagHistData'), // // 'diagonosisReferral' => $this->input->post('diagRefchkbocx'), // // 'diagonosisAssesment' => $this->input->post('diagAsschkbox'), // // 'diagonosisPrimary' => $this->input->post('diagPrimarychkbox'), // 'MedicationName' => $this->input->post('medicName'), // 'MedicationType' => $this->input->post('medicType'), // 'PatientPrefGender' => $this->input->post('prefGendofCaregiver'), // 'PatientPreNotes' => $this->input->post('petprefNotes'), ); if ($pdata->form_status <= "2") { $pudata['form_status'] = 3; $pudata['progress'] = 70; $id = $this->Referral_model->updatePatient($pudata,$pid); } $id = $this->Referral_model->insertPatientInsurance($data,$pid); $this->session->set_userdata('actPtn_stat', 'step4'); $this->session->set_flashdata('ref_updated', 'updated'); redirect("patient/activatePatient?pid={$pid}"); } /**payer info**/ /** patientAgreement **/ if (isset($_POST) && $_POST['submit'] == 'patientAgreement') { $remarks = $this->input->post("pagreeDoc_remarks"); if(!empty($_FILES['pagreeDoc']['name'][0])) { $fileRet = $this->documentsSave2($_FILES,$pid,'pagreeDoc','PAGD',$remarks); } if($this->input->post('patient_agreement_Document_Verified')=='Verified') { $dataPa = array( 'patient_id' => $pid, 'patient_auth_stat' => 1, 'approve_status' => 1 ); } if ($pdata->form_status <= "3") { $dataPa['form_status'] = 4; $dataPa['progress'] = 85; } $this->Referral_model->updatePatient($dataPa,$pid); $this->session->set_flashdata('ref_updated', 'updated'); redirect("patient/activatePatient?pid={$pid}"); } /** patientAgreement **/ /**md order**/ if (isset($_POST) && $_POST['submit'] == 'mdOrders_info') { $remarks = $this->input->post("otherDoc_remarks"); if(!empty($_FILES['otherDoc']['name'][0])) { $fileRet = $this->documentsSave2($_FILES,$pid,'otherDoc','TRACH',$remarks); } $data = array( 'MdOrderReciveDate' => $this->input->post("MdOrderReciveDate"), 'MdOrderExpireDate' => date('Y-m-d', strtotime("+6 months", strtotime($this->input->post("MdOrderReciveDate")))), 'md_orders_notes' => $this->input->post("MdOrderNotes"), 'trach_excoriation' => $this->input->post("MDTrachExcoriation"), 'trach_excoriation_notes' => $this->input->post("MDTrachExcoriationNotes"), 'trach_drainage' => $this->input->post("MDTrachDrainage"), 'trach_drainage_notes' => $this->input->post("MDTrachDrainageNotes"), 'redness_trach_site' => $this->input->post("MDredNessAtTrachSite"), 'redness_trach_site_notes' => $this->input->post("MDredNessAtTrachSiteNotes"), 'trach_inner_cannula_changed' => $this->input->post("MDTrachInnerCannulaChanged"), 'trach_inner_cannula_changed_notes' => $this->input->post("MDTrachInnerCannulaChangedMdOrderNotes"), 'trach_suction' => $this->input->post("MDtrachSuction"), 'trach_suction_notes' => $this->input->post("MDTrachSuctionnotes"), 'trach_connector_size' => $this->input->post("MDtrachConnectorSize"), 'trach_connector_length' => $this->input->post("MDtrachConnectorLength"), 'trach_suction_type' => $this->input->post("MDtrachSuctionType"), 'trach_suction_catheter_kit' => $this->input->post("MDtrachSuctionCatherKit"), 'trach_suciton_catheter_kit_size' => $this->input->post("MDtrachCAthertarKitSize"), 'md_orders_comments' => $this->input->post("mdorderComments"), 'WoundDate' => $this->input->post("MDOrdersWounddate"), 'WoundType' => $this->input->post("MDOrdersWoundType"), 'woundSiteLocation' => $this->input->post("MDOrdersSiteLocation"), 'siteLocationNotes' => $this->input->post(""), 'WoundDescription' => $this->input->post("MDOrdersWoundDesc"), 'WoundMeasurement' => $this->input->post("MDOrdersWoundMeasurment"), 'WoundLenghts' => $this->input->post("MDOrdersWoundLength"), 'WoundWidth' => $this->input->post("MDOrdersWoundWidth"), 'WoundDiameter' => $this->input->post("MDOrdersWoundDiameter"), 'WoundUndermining' => $this->input->post("MDOrdersWoundUndermining"), 'WoundUnderminingClockPosition' => $this->input->post("MDOrdersWoundClockPosition"), 'WoundCleanseWith' => $this->input->post("mdOrdersWondsCleasnswith"), 'WoundApplications' => $this->input->post("mdOrdersWoundApplication"), 'AppliedOther' => $this->input->post("MDOrdersAppliedOther"), 'WoundCoveredWith' => $this->input->post("mdOrdersWoundCoverdWith"), 'CoveredwithOther' => $this->input->post("MDOrdersCoverOther"), 'WoundSecuredWith' => $this->input->post('mdOrdersWoundSecureWith'), 'PackedWoundBedWith' => $this->input->post('MDOrdersPackkedWoundsWithBed'), 'WoundStatus' => $this->input->post('mdOrdersWoundStatus'), 'WoundGranulating' => $this->input->post('MDOrdersWoundsGranulating'), 'ExcroticTissuePresent' => $this->input->post('MDOrdersExcroticTissuePresent'), 'WoundEschar' => $this->input->post("MDOrdersWoundEschar"), 'WoundExudate' => $this->input->post("MDOrdersWoundExudate"), 'WoundSlough' => $this->input->post("MDorderWoundSlough"), 'NecroticTissuePresent' => $this->input->post('MDOrdersNercroticTissuePresent'), 'NecroticTissueColor' => $this->input->post('MDorderNecroticTissueColor'), 'WoundDrainage' => $this->input->post("MDOrdersWoundDrainage"), 'WoundDrainageType' => $this->input->post("MDORDERWoundDrainageType"), 'WoundDrainageRate' => $this->input->post("MDOrdersWoundDrainageRate"), 'WoundDrainageAmount' => $this->input->post("MDORDERWoundDrainageAmount"), 'woundTunnelling' => $this->input->post("woundTunnelling"), 'woundTunnelingComment' => $this->input->post("woundTunnelingComment"), 'WoundBedAppearance' => $this->input->post("woundBedapperance"), // 'WoundBedComments' => $this->input->post(""), 'WoundRednessAtSite' => $this->input->post('MDOrdersWoundRednessAtSite'), 'WoundRedComments' => $this->input->post('MDOrdersWoundRednessAtSiteComment'), 'WoundOdor' => $this->input->post('MDOrdersWoundOdor'), 'WoundOdorComments' => $this->input->post("MDOrdersWoundOdorComment"), 'WoundSwelling' => $this->input->post('MDOrdersWoundSwelling'), 'WoundSwellingComments' => $this->input->post('MDOrdersWoundSwellingComment'), 'WoundPain' => $this->input->post('MDOrdersWoundPain'), 'WoundPainComments' => $this->input->post("MDOrdersWoundPainComment"), 'PatientIndependentInWoundCare' => $this->input->post('MDOrdersPatientIndependentInWoundCare'), 'PatientIsWillingToLearn' => $this->input->post('MDOrdersPatientIsWillingToLearn'), 'CaregiverIsWillingToLearn' => $this->input->post('MDOrdersCaregiverIsWillingToLearn'), 'CaregiverIsWillingToLearnComment' => $this->input->post('MDOrdersCaregiverIsWillingToLearnComment'), 'Caregiver' => $this->input->post('MdOrdersCaregiver') ); $datap = array( 'primaryCarePhyMdInfo' => $this->input->post('primaryCarePhyMdInfo'), 'diagnosis' => $this->input->post('diagnosis'), 'new_order' => $this->input->post('new_order'), 'service_activity' => implode(",",$this->input->post('service_activity')), 'therapy_type' => implode(",",$this->input->post('therapy_type')), 'type_access' => implode(",",$this->input->post('type_access')), 'patient_seen_by_MD' => $this->input->post('patient_seen_by_MD'), 'current_lab_work' => $this->input->post('current_lab_work'), 'lab_order' => $this->input->post('lab_order'), 'additional_lab_order' => $this->input->post('additional_lab_order'), 'lab_frequency' => $this->input->post('lab_frequency'), 'other_lab_frequency' => $this->input->post('other_lab_frequency'), 'tube_type' => $this->input->post('tube_type'), 'formula' => $this->input->post('formula'), 'schedule' => $this->input->post('schedule'), 'flush_with' => $this->input->post('flush_with'), 'daily_intake_requirment' => $this->input->post('daily_intake_requirment'), 'flush_frequency' => $this->input->post('flush_frequency'), 'fluid_restriction' => $this->input->post('fluid_restriction'), 'fluide_restric_amount' => $this->input->post('fluide_restric_amount'), 'referal_source' => $this->input->post('referal_source'), 'fluide_restric_frequency' => $this->input->post('fluide_restric_frequency') ); if ($pdata->form_status <= "4") { $datap['form_status'] = 5; $datap['progress'] = 90; $id = $this->Referral_model->updatePatient($datap,$pid); // echo "::::if from stat <= 4:::: :: TRUE"; // echo $this->db->last_query(); } else { $this->Referral_model->updatePatient($datap,$pid); $this->session->set_flashdata('ref_updated', 'updated'); // echo "::::if from stat <= 4:::: :: FAlse"; // echo $this->db->last_query(); } $this->Referral_model->mdOrdersUpdate($data,$pid); // echo ":::: if MD ORDER UPDATE :::: :: FAlse"; echo $this->db->last_query(); $this->session->set_userdata('actPtn_stat', 'step2'); $this->session->set_flashdata('ref_updated', 'updated'); // die(); redirect("patient/activatePatient?pid={$pid}"); } /**md order**/ /** insAgreement **/ if (isset($_POST) && $_POST['submit'] == 'insAgreement') { $remarks = $this->input->post("insDoc_remarks"); if(!empty($_FILES['insDoc']['name'][0])) { $fileRet = $this->documentsSave2($_FILES,$pid,'insDoc','INSD',$remarks); } if($this->input->post('ins_agreement_doc_Verified')=='Verified') { $data = array( 'patient_id' => $pid, 'insurance_auth_stat' => 1, ); } if ($pdata->form_status <= "5") { $data['form_status'] = 6; $data['progress'] = 100; } $this->Referral_model->updatePatient($data,$pid); $this->session->set_flashdata('ref_updated', 'updated'); redirect("patient/activatePatient?pid={$pid}"); } /* insAgreement */ } /*from rules pass else block end*/ } public function activatePatientCriterial() { $msg = ""; $status = 0; $pid = $_POST['pid']; $pdata = $this->Referral_model->getWherevalue($pid)[0]; // if ($pdata->reference_information == "Reffered by Patient") { $insInfo = $this->Referral_model->insuranceInfoCheck($pid); if ($insInfo > 0) { $status = 1; } else { $msg .= "Please update the Insurance Information details to activate
"; } if ($pdata->patient_auth_stat == 'Insurance Information') { if ($pdata->patient_auth_stat != '0') { $status = 1; } else { $msg .= "Patient authorisation is pending
"; } } // } // else{ // $status = 1; // } $resp = array('msg' => $msg, 'status' => $status); echo json_encode($resp); } public function patientAgreementForm($value='') { $pid = $_GET['pid']; $pdata = $this->Referral_model->getWherevalue($pid)[0]; $data['pdata'] = $pdata; $this->load->view('patientAgreementForm',$data); } public function load_progress() { $id = $this->input->get('id'); $progress=$this->Referral_model->getProgress($id); echo $progress; } public function documentsSave2($files,$id,$fileName,$doc_type,$doc_remarks) { $folder_name='uploads/PatientDocuments/PATIENT_'.str_pad($id, 6, "0", STR_PAD_LEFT).'/'; $uploadData['folder_name']=$folder_name; $uploadData['NAME']=$fileName; $uploadData['NEW_FILENAME_START']=$doc_type; $uploadData['CONFIG']['allowed_types']=array('gif','jpg','png','jpeg','pdf'); $uploadData['CONFIG']['max_size']='20480000'; $output=multifileStore($files,$uploadData); $z=0; foreach ($output as $udata) { $data = array( 'patient_id' => $id, 'path' => $udata['PATH'], 'file_name' => $udata['NEW_FILE_NAME'], 'originalfilename' => $udata['ORIGINAL_FILE_NAME'], 'documents_type' => $doc_type, 'remarks' => $doc_remarks[$z] ); $docId=$this->Referral_model->addPatientDocuments($data); $z++; } } public function documentDelete() { $fid = $_GET['fid']; $redirect = $_GET['redirect']; $docdet=$this->Referral_model->getDocDetails($fid)[0]; $file_pointer = base_url().$docdet->path.$docdet->file_name; if (unlink($file_pointer)) { $this->session->set_flashdata('doc_deleted', 'doc_delete'); } else { $this->session->set_flashdata('doc_deleted_fails', 'doc_deleted_failsd'); } redirect($redirect); } public function documentsSave() { $id=$this->input->post('id'); $doc_type=$this->input->post('doc_type'); $Doc_remarks=$this->input->post('otherDoc_remarks'); $folder_name='uploads/PatientDocuments/PATIENT_'.str_pad($id, 6, "0", STR_PAD_LEFT).'/'; $uploadData['folder_name']=$folder_name; $uploadData['NAME']=$this->input->post('doc_type'); $uploadData['NEW_FILENAME_START']='TRACH_DOC'; $uploadData['CONFIG']['allowed_types']='gif|jpg|png|jpeg|pdf'; $uploadData['CONFIG']['max_size']='20480000'; $output=fileStore($_FILES,$uploadData); $data = array( 'userid' => $id, 'path' => $output['PATH'], 'file_name' => $output['NEW_FILE_NAME'], 'originalfilename' => $output['ORIGINAL_FILE_NAME'], 'documents_type' => $doc_type, 'remarks' => $Doc_remarks ); $docId=$this->Referral_model->addPatientDocuments($data); echo $docId; } public function getPendingApprovalList() { $this->load->model('Patient_model'); $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($limit == -1) { if (!empty($search)) { $data['name'] = $this->Referral_model->getNameBysearchPending($search); } else { $data['name'] = $this->Referral_model->name_listPending(); } } else { if (!empty($search)) { $data['name'] = $this->Referral_model->getNameByLimitBySearchPending($limit, $start, $search); } else { $data['name'] = $this->Referral_model->getNameByLimitPending($limit, $start); } } foreach ($data['name'] as $data) { static $slno = 1; $options3 = ''; if( $data->approve_status == 0 && $data->active_status == 0){ $options1 = ' ' . lang('Approve') .' '; $options3 = ' ' . lang('Patient agreement form') .' '; $stsMsg = "Not Approved"; } elseif ($data->approve_status == 1 && $data->active_status == 0) { $options1 = ' ' . lang('Activate') .' '; $stsMsg = "Approved but not Activated"; } $options2 = ' ' . lang('Edit') .' '; $info[] = array( $slno, 'REF'.$data->patient_id, $data->first_name." ".$data->last_name, $data->telephone, $stsMsg, $options1." ".$options2." ".$options3 ); $slno++; } $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $this->db->get('patient_details')->num_rows(), "recordsFiltered" => $this->db->get('patient_details')->num_rows(), "data" => $info ); echo json_encode($output); } // function abc() // { // $data['name'] = $this->Referral_model->name_list(); // pre($data['name']);die(); // } public function getList() { $this->load->model('Patient_model'); $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $search = $this->input->post('search')['value']; if ($limit == -1) { if (!empty($search)) { $data['name'] = $this->Referral_model->getNameBysearch($search); } else { $data['name'] = $this->Referral_model->name_list(); } } else { if (!empty($search)) { $data['name'] = $this->Referral_model->getNameByLimitBySearch($limit, $start, $search); } else { $data['name'] = $this->Referral_model->getNameByLimit($limit, $start); } } $listCount = sizeof($data['name']); foreach ($data['name'] as $data) { $intAssmStat = $this->Referral_model->getInitialAssessmentStatus($data->id); static $slno = 1; $statusChk = ''; if($data->status == "0"){ $statusChk = ''; }else{ $statusChk = 'checked'; } $options1 =''; $options3 = ' ' . lang('View') .''; $options5 = ' ' . lang('Schedule') .''; $options6 = ' ' . lang('Discharge') .'' ; $switch = '
'; $info[] = array( $slno, $data->patient_id, $data->first_name." ".$data->last_name, $data->telephone, // $switch, $options3." ".$options1." ".$options5." ".$options6 ); $slno++; } // $output = array( // "draw" => intval($requestData['draw']), // "recordsTotal" => $this->db->get_where('patient_details', array('active_status' => 1))->num_rows(), // "recordsFiltered" => $this->db->get_where('patient_details', array('active_status' => 1))->num_rows(), // "data" => $info // ); if ($listCount > 0) { $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $listCount, "recordsFiltered" => $listCount, "data" => $info ); } else { $output = array( // "draw" => 1, "recordsTotal" => 0, "recordsFiltered" => 0, "data" => [] ); } echo json_encode($output); } function checkaddress(){ $response=address_info($_GET['address'],$_GET['zipcode']); echo json_encode($response); } public function viewInitialAssessment($id) { // echo $id;exit; $pid =$id; $data['pid']=$id; $this->load->model('Patient_model'); $allData = $this->Referral_model->getWherevalue($pid)[0]; $data['datas'] = $allData; /*assessment*/ $data['asmData'] = $this->Referral_model->getWhereAssessment($pid)[0]; /*assessment end*/ $this->load->view('home/dashboard'); // just the header file $this->load->view('patientInitialAssessmentView',$data); $this->load->view('home/footer'); } public function objectToArray($obj){ foreach($obj as $key=>$val){ // echo $key.'>'.$val; $arr[$key]=$val; } return $arr; } // scheduled visits public function activePatients(){ try{ $request=(object)($this->input->get()); $filter=isset($request->flt)?trim($request->flt):'year'; $data['filter']=$filter; $this->load->view('home/dashboard'); $this->load->view('active_patients',$data); $this->load->view('home/footer'); }catch(Exception $e){ $getMsg="Patient - activePatients: ".$e->getMessage(); echo $getMsg; } } public function getActivePatientsList(){ try{ $request=(object)($this->input->post()); $filter=isset($request->body['filter'])?trim($request->body['filter']):'year'; $periods=isset($request->body['periods'])?$request->body['periods']:[]; $period=isset($periods[0])?trim($periods[0]):''; $data_list=[ 'start'=>$request->start, 'limit'=>$request->length, 'search'=>(isset($request->search['value'])&&!empty($request->search['value']))?($request->search['value']):"", 'order_column'=>$request->order[0]['column'], 'order_type'=>$request->order[0]['dir'], 'filter'=>$filter ]; if($period!=''){ list($start_date,$end_date)=explode(" ~ ", $period); $data_list['start_date']=$start_date; $data_list['end_date']=$end_date; } $resData=$this->Patient_model->model_get_patients($data_list); $info=[]; $i=1; foreach($resData->data->patients as $data){ $info[]=[ $i, $data['service_type'], ''.$data['name'].'', $data['email'], $data['telephone'], $data['main_city'].', '.$data['main_zipcode'] ]; $i++; } $response=json_encode([ "draw"=>intval($request->draw), "recordsTotal"=>$resData->data->total_count, "recordsFiltered"=>$resData->data->count, "data"=>$info, "query"=>$resData->data->query ]); echo $response; }catch(Exception $e){ $getMsg="Patient - getActivePatientsList: ".$e->getMessage(); echo $getMsg; } } public function scheduledVisits(){ $request=(object)($this->input->get()); $filter=isset($request->flt)?trim($request->flt):'week'; $data['filter']=$filter; $this->load->view('home/dashboard'); // just the header file $this->load->view('scheduled_visits',$data); $this->load->view('home/master_assets'); $this->load->view('home/footer'); // just the header file } public function getScheduledVisitsList(){ try{ $request=(object)($this->input->post()); $filter=isset($request->body['filter'])?trim($request->body['filter']):'year'; $periods=isset($request->body['periods'])?$request->body['periods']:[]; $period=isset($periods[0])?trim($periods[0]):''; $data_list=[ 'start'=>$request->start, 'limit'=>$request->length, 'search'=>(isset($request->search['value'])&&!empty($request->search['value']))?($request->search['value']):"", 'order_column'=>$request->order[0]['column'], 'order_type'=>$request->order[0]['dir'], 'filter'=>$filter ]; if($period!=''){ list($start_date,$end_date)=explode(" ~ ", $period); $data_list['start_date']=$start_date; $data_list['end_date']=$end_date; } $resData=$this->Patient_model->model_get_schedules($data_list); $info=[]; $i=1; foreach($resData->data->schedules as $data){ $data->cio_status=''; switch($data->approval_status){ case 'pending': $data->approval_status='approval pending'; $aps_cls='badge-danger'; break; case 'approved': $aps_cls='badge-success'; break; default: $aps_cls='badge-secondary'; } switch($data->visit_status){ case 'unconfirmed': $vs_cls='badge-danger'; break; case 'upcoming': $vs_cls='badge-info'; break; case 'ongoing': $vs_cls='badge-success'; break; case 'completed': $vs_cls='badge-primary'; break; case 'missed': $vs_cls='badge-warning'; break; case 'declined': $vs_cls='badge-secondary'; break; default: $vs_cls=''; } $status_html=''.$data->visit_status.''; if($data->visit_status=='ongoing'){ if($data->clock_out_time==null){ $status_html.='No Clock Out'; }if($data->acceptance_status!='Reported'){ $status_html.='Not Reported'; } }else if($data->visit_status=='completed'){ $status_html.=''.$data->approval_status.''; } $report_html='No Report'; if(in_array($data->visit_status,['ongoing','completed'])){ $report_html=' '.lang('Report').''; } $info[]=[ $i, isset($data->schedule_start)?date('Y-m-d', strtotime($data->schedule_start)):'N/A', ''.$data->patient_name.'', $data->patient_main_city.' '.$data->patient_main_zipcode, $data->service_type, ''.$data->caregiver_name.'', // isset($data->clock_in_time)?$data->clock_in_time:'N/A', // isset($data->clock_out_time)?$data->clock_out_time:'N/A', ''.$data->acceptance_status.'', $status_html, $report_html ]; $i++; } $response=json_encode([ "draw"=>intval($request->draw), "recordsTotal"=>$resData->data->total_count, "recordsFiltered"=>$resData->data->count, "data"=>$info, "query"=>$resData->data->query ]); echo $response; }catch(Exception $e){ $getMsg="Patient - getScheduledVisitsList: ".$e->getMessage(); echo $getMsg; } } public function get_scheduled_visits_list(){ $requestData = $_REQUEST; $start = $requestData['start']; $limit = $requestData['length']; $orderColumn=$requestData['order'][0]['column']; $orderType=$requestData['order'][0]['dir']; $search = $this->input->post('search')['value']; $filter = $requestData['body']['filter']; if (!empty($search)) { $data['name'] = $this->Patient_model->getScheduledVisitsBySearchListPage($limit, $start, $search,$orderColumn, $orderType, $filter); } else { $data['name'] = $this->Patient_model->getScheduledVisitsListPage($limit, $start, $orderColumn, $orderType, $filter); } $info=[]; foreach ($data['name'] as $data) { static $slno = 1; if ($data->address != '' || $data->address != null) { $address_obj=json_decode($data->address); if ($address_obj->City != '') { $address=$address_obj->City; } } $info[] = array( $slno, date('Y-m-d', strtotime($data->clock_in_time)), $data->patient_name, $address, $data->service_type, $data->caregiver_name, $data->clock_in_time, $data->clock_out_time ); $slno++; } $output = array( "draw" => intval($requestData['draw']), "recordsTotal" => $this->Patient_model->getScheduledVisitsList($filter), "recordsFiltered" => $this->Patient_model->getScheduledVisitsList($filter), "data" => $info ); echo json_encode($output); } public function openCases(){ try{ $this->load->view('home/dashboard'); $this->load->view('open_cases'); $this->load->view('home/footer'); }catch(Exception $e){ $getMsg="Patient - openCases: ".$e->getMessage(); echo $getMsg; } } public function get_open_cases_list(){ try{ $request=(object)($this->input->post()); $data_list=[ 'start'=>$request->start, 'limit'=>$request->length, 'search'=>(isset($request->search['value'])&&!empty($request->search['value']))?($request->search['value']):"", 'order_column'=>$request->order[0]['column'], 'order_type'=>$request->order[0]['dir'], 'filter'=>$request->body['filter'] ]; $resData=$this->Patient_model->model_get_open_cases($data_list); $info=[]; $i=1; foreach($resData->data->open_cases as $data){ $info[]=[ $i, $data['service_type'], ''.$data['name'].'', $data['email'], $data['telephone'], $data['main_city'].', '.$data['main_zipcode'], ]; $i++; } $response=json_encode([ "draw"=>intval($request->draw), "recordsTotal"=>$resData->data->total_count, "recordsFiltered"=>$resData->data->count, "data"=>$info, "query"=>$resData->data->query ]); echo $response; }catch(Exception $e){ $getMsg="Patient - get_open_cases_list: ".$e->getMessage(); echo $getMsg; } } }