/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(TratamentoRequest $request)
 {
     try {
         $paciente = \App\Paciente::findOrFail($request->input('pac_id'));
         $estabelecimento = $request->input('est_id');
         //verifica se o paciente já está em tratamento
         $tratamentoE = \App\Tratamento::where('fk_pac_id', $paciente)->where('fk_est_id', $estabelecimento)->where('tto_data_alta', null)->get();
         if (count($tratamentoE) !== 0) {
             return redirect('tratamento/listar')->withErrors(['Paciente já está em tratamento!']);
         }
         $model = new \App\Tratamento();
         $model->tto_data_inicio = $request->input('inicio');
         $model->fk_pac_id = $paciente->pac_id;
         $model->fk_est_id = $estabelecimento;
         $model->fk_prof_id = $request->input('profissional');
         $model->tto_turno = $request->input('turno');
         $substancias = [];
         //pega os tipos de substâncias usadas pelo paciente
         foreach ($request->input('substancias') as $substancia) {
             $substancias[] = (int) $substancia;
         }
         $paciente->substancias()->sync($substancias);
         $model->tto_diagnostico = $request->input('diagnostico');
         $model->tto_diagnostico_sec = $request->input('diagnostico_sec');
         $model->tto_diagnostico_sec_descricao = $request->input('cid_2_descricao');
         $model->tto_diagnostico_descricao = $request->input('cid_descricao');
         $model->save();
         $model->grupos()->attach($request->input('grupos'));
         $request->session()->flash('status', "Paciente inserido em tratamento com sucesso!");
         return redirect('tratamento/show/' . $model->tto_id)->with('status', 'Paciente inserido em tratamento com sucesso!');
     } catch (Exception $exc) {
         echo $exc->getTraceAsString();
     }
 }
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function edit($id)
 {
     // session(['Edicao' => 'Douglas']);
     session()->put('idPaciente', $id);
     /**
      * Usando a Trait PageHeaderTrait,  retorna o nome do Título da Pagina e sua descrição no topo da mesma
      */
     $headerInfo = $this->headerPageName(Route::currentRouteName());
     $paciente = Paciente::findOrFail((int) $id);
     $idReg = $id;
     // dd($medicacao);
     return view('paciente.edicao', compact('paciente', 'idReg', 'headerInfo'));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     try {
         $convenio = \App\Convenio::findOrFail($request->input('conv_id'));
         $paciente = \App\Paciente::findOrFail($request->input('pac_id'));
         $acompanhante = $request->input('acompanhante');
         if ($convenio->getVagasDisponiveisPorPerfil($paciente) === 0) {
             return back()->withErrors(array('Não vagas disponíveis para o Perfil do Paciente'));
         }
         $internamento = new \App\Internamento();
         if ($internamento->isPacienteInternado($paciente->pac_id)) {
             return redirect('/internamento/index')->withErrors(['Paciente já está internado']);
         }
         $internamento->fk_pac_id = $paciente->pac_id;
         $internamento->int_data_encaminhamento = new \DateTime();
         $internamento->fk_est_id_origem = Auth::user()->estabelecimento->est_id;
         $internamento->fk_conv_id = $convenio->conv_id;
         $internamento->int_acompanhante = $request->input('acompanhante');
         $internamento->save();
         return redirect('/internamento/show/' . $internamento->int_id);
     } catch (\Exception $ex) {
         return back()->withErrors(array('Erro ao gerar encaminhamento.' . $ex->getMessage()));
     }
 }
 public function carregaDadosPaciente(Request $request)
 {
     //Pega o id do paciente na sessão gravada ao carregar paciente
     $idPaciente = session()->get('idPaciente');
     if ($request->ajax()) {
     }
     $paciente = Paciente::findOrFail($idPaciente);
     if (count($paciente > 0)) {
         //Cria as variaveis para o json
         $retorno['p_nome'] = $paciente->nome;
         $retorno['p_identidade'] = $paciente->identidade;
         $retorno['p_cpf'] = $paciente->cpf;
         $retorno['p_sexo'] = $paciente->sexo;
         $retorno['p_nascimento'] = $paciente->dtnascimento->format('d/m/Y');
         $retorno['p_profissao'] = $paciente->profissao;
         $retorno['p_escolaridade'] = $paciente->escolaridade;
     } else {
         //Se houver error,  grava no indice msg_error e valida no formulario. se tiver,  cancela operação javascript
         $retorno['mgs_error'] = '<li>Não foi econtrado Paciente</li>';
     }
     return json_encode($retorno);
 }