/** * verificar la creación de elementos durante una consulta * @param Request $request * @param Expediente $expediente * @return bool */ public function verificarElementosCreadosEnConsulta(Request $request, Expediente $expediente) { switch ($expediente->getMedico()->getUsername()) { case 'johanna.vazquez': // odontograma if ($request->session()->has('odontograma')) { $odontograma = $request->session()->get('odontograma'); $expediente->agregarOdontograma($odontograma); } // plan de tratamiento if ($request->session()->has('plan')) { $planTratamiento = $request->session()->get('plan'); $expediente->agregarPlanTratamiento($planTratamiento); } break; default: break; } // guardar la información return $this->expedientesRepositorio->guardarElementosDeConsulta($expediente); }
/** * generar Plan de tratamiento en PDF * @param Request $request * @param $userMedico * @param $idPaciente */ public function plan(Request $request, $userMedico, $idPaciente) { $idPaciente = (int) base64_decode($idPaciente); $userMedico = base64_decode($userMedico); $medico = $this->usuariosRepositorio->obtenerUsuarioPorUsername($userMedico); $pacientesRepositorio = PacientesRepositorioFactory::crear($medico); $paciente = $pacientesRepositorio->obtenerPacientePorId($idPaciente); $expediente = $this->expedientesRepositorio->obtenerExpedientePorPacienteMedico($paciente, $medico); $plan = $request->session()->get('plan'); $reporte = new PlanTratamientoJohanna($plan, $expediente); $reporte->SetHeaderMargin(10); $reporte->SetMargins(15, 50); $reporte->SetAutoPageBreak(true, 20); $reporte->generar(); }
/** * firmar * @param \Illuminate\Http\Request $request * @param \Siacme\Infraestructura\Citas\CitasRepositorioInterface $citasRepositorio * @return \Illuminate\Contracts\Routing\ResponseFactory|\Symfony\Component\HttpFoundation\Response */ public function firmar(Request $request, CitasRepositorioInterface $citasRepositorio) { $idPaciente = (int) base64_decode($request->get('idPaciente')); $userMedico = base64_decode($request->get('userMedico')); $medico = $this->usuariosRepositorio->obtenerUsuarioPorUsername($userMedico); $pacientesRepositorio = PacientesRepositorioFactory::crear($medico); $paciente = $pacientesRepositorio->obtenerPacientePorId($idPaciente); $expediente = $this->expedientesRepositorio->obtenerExpedientePorPacienteMedico($paciente, $medico); $expediente->setFirma(rand()); if (!$this->expedientesRepositorio->persistir($expediente)) { return response(0); } // cambiar estatus a 3 = en espera $cita = $citasRepositorio->obtenerCitaPorPacienteMedico($paciente, $medico); $cita->setEstatus(new CitaEstatus(3)); if (!$citasRepositorio->actualizaEstatus($cita)) { return response(0); } return response(1); }
/** * @param Request $request * @param ExpedientesRepositorioInterface $expedientesRepositorio * @return \Illuminate\Http\JsonResponse */ public function estatus(Request $request, ExpedientesRepositorioInterface $expedientesRepositorio) { // obtener parametros $respuesta = array(); $idCita = (int) base64_decode($request->get('idCita')); $idEstatus = $request->get('idEstatus'); $cita = $this->citasRepositorio->obtenerCitaPorId($idCita); $cita->setEstatus(new CitaEstatus((int) $idEstatus)); if (!$this->citasRepositorio->actualizaEstatus($cita)) { // error $respuesta['respuesta'] = 0; return response()->json($respuesta); } // obtener el expediente $expediente = $expedientesRepositorio->obtenerExpedientePorPacienteMedico($cita->getPaciente(), $cita->getMedico()); // exito $respuesta['respuesta'] = 1; // view a cargar $html = view('citas.citas_detalle_opciones_refrescar', compact('cita', 'expediente')); $respuesta['html'] = base64_encode($html); return response()->json($respuesta); }
/** * generar plan en PDF * @param string $id * @param string $idPaciente * @param string $userMedico * @param ExpedientesRepositorioInterface $expedientesRepositorio * @param PlanTratamientoRepositorioInterface $planesRepositorio */ public function generarPlan($id, $idPaciente, $userMedico, ExpedientesRepositorioInterface $expedientesRepositorio, PlanTratamientoRepositorioInterface $planesRepositorio) { $id = (int) base64_decode($id); $idPaciente = (int) base64_decode($idPaciente); $userMedico = base64_decode($userMedico); $medico = $this->usuariosRepositorio->obtenerUsuarioPorUsername($userMedico); $pacientesRepositorio = PacientesRepositorioFactory::crear($medico); $paciente = $pacientesRepositorio->obtenerPacientePorId($idPaciente); $expediente = $expedientesRepositorio->obtenerExpedientePorPacienteMedico($paciente, $medico); $plan = $planesRepositorio->obtenerPorId($id); $reporte = new PlanTratamientoJohanna($plan, $expediente); $reporte->SetHeaderMargin(10); $reporte->SetMargins(15, 50); $reporte->SetAutoPageBreak(true, 20); $reporte->generar(); }