예제 #1
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function postStore($nome, $senha, $sus)
 {
     if (isset($nome) && isset($senha) && isset($sus)) {
         $paciente = new Paciente();
         $paciente->nome = $nome;
         $paciente->password = bcrypt($senha);
         $paciente->sus = $sus;
         $paciente->save();
         dd('Problema: ' . $nome);
         return true;
     } else {
         return false;
     }
 }
예제 #2
0
 /**
  * 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();
     }
 }
예제 #3
0
 public function search(Request $request)
 {
     $rfc = $request->rfc;
     $tipo = $request->tipo_id;
     $today = Carbon::today();
     $today = $today->year . '-' . $today->month . '-' . $today->day;
     $paciente = Paciente::where('rfc', '=', $rfc)->where('tipo_id', '=', $tipo)->first();
     $tipo = Tipo::find($tipo);
     if (isset($paciente)) {
         if ($paciente->count() > 1) {
             $citas = Cita::orderBy('fecha', 'desc')->where('paciente_id', '=', $paciente->id)->take(5)->get();
             $citas->each(function ($citas) {
                 $citas->paciente->tipo;
                 $citas->medico->especialidad;
                 $citas->fecha = fecha_dmy($citas->fecha);
             });
             if ($citas->count() >= 1) {
                 return Response::json($citas, 200);
             } else {
                 $response = array('error' => 'true');
                 return Response::json('No se encontro citas con paciente RFC: ' . $rfc . ' - ' . $tipo->code, 500);
             }
         }
     } else {
         $response = array('error' => 'true');
         return Response::json('No se encontro Paciente con RFC: ' . $rfc . ' - ' . $tipo->code, 500);
     }
 }
예제 #4
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::statement('SET FOREIGN_KEY_CHECKS = 0');
     DB::table('paciente')->truncate();
     \App\Paciente::create(['nome' => 'Visitante', 'sexo' => 'masculino', 'dtnascimento' => '1977-01-20', 'profissao' => 'Pintor', 'escolaridade' => 'fundamental', 'identidade' => '00012544-2', 'cpf' => '37756051505', 'status' => 1]);
     // Exibe uma informação no console durante o processo de seed
     $this->command->info('Paciete: Josefino Silva Garibaldi,  criado com sucesso!!!');
 }
예제 #5
0
 public function getPrevisualizar($id)
 {
     $examen = ResultadoLaboratorio::find($id);
     $pacienteid = Orden::find($examen->detalleorden_id);
     $paciente = Paciente::find($pacienteid->paciente_id);
     $vista = view('Laboratorio.pdf', compact('examen', 'paciente'))->render();
     $pdf = app('dompdf.wrapper');
     $pdf->loadHTML($vista);
     return $pdf->stream();
 }
예제 #6
0
 public function getPrincipal(Request $request)
 {
     $data['title'] = "Principal";
     $fecha = Date("Y-m-d");
     $data['total_horas'] = Hora::where('fecha_hora', 'like', '%' . $fecha . '%')->count();
     $data['total_pacientes'] = Paciente::count();
     $data['total_profesionales'] = Profesional::count();
     $data['total_especialidades'] = Especialidad::count();
     return view('plataforma.principal', $data);
 }
예제 #7
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     /**
      * 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());
     $tiposDocumentos = DocumentoTipo::all();
     $pacientes = Paciente::all();
     $medicacaoCategoria = CatMedicacao::all();
     return view('documento.criardocumento', compact('headerInfo', 'tiposDocumentos', 'pacientes', 'medicacaoCategoria'));
 }
예제 #8
0
 public function getExamenes()
 {
     $maxid = Protocolo::all()->max('id');
     $examenes = Examen::all();
     $ordenes = Orden::where('protocolo_id', $maxid)->get();
     $pacientes = [];
     foreach ($ordenes as $orden) {
         $pacientes[] = Paciente::find($orden->paciente_id);
     }
     return view('protocolo.examenes')->with(compact(['maxid', 'pacientes', 'examenes']));
 }
 public function UpdatePaciente(PacientesRequest $request, $slug, $date, $id)
 {
     $paciente = Paciente::find($id);
     $paciente->fill($request->all());
     $paciente->fecha_nacimiento = fecha_ymd($request->fecha_nacimiento);
     if ($paciente->save()) {
         return response()->json('', 200);
     } else {
         return response()->json('', 500);
     }
 }
예제 #10
0
 public function getVisualizar($paciente_id)
 {
     $orden = Orden::where('paciente_id', $paciente_id)->first();
     $protocolo = $orden->protocolo;
     //dd($protocolo);
     $empresa = $protocolo->empresa;
     $paciente = Paciente::find($paciente_id);
     $ordenes = $paciente->ordenes;
     $vista = view('historial.pdfHistorial')->with(compact(['ordenes', 'protocolo', 'paciente', 'empresa']))->render();
     $pdf = app('dompdf.wrapper');
     $pdf->loadHTML($vista);
     return $pdf->stream();
 }
예제 #11
0
 public function getVisualizar($orden_id, $paciente_id)
 {
     $examenes = PacienteExamen::where('orden_id', $orden_id)->get();
     $paciente = Paciente::find($paciente_id);
     $orden = Orden::find($orden_id);
     $protocolo = Protocolo::find($orden->protocolo_id);
     $empresa = Empresa::find($protocolo->empresa_id);
     //dd($empresa);
     $vista = view('hojaruta.pdfRuta')->with(compact(['examenes', 'paciente', 'empresa']))->render();
     $pdf = app('dompdf.wrapper');
     $pdf->loadHTML($vista);
     return $pdf->stream();
 }
예제 #12
0
 public function postPaciente(Request $request)
 {
     $v = \Validator::make($request->all(), ['search_paciente' => 'required']);
     if ($v->fails()) {
         return redirect()->route('cita.index')->withErrors($v);
     }
     $paciente = \App\Paciente::where('cedula', $request->input('search_paciente'))->first();
     if ($paciente == null) {
         \Session::flash('msj_error', 'El paciente NO EXISTE proceda a registrarlo');
         return redirect()->route('cita.index');
     } else {
         \Session::flash('success', 'Se cargó exitosamente los datos del paciente: ' . $paciente->primer_nombre . ' ' . $paciente->apellido_paterno);
         return redirect()->route('cita.show', [$paciente->id]);
     }
 }
예제 #13
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(PacienteFormRequest $request, $id)
 {
     //Graba paciente modificado
     $paciente = Paciente::whereId($id)->firstOrFail();
     $paciente->nombre = $request->get('nombre');
     $paciente->apellido = $request->get('apellido');
     $paciente->telefono = $request->get('telefono');
     $paciente->direccion = $request->get('direccion');
     $paciente->sexo = $request->get('sexo');
     $paciente->email = $request->get('email');
     $paciente->origen = $request->get('origen');
     $paciente->save();
     $paciente->saveMedico($request->get('medico'));
     return redirect(action('Admin\\PacientesController@index', $paciente->id))->with('status', 'El paciente ha sido actualizado!');
 }
예제 #14
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker::create();
     for ($i = 0; $i < 80; ++$i) {
         $aleatorio = $faker->numberBetween(1, 12);
         if ($aleatorio < 2) {
             $estado = 'Cancelado';
         } elseif ($aleatorio < 12) {
             $estado = 'Verificado';
         } else {
             $estado = 'Pendiente';
         }
         $protocolo = Protocolo::create(['empresa_id' => $faker->numberBetween(1, 2), 'estado' => $estado, 'observacion' => $faker->sentence, 'created_at' => $estado == 'Pendiente' ? $faker->dateTimeBetween('-4 months', '-1 days') : $faker->dateTimeBetween('-1 years', '-1 days')]);
         // Para cada protocolo asignarle de 3 a 10 trabajadores
         $num_trabajadores = $faker->numberBetween(3, 10);
         for ($j = 0; $j < $num_trabajadores; ++$j) {
             // Registrar cada trabajador como un paciente
             $paciente = Paciente::create(['nombre' => $faker->firstName, 'dni' => $faker->numerify('########'), 'numhijos' => $faker->numberBetween(0, 2), 'sexo' => $faker->randomElement(['Masculino', 'Femenino']), 'gruposangre' => $faker->randomElement(['O-', 'O+', 'A−', 'A+', 'B−', 'B+', 'AB−', 'AB+']), 'pacienteperfil_id' => $faker->numberBetween(1, 2)]);
             // Y asociar una orden a cada paciente
             $orden = Orden::create(['protocolo_id' => $protocolo->id, 'paciente_id' => $paciente->id]);
         }
     }
 }
예제 #15
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(LeitoRequest $request)
 {
     $paciente = \App\Paciente::find($request->input('pac_id'));
     $hoje = new \DateTime();
     $idade = $paciente->getIdade();
     $solicitacao = new \App\Leito();
     $solicitacao->sol_nome_medico = $request->input('medico');
     $solicitacao->sol_crm_medico = $request->input('crm');
     $solicitacao->fk_pac_id = $paciente->pac_id;
     $solicitacao->sol_hipotese_diagnostica = $request->input('cid_descricao');
     $solicitacao->sol_data = $hoje;
     $solicitacao->sol_paciente_idade = $idade;
     //$solicitacao->sol_diagnostico_psiquiatrico = $request->input('diagnostico_psiquiatrico');
     $solicitacao->sol_internamentos_anteriores = $request->input('internamentos_anteriores');
     $solicitacao->sol_telefone_contato = $request->input('contato_telefone');
     $solicitacao->sol_nome_contato = $request->input('contato_nome');
     $solicitacao->sol_uso_medicacao = $request->input('medicamentos_uso');
     $solicitacao->sol_comorbidade = $request->input('comorbidade');
     $solicitacao->sol_quadro_clinico = $request->input('quadro_clinico');
     $solicitacao->sol_historico_psiquiatrico = $request->input('historico_psquiatrico');
     $solicitacao->sol_tipo_internacao = $request->input('tipo');
     $solicitacao->sol_resultado_exames = $request->input('resultado_exames');
     $solicitacao->sol_frequencia_cardiaca = $request->input('fc');
     $solicitacao->sol_frequencia_respiratoria = $request->input('fr');
     $solicitacao->sol_temperatura = $request->input('temperatura');
     $solicitacao->sol_saturacao = $request->input('saturacao');
     $solicitacao->sol_pressao_arterial = $request->input('pa');
     $solicitacao->sol_glascow = $request->input('glascow');
     $solicitacao->fk_est_id = Auth::user()->estabelecimento->est_id;
     try {
         $solicitacao->save();
         return redirect('leito/enviar/' . $solicitacao->sol_id);
     } catch (\Exception $e) {
         return redirect('leito/create/' . $paciente->pac_id)->withErrors($e->getMessage());
     }
 }
예제 #16
0
 /**
  * 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()));
     }
 }
예제 #17
0
 public function postAjaxIngresarHora(Request $request)
 {
     //Creo un modelo para ingresar las horas
     $hora = new Hora();
     $fecha = explode("-", $request->dia);
     $hora->fecha_hora = $fecha[2] . "-" . $fecha[1] . "-" . $fecha[0] . " " . $request->hora;
     $hora->profesional_id = $request->profesional_id;
     $hora->especialidad_id = $request->especialidad_id;
     if ($request->paciente_comprobado == "false") {
         $paciente = Paciente::where("rut", $request->rut)->first();
         if ($paciente == null) {
             $paciente = new Paciente();
         }
         $paciente->rut = $request->rut;
         $paciente->nombre = $request->nombre;
         $paciente->apellido = $request->apellido;
         $paciente->email = $request->email;
         $paciente->numero_telefono = $request->numero_telefono;
         $paciente->celular = $request->celular;
         $paciente->save();
         $hora->paciente_id = $paciente->id;
     } else {
         $hora->paciente_id = $request->paciente_id;
     }
     $hora->estado_hora_id = $request->estado_hora_id;
     $hora->comentario = $request->comentario;
     $hora->save();
     $data['hora'] = $hora;
     $data['estado'] = true;
     return response::Json($data);
 }
예제 #18
0
 /**
  * Show the form for creating a new resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function create()
 {
     $usuarios = User::all();
     $pacientes = Paciente::all();
     return view('backend.items.create', compact('usuarios', 'pacientes'));
 }
예제 #19
0
 /**
  * Update the specified resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  int  $id
  * @return \Illuminate\Http\Response
  */
 public function update(Request $request, $id)
 {
     if ($id != session("idPaciente")) {
         abort(403, 'Violação de parâmetros.');
     }
     $updatePaciente = Paciente::find($id);
     //padroniza data para gravação na base de dados
     $request['dtnascimento'] = Carbon::createFromFormat('d/m/Y', $request['dtnascimento']);
     if ($updatePaciente->update($request->all())) {
         session()->flash('toastr.success', "Confirmado! O Paciente  " . $request->get('nome') . " foi ATUALIZADO com sucesso!");
     } else {
         session()->flash('toastr.error', "ERRO!  O paciente " . $request->get('nome') . " NÃO foi ATUALIZADO! Por favor repita a operação");
     }
     session()->forget('idPaciente');
     return redirect('paciente/listagem');
 }
예제 #20
0
 public function getDetalleAtencion(Request $request)
 {
     $data['atencion'] = Atencion::where('id', $request->id)->first();
     $data['paciente'] = Paciente::where('id', $data['atencion']->paciente_id)->first();
     $data['tipo_atencion'] = Tipo_atencion::where('id', $data['atencion']->tipo_atencion_id)->first();
     $data['title'] = $data['tipo_atencion']->nombre;
     return view('paciente.detalleAtencion', $data);
 }
예제 #21
0
 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);
 }
예제 #22
0
 public function doSearch(Request $request)
 {
     $query = \App\Paciente::query();
     if ($request->has('nome')) {
         $query->where('pac_nome', 'LIKE', "%{$request->input('nome')}%");
     }
     if ($request->has('mae')) {
         $query->where('pac_nome_mae', 'LIKE', "%{$request->input('mae')}%");
     }
     if ($request->has('nascimento')) {
         $query->where('pac_nascimento', "{$request->input('nascimento')}");
     }
     $registros = $query->get();
     if ($registros->count() > 0) {
         return View('paciente.listar', ['pacientes' => $registros]);
     } else {
         $url = sprintf("paciente/create?nome=%s&mae=%s&nascimento=%s", $request->input('nome'), $request->input('mae'), $request->input('nascimento'));
         return View('paciente.listar', ['pacientes' => null, 'msg_cadastrar' => true, 'url' => $url]);
     }
 }
 public function buscaAjax(Request $request)
 {
     $prontuario = null;
     if ($request->has('prontuario')) {
         $prontuario = $request->get('prontuario');
     }
     $paciente = Paciente::where('prontuario', '=', $prontuario)->get();
     return $paciente;
 }
예제 #24
0
 public static function repetidos()
 {
     $conteo_total = DB::raw('SUM(rfc) as total');
     $records = Paciente::getQuery()->select('*', DB::raw($conteo_total))->groupBy('rfc')->havingRaw('count(*) > 1')->get();
     return $records;
 }
예제 #25
0
 public function PacientesForSelect()
 {
     $pacientes = Paciente::all();
     return $pacientes->lists('nome', 'id');
 }
예제 #26
0
 public function repetidos()
 {
     $pacientes_ids = Cita::select('paciente_id')->lists('paciente_id')->toArray();
     $pacientes = Paciente::whereNotIn('id', $pacientes_ids)->get();
     foreach ($pacientes as $paciente) {
         echo $paciente->rfc . '/' . $paciente->id . ' - ' . $paciente->nombres . '  ' . $paciente->apellido_pat . '  ' . $paciente->apellido_mat;
         echo '<br>';
         $pa = Paciente::find($paciente->id);
         $pa->delete();
         echo 'Eliminado';
         echo '<br>';
     }
 }
예제 #27
0
 public function custom_edit($paciente_id, $medico_id, $cita_id)
 {
     $medico = Medico::find($medico_id);
     $paciente = Paciente::find($paciente_id);
     $cie = Cie::find($cita->codigo_cie_id);
     $dt = Carbon::parse($paciente->fecha_nacimiento);
     $anos = Carbon::createFromDate($dt->year, $dt->month, $dt->day)->diff(Carbon::now())->format('%y Años');
     return view('admin.hojas.create')->with('medico', $medico)->with('paciente', $paciente)->with('anos', $anos)->with('cita_id', $cita_id)->with('cie', $cie);
 }
예제 #28
0
 /**
  * @param int $id 
  */
 public function showCita($id)
 {
     $ficha = \App\FichaClinica::find($id);
     $id_paciente = $ficha->id_paciente;
     $paciente = \App\Paciente::find($id_paciente);
     //antecedentes patologicos
     $paciente->enfermedades = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 1)->first()->observaciones;
     $paciente->medicamentos = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 2)->first()->observaciones;
     $paciente->alergias = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 3)->first()->observaciones;
     $paciente->cirugias = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 4)->first()->observaciones;
     $paciente->hospitalizaciones = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 5)->first()->observaciones;
     $paciente->accidentes = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 6)->first()->observaciones;
     $paciente->transfusiones = \App\AntecedentePatologico::where('id_paciente', $id_paciente)->where('id_tipo_patologico', 7)->first()->observaciones;
     //antecedentes no patologicos
     $paciente->cantidad_tabaco = \App\AntecedenteNoPatologico::where('id_paciente', $id_paciente)->where('id_tipo_no_patologico', 1)->first()->cantidad_consumo;
     $paciente->cantidad_alcohol = \App\AntecedenteNoPatologico::where('id_paciente', $id_paciente)->where('id_tipo_no_patologico', 2)->first()->cantidad_consumo;
     $paciente->cantidad_drogas = \App\AntecedenteNoPatologico::where('id_paciente', $id_paciente)->where('id_tipo_no_patologico', 3)->first()->cantidad_consumo;
     //antecedentes familiares
     $paciente->padre = \App\AntecedenteFamiliar::where('id_paciente', $id_paciente)->where('id_tipo_familiar', 1)->first()->observaciones;
     $paciente->madre = \App\AntecedenteFamiliar::where('id_paciente', $id_paciente)->where('id_tipo_familiar', 1)->first()->observaciones;
     $paciente->hermanos = \App\AntecedenteFamiliar::where('id_paciente', $id_paciente)->where('id_tipo_familiar', 1)->first()->observaciones;
     $paciente->abuelos_materno = \App\AntecedenteFamiliar::where('id_paciente', $id_paciente)->where('id_tipo_familiar', 1)->first()->observaciones;
     $paciente->abuelos_paterno = \App\AntecedenteFamiliar::where('id_paciente', $id_paciente)->where('id_tipo_familiar', 1)->first()->observaciones;
     $ginecos = \App\AntecedenteGinecoobstetra::where('id_paciente', $id_paciente)->first();
     return view('citas.show-cita', compact(['ficha', 'paciente', 'ginecos']));
 }