/**
  * @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();
 }