示例#1
0
 public function hasHc(\dlaser\HcBundle\Entity\Hc $hc)
 {
     foreach ($this->hc as $value) {
         if ($value->getId() == $hc->getId()) {
             return true;
         }
     }
     return false;
 }
示例#2
0
 private function autoSaveAction($id)
 {
     $entity = new Hc();
     $em = $this->getDoctrine()->getEntityManager();
     $factura = $em->getRepository('ParametrizarBundle:Factura')->find($id);
     $existe = $em->getRepository('HcBundle:Hc')->findByFactura($id);
     if (!$factura || $existe) {
         throw $this->createNotFoundException('La factura relacionada ya esta en uso o no existe.');
     }
     $paciente = $factura->getPaciente();
     $cargo = $factura->getCargo();
     // buscar la ultima hc del paciente y relacionar los datos principales a la nueva hc si no tiene hc esta se generara automaticamente.
     $HC = $em->getRepository('HcBundle:Hc')->findLastHc($paciente->getIdentificacion());
     //----- asignar los datos de la ultima historia clinica si el paciente aun no tiene hc entonces se le creare una nueva.
     if ($HC) {
         $entity->setEnfermedad($HC->getEnfermedad());
         $entity->setExaFisico($HC->getExaFisico());
         $entity->setRevSistema($HC->getRevSistema());
         $entity->setAntecedentes($HC->getAntecedentes());
         $entity->setManejo($HC->getManejo());
         $entity->setMotivo($HC->getMotivo());
         $entity->setControl($HC->getControl());
         $entity->setCtrlPrioritario($HC->getCtrlPrioritario());
         $entity->setPostfecha($HC->getPostfecha());
         $entity->setFecha(new \DateTime('now'));
         $entity->setFactura($factura);
         $em->persist($entity);
         $em->flush();
         // Verifica si de los examenes solicitados alguno fue hecho en ccv(empresa) y trae conclusión
         $cxAnt = $em->getRepository('ParametrizarBundle:Factura')->findCheckExm($paciente, $cargo);
         if (count($cxAnt) > 1) {
             // trae la informacion de la hc con respecto al id de la factura de la consulta anterior
             $hc_ant = $em->getRepository('HcBundle:Hc')->findOneBy(array('factura' => $cxAnt[1]['id']));
             // trae la informacion de los examenes que tienen $hc_ant asociado genera los examenes presentados.
             $exaPresentados = $em->getRepository('HcBundle:HcExamen')->findHcExamPresent($hc_ant->getId());
         } else {
             $exaPresentados = null;
         }
         $medi_hc = $em->getRepository('HcBundle:HcMedicamento')->findByHc($HC->getId());
         $cie_hc = $HC->getCie();
         $HC = $em->getRepository('HcBundle:Hc')->findLastHc($paciente->getIdentificacion());
         foreach ($medi_hc as $medicamentos) {
             $entity = new HcMedicamento();
             $entity->setEstado('R');
             $entity->setHc($HC);
             $entity->setMedicamento($medicamentos->getMedicamento());
             $em->persist($entity);
             $em->flush();
         }
         foreach ($cie_hc as $cies) {
             if ($HC->addCie($cies)) {
                 $em->persist($HC);
                 $em->flush();
             }
         }
     } else {
         $entity->setFactura($factura);
         $entity->setFecha(new \DateTime('now'));
         $em->persist($entity);
         $em->flush();
         $this->get('session')->setFlash('info', 'El paciente no registra visitas anteriores en el sistema.');
         return $this->redirect($this->generateUrl('factura_search'));
     }
 }
示例#3
0
 public function newAction($id)
 {
     $em = $this->getDoctrine()->getEntityManager();
     $factura = $em->getRepository('ParametrizarBundle:Factura')->find($id);
     $existe = $em->getRepository('HcBundle:Hc')->findByFactura($id);
     if (!$factura || $existe) {
         throw $this->createNotFoundException('La operacion realizada es incorrecta');
     }
     $entity = new Hc();
     $entity->setFecha(new \DateTime('now'));
     $form = $this->createForm(new HcType(), $entity);
     $breadcrumbs = $this->get("white_october_breadcrumbs");
     $breadcrumbs->addItem("Inicio", $this->get("router")->generate("hc_list"));
     $breadcrumbs->addItem("Historia Clinica", $this->get("router")->generate("hc_list"));
     $breadcrumbs->addItem("Nueva HC");
     return $this->render('HcBundle:HistoriaClinica:new.html.twig', array('factura' => $factura, 'form' => $form->createView()));
 }