public function ccrupload()
 {
     $pid = Session::get('pid');
     $directory = Session::get('documents_dir') . $pid;
     $i = 0;
     foreach (Input::file('file') as $file) {
         if ($file) {
             $new_name = str_replace('.' . $file->getClientOriginalExtension(), '', $file->getClientOriginalName()) . '_' . time() . '.xml';
             $file->move($directory, $new_name);
             $ccr = $directory . '/' . $new_name;
             $xml = simplexml_load_file($ccr);
             $phone_home = '';
             $phone_work = '';
             $phone_cell = '';
             foreach ($xml->Actors->Actor[0]->Telephone as $phone) {
                 if ((string) $phone->Type->Text == 'Home') {
                     $phone_home = (string) $phone->Value;
                 }
                 if ((string) $phone->Type->Text == 'Mobile') {
                     $phone_cell = (string) $phone->Value;
                 }
                 if ((string) $phone->Type->Text == 'Alternate') {
                     $phone_work = (string) $phone->Value;
                 }
             }
             $address = (string) $xml->Actors->Actor[0]->Address->Line1;
             $address = ucwords(strtolower($address));
             $city = (string) $xml->Actors->Actor[0]->Address->City;
             $city = ucwords(strtolower($city));
             $data1 = array('address' => $address, 'city' => $city, 'state' => (string) $xml->Actors->Actor[0]->Address->State, 'zip' => (string) $xml->Actors->Actor[0]->Address->PostalCode, 'phone_home' => $phone_home, 'phone_work' => $phone_work, 'phone_cell' => $phone_cell);
             DB::table('demographics')->where('pid', '=', $pid)->update($data1);
             $this->audit('Update');
             if (isset($xml->Body->Problems)) {
                 foreach ($xml->Body->Problems->Problem as $issue) {
                     if ((string) $issue->Status->Text == 'Active') {
                         $icd9 = (string) $issue->Description->Code->Value;
                         $row1 = Icd9::where('icd9', '=', $icd9)->select('icd9', 'icd9_description')->first();
                         if ($row1) {
                             $issue_post = $row1->icd9_description . ' [' . $row1->icd9 . ']';
                         } else {
                             $issue_post = (string) $issue->Description->Text . ' [' . (string) $issue->Description->Code->Value . ']';
                         }
                         $data2 = array('issue' => $issue_post, 'issue_date_active' => (string) $issue->DateTime->ExactDateTime, 'issue_date_inactive' => '', 'issue_provider' => $this->session->userdata('displayname'), 'pid' => $pid);
                         DB::table('issues')->insert($data2);
                         $this->audit('Add');
                     }
                 }
             }
             if (isset($xml->Body->Medications)) {
                 foreach ($xml->Body->Medications->Medication as $rx) {
                     if ((string) $rx->Status->Text == 'Active') {
                         $data3 = array('rxl_medication' => (string) $rx->Product->ProductName->Text, 'rxl_instructions' => (string) $rx->Directions->Direction->Dose->Value, 'rxl_date_active' => (string) $rx->DateTime->ExactDateTime, 'rxl_date_prescribed' => '', 'rxl_date_inactive' => '', 'rxl_date_old' => '', 'rxl_provider' => $this->session->userdata('displayname'), 'pid' => $pid);
                         DB::table('rx_list')->insert($data3);
                         $this->audit('Add');
                     }
                 }
             }
             if (isset($xml->Body->Immunizations)) {
                 foreach ($xml->Body->Immunizations->Immunization as $imm) {
                     if (strpos((string) $imm->Product->ProductName->Text, '#')) {
                         $items = explode('#', (string) $imm->Product->ProductName->Text);
                         $imm_immunization = rtrim($items[0]);
                         $imm_sequence = $items[1];
                     } else {
                         $imm_immunization = (string) $imm->Product->ProductName->Text;
                         $imm_sequence = '';
                     }
                     $data4 = array('imm_immunization' => $imm_immunization, 'imm_date' => (string) $imm->DateTime->ExactDateTime, 'imm_sequence' => $imm_sequence, 'imm_elsewhere' => 'Yes', 'imm_vis' => '', 'pid' => $pid, 'eid' => '');
                     DB::table('immunizations')->insert($data4);
                     $this->audit('Add');
                 }
             }
             if (isset($xml->Body->Alerts)) {
                 foreach ($xml->Body->Alerts->Alert as $alert) {
                     if ((string) $alert->Status->Text == 'Current') {
                         $data5 = array('alert' => (string) $alert->Type->Text, 'alert_description' => (string) $alert->Description->Text, 'alert_date_active' => (string) $alert->DateTime->ExactDateTime, 'alert_date_complete' => '', 'alert_reason_not_complete' => '', 'alert_provider' => $this->session->userdata('displayname'), 'orders_id' => '', 'pid' => $pid, 'alert_send_message' => 'n');
                         DB::table('alerts')->insert($data5);
                         $this->audit('Add');
                     }
                 }
             }
             $i++;
         }
     }
     echo $i . ' Continuity of Care Record(s) Imported!';
 }