1903 lines
89 KiB
PHP
Executable File

<?php
if (!defined('BASEPATH'))
exit('No direct script access allowed');
class referral extends MX_Controller {
function __construct()
{
parent::__construct();
$this->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 '<pre>'; 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 "<pre>"; 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 '<pre>';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 "<pre>"; print_r($res); die;
foreach ($mandateFields as $value)
{
if($res->$value == '')
{
// echo $value .':'. $res->$value .'<br>';
$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 "<pre>"; 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<br>";
$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<br>";
$status = 0;
}
}
else
{
$status = 1;
}
}
if($status == 1)
{
if((int)$tabStatPctg->form1 < 20)
{
$msg .= "Please fill all the mandatory fileds in general Information Tab<br>";
$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.<br>";
$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 = '<a class="badge badge-primary btn-sm badge_new_btn" href="'. base_url() .'referral/ReferralActivation/'. base64_enc($data->id) .'"> <i class="la la-edit"></i>' . lang('Activate') .' </a>';
// $options3 = '<a class="badge badge-primary btn-sm badge_new_btn" target="_blank" href="'. base_url() .'referral/patientAgreementForm/'. base64_enc($data->id) .'"> <i class="la la-edit"></i>' . lang('Patient agreement form') .' </a>';
$stsMsg = "Not Activate";
}
elseif ($data->approve_status == 1 && $data->active_status == 0) {
$options1 = '<a class="badge badge-success inffo btn-sm btn_new" href="'. base_url() .'referral/ReferralActivation/'. base64_enc($data->id) .'"> <i class="la la-edit"></i>' . lang('Activate') .' </a>';
$stsMsg = "Approved but not Activated";
}
else{
$options1 = '<a class="badge badge-success inffo btn-sm btn_new" href="'. base_url() .'referral/ReferralActivation/'. base64_enc($data->id) .'"> <i class="la la-edit"></i>' . lang('Edit Activation') .' </a>';
$stsMsg = "Referral is activated";
}
$options2 = '<a class="badge badge-success inffo btn-sm btn_new" href="'. base_url() .'referral/referralFrom/'. base64_enc($data->id) .'"> <i class="la la-edit"></i>' . lang('Edit Referral') .' </a>';
$options4 = '<button style="cursor:pointer;" type="button" class="badge badge-primary btn-sm badge_new_btn top-5" onclick="viewNursingAssessmentPdf('.$data->id.')"> <i class="fa fa-file-text"></i> View Patient Agreement Pdf</button>';
$options5 = '<button style="cursor:pointer;" type="button" class="badge badge-primary btn-sm badge_new_btn top-5" onclick="generatePatientAgreementPdf('.$data->id.')"> <i class="fa fa-file-pdf-o"></i> Generate Patient Agreement Pdf</button>';
if($this->session->userdata('user_id')==1 && $this->ion_auth->in_group(array('admin')) && $this->input->post('dlGvdftsdr')==202){
$options6 = '<button style="cursor:pointer;" type="button" class="badge badge-danger btn-sm badge_new_btn top-5" onclick="deletePatientAllInfo(this,'.$data->id.')"><span style="display:none;">'.$data->first_name." ".$data->last_name.'</span>Delete Patient</button>';
}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 = '<a class="badge badge-success inffo btn-sm btn_new" href="referral/viewPatient?id=' . $data->id .'"><i class="la la-eye"></i> ' . lang('View') .'</a>';
$options5 = '<a class="badge badge-success inffo btn-sm btn_new" href="PatientSchedule/Schedule?id=' . $data->id .'"><i class="la la-eye"></i> ' . lang('Schedule') .'</a>';
$options6 = '<a class="badge badge-success inffo btn-sm btn_new" href="patient_discharge/addDischarge/' . $data->id .'"><i class="la la-eye"></i> ' . lang('Discharge') .'</a>' ;
$switch = '<div class="material-switch ">
<input id="someSwitchOptionSuccess'.$slno.'" attrid="'.$data->id.'" class="switchValue" name="someSwitchOption001" value="'.$data->status.'" onclick="changeStatus(this)" type="checkbox" '.$statusChk.' />';
$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 '<pre>';print_r($data); echo '<pre>';die();
// echo $data;
// die();
for($i=0; $i<count($data); $i++)
{ // Loop through the data & construct the options
$options .= '<option value="'.$data[$i]['id'].'">'.$data[$i]['title'].'</option>';
}
echo $options;
}
public function getNpiData()
{
$npicode = $this->input->get('code');
$response=npinumber_checking($npicode);
// echo '<pre>';print_r($response); echo '<pre>';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"<pre>";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.";
}
}
}