public function saveSignosAction($factura) { $em = $this->getDoctrine()->getEntityManager(); $factura = $em->getRepository('FacturacionBundle:Factura')->find($factura); if (!$factura) { throw $this->createNotFoundException('La informacion solicitada no esta disponible.'); } $historia = $factura->getHc(); if (!$historia) { /* Si la historia no existe se procedera a crear una historia en code behind, despues de crear la * historia se procede a visualizar el formulario de las notas. */ $historia = $em->getRepository('HistoriaBundle:Notas')->createEmptyHc($factura); } $notas = new Notas(); $request = $this->getRequest(); $notas->setFecha(new \DateTime('now')); $form_nota = $this->createForm(new NotasType(), $notas); $form_nota->bindRequest($request); if ($form_nota->isValid()) { $usuario = $this->get('security.context')->getToken()->getUser(); $notas->setHc($historia); $notas->setResponsable($usuario); $em->persist($notas); $em->flush(); $message = "La informacion de la nota ha sido creada éxitosamente. Ahora Puede cerrar la ventana."; return new Response($message, 200, array('Content-Type' => 'text/plain')); } else { $message = "El formulario no es valido! verifique que la informacion sea correcta, todos los campos son numericos"; return new Response($message, 200, array('Content-Type' => 'text/plain')); } }
public function validarHistoria($factura, $historia, $form_historia) { $em = $this->getDoctrine()->getEntityManager(); // se optione el role del usuario. $usuario = $this->get('security.context')->getToken()->getUser(); /* Se consultan los respectivos objetos q se trabajan en la historia todo por medio de la relacion * OneToOne que tiene la hisotia y la factura. */ $paciente = $factura->getPaciente(); $paciente->setPertEtnica($paciente->getPE($paciente->getPertEtnica())); // consulto la afiliacion ya que esta contiene el nivel y el rango del paciente con su cliente $cliente = $factura->getCliente(); $afiliacion = $em->getRepository('ParametrizarBundle:Afiliacion')->findOneBy(array('cliente' => $cliente->getId(), 'paciente' => $paciente->getId())); // Se realizan las respectivas consultas a sus respectivos repositorios para traer // la informacion correspondiente que se visualizara en la historia $paginator = $this->get('knp_paginator'); $hc_cie = $em->getRepository('HistoriaBundle:Hc')->findHcDx($historia->getId()); $hc_exa = $em->getRepository('HistoriaBundle:Hc')->findHcExamen($historia->getId()); $hc_lab = $em->getRepository('HistoriaBundle:Hc')->findHcLabora($historia->getId()); $hc_exa_all = $em->getRepository('HistoriaBundle:Examen')->findListAllExaHc($paciente->getId()); // Visualizando las ultimas 10 notas de enfermeria realizdas a esta historia $listNotas = $em->getRepository('HistoriaBundle:Notas')->findByHc($historia, array('fecha' => 'DESC')); if ($listNotas) { $listNotas = $paginator->paginate($listNotas, $this->getRequest()->query->get('page', 1), 10); } // visualizo los ultimos 10 examenes del paciente en orden de fecha_r if ($hc_exa_all) { $hc_exa_all = $paginator->paginate($hc_exa_all, $this->getRequest()->query->get('page', 1), 10); } $notas = new Notas(); $notas->setFecha(new \DateTime('now')); //----------------- $form_nota = $this->createForm(new NotasType(), $notas); if ($historia->getPFechaN()) { $historia->setPFechaN($historia->getPFechaN()->format('d/m/Y H:i')); } if ($historia->getPFechaM()) { $historia->setPFechaM($historia->getPFechaM()->format('d/m/Y H:i')); } // rastro de miga $breadcrumbs = $this->get("white_october_breadcrumbs"); $breadcrumbs->addItem("Inicio", $this->get("router")->generate("paciente_filtro")); $breadcrumbs->addItem("Historia", $this->get("router")->generate("paciente_filtro")); $breadcrumbs->addItem("Modificar " . $paciente->getPriNombre()); $this->get('session')->setFlash('info', 'Los campos * son obligatorios, los signos son obligatorios, hora de parto y hora de muerte no puede ser mayor o menor a 24Hrs valide que su información sea correcta para poder guardar.'); // Visualizacion de la plantilla. return $this->render('HistoriaBundle:Historia:edit.html.twig', array('factura' => $factura, 'afiliacion' => $afiliacion, 'today' => new \DateTime('now'), 'paciente' => $paciente, 'usuario' => $usuario, 'historia' => $historia, 'hc_cie' => $hc_cie, 'hc_exa' => $hc_exa, 'hc_exa_all' => $hc_exa_all, 'listNotas' => $listNotas, 'hc_lab' => $hc_lab, 'form_nota' => $form_nota->createView(), 'edit_form' => $form_historia->createView())); }
public function saveAction($factura) { $em = $this->getDoctrine()->getEntityManager(); $factura = $em->getRepository('FacturacionBundle:Factura')->find($factura); if (!$factura) { throw $this->createNotFoundException('La informacion solicitada no esta disponible.'); } $historia = $factura->getHc(); if (!$historia) { /* Si la historia no existe se procedera a crear una historia en code behind, despues de crear la * historia se procede a visualizar el formulario de las notas. */ $historia = $em->getRepository('HistoriaBundle:Notas')->createEmptyHc($factura); } $notas = new Notas(); $request = $this->getRequest(); $notas->setFecha(new \DateTime('now')); $form = $this->createForm(new NotasType(), $notas); $form->bindRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getEntityManager(); $usuario = $this->get('security.context')->getToken()->getUser(); $notas->setHc($historia); $notas->setResponsable($usuario); $em->persist($notas); $em->flush(); $this->get('session')->setFlash('ok', 'La informacion de la respectiva nota ha sido creada éxitosamente.'); $perfil = false; foreach ($usuario->getRoles() as $role) { if ($role == 'ROLE_MEDICO') { $perfil = true; } } if ($perfil) { return $this->redirect($this->generateUrl('historia_edit', array("factura" => $factura->getId()))); } else { return $this->redirect($this->generateUrl('nota_list', array("historia" => $historia->getId()))); } } else { return $this->validarNotas($form, $factura, $historia); } }