<?php
// Creado: Félix Ricardo Oliva Alonso, 28/11/2017. Se crea el controlador para el modulo de urgencias
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Libraries\ejLib;
use Illuminate\Routing\Redirector;

use SimpleXMLElement;
use SoapClient;

Use Session;
Use Redirect;


class UrgenciasController extends Controller
{
        // 19 Dic 2016 . Juan Pablo Sánchez Bracamontes
    private function hayCuentaActiva(){
        if(isset($_SESSION['usuario']) || isset($_SESSION['operador']))
            return 1;
        return 0;
    }

    // 19 Dic 2016 . Juan Pablo Sánchez Bracamontes
    private function esCuentaRoot(){
        if( isset($_SESSION['usuario']) ){
            $var = ejLib::getInstance();
            $usuario = $_SESSION['usuario'];
            $decoded = $var->desencriptar_AES($usuario['tusuario'], $usuario['x']);
            if(rtrim($decoded) == "Root") return 1;
            else return null;
        }else
            return 0;
    }

    // 19 Dic 2016 . Juan Pablo Sánchez Bracamontes
    private function esCuentaAdmin(){
        if( isset($_SESSION['usuario']) ){
            $var = ejLib::getInstance();
            $usuario = $_SESSION['usuario'];
            $decoded = $var->desencriptar_AES($usuario['tusuario'], $usuario['x']);
            if(rtrim($decoded) == "Admin") return 1;
            else return null;
        }else
            return 0;
    }
    public function indexAgendaUrgencias()
    {
        session_start();
        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        return view('urgencias.agendaurgenciasbase');
    }

    public function Urgencias_AddRegistroCitaUrgencias(Request $request)
    {
        session_start();
        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $valFecha = $request->get('valFecha');
        $Centro_Sal = $request->get('Centro_Sal');
        $Clave_Pac = $request->get('Clave_Pac');
        $Motivo = $request->get('Motivo');

        $Observaciones = $request->get('Observaciones');
        $Lesion_Traumatica = $request->get('Lesion_Traumatica');
        $Accidental = $request->get('Accidental');
        $Intencional = $request->get('Intencional');
        $Interrogatorio = $request->get('Interrogatorio');

        $Referenciado = $request->get('Referenciado');
        $Prioridad = $request->get('Prioridad');
        $Centro_Sal_Referido = $request->get('Centro_Sal_Referido');
        $idMovimiento = $request->get('idMovimiento');

        $response = $soapclient->Urgencias_AddRegistroCitaUrgencias(
            $valFecha,
            $Centro_Sal,
            $Clave_Pac,
            $Motivo,
            $Observaciones,
            $Lesion_Traumatica,
            $Accidental,
            $Intencional,
            $Interrogatorio,
            $Referenciado,
            $Prioridad,
            $Centro_Sal_Referido,
            $idMovimiento,
            $wsClave
        );

        return $response;

    }

    public function agendaNuevaCitaUrg()
    {
    session_start();
    $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();
        
        $opciones = "1";
        $urgencias="1";
      
         
        return view('archivo.agendaNuevaCita')->with('urgencias', $urgencias);

    
    }

    // 05 Jun 2024 Janeth C.
    public function Agenda_Urgencias_solicitarCita(){     
        session_start(); // El formulario requiere el uso de variables de sesion
        //$clave_pac = '123456'; $centro_sal = '1'; $id_solicitud = '';
        
        $clave_pac = ''; $centro_sal = ''; $id_solicitud = '';

        if(!$this->esCuentaRoot()==null && $this->esCuentaRoot()>0)
            return redirect('login');

        //if(!(isset($_POST['clave_pac'])) || !(isset($_POST['centro_sal']))) return "No se han proporcionado los parámetros necesarios para el formulario solicitado...";

        if($this->hayCuentaActiva()){
            // $clave_pac = trim($_POST['clave_pac']); $centro_sal = trim($_POST['centro_sal']); // Al remover los comentarios del if inmediato anterior debe descomentarse esta línea
                    

            if(isset($_GET['clave_pac']))$clave_pac = $_GET['clave_pac'];
            if(isset($_GET['centro_sal']))$centro_sal = $_GET['centro_sal'];
            if(isset($_GET['id_solicitud']))$id_solicitud = trim($_GET['id_solicitud']);

            if(isset($_POST['clave_pac']))$clave_pac = $_POST['clave_pac'];
            if(isset($_POST['centro_sal']))$centro_sal = $_POST['centro_sal'];
            if(isset($_POST['id_solicitud']))$id_solicitud = trim($_POST['id_solicitud']);

            $solicitud = ["clave_pac" => $clave_pac, "centro_sal" => $centro_sal, "id_solicitud" => $id_solicitud,];
             return view('Urgencias.Agenda.solicitarCitaRecepcion', compact('solicitud'));
            // return view('ConsultaExterna.Consulta.principal', compact('solicitud'));
        }else{
            return redirect('login');
        }
    }


    // 07 jun 2024 janeth c.
    public function getAgenda_recepcionUrgencias(){

        session_start(); // El formulario requiere el uso de variables de sesion
        $centro_sal=''; $fecha=''; $id_especialidad='';
        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['fecha']))$fecha=$_POST['fecha'];
        if(isset($_POST['id_especialidad']))$id_especialidad=$_POST['id_especialidad'];

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $data = $soapclient->Urgencias_getLstAgenda_IngresarPaciente($centro_sal, $fecha, $wsClave);
        $result = simplexml_load_string($data);
       
        return view('Urgencias.Agenda.getAgenda_RecepcionUrgencias')->with('result', $result)->with('fecha', $fecha);
    }

     // 21 jun 2024 janeth c.
    public function Urgencias_ingresarPacienteUrg(){
        session_start(); // El formulario requiere el uso de variables de sesion

        /*$centro_sal=''; $clave_pac=''; $motivo_de_ingreso=''; $referido=''; $centro_sal_referido=''; 
        $folio_referido=''; $enviar_a=''; $servicio=''; $lesion_traumatica=''; $accidental=''; $intencional=''; 
        $interrogatorio='';  */

     

        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['clave_pac']))$clave_pac=$_POST['clave_pac'];
        if(isset($_POST['motivo_de_ingreso']))$motivo_de_ingreso=$_POST['motivo_de_ingreso'];
        if(isset($_POST['referido']))$referido=$_POST['referido'];
        if(isset($_POST['centro_sal_referido']))$centro_sal_referido=$_POST['centro_sal_referido'];

        if(isset($_POST['folio_referido']))$folio_referido=$_POST['folio_referido'];
        if(isset($_POST['enviar_a']))$enviar_a=$_POST['enviar_a'];
        if(isset($_POST['servicio']))$servicio=$_POST['servicio'];
        if(isset($_POST['lesion_traumatica']))$lesion_traumatica=$_POST['lesion_traumatica'];
        if(isset($_POST['accidental']))$accidental=$_POST['accidental'];
        if(isset($_POST['intencional']))$intencional=$_POST['intencional'];
        if(isset($_POST['interrogatorio']))$interrogatorio=$_POST['interrogatorio'];


      //  print_r($centro_sal .', '.$clave_pac.', '.$motivo_de_ingreso.', '.$referido.', '.$centro_sal_referido.', '.$folio_referido.', '.$enviar_a.', '.$servicio.', '.$lesion_traumatica.', '.$accidental.', '.$intencional.', '.$interrogatorio);

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $data = $soapclient->Urgencias_add_Agenda_IngresarPaciente($centro_sal, $clave_pac,$motivo_de_ingreso, 
         $referido, $centro_sal_referido, $folio_referido, $enviar_a, $servicio, $lesion_traumatica, $accidental, 
         $intencional, $interrogatorio, $wsClave);
        
       
       
        //$Resp  = new SimpleXMLElement(utf8_encode($data));
         $Resp = simplexml_load_string($data);
       
             
        ?>
         <input type="hidden" id="h_Error" name="h_Error" value="<?php echo $Resp->respuesta[0]->error;  ?>">
        <input type="hidden" id="hError" name="hError" value="<?php echo $Resp->respuesta[0]->error;  ?>">
        <input type="hidden" id="hErrorTitulo" name="hErrorTitulo" value="<?php echo $Resp->respuesta[0]->tituloerror;  ?>">
        <input type="hidden" id="hErrorDetalle" name="hErrorDetalle" value="<?php echo $Resp->respuesta[0]->descripcionerror;  ?>">
        <?php
        
    }


    //agenda_signos_vitales

     public function agenda_signos_vitales(){

        session_start(); // El formulario requiere el uso de variables de sesion
        $centro_sal=''; $fecha=''; $id_especialidad='';
        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['fecha']))$fecha=$_POST['fecha'];
        if(isset($_POST['id_especialidad']))$id_especialidad=$_POST['id_especialidad'];

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $usuario = $_SESSION['operador'];
        $id_doc = $var->desencriptar_AES($usuario['id_doc'], $usuario['x']);
        $Centro_Sal = $var->desencriptar_AES($usuario['centro_sal'], $usuario['x']);
        $Centro_Sal = trim($Centro_Sal);

        return view('Urgencias.Agenda.getAgendaSignosVitales');
        
    }


     // 07 jun 2024 janeth c.
    public function Urgencias_getAgenda_SignosVit(){

        session_start(); // El formulario requiere el uso de variables de sesion
        $centro_sal=''; $fecha=''; $id_especialidad='';
        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['fecha']))$fecha=$_POST['fecha'];
        if(isset($_POST['id_especialidad']))$id_especialidad=$_POST['id_especialidad'];

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $data = $soapclient->Urgencias_getLstAgenda_SignosVitales($centro_sal, $fecha, $wsClave);
        $result = simplexml_load_string($data);
      // print_r($result);
        return view('Urgencias.Agenda.getAgenda_SignosVitales')->with('result', $result)->with('fecha', $fecha);
    }


    
    public function urgencias_captura_signos_vitales(){
    session_start(); // Se aloja en los métodos por que son estos los que mandan llamar a las vistas
        return view('Urgencias.capturaSignos');
    }


    
    // 27 Jun 2024
    public function Urgencias_ins_SignosVitales(){
        session_start(); // El formulario requiere el uso de variables de sesion

        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['id']))$id=$_POST['id'];
        if(isset($_POST['tem']))$tem=$_POST['tem'];

        if(isset($_POST['Sistolica']))$Sistolica=$_POST['Sistolica'];
        if(isset($_POST['Diastolica']))$Diastolica=$_POST['Diastolica'];
        if(isset($_POST['Cardiaca']))$Cardiaca=$_POST['Cardiaca'];

        if(isset($_POST['Respiratoria']))$Respiratoria=$_POST['Respiratoria'];
        if(isset($_POST['Peso']))$Peso=$_POST['Peso'];
        if(isset($_POST['Talla']))$Talla=$_POST['Talla'];

        if(isset($_POST['Glucemia']))$Glucemia=$_POST['Glucemia'];
        if(isset($_POST['Ayuno']))$Ayuno=$_POST['Ayuno'];
        if(isset($_POST['Cintura']))$Cintura=$_POST['Cintura'];

        if(isset($_POST['Per_Cefalico']))$Per_Cefalico=$_POST['Per_Cefalico'];
        if(isset($_POST['cadera']))$cadera=$_POST['cadera'];
        if(isset($_POST['brazo']))$brazo=$_POST['brazo'];

        if(isset($_POST['PULSO']))$PULSO=$_POST['PULSO'];
        if(isset($_POST['PREMATURO']))$PREMATURO=$_POST['PREMATURO'];
        if(isset($_POST['HB']))$HB=$_POST['HB'];

        if(isset($_POST['ID_DOC']))$ID_DOC=$_POST['ID_DOC'];
        if(isset($_POST['OXIMETRIA']))$OXIMETRIA=$_POST['OXIMETRIA'];
        if(isset($_POST['tipo']))$tipo=$_POST['tipo'];

        if($Glucemia =='') $Glucemia=0;
        if($OXIMETRIA =='') $OXIMETRIA=0;
        if($Ayuno =='') $Ayuno='null';
        if($Cintura =='') $Cintura=0;
        if($Per_Cefalico =='') $Per_Cefalico=0;
        if($cadera =='') $cadera=0;
        if($HB =='') $HB=0; 
        
        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();
        //print_r($centro_sal .', '.$id.', '.$tem.', '.$Sistolica.', '.$Diastolica.', '.$Cardiaca.', '.$Respiratoria.', '.$Peso.', '.$Talla.', '.$Glucemia.', '.$Ayuno.', '.$Cintura.', '.$Per_Cefalico.', '.$cadera.', '.$brazo.', '.$PULSO.', '.$PREMATURO.', '.$HB.', '.$ID_DOC.', '.$OXIMETRIA);

        $data = $soapclient->Urgencias_UpSert_Somatometria_signosVitales($centro_sal, $id,$tem, 
         $Sistolica, $Diastolica, $Cardiaca, $Respiratoria, $Peso, $Talla, $Glucemia, 
         $Ayuno, $Cintura, $Per_Cefalico, $cadera, $brazo, $PULSO, $PREMATURO, $HB, $ID_DOC, $OXIMETRIA, $tipo, $wsClave);
        
       
       
        //$Resp  = new SimpleXMLElement(utf8_encode($data));
         $Resp = simplexml_load_string($data);
       
             
        ?>
        
        <input type="hidden" id="hError" name="hError" value="<?php echo $Resp->respuesta[0]->error;  ?>">
        <input type="hidden" id="hErrorTitulo" name="hErrorTitulo" value="<?php echo $Resp->respuesta[0]->tituloerror;  ?>">
        <input type="hidden" id="hErrorDetalle" name="hErrorDetalle" value="<?php echo $Resp->respuesta[0]->descripcion;  ?>">
        <?php
        
    }


    public function urgencias_captura_triage(){
    session_start(); // Se aloja en los métodos por que son estos los que mandan llamar a las vistas
        return view('Urgencias.capturaTriage');
    }

    
     public function Urgencias_captura_Triage_SignosVitales(){
        session_start(); // El formulario requiere el uso de variables de sesion

        

     

        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['id_urgencia']))$id_urgencia=$_POST['id_urgencia'];
        if(isset($_POST['prioridad']))$prioridad=$_POST['prioridad'];
        if(isset($_POST['id_movimiento_sig']))$id_movimiento_sig=$_POST['id_movimiento_sig'];
        if(isset($_POST['servicio']))$servicio=$_POST['servicio'];

      


      //  print_r($centro_sal .', '.$clave_pac.', '.$motivo_de_ingreso.', '.$referido.', '.$centro_sal_referido.', '.$folio_referido.', '.$enviar_a.', '.$servicio.', '.$lesion_traumatica.', '.$accidental.', '.$intencional.', '.$interrogatorio);

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $data = $soapclient->Urgencias_add_Triage_SignosVitales($centro_sal, $id_urgencia,$prioridad, 
         $id_movimiento_sig, $servicio, $wsClave);
        
       
       
        //$Resp  = new SimpleXMLElement(utf8_encode($data));
         $Resp = simplexml_load_string($data);
       
             
        ?>
         <input type="hidden" id="h_Error" name="h_Error" value="<?php echo $Resp->respuesta[0]->error;  ?>">
        <input type="hidden" id="hError" name="hError" value="<?php echo $Resp->respuesta[0]->error;  ?>">
        <input type="hidden" id="hErrorTitulo" name="hErrorTitulo" value="<?php echo $Resp->respuesta[0]->tituloerror;  ?>">
        <input type="hidden" id="hErrorDetalle" name="hErrorDetalle" value="<?php echo $Resp->respuesta[0]->descripcionerror;  ?>">
        <?php
        
    }


    public function agenda_consultorio_urgencias(){

        session_start(); // El formulario requiere el uso de variables de sesion
        $centro_sal=''; $fecha=''; $id_especialidad='';
        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['fecha']))$fecha=$_POST['fecha'];
        if(isset($_POST['id_especialidad']))$id_especialidad=$_POST['id_especialidad'];

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

        $usuario = $_SESSION['operador'];
        $id_doc = $var->desencriptar_AES($usuario['id_doc'], $usuario['x']);
        $Centro_Sal = $var->desencriptar_AES($usuario['centro_sal'], $usuario['x']);
        $Centro_Sal = trim($Centro_Sal);

        return view('Urgencias.Agenda.getAgendaConsultorioUrgencias');
        
    }

    
     public function Urgencias_getAgenda_Consultorio(){

        session_start(); // El formulario requiere el uso de variables de sesion
        $centro_sal=''; $fecha=''; $servicio='null'; $prioridad=''; $atencion=''; $ver_urgencia= 2;
        if(isset($_POST['centro_sal']))$centro_sal=$_POST['centro_sal'];
        if(isset($_POST['fecha']))$fecha=$_POST['fecha'];
        if(isset($_POST['servicio']))$servicio=$_POST['servicio'];
        if(isset($_POST['prioridad']))$prioridad=$_POST['prioridad'];
        if(isset($_POST['atencion']))$atencion=$_POST['atencion'];
        if(isset($_POST['ver_urgencia']))$ver_urgencia=$_POST['ver_urgencia'];
       

        $var = ejLib::getInstance();
        $soapclient = $var->getWs();
        $wsClave = $var->get_wsClave();

       
       
        $data = $soapclient->Urgencias_getLstAgenda_AtencionMedica($centro_sal, $fecha, $servicio, $prioridad, $atencion, $ver_urgencia, $wsClave);

        $result = simplexml_load_string($data);

        return view('Urgencias.Agenda.getAgenda_urgencias_cons')->with('result', $result)->with('fecha', $fecha);
    }
}
