load->library('form_validation'); $this->load->model('generate_bill/Generate_bill_model'); $this->load->model('Referral_model'); $this->load->model('patient/Patient_model'); $this->load->model('physician/Physician_model'); $this->load->model('md_order/Md_order_model'); $this->load->model('email_template_management/Email_template_model'); $this->load->helper('map_helper'); $this->load->helper('download'); // if (!$this->ion_auth->in_group('admin','Caregiver')) { // redirect('home/permission'); // } } public function index() { $this->load->view('home/dashboard'); // just the header file $this->load->view('patient'); $this->load->view('home/footer'); // just the header file } public function viewPatient() { $pid =$_GET['id']; $data['pid']=$_GET['id']; $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('patientView',$data); $this->load->view('home/footer'); } public function ReferralFrom($pid=null) { // if($pid==null) redirect('referral/approval'); // echo $pid;die; $pid = base64_dec($pid); // echo $pid;die; // if($this->input->get('pid')!=""){ $pid = $this->input->get('pid'); }; if ($pid != '') { $data['pid'] = $pid; $allData = $this->Referral_model->getWherevalue($pid)[0]; $data['pdata'] = $allData; $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; // echo $allData->level_of_service; die(); $data['serviceActivityTherapy'] = servicetherapy($allData->level_of_service); // $mdData = $this->Referral_model->getWhereMdOrders($pid)[0]; // $data['mddata'] = $mdData; $insdata = $this->Referral_model->getWherevalueInsInfo($pid)[0]; $data['idata'] = $insdata; } $data['langs'] = $this->Referral_model->getLanguages(); $data['preferal'] = $this->Referral_model->getReferalSource(); $data['lvlService'] = $this->Referral_model->getLevelService(); $data['accessType'] = $this->Referral_model->getAccessType(); $data['tubes'] = $this->Referral_model->getTubeType(); $data['eleDep'] = $this->Referral_model->getEleDep(); $data['micd'] = $this->Referral_model->getICD(); $data['payerType'] = $this->Referral_model->getPayertype(); $data['vendorList'] = $this->Referral_model->getvendorLists(); $data['insuranceCompanyList'] = $this->Referral_model->insuranceCompanyList(); $data['patientList'] = $this->Referral_model->patientLists(); $data['relationList'] = $this->Referral_model->relationLists(); $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; $data['dataIns'] = $this->Referral_model->getWherevalueInsInfo($pid)[0]; #service for specific choosen Level of Service needed $data['type_of_service_need']=$this->Referral_model->getServiceHeads($id="",$data['pdata']->level_of_service); #service for specific choosen Level of Service needed // pre($data['pdata']);die(); $this->load->view('home/dashboard'); $this->load->view('edit_referral',$data); $this->load->view('home/footer'); } public function editReferal() { // pre($this->input->post());die(); if($this->input->post('pid')!=""){$pid = $this->input->post('pid');} if ($pid == ''){ $email=$this->input->post('email'); $fname=$this->input->post('fname'); $lname=$this->input->post('lname'); #if patient do not have email then create custom one if($email==""){ for($i=1; $i<99999; $i++){ $email=$fname.$i."@hms.com"; $checkEmail=$this->Referral_model->checkMail($email); if($checkEmail==0){if($this->ion_auth->email_check($email)){continue;}else{break;}}else{continue;} } } #if patient do not have email then create custom one #Registration to the patient_details table & to the other tables related to the patient $data = array(); $pctg = array(); $pctg['form1']=0;$pctg['form2']=0;$pctg['form3']=0;$pctg['form4']=0;$pctg['form5']=0;$pctg['form6']=0; $data['patient_id'] = rand(10000,99999); if($this->input->post('fname')!=""){ $data['first_name'] = $this->input->post('fname'); }if($this->input->post('form_status')!=""){ $data['from_tab_status'] = json_encode(array($this->input->post('form_status'))); $data['from_tab_status_pctg'] = json_encode($pctg); }if ($this->ion_auth->email_check($email)) { $this->session->set_flashdata('feedback_error','This Email Address Is Already Registered'); redirect('referral/ReferralFrom'); } $data["patient_email"]=$email; $pid=$this->Referral_model->insertNewReferral($data); #Registration to the patient_details table & to the other tables related to the patient #registration to the user // $username = $data['first_name']; if($this->input->post('form_status')!=""){ $data['telephone'] = $this->input->post('telephone'); $len_tel=strlen($data['telephone']); $telephone=""; for($i=0;$i<$len_tel;$i++){ $k=$data['telephone'][$i]; if(is_numeric($k)){$telephone.=$data['telephone'][$i];} } } $username = $fname; $password = mt_rand(100000, 999999); $dfg = 5; $oauth_uid = $this->input->post('oauth_uid'); $oauth_provider = "general"; $ion_user_id=$this->ion_auth->register($username, $password, $email,$dfg,$oauth_uid,$oauth_provider); $ion_username=$this->db->get_where('users', array('id' =>$ion_user_id))->row()->username; #registration to the user #update the patient table with ion_user_id $data = array(); $data['ion_user_id']=$ion_user_id; $this->Referral_model->updateReferralTable($data, 'patient_details', $pid); #update the patient table with ion_user_id #After Registration Send an activation Mail to the Patient Registered Email Id $name=$fname." ".$lname; $designation="patient"; $company="Hospital Management System"; $emaildata['emaildata'] = array( 'name' => $name, 'username' => $ion_username, 'email' => $email, 'password' => $password, 'designation' => $designation, 'link' => base_url(), 'company' => $company ); $message = $this->load->view('email_template_management/email_patient',$emaildata,TRUE); $from = array( 'name' => 'HMS Admin', 'email' => 'admin@hms.com' ); $subject ='Patient Account confirmation'; send_email($from,$email,$subject,$message); #After Registration Send an activation Mail to the Patient Registered Email Id } $pdata = $this->Referral_model->getWherevalue($pid)[0]; $tabStat = json_decode($pdata->from_tab_status); // which tab is filled $tabStatPctg = json_decode($pdata->from_tab_status_pctg); // what percent of the tab is filled if($this->input->post('form_status')!="") { $currentFromNo = $this->input->post('form_status'); } if($this->input->post('tabPgs')!="") { $tabPtgs = $this->input->post('tabPgs'); } $remarks = $this->input->post("pagreeDoc_remarks"); $documentsupload="no"; if(!empty($_FILES['pagreeDoc']['name'][0])) { $fileRet = $this->documentsSave2($_FILES,$pid,'pagreeDoc','PAGD',$remarks); $documentsupload="yes"; } $remarks = $this->input->post("insDoc_remarks"); if(!empty($_FILES['insDoc']['name'][0])) { $fileRet = $this->documentsSave2($_FILES,$pid,'insDoc','INSD',$remarks); $documentsupload="yes"; } # update patient_details table $data = array(); # json format patient contact address section if($this->input->post('addrZipcode1')!="") { $patientAddress = array( 'address' => $this->input->post('address1'), 'Apartment' => $this->input->post('AddrApartment1'), 'City' => $this->input->post('addrCity1'), 'State' => $this->input->post('addrState1'), 'Zipcode' => $this->input->post('addrZipcode1'), 'County' => $this->input->post('addrCounty1') ); $patientAddressJson = json_encode($patientAddress); } # end of json format patient contact address section # json format patient alternate address section if($this->input->post('altZipcode')!="") { $patientAltAddress = array( 'address'=>$this->input->post('alt_address'), 'Apartment'=>$this->input->post('altApartment'), 'City'=>$this->input->post('AltCity'), 'State'=>$this->input->post('altState'), 'Zipcode'=>$this->input->post('altZipcode'), 'County'=>$this->input->post('county2') ); $patientAltAddressJson = json_encode($patientAltAddress); } # end of json format patient alternate address section if($this->input->post('patient_agreement_Document_Verified')!="") { $data['patient_auth_stat'] = 1; } if($this->input->post('ins_agreement_doc_Verified')!="") { $data['insurance_auth_stat'] = 1; } if($this->input->post('pt_refrance_type')!="") { $data['reference_information'] = $this->input->post('pt_refrance_type'); } if($this->input->post('pt_refrance_value')!="") { $data['reference_id'] = $this->input->post('pt_refrance_value'); } if($this->input->post('vend_refrance_value')!="") { $data['reference_id'] = $this->input->post('vend_refrance_value'); } if($this->input->post('referal_contact')!="") { $data['referral_contact'] = $this->input->post('referal_contact'); } if($this->input->post('referal_type')!="") { $data['referral_type'] = $this->input->post('referal_type'); } if($this->input->post('referal_recive_date')!="") { $data['referral_date'] = $this->input->post('referal_recive_date'); } if($this->input->post('distance')!="") { $data['distance'] = $this->input->post('distance'); } if($this->input->post('form_status')!="") { $data['form_status'] = $this->input->post('form_status'); } if($this->input->post('level_service')!="") { $data['level_of_service'] = $this->input->post('level_service'); } if($this->input->post('fname')!="") { $data['first_name'] = $this->input->post('fname'); } if($this->input->post('lname')!="") { $data['last_name'] = $this->input->post('lname'); } if($this->input->post('dob')!="") { $data['dob'] = $this->input->post('dob'); } if($this->input->post('telephone')!="") { $data['telephone'] = $this->input->post('telephone'); } if($this->input->post('cellphone')!="") { $data['cellphone'] = $this->input->post('cellphone'); } if($this->input->post('gender')!="") { $data['gender'] = $this->input->post('gender'); } if($this->input->post('pnalguage')!="") { $data['primary_language'] = implode(",",$this->input->post('pnalguage')); } if($this->input->post('socsec')!="") { $data['soc_sec_no'] = $this->input->post('socsec'); } if($this->input->post('merital_stat')!="") { $data['marital_stat'] = $this->input->post('merital_stat'); } if($this->input->post('lang1')!="") { $data['latitude'] = $this->input->post('lang1'); } if($this->input->post('long1')!="") { $data['longitude'] = $this->input->post('long1'); } if($this->input->post('addrZipcode1')!="") { $data['address'] = $patientAddressJson; } if($this->input->post('altZipcode')!="") { $data['alt_address'] = $patientAltAddressJson; } if($this->input->post('heightInch')!="") { $data['height'] = $this->input->post('height').','.$this->input->post('heightInch'); } if($this->input->post('weight')!="") { $data['weight'] = $this->input->post('weight'); } if($this->input->post('direction')!="") { $data['direction'] = $this->input->post('direction'); } if($this->input->post('level_care')!="") { $data['level_of_care'] = $this->input->post('level_care'); } // if($this->input->post('service_activity')!="") // { // $service_activityExp = explode('~', $this->input->post('service_activity')); // $data['service_type_required'] = $service_activityExp[0]; // if($service_activityExp[0]=='Service') // { // $data['service_ids'] = $service_activityExp[1]; // } // else // { // $data['therapy_ids'] = $service_activityExp[1]; // } // } if($this->input->post('service_activity')!=""){ $data['service_ids'] = $this->input->post('service_activity'); } if($this->input->post('type_access')!="") { $data['type_access'] = implode(",",$this->input->post('type_access')); } if($this->input->post('primaryCarePhyMdInfo')!="") { $data['primaryCarePhyMdNpi'] = $this->input->post('primaryCarePhyMdInfo'); } // patient agreement data $patient_agreement = array( 'client_representatives'=>$this->input->post('client_representatives'), 'relationship'=>$this->input->post('relationship'), 'witness'=>$this->input->post('witness'), 'i_authorize_the_staff_to_provide_services'=>$this->input->post('i_authorize_the_staff_to_provide_services'), 'the_services_provided_by_caregiver_pro_homecare'=>$this->input->post('the_services_provided_by_caregiver_pro_homecare'), 'i_give_my_consent_and_authorization_for_release'=>$this->input->post('i_give_my_consent_and_authorization_for_release'), 'i_authorize_caregiver_pro_home'=>$this->input->post('i_authorize_caregiver_pro_home'), 'i_understand_that_it_would_be_prudent'=>$this->input->post('i_understand_that_it_would_be_prudent'), 'i_acknowledge_receiving_verbal'=>$this->input->post('i_acknowledge_receiving_verbal'), 'i_agree_that_i_shall_be_directly_responsible'=>$this->input->post('i_agree_that_i_shall_be_directly_responsible'), 'i_agree_to_pay_a_sum_of_2500'=>$this->input->post('i_agree_to_pay_a_sum_of_2500') ); $data['patient_agreement'] = json_encode($patient_agreement); # end of updation of patient_details table $update1 = $this->Referral_model->updateReferralTable($data, 'patient_details', $pid); # Patient details table designate info # patient_details_step2 table $data = array(); if($this->input->post('dg_fname')!="") { $data['designate_first_name'] = $this->input->post('dg_fname'); } if($this->input->post('dg_lname')!="") { $data['designate_last_name'] = $this->input->post('dg_lname'); } if($this->input->post('dg_telephone')!="") { $data['designate_telephone'] = $this->input->post('dg_telephone'); } if($this->input->post('dg_cell')!="") { $data['designate_cell'] = $this->input->post('dg_cell'); } if($this->input->post('dg_email')!="") { $data['designate_email'] = $this->input->post('dg_email'); } # end of updation of patient_details_step2 table $update1a = $this->Referral_model->updateReferralTable($data, 'patient_details_step2', $pid); # patient_insurance_info table $data = array(); # json format emergency contact address section $emgAddress = array( 'address'=>$this->input->post('address3'), 'Apartment'=>$this->input->post('AddrApartment3'), 'City'=>$this->input->post('addrCity3'), 'State'=>$this->input->post('addrState3'), 'Zipcode'=>$this->input->post('addrZipcode3'), 'County'=>$this->input->post('addrCounty3') ); $emgAddressJson = json_encode($emgAddress); # end of json format emergency contact address section if($this->input->post('pid')!="") { $data['main_id'] = $this->input->post('pid'); } if($this->input->post('advanceDirective')!="") { $data['AdvDirective'] = $this->input->post('advanceDirective'); } if($this->input->post('advanceDirectiveIfyes')!="") { $data['AdvDirectiveIfYes'] = $this->input->post('advanceDirectiveIfyes'); } if($this->input->post('advDateREcived')!="") { $data['AdvDirectiveDateRecived'] = $this->input->post('advDateREcived'); } if($this->input->post('advDNR')!="") { $data['advDnr'] = $this->input->post('advDNR'); } if($this->input->post('advDateEffective')!="") { $data['AdvDirectiveEffective'] = $this->input->post('advDateEffective'); } if($this->input->post('emgNamefname')!="") { $data['emgContactFirstName'] = $this->input->post('emgNamefname'); } if($this->input->post('emgNamelname')!="") { $data['emgContactLastName'] = $this->input->post('emgNamelname'); } if($this->input->post('emgRelationtoPt')!="") { $data['emgContactRelation'] = $this->input->post('emgRelationtoPt'); } if($this->input->post('emg_lang1')!="") { $data['emg_lang'] = $this->input->post('emg_lang1'); } if($this->input->post('emg_long1')!="") { $data['emg_long'] = $this->input->post('emg_long1'); } if($this->input->post('addrZipcode3')!="") { $data['emgContactAddress'] = $emgAddressJson; } if($this->input->post('emgTelephone')!="") { $data['emgContactTelephone'] = $this->input->post('emgTelephone'); } if($this->input->post('emgOtrNumber')!="") { $data['emgContactOteNo'] = $this->input->post('emgOtrNumber'); } if($this->input->post('emgEmail')!="") { $data['emgContactEmail'] = $this->input->post('emgEmail'); } if($this->input->post('emglivesWithPatient')!="") { $data['emgContactLiveswithPatient'] = $this->input->post('emglivesWithPatient'); } if($this->input->post('emgAccessTohome')!="") { $data['emgContactAccessToHome'] = $this->input->post('emgAccessTohome'); } if($this->input->post('insurance_type')!="") { $data['insurance_type'] = $this->input->post('insurance_type'); } if($this->input->post('insurance_plan')!="") { $data['insurance_plan'] = $this->input->post('insurance_plan'); } if($this->input->post('MedicaidId')!="") { $data['medicaid_id'] = $this->input->post('MedicaidId'); } if($this->input->post('medicaidAdult')!="") { $data['medicaid_adult'] = $this->input->post('medicaidAdult'); } if($this->input->post('MedicaidPediriatic')!="") { $data['medicaid_pedriatic'] = $this->input->post('MedicaidPediriatic'); } if($this->input->post('primarySeconday')!="") { $data['primaryOrSecondary'] = $this->input->post('primarySeconday'); } if($this->input->post('privatePolicyNumber')!="") { $data['Pvt_Ins_PlanId_Policy_no'] = $this->input->post('privatePolicyNumber'); } if($this->input->post('Private_claim_number')!="") { $data['claim_no'] = $this->input->post('Private_claim_number'); } $paymentModes = $this->input->post('paymentModes'); if($paymentModes=="Credit or Debit Card"){ $data['CreditCardInfo'] = $this->input->post('CreditCardInfo'); $data['ccNumber'] = $this->input->post('ccNumber'); $data['ccExpiration'] = $this->input->post('ccExpiration'); $data['ccCvv'] = $this->input->post('ccCvv'); $data['ccZipcode'] = $this->input->post('ccZipcode'); $data['bankAccount'] = ''; $data['bankName'] = ''; $data['bankNumber'] = ''; $data['RoutingNumber'] = ''; $data['Monthly_Invoice'] = ''; } if($paymentModes=="EFT"){ $data['bankAccount'] = $this->input->post('bankAccount'); $data['bankName'] = $this->input->post('bankName'); $data['bankNumber'] = $this->input->post('bankNumber'); $data['RoutingNumber'] = $this->input->post('RoutingNumber'); $data['CreditCardInfo'] = ''; $data['ccNumber'] = ''; $data['ccExpiration'] = ''; $data['ccCvv'] = ''; $data['ccZipcode'] = ''; $data['Monthly_Invoice'] = ''; } if($paymentModes=='Monthly Invoice'){ $data['Monthly_Invoice'] = $this->input->post('Monthly_Invoice'); $data['CreditCardInfo'] = ''; $data['ccNumber'] = ''; $data['ccExpiration'] = ''; $data['ccCvv'] = ''; $data['ccZipcode'] = ''; $data['bankAccount'] = ''; $data['bankName'] = ''; $data['bankNumber'] = ''; $data['RoutingNumber'] = ''; } // if($this->input->post('CreditCardInfo')!="") // { // $data['CreditCardInfo'] = $this->input->post('CreditCardInfo'); // } // if($this->input->post('ccNumber')!="") // { // $data['ccNumber'] = $this->input->post('ccNumber'); // } // if($this->input->post('ccExpiration')!="") // { // $data['ccExpiration'] = $this->input->post('ccExpiration'); // } // if($this->input->post('ccCvv')!="") // { // $data['ccCvv'] = $this->input->post('ccCvv'); // } // if($this->input->post('ccZipcode')!="") // { // $data['ccZipcode'] = $this->input->post('ccZipcode'); // } // if($this->input->post('bankAccount')!="") // { // $data['bankAccount'] = $this->input->post('bankAccount'); // } // if($this->input->post('bankName')!="") // { // $data['bankName'] = $this->input->post('bankName'); // } // if($this->input->post('bankNumber')!="") // { // $data['bankNumber'] = $this->input->post('bankNumber'); // } // if($this->input->post('RoutingNumber')!="") // { // $data['RoutingNumber'] = $this->input->post('RoutingNumber'); // } // if($this->input->post('Monthly_Invoice')!="") // { // $data['Monthly_Invoice'] = $this->input->post('Monthly_Invoice'); // } if($this->input->post('InsfaxNo')!="") { $data['InsfaxNo'] = $this->input->post('InsfaxNo'); } if($this->input->post('InsWebAdd')!="") { $data['InsWebAdd'] = $this->input->post('InsWebAdd'); } if($this->input->post('InsEin')!="") { $data['InsEin'] = $this->input->post('InsEin'); } if($this->input->post('InsContractStart')!="") { $data['InsContractStart'] = $this->input->post('InsContractStart'); } if($this->input->post('InsContractEnd')!="") { $data['InsContractEnd'] = $this->input->post('InsContractEnd'); } if($this->input->post('InsLocation')!="") { $data['InsLocation'] = $this->input->post('InsLocation'); } if($this->input->post('InsNotes')!="") { $data['InsNotes'] = $this->input->post('InsNotes'); } if($this->input->post('skilled_nursing_care')!="") { $data['skilled_nursing_care'] = $this->input->post('skilled_nursing_care'); } if($this->input->post('HCPCS_codes')!="") { $data['HCPCS_codes'] = $this->input->post('HCPCS_codes'); } # end of updation of patient_insurance_info table $update2 = $this->Referral_model->updateReferralTable($data, 'patient_insurance_info', $pid); # patient_md_order_step3 table $data = array(); if($this->input->post('pid')!="") { $data['main_id'] = $this->input->post('pid'); } if($this->input->post('correspondingRequirment')!="") { $data['correspondingRequirment'] = $this->input->post('correspondingRequirment'); } if($this->input->post('medication_name')!="") { $data['medication_name'] = $this->input->post('medication_name'); } if($this->input->post('medication_frequency')!="") { $data['medication_frequency'] = $this->input->post('medication_frequency'); } if($this->input->post('medication_route')!="") { $data['medication_route'] = $this->input->post('medication_route'); } if($this->input->post('lab_company')!="") { $data['lab_company'] = $this->input->post('lab_company'); } if($this->input->post('Type_lab_required')!="") { $data['Type_lab_required'] = $this->input->post('Type_lab_required'); } if($this->input->post('Intervals')!="") { $data['Intervals'] = $this->input->post('Intervals'); } if($this->input->post('Day')!="") { $data['Day'] = $this->input->post('Day'); } if($this->input->post('Time')!="") { $data['Time'] = $this->input->post('Time'); } if($this->input->post('patient_seen_by_MD')!="") { $data['patient_seen_by_MD'] = $this->input->post('patient_seen_by_MD'); } if($this->input->post('current_lab_work')!="") { $data['current_lab_work'] = $this->input->post('current_lab_work'); } if($this->input->post('lab_order')!="") { $data['lab_order'] = $this->input->post('lab_order'); } if($this->input->post('additional_lab_order')!="") { $data['additional_lab_order'] = $this->input->post('additional_lab_order'); } if($this->input->post('lab_frequency')!="") { $data['lab_frequency'] = $this->input->post('lab_frequency'); } if($this->input->post('other_lab_frequency')!="") { $data['other_lab_frequency'] = $this->input->post('other_lab_frequency'); } if($this->input->post('tube_type')!="") { $data['tube_type'] = $this->input->post('tube_type'); } if($this->input->post('formula')!="") { $data['formula'] = $this->input->post('formula'); } if($this->input->post('flush_with')!="") { $data['flush_with'] = $this->input->post('flush_with'); } if($this->input->post('flush_frequency')!="") { $data['flush_frequency'] = $this->input->post('flush_frequency'); } if($this->input->post('daily_intake_requirment')!="") { $data['daily_intake_requirment'] = $this->input->post('daily_intake_requirment'); } if($this->input->post('fluid_restriction')!="") { $data['fluid_restriction'] = $this->input->post('fluid_restriction'); } if($this->input->post('fluide_restric_amount')!="") { $data['fluide_restric_amount'] = $this->input->post('fluide_restric_amount'); } if($this->input->post('fluide_restric_frequency')!="") { $data['fluide_restric_frequency'] = $this->input->post('fluide_restric_frequency'); } # end of updation of patient_md_order_step3 table $update3 = $this->Referral_model->updateReferralTable($data, 'patient_md_order_step3', $pid); # patient_payment_info table $data = array(); if($this->input->post('pid')!="") { $data['main_id'] = $this->input->post('pid'); } if($this->input->post('payerType')!="") { $data['payerType'] = $this->input->post('payerType'); } if($this->input->post('paymentModes')!="") { $data['paymentModes'] = $this->input->post('paymentModes'); } if($this->input->post('RefertoVendorDocument')!="") { // $data['main_id'] = $this->input->post('RefertoVendorDocument'); $data['RefertoVendorDocument'] = $this->input->post('RefertoVendorDocument'); } # end of updation of patient_payment_info table $update4 = $this->Referral_model->updateReferralTable($data, 'patient_payment_info', $pid); if ($this->input->post('pid')!="") { if ($this->input->post('nameForm') != '' && $this->input->post('nameForm') == 'annual_in_home_performance_evaluation') { $annual_in_home_array = array(); $remove = ['tabPgs', 'fromType','reqFrom','nameForm']; $annual_in_home_array=array_diff_key($_POST, array_flip($remove)); if(!empty($annual_in_home_array)){ $annualInHomeJson = json_encode($annual_in_home_array); $data_annual['annual_in_home_performance'] = $annualInHomeJson; $update5 = $this->Referral_model->updateReferralTable($data_annual, 'patient_details_step2', $pid); } } } if($update1 || $update1a || $update2 || $update3 || $update4 || $update5){ $this->session->set_flashdata('ref_added', 'added'); } if($documentsupload=="yes"){ if($fileRet){ $this->session->set_flashdata('doc_update', 'Document Updated Successfully '); }else{ $this->session->set_flashdata('doc_error', 'Opps Error occurred! Document Not Updated'); } } /* | track which tab is filled */ # patient_details table $data = array(); if($currentFromNo!="") { $prevGenInfo = 0; // current form status if ($currentFromNo == '1' || $currentFromNo == 1) { if (!in_array($currentFromNo, $tabStat)) { array_push($tabStat, $currentFromNo); } else { $prevGenInfo = $tabStatPctg->form1; } // echo $pid; $genInfoPrg = $this->genInfoPectg($pid); $tabStatPctg->form1 = $genInfoPrg; $data['from_tab_status'] = json_encode($tabStat); $data['from_tab_status_pctg'] = json_encode($tabStatPctg); if($tabPtgs!="") { $tabProgress = $tabPtgs; $data['progress'] = (int)$pdata->progress + (int)$genInfoPrg - $prevGenInfo; } } else { if (!in_array($currentFromNo, $tabStat)) { array_push($tabStat, $currentFromNo); if($tabPtgs!="") { $tabProgress = $tabPtgs; $data['progress'] = (int)$pdata->progress + (int)$tabProgress; } $tabStatPctg->{'form'.$currentFromNo} = $tabProgress; } // echo '
'; print_r($tabStatPctg->{'form'.$currentFromNo}); die;            
                    $data['from_tab_status']    =   json_encode($tabStat); 
                    $data['from_tab_status_pctg']    =   json_encode($tabStatPctg);               
                }
            }
        # end of updation of patient_details table
        $update1b = $this->Referral_model->updateReferralTable($data, 'patient_details', $pid);

        /*
        | redirection
        */
        if($this->input->post('reqFrom')!=""){ $reqFrom = $this->input->post('reqFrom');}

        if(($this->input->post('fromType')=='addRef') && ($this->input->post('submit')=='mdOrders_info')) 
        {
            redirect("referral/approval");
        }
        else if($this->input->post('fromType')=='addRef') 
        {
            if($reqFrom=="viewPage"){
                redirect("patient/viewPatient?id={$pid}");
            }
            redirect("referral/ReferralFrom/".base64_enc($pid));
        }
        if ($this->input->post('fromType')=='activeRef') 
        {
            redirect("referral/ReferralActivation/".base64_enc($pid));
        }


        // echo "
"; print_r($update2);
        die; 
        # function's execution was ended here won't go further due use of die; 


        
       //  if ($this->form_validation->run() == FALSE) 
       //  {
            
       //  }
       // else
       //  {                       
            // 
            if($_POST['submit'] == 'gen_info')
            {                
                // var_dump($_POST); die();
                $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 = "";
                }

                $data = array(
                                'reference_information' => $referance_source,
                                'reference_id' => $referance_source_value,  
                                'patient_id' => rand(10000,99999),
                                'first_name' => $this->input->post('fname'),
                                'level_service' => $this->input->post('level_service'),
                                'last_name' => $this->input->post('lname'),
                                'patient_email' => $this->input->post('email'),
                                'gender' => $this->input->post('gender'),
                                'primary_language' => $this->input->post('pnalguage'), 
                                'dob' => $this->input->post('dob'),

                                'latitude' => $this->input->post('lang1'),
                                'longitude' => $this->input->post('long1'),
                                'add_house_Number_and_Street_Name' => $this->input->post('address1'),
                                'add_Apartment' => $this->input->post('AddrApartment1'),
                                'add_city' => $this->input->post('addrCity1'),
                                'add_state' => $this->input->post('addrState1'),
                                'add_zip_code' => $this->input->post('addrZipcode1'),
                                'add_county' => $this->input->post('addrCounty1'),

                                'telephone' => $this->input->post('telephone'),
                                'cellphone' => $this->input->post('cellphone'),
                                'referral_contact' => $this->input->post('referal_contact'),
                                'referral_type' => $this->input->post('referal_type'),
                                'referral_date' => $this->input->post('referal_recive_date'),
                );

                if($this->input->post('form_mode') == 'Add')
                {
                    $data['form_status'] = $this->input->post('form_status');
                    $data['progress'] = 20;
                    $this->session->set_flashdata('ref_added', 'added');
                }
                else
                {
                    $this->session->set_flashdata('ref_updated', 'updated');
                }

                if (isset($_GET["pid"]) && $_GET["pid"] != '') 
                {
                    $pid = $_GET["pid"];
                    $this->Referral_model->updatePatient($data,$pid);
                    $this->session->set_userdata('editRef_stat', 'step1');                    
                    redirect("referral/editReferal?pid={$pid}");
                }
                else
                {
                    // pre($data);die();
                    $id = $this->Referral_model->insertPatient($data);
                    // echo $this->db->last_query();
                    // die();                 
                    $this->Referral_model->mdOrdersInsert(array('patient_id' => $id));
                    $this->session->set_userdata('editRef_stat', 'step1');
                    
                    redirect("referral/editReferal?pid={$id}");
                }   
            } 

            // service info
            if(isset($_POST) && $_POST['submit'] == 'services')
            {

                $data = array(
                        'level_of_care' => $this->input->post('level_care'),
                        'level_service' => $this->input->post('level_service'),
                        'correspondingRequirment' => $this->input->post('correspondingRequirment'),
                        '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($this->input->post('form_mode') == 'Add')
                {
                    $data['progress'] = 40;
                    $data['form_status'] = $this->input->post('form_status');
                    $this->session->set_flashdata('ref_added', 'added');
                }
                else
                {
                    $this->session->set_flashdata('ref_updated', 'updated');
                }

                $res = $this->Referral_model->updatePatient($data,$pid);
                $this->session->unset_userdata('editRef_stat');
                redirect("referral/editReferal?pid={$pid}");
            }

            // insurance info
            if (isset($_POST) && $_POST['submit'] == 'insInfo')
            {

                $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'),
                    // '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')
                );

                $paymentModes = $this->input->post('paymentModes');
                if($paymentModes=="Credit or Debit Card"){
                    $data['CreditCardInfo'] = $this->input->post('CreditCardInfo');
                    $data['ccNumber'] = $this->input->post('ccNumber');
                    $data['ccExpiration'] =  $this->input->post('ccExpiration');
                    $data['ccCvv'] = $this->input->post('ccCvv');
                    $data['ccZipcode'] = $this->input->post('ccZipcode');
                    
                    $data['bankAccount'] = '';
                    $data['bankName'] = '';
                    $data['bankNumber'] =  '';
                    $data['RoutingNumber'] = '';
                    $data['Monthly_Invoice'] = '';
                }
                if($paymentModes=="EFT"){
                    $data['bankAccount'] = $this->input->post('bankAccount');
                    $data['bankName'] = $this->input->post('bankName');
                    $data['bankNumber'] =  $this->input->post('bankNumber');
                    $data['RoutingNumber'] = $this->input->post('RoutingNumber');
    
                    $data['CreditCardInfo'] = '';
                    $data['ccNumber'] = '';
                    $data['ccExpiration'] =  '';
                    $data['ccCvv'] = '';
                    $data['ccZipcode'] = '';
                    $data['Monthly_Invoice'] = '';
                }
                if($paymentModes=="Monthly Invoice"){
                    $data['Monthly_Invoice'] = $this->input->post('Monthly_Invoice');

                    $data['CreditCardInfo'] = '';
                    $data['ccNumber'] = '';
                    $data['ccExpiration'] =  '';
                    $data['ccCvv'] = '';
                    $data['ccZipcode'] = '';

                    $data['bankAccount'] = '';
                    $data['bankName'] = '';
                    $data['bankNumber'] =  '';
                    $data['RoutingNumber'] = '';
    
                
                }

                
                if ($pdata->form_status <= "2") 
                {
                    $pudata['form_status'] = 3;
                    $pudata['progress'] = 70;
                    $id = $this->Referral_model->updatePatient($pudata,$pid);
                    $this->session->set_flashdata('ref_added', 'added');
                }
                else
                {
                    $this->session->set_flashdata('ref_updated', 'updated');
                }
                
                
                $id = $this->Referral_model->insertPatientInsurance($data,$pid);
                $this->session->set_userdata('actPtn_stat', 'step4');
                redirect("referral/editReferal?pid={$pid}");
            }

            // 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')
                {
                    $data = array(
                    'patient_id' => $pid,
                    'patient_auth_stat' => 1,
                    'approve_status' => 1
                    );
                }

                if ($pdata->form_status <= "3") 
                {
                    $data['form_status'] = 4;
                    $data['progress'] = 85;
                    $this->session->set_flashdata('ref_added', 'added');
                }
                else
                {
                    $this->session->set_flashdata('ref_updated', 'updated');
                }

                $this->Referral_model->updatePatient($data,$pid);
                redirect('referral/approval');
            }

            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'] = 60;
                    $this->Referral_model->updatePatient($datap,$pid);
                    $this->session->set_flashdata('ref_added', 'added');
                }
                else
                {
                    $this->Referral_model->updatePatient($datap,$pid);
                    $this->session->set_flashdata('ref_updated', 'updated');
                }

                

                $this->Referral_model->mdOrdersUpdate($data,$pid);
                $this->session->set_userdata('editRef_stat', 'step2');
                redirect("referral/editReferal?pid={$pid}");
                //redirect("referral/approval");
            }
                
        // }
    }

    public function ReferralActivation($pid=null)
    {
        if($pid==null) redirect('referral/approval');
        $pid = base64_dec($pid);
        // if($this->input->get('pid')!=""){   $pid        =   $this->input->get('pid'); };
        $data['insCompanyDetails'] = array();
        if ($pid != '') 
        {
            $data['pid'] = $pid;
            $allData = $this->Referral_model->getWherevalue($pid)[0];
            $data['pdata'] = $allData;
            $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;
            $insdata = $this->Referral_model->getWherevalueInsInfo($pid)[0];
            $data['idata'] = $insdata;
            $data['serviceActivityTherapy'] = servicetherapy($allData->level_of_service); 
            if($insdata->paymentModes =='Insurance Information')
            {                
                $data['insCompanyDetails'] = $this->Referral_model->insCompanyDetails($insdata->insurance_plan);
            }
            
        }

        $data['skillNursingCare'] = $this->Referral_model->getSkillNursingCareList();
        $data['HCPCSCodes'] = $this->Referral_model->getHCPCScodes();
        $data['langs'] = $this->Referral_model->getLanguages();
        $data['preferal'] = $this->Referral_model->getReferalSource();
        $data['lvlService'] = $this->Referral_model->getLevelService();                
        $data['accessType'] = $this->Referral_model->getAccessType();
        $data['tubes'] = $this->Referral_model->getTubeType();
        $data['eleDep'] = $this->Referral_model->getEleDep();
        $data['micd'] = $this->Referral_model->getICD();
        $data['payerType'] = $this->Referral_model->getPayertype();
        $data['vendorList'] = $this->Referral_model->getvendorLists();
        $data['insuranceCompanyList'] = $this->Referral_model->insuranceCompanyList();
        $data['patientList'] = $this->Referral_model->patientLists();
        $data['relationList'] = $this->Referral_model->relationLists();
        $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;

        //Data for MD Order
        $patient=$this->Patient_model->getPatientByid($pid);
        $icd_data=json_decode($patient->icd_info);
        if($patient->primaryCarePhyMdNpi!=""){
            $physician=$this->Physician_model->getPhysicianByNPI($patient->primaryCarePhyMdNpi);
            $data['physician']= $physician;
        }
        $md_order=$this->Md_order_model->getLatestOrderByPatientId($pid);
        $data['patient']=$patient;
        $data['icd_data']=$icd_data;
        $data['md_order']=$md_order;
        $data['labOption']=$this->Md_order_model->getTypesofLabsOption();
        $data['medicationOption']=$this->Md_order_model->getMedicationOption();
        $data['hide_demographics'] = true;
        $data['patient_agreement'] = json_decode($data['pdata']->patient_agreement);
        // echo '
';print_r($data);die;
        $this->load->view('home/dashboard'); // just the header file
        $this->load->view('activatePatient',$data);
        $this->load->view('home/footer'); // just the header file
    }

    public function genInfoPectg($pid)
    {    
        $total = 20;
        $mandateFields = array('reference_information','referral_date','first_name','last_name','gender','primary_language','marital_stat','dob','soc_sec_no','address','telephone','level_of_service');
        $res = $this->Referral_model->getGeninfoPctg($pid);
        // echo "
"; print_r($res); die;
        foreach ($mandateFields as  $value) 
        {
            if($res->$value == '')
            {   
                // echo $value .':'. $res->$value .'
'; $total = $total - 1.66666666667; } } return ceil($total); } public function activateReferral() { if($this->input->get('pid')!='') { $pid = $this->input->get('pid'); if ($this->input->get('activate')=='true') { $resp = $this->Referral_model->activateReferral($pid); $patient = $this->Generate_bill_model->getPatient($pid); $physician = $this->Referral_model->getPhysician($patient->primaryCarePhyMdNpi); // echo "
"; print_r($physician); die;
                       if($patient->primaryCarePhyMdNpi)
                       {
                            $name=$physician->name;
                            $from = array(
                                    'name' => 'HMS Admin',
                                    'email' => 'admin@hms.com'
                                );
                            $subject ='Patient has been created';
                            $emaildata['emaildata'] = array(
                                                            'name' =>$name
                                                        );
                            $to = $physician->email;
                            $message= $this->load->view('email_template_management/patient_created',$emaildata,TRUE);
                            send_email($from,$to,$subject,$message);
                        }
                    redirect("referral/approval");
                }
            }       
    }

    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("referral/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('patient/loader');
            $this->load->view('patient/loader2');
            $this->load->view('pendin_approval_list',['dlGvdftsdr'=>intval($this->input->get('dlGvdftsdr'))]);
            $this->load->view('home/footer'); // just the header file
        }       
    }

    public function activatePatientCriterial()
    {
        $msg = "";
        $status = 0;
        
        $pid = $_POST['pid'];
        $pdata = $this->Referral_model->getWherevalue($pid)[0];
        $tabStatPctg = json_decode($pdata->from_tab_status_pctg);
        // if ($pdata->reference_information == "Reffered by Patient") {
        $paymentInfo = $this->Referral_model->getWherevalueInsInfo($pid)[0];

            
        if($paymentInfo->payerType == '')
        {
            $msg .= "Please update the Insurance Information details to activate
"; $status = 0; } else { if($paymentInfo->paymentModes == 'Insurance Information') { if($pdata->insurance_auth_stat == '1') { $status = 1; } else { $msg .= "Please update the Insurance Information details to activate
"; $status = 0; } } else { $status = 1; } } if($status == 1) { if((int)$tabStatPctg->form1 < 20) { $msg .= "Please fill all the mandatory fileds in general Information Tab
"; $status = 0; } else { $ttlPctg = (int)$tabStatPctg->form1+(int)$tabStatPctg->form2+(int)$tabStatPctg->form3+(int)$tabStatPctg->form4+(int)$tabStatPctg->form5+(int)$tabStatPctg->form6; if ($ttlPctg == 100) { $status = 1; } else { $msg .= "Please fill all the froms showing exclamation sign.
"; $status = 0; } } } $resp = array('msg' => $msg, 'status' => $status); echo json_encode($resp); } public function patientAgreementForm($value='',$pid=null) { // $pid = $_GET['pid']; $pid = base64_dec($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; } /* | new added on 28-09-2021~~ */ public function ChangePassword($id=null) { $id = base64_dec($id); // $id = $this->input->get('id'); $data['patient']=$this->Referral_model->getPatientById($id); $this->load->view('home/dashboard'); // just the header file $this->load->view('change_password',$data); $this->load->view('home/footer'); } public function UpdatePassword() { $id = $this->input->post('id'); $ionid = $this->input->post('ionid'); $password = $this->input->post('password'); $repassword = $this->input->post('repassword'); $email = $this->input->post('email'); if($password!=$repassword) { $this->session->set_flashdata('feedback_error', 'Confirm Password did not match!'); redirect('referral/ChangePassword/'.base64_enc($id)); } else { if($password=="") { $this->session->set_flashdata('feedback_error', 'Password can not be blanked!'); redirect('referral/ChangePassword/'.base64_enc($id)); } else { if ($this->Referral_model->update_email_check($email,$ionid)) { $this->session->set_flashdata('feedback_error', 'This Email Address Is Already Registered'); redirect('referral/ChangePassword/'.base64_enc($id)); } else { $password = $this->ion_auth_model->hash_password($password); $updatePassword=$this->Referral_model->updateIonUser($email,$password,$id,$ionid); if($updatePassword) { $this->session->set_flashdata('feedback_success', 'Password Updated Successfully'); redirect('referral/ChangePassword/'.base64_enc($id)); } else { $this->session->set_flashdata('feedback_error', 'Opps some error occurred, Password not updated. Try again!!'); redirect('referral/ChangePassword/'.base64_enc($id)); } } } } } /* | new added ending here */ 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++; } if($docId){ return true; }else{ return false; } } public function documentDelete() { $fid = $_GET['fid']; // $redirect = $_GET['redirect']; $redirect_str = $_GET['redirect']; $redirect_arr = explode("/",$redirect_str); $redirect = $redirect_arr[0].'/'.$redirect_arr[1].'/'.base64_enc($redirect_arr[2]); // _die($redirect); $docdet=$this->Referral_model->getDocDetails($fid)[0]; $file_pointer = base_url().$docdet->path.$docdet->file_name; $docdet2=$this->Referral_model->delete_patient_doc($fid); if ($docdet2) { 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('Referral_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 = ''; $options4 = ''; $options5 = ''; if( $data->approve_status == 0 && $data->active_status == 0){ $options1 = ' ' . lang('Activate') .' '; // $options3 = ' ' . lang('Patient agreement form') .' '; $stsMsg = "Not Activate"; } elseif ($data->approve_status == 1 && $data->active_status == 0) { $options1 = ' ' . lang('Activate') .' '; $stsMsg = "Approved but not Activated"; } else{ $options1 = ' ' . lang('Edit Activation') .' '; $stsMsg = "Referral is activated"; } $options2 = ' ' . lang('Edit Referral') .' '; $options4 = ''; $options5 = ''; if($this->session->userdata('user_id')==1 && $this->ion_auth->in_group(array('admin')) && $this->input->post('dlGvdftsdr')==202){ $options6 = ''; }else{ $options6=''; } $info[] = array( $slno, 'REF'.$data->patient_id, $data->first_name." ".$data->last_name, $data->telephone, $stsMsg, $options1." ".$options2." ".$options3." ".$options4." ".$options5." ".$options6 ); $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); } public function getList() { $this->load->model('Referral_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); } } 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('patient_details')->num_rows(), "recordsFiltered" => $this->db->get('patient_details')->num_rows(), "data" => $info ); echo json_encode($output); } function checkaddress() { // $response=map_address($_GET['address'].'+'.$_GET['zipcode']); $response=mapquest_address($_GET['address'],$_GET['zipcode']); echo json_encode($response); } public function getIcdList() { $icdCode = $this->input->get('code'); $data=get_ICD_Info($icdCode); // echo '
';print_r($data); echo '
';die();
        // echo $data;
        // die();
        for($i=0; $i'.$data[$i]['title'].'';
            }
        echo $options;
    }

    public function getNpiData()
    {
        
        $npicode = $this->input->get('code');
        $response=npinumber_checking($npicode);
        // echo '
';print_r($response); echo '
';die();
        // $response=npinumber_checking($_GET['npi']);
        if ($response->status_code == "404") {
            $data = $response;
        }
        else
        {
            $data=array(
                    'fname'=>$response->results[0]->basic->first_name,
                    'lname'=>    $response->results[0]->basic->last_name,
                    'address'=>$response->results[0]->addresses[0]->address_1." ".$response->results[0]->addresses[0]->address_2,
                    'country'=>$response->results[0]->addresses[0]->country_name,
                    'country_code'=>$response->results[0]->addresses[0]->country_code,
                    'city'=>$response->results[0]->addresses[0]->city,
                    'phone'=>$response->results[0]->addresses[0]->telephone_number,
                    'zipcode'=>$response->results[0]->addresses[0]->postal_code,
                    'state'=>$response->results[0]->addresses[0]->state,                    
                    'result_count'=>$response->result_count,
                    'primary'=>$response->results[0]->taxonomies[0]->primary,
                    'license'=>$response->results[0]->taxonomies[0]->license
                );
        }
        echo json_encode($data);
    }

    public function mapDist()
    {
        $address = 'google hq';
        $zipcode ='94043';
        // $resp = map_address($address);
        $resp=mapquest_address($address,$zipcode);
        var_dump($resp);
    }

    public function file_downloader() {
        $docType = $this->input->get('doctype');
        // echo $docType;
        $userId = $this->input->get('userid');
        // echo $userId;die;
        $response=$this->Referral_model->getFileBypatientIdFileType($docType,$userId);
        // echo"
";print_r($response);die;
        $forPath = $response->path;
        $forFile_name = $response->file_name;
        $url = $forPath.$forFile_name;
        // echo $url;die;
        $rand = rand(9,99999999);
        $file_name=rand(9,9999999)."_".basename($url);

        if(force_download($file_name, file_get_contents($url))){
        echo "File downloaded successfully";
        }else{
        echo "File downloading failed.";
        }
        
    }


    


}