/** * @param $idPaciente * @param $userMedico * @param $idCita * @param ComportamientosFranklRepositorioInterface $comportamientosRepositorio * @param PadecimientosDentalesRepositorioInterface $padecimientosRepositorio * @param Request $request * @param RecetasRepositorioInterface $recetasRepositorio * @param MedicosReferenciaRepositorioInterface $medicosRepositorio * @param ConsultasCostosRepositorioInterface $consultasCostosRepositorio * @return \Siacme\Servicios\Consultas\ExpedienteOtorrino */ public function capturar($idPaciente, $userMedico, $idCita, ComportamientosFranklRepositorioInterface $comportamientosRepositorio, PadecimientosDentalesRepositorioInterface $padecimientosRepositorio, Request $request, RecetasRepositorioInterface $recetasRepositorio, MedicosReferenciaRepositorioInterface $medicosRepositorio, ConsultasCostosRepositorioInterface $consultasCostosRepositorio) { $idPaciente = (int) base64_decode($idPaciente); $userMedico = base64_decode($userMedico); // obtener la especialidad, expediente y paciente $medico = $this->usuariosRepositorio->obtenerUsuarioPorUsername($userMedico); $pacientesRepositorio = PacientesRepositorioFactory::crear($medico); $paciente = $pacientesRepositorio->obtenerPacientePorId($idPaciente); $expediente = $this->expedientesRepositorio->obtenerExpedientePorPacienteMedico($paciente, $medico); $odontograma = new Odontograma(); $dibujadorOdontograma = new DibujadorOdontogramas($odontograma); $listaComportamientos = $comportamientosRepositorio->obtenerComportamientos(); $listaPadecimientos = $padecimientosRepositorio->obtenerPadecimientos(); $listaRecetas = $recetasRepositorio->obtenerRecetas(); $listaMedicos = $medicosRepositorio->obtenerMedicosReferencia(); // catálogos repositorios $morfologiaCraneofacialRepositorio = CatalogosExamenExtraoralFactory::crearRepositorio(TipoExamenExtraoral::MORFOLOGIA_CRANEOFACIAL); $morfologiaFacialRepositorio = CatalogosExamenExtraoralFactory::crearRepositorio(TipoExamenExtraoral::MORFOLOGIA_FACIAL); $convexividadFacialRepositorio = CatalogosExamenExtraoralFactory::crearRepositorio(TipoExamenExtraoral::CONVEXIVIDAD_FACIAL); $atmsRepositorio = CatalogosExamenExtraoralFactory::crearRepositorio(TipoExamenExtraoral::ATM); // lista de catálogos $listaMorfologiasCraneofacial = $morfologiaCraneofacialRepositorio->obtenerTodos(); $listaMorfologiasFacial = $morfologiaFacialRepositorio->obtenerTodos(); $listaConvexividades = $convexividadFacialRepositorio->obtenerTodos(); $listaAtms = $atmsRepositorio->obtenerTodos(); // lista de costos de consulta $listaCostosConsulta = $consultasCostosRepositorio->obtenerCostos(); // guardar el odontograma creado en la sesión activa para procesamiento $request->session()->put('odontograma', $odontograma); $plan = $expediente->obtenerPlanActivo(); $plan !== null ? $dibujadorPlan = new DibujadorPlanTratamientoAtencion($plan) : ($dibujadorPlan = null); // generar vista de consulta por médico return FabricaConsultasViews::construirVista($expediente, $idCita, $dibujadorOdontograma, $listaComportamientos, $listaPadecimientos, $listaRecetas, $listaMedicos, $listaMorfologiasCraneofacial, $listaMorfologiasFacial, $listaConvexividades, $listaAtms, $listaCostosConsulta, $dibujadorPlan); }
/** * generar receta en PDF * @param string $id * @param string $idPaciente * @param string $userMedico * @param ExpedientesRepositorioInterface $expedientesRepositorio * @param RecetasRepositorioInterface $recetasRepositorio */ public function generarReceta($id, $idPaciente, $userMedico, ExpedientesRepositorioInterface $expedientesRepositorio, RecetasRepositorioInterface $recetasRepositorio) { $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); $receta = $recetasRepositorio->obtenerPorId($id); $reporte = new RecetaJohanna($receta, $expediente); $reporte->SetHeaderMargin(10); $reporte->SetAutoPageBreak(true); $reporte->SetMargins(15, 25); $reporte->generar(); }