/** * @param Expediente $expediente * @param string $idCita * @param DibujadorInterface|null $dibujadorOdontograma * @param null $listaComportamientosFrankl * @param null $listaPadecimientos * @param null $listaRecetas * @param null $listaMedicos * @param null $listaMorfologiasCraneofacial * @param null $listaMorfologiasFacial * @param null $listaConvexividades * @param null $listaAtms * @param null $listaCostosConsultas * @param null|DibujadorInterface $dibujadorPlan * @return ExpedienteOtorrino * @throws \Exception * @internal param null $listaCostoConsultas */ public static function construirVista(Expediente $expediente, $idCita, DibujadorInterface $dibujadorOdontograma = null, $listaComportamientosFrankl = null, $listaPadecimientos = null, $listaRecetas = null, $listaMedicos = null, $listaMorfologiasCraneofacial = null, $listaMorfologiasFacial = null, $listaConvexividades = null, $listaAtms = null, $listaCostosConsultas = null, DibujadorInterface $dibujadorPlan = null) { switch ($expediente->getMedico()->getUsername()) { case 'johanna.vazquez': // odontopediatría return View::make('consultas.consultas_odontopediatria_capturar', compact('expediente', 'idCita', 'dibujadorOdontograma', 'listaComportamientosFrankl', 'listaPadecimientos', 'listaRecetas', 'listaMedicos', 'listaMorfologiasCraneofacial', 'listaMorfologiasFacial', 'listaConvexividades', 'listaAtms', 'listaCostosConsultas', 'dibujadorPlan')); break; case 1: return new ExpedienteOtorrino(); break; default: throw new \Exception('Intentando crear una vista inexistente'); break; } }
/** * @param Expediente $expediente * @return bool */ public function persistir(Expediente $expediente) { try { if (is_null($expediente->getId())) { $idExpediente = DB::table('expediente')->insertGetId(['idPaciente' => $expediente->getPaciente()->getId(), 'UserMedico' => $expediente->getMedico()->getUsername(), 'PrimeraVez' => $expediente->primeraVez() ? '1' : '0', 'FechaCreacion' => date('Y-m-d'), 'FechaActualizacion' => date('Y-m-d')]); // obtener el Id $expediente->setId($idExpediente); } else { // editar DB::table('expediente')->where('idExpediente', '=', $expediente->getId())->update(['PrimeraVez' => $expediente->primeraVez() ? '1' : '0', 'Firma' => $expediente->getFirma(), 'FechaActualizacion' => date('Y-m-d')]); } return true; } catch (\PDOException $e) { echo $e->getMessage(); return false; } }
/** * 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); }