HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/demo-telemedicina.teky.com.co/public/js/clinic_document/medical_chart.js
// Arreglos de inputs
arrayOpeningIds = [
    "motivo_consulta",
    "enfermedad_actual",
    "ant_patologicos",
    "ant_quirurgicos",
    "ant_toxico_alergico",
    "ant_hopitalarios",
    "ant_traumaticos",
    "ant_farmacologicos",
    "ant_inmunologicos",
    "ant_familiares",
    "ant_laborales",
    "planificacion"
];

arrayAntGinIds = [
    "ant_gin_gravidez",
    "ant_gin_partos_vag",
    "ant_gin_cesareas",
    "ant_gin_abortos",
    "ant_gin_ectopicos",
    "ant_gin_nacidos_vivos",
    "ant_gin_nacidos_muertos",
    "ant_gin_ultimo_parto",
    "ant_gin_menarca",
    "ant_gin_amenorrea",
    "ant_gin_ultima_menstruacion",
    "ant_gin_ciclo_menstrual",
    "ant_gin_duracion",
    "ant_gin_edad_inicio_sex",
    "ant_gin_compañeros",
    "ant_gin_edad_gestacional",
    "ant_gin_prob_parto",
    "ant_gin_intergenesico",
    "ant_gin_embarazada",
    "ant_gin_colposcopias",
    "ant_gin_leucorrea",
    "ant_gin_his_infertilidad",
    "ant_gin_otros",
    "ant_gin_fecha_citologia",
    "ant_gin_resul_citologia"
  ];

  arrayAntGinIdsValidate = [
    "ant_gin_gravidez",
    "ant_gin_partos_vag",
    "ant_gin_cesareas",
    "ant_gin_abortos",
    "ant_gin_ectopicos",
    "ant_gin_nacidos_vivos",
    "ant_gin_nacidos_muertos"
  ];

  arrayEvolutionIds = [
    "tipo_consulta",                
    "exa_fis_peso",                 
    "exa_fis_talla",               
    "exa_fis_imc",                  
    "exa_fis_cab_cue",              
    "exa_fis_cara_ojo_orl",         
    "exa_fis_torx_cor_pul",         
    "exa_fis_abd_lum",              
    "exa_fis_sis_gen_uri",          
    "exa_fis_extre_pel",            
    "exa_fis_sis_neuro",            
    "exa_fis_piel",                 
    "exa_fis_est_men",              
    "exa_fis_sis_osteo",            
    "resumen_clinico",              
    "conducta_seguir",                     
    "sinto_resp_sintoma",           
    "sinto_resp_fecha_baciloscopia",
    "sinto_resp_resul_bacilo",      
    // "sinto_resp_justi",         
    "tami_covid_his_viaje",         
    "tami_covid_trab_salud",        
    "tami_covid_anteceden",        
    "tami_covid_fiebre",            
    "tami_covid_tos",               
    "tami_covid_dolor_gar",         
    "tami_covid_malestar",          
    "tami_covid_adinamia",          
    "tami_covid_Disnea",         
    "tami_covid_sospechoso",        
    "tami_covid_sintomatico",                     
    "tami_vio_gen_psico_ask",       
    // "tami_vio_gen_psico",           
    "tami_vio_gen_fis_ask",         
    // "tami_vio_gen_fis",             
    "tami_vio_gen_sex_ask",         
    // "tami_vio_gen_sex"
  ];    
  
  arrayRipsDiagIds = [
    "rips_fecha_aten",   
    "rips_servicios",   
    "rips_fina_consulta",
    "rips_causa_externa",
    "rips_clase",
    "rips_causa",
    "rips_tipo" 
  ];

  arrayMedicamentosIds = [
    "ord_medicamentos",    
    "ord_med_cod",         
    "ord_med_presentacion",
    "ord_med_atc",
    "ord_med_cantidad",    
    "ord_med_dosis",       
    "ord_med_adminis",     
    "ord_med_frecuencia",  
    "ord_med_tiempo",      
    "ord_med_posologia",   
    "ord_med_tiem_trat",   
    "ord_med_fact_trat",
    "ord_med_observacion"      
  ];

  arrayProcedimientosIds = [
    "ord_procedimientos", 
    "ord_proced_cod",     
    "ord_proced_canti",   
    "ord_proced_urgente", 
    "ord_proced_observac"   
  ];

  arrayRemisionesIds = [
    "rem_prestador",  
    "rem_tipo",       
    "rem_fecha_salida",
    "rem_caracter",    
    "rem_cen_prod",    
    "rem_profesional", 
    "rem_diganostico", 
    "rem_causa",       
    "rem_observacion"   
  ];

  arrayIncapacidadesIds = [
    "inc_num_dias",     
    "inc_tipo",         
    "inc_fecha_inicio", 
    "inc_fecha_final",  
    "inc_prorroga",     
    "inc_observaciones"
  ];

  arrayAnexoIds = [
    "anexo_fecha",     
    "anexo_tipo",         
    "anexo_prioridad", 
    "anexo_imprime",  
    "anexo_diagnostico",     
    "anexo_justificacion",
    "anexo_procedimiento",
    "anexo_cod_procedimi",
    "anexo_cantidad"
  ];

  // Variables generales
  diagnosticos_array = [];
  remisiones_array = [];
  medicamentos_array = [];
  procedimientos_array = [];
  proced_anexo_array = [];

 // Autocomplete diagnosticos Remisión
 $("#rem_diganostico").autocomplete({
    source: "/get_causa_rfast/autocomplete",
    minLength: 3,
    select: function (event, ui) {
      // console.log(ui);
      $(this).attr("data-codigo-causa", ui.item.id.trim());
    }
  });

  // Autocomplete diagnosticos RIPS
  $("#rips_causa").autocomplete({
    source: "/get_causa_rfast/autocomplete",
    minLength: 3,
    select: function (event, ui) {
      // console.log(ui);
      $(this).attr("data-codigo-causa", ui.item.id.trim());
    }
  });

  // Autocomplete medicamentos
  $("#ord_medicamentos").autocomplete({
    source: "/get_medicamentos_rfast/autocomplete",
    minLength: 3,
    select: function (event, ui) {
      // console.log(ui);
      $(this).attr("data-codigo-medicamento", ui.item.id.trim());
      $('#ord_med_cod').val(ui.item.id.trim());
      $('#ord_med_atc').val(ui.item.atc.trim());
      presentacionMed(ui.item.atc.trim(),ui.item.conse_forma.trim());
    }
  });

  // Autocomplete procedimientos
  $("#ord_procedimientos").autocomplete({
    source: "/get_procedimientos_rfast/autocomplete",
    minLength: 3,
    select: function (event, ui) {
      // console.log(ui);
      $(this).attr("data-codigo-proced", ui.item.id.trim());
      $('#ord_proced_cod').val(ui.item.id.trim());
    }
  });

  // Autocomplete procedimientos enexo
  $("#anexo_procedimiento").autocomplete({
    source: "/get_procedimientos_rfast/autocomplete",
    minLength: 3,
    select: function (event, ui) {
      // console.log(ui);
      $(this).attr("data-codigo-proced-anexo", ui.item.id.trim());
      $('#anexo_cod_procedimi').val(ui.item.id.trim());
      // $('#anexo_procedimiento').val(ui.item.value.trim());
    }
  });

  // Presentación medicamento
  function presentacionMed(atc,conse_forma){
    $.ajax({
      url: "/get_pres_med/" + atc + '/' + conse_forma,
      type: "GET",
      headers: {
        "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
        "Content-Type": "application/json",
      },
      success: function (res) {
        // console.log(res);
        $('#ord_med_presentacion').val(res.atc.FORMA);
      },
      error: function (err) {},
    });

  }

  // Generalidades
  $(document).ready(function(){
    setTimeout(function(){
        
        // Antecedentes ginecológicos para mujeres
        if($('#sexo').val() == '2'){
            $('#ant_ginecologicos').attr("hidden", false);
        }

        // Fecha actual de la cita
        $('#rips_fecha_aten').val(new Date().toJSON().split("T")[0]);
        $('#rem_fecha_salida').val(new Date().toJSON().split("T")[0]);
        $('#inc_fecha_inicio').val(new Date().toJSON().split("T")[0]);
        $('#anexo_fecha').val(new Date().toJSON().split("T")[0]);
        
        // Médico
        $('#rem_profesional').val($('#medico').val());

        // Consulta de info R-Fast
        $.ajax({
          url: "/get_info_rfast",
          type: "GET",
          headers: {
            "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
            "Content-Type": "application/json",
          },
          success: function (res) {
            console.log(res);
            res.diagnosticos.forEach((e) => {
              $('#rips_clase').append(
                  '<option value="'+e.DIAGNOSTICO+'">'+e.NOMBRE+'</option>'
              );
            });
            res.entidades.forEach((e) => {
              $('#rem_prestador').append(
                  '<option value="'+e.CODIGO.trim()+' - '+e.NOMBRE+'">'+e.NOMBRE+'</option>'
              );
            });
            res.cen_prod.forEach((e) => {
              $('#rem_cen_prod').append(
                  '<option value="'+e.CODIGO.trim()+' - '+e.NOMBRE+'">'+e.NOMBRE+'</option>'
              );
            });
          },
          error: function (err) {},
        });
      
    },3000);
  });

  // Función cálculo IMC
  function imcFunction(){
    var peso = parseInt($('#exa_fis_peso').val());
    var talla = parseInt($('#exa_fis_talla').val());
    var imc = peso/(Math.pow(talla,2)*0.0001);
    $('#exa_fis_imc').val(imc.toFixed(2));
  }

  // Captura de número
  function captureNumbers(id){
    // console.log('capture',parseInt($('#'+id).val()));
    $('#'+id).val(parseInt($('#'+id).val()));
  }

  // Días de incapacidad
  function incDaysFunction(){
    // console.log(parseInt($('#inc_num_dias').val()));
    if($('#inc_num_dias').val() === '' || parseInt($('#inc_num_dias').val()) === 0){
        $('#inc_num_dias').val('0');
        $('#inc_tipo').val('');
        $('#inc_fecha_final').val('');
        $('#inc_prorroga').attr('checked',false);
        $('#inc_observaciones').val('NINGUNA');
        $('#inc_tipo').attr("disabled", true);
        $('#inc_prorroga').attr("disabled", true);
        $('#inc_observaciones').attr("readonly", true);
    } else {
        $('#inc_num_dias').val(parseInt($('#inc_num_dias').val()));
        $('#inc_tipo').attr("disabled", false);
        $('#inc_prorroga').attr("disabled", false);
        $('#inc_observaciones').attr("readonly", false);
    }
    var days = parseInt($('#inc_num_dias').val());
    var final_date = new Date;
    final_date.setDate((new Date).getDate() + days);
    // console.log(final_date.toJSON().split("T")[0]);
    $('#inc_fecha_final').val(final_date.toJSON().split("T")[0]);
  }

  // Función general para el Toogle 
  function changeToggle(id){
    // console.log(id);
    if($('#'+id).is(':checked')){
      $('#'+id).val(1);
    }else{
      $('#'+id).val(0);
    }
  }

  // Función para el Toogle Riesgo sintomático respiratorio
  function sintomaticoRespChange(id){
    // console.log($('#'+id).val());
    if($('#'+id).val() === '01'){
      $('#sinto_resp_fecha_baciloscopia').attr("readonly", false);
      $('#sinto_resp_fecha_baciloscopia').val('');
      $('#sinto_resp_resul_bacilo').attr("disabled", false);
      $('#sinto_resp_resul_bacilo').val('01');
      // $('#sinto_resp_justi').attr("readonly", false);
      // $('#sinto_resp_justi').val('');
    }else{
      $('#sinto_resp_fecha_baciloscopia').attr("readonly", true);
      $('#sinto_resp_fecha_baciloscopia').val('2021-01-01');
      $('#sinto_resp_resul_bacilo').attr("disabled", true);
      $('#sinto_resp_resul_bacilo').val('01');
      // $('#sinto_resp_justi').attr("readonly", true);
      // $('#sinto_resp_justi').val('NO');
    }
  }

  // Función para el Toogle Violencia de género
  function violenciaGenToggle(id){
    // console.log(id);
    if($('#'+id).is(':checked')){
      $('#'+id).val(1);
      if(id == 'tami_vio_gen_psico_ask'){
        $('#tami_vio_gen_psico').attr("readonly", false);
        $('#tami_vio_gen_psico').val('');
      }
      if(id == 'tami_vio_gen_fis_ask'){
        $('#tami_vio_gen_fis').attr("readonly", false);
        $('#tami_vio_gen_fis').val('');
      }
      if(id == 'tami_vio_gen_sex_ask'){
        $('#tami_vio_gen_sex').attr("readonly", false);
        $('#tami_vio_gen_sex').val('');
      }
    }else{
      $('#'+id).val(0);
      if(id == 'tami_vio_gen_psico_ask'){
        $('#tami_vio_gen_psico').attr("readonly", true);
        $('#tami_vio_gen_psico').val('0');
      }
      if(id == 'tami_vio_gen_fis_ask'){
        $('#tami_vio_gen_fis').attr("readonly", true);
        $('#tami_vio_gen_fis').val('0');
      }
      if(id == 'tami_vio_gen_sex_ask'){
        $('#tami_vio_gen_sex').attr("readonly", true);
        $('#tami_vio_gen_sex').val('0');
      }
    }
  }

  // Validación campos
  function validateInputs(arrayToValidate){
    var obj = true;
    var message_ids = [];
    var message = '';
    arrayToValidate.forEach(function(e) {
      if($("#" + e).val() == '' || $("#" + e).val() == null){
        message_ids.push(e);
      }
    }); 
    if(message_ids.length > 0){
        message_ids.forEach((e,i) => {
            if(i === message_ids.length-1){
                message = message + Lang.get("messages.medical_chart.inputs."+e) + '.'
            }else{
                message = message + Lang.get("messages.medical_chart.inputs."+e) + ', '
            }
        });
        swal(Lang.get("messages.medical_chart.warning"),Lang.get("messages.medical_chart.fill_inputs")+': '+message, "warning");
        obj = false;
    }
    return obj;
  }

  // Función agregar diagnóstico
  function addDiagnostic(){
    var diagnosticos = {}; 
    if(validateInputs(arrayRipsDiagIds)){
        arrayRipsDiagIds.forEach((e) => {
            diagnosticos[e] = $('#'+e).val();
        });
        diagnosticos.rips_codigo_causa = $("#rips_causa").attr("data-codigo-causa");
        diagnosticos_array.push(diagnosticos);
        $("#rips_causa").val('');
        $("#rips_clase").val('');
        $("#rips_tipo").val('');
        $('#diag_table').empty();
        if(diagnosticos_array.length > 0){
            diagnosticos_array.forEach((e) => {
              // console.log(e);
              if(e.rips_clase === 'C_PPAL'){
                $('#anexo_diagnostico').val(e.rips_codigo_causa+' - '+e.rips_causa);
              }
              $('#diag_table').append(
                  '<tr><td>'+e.rips_clase+'</td><td>'+e.rips_codigo_causa+'</td><td>'+e.rips_causa+'</td></tr>'
              );
            });
        }
    } 
  }

  // Función agregar remisión
  function addRemision(){
    var remisiones = {}; 
    if(validateInputs(arrayRemisionesIds)){
        arrayRemisionesIds.forEach((e) => {
            remisiones[e] = $('#'+e).val();
        });
        remisiones.rem_codigo_diganostico = $("#rem_diganostico").attr("data-codigo-causa");
        remisiones_array.push(remisiones);
        $("#rem_diganostico").val('');
        $("#rem_tipo").val('');
        $("#rem_caracter").val('');
        $("#rem_causa").val('');
        $("#rem_prestador").val('');
        $("#rem_cen_prod").val('');
        $('#rem_observacion').val('NINGUNA');
        $('#rem_table').empty();
        if(remisiones_array.length > 0){
          remisiones_array.forEach((e) => {
            // console.log(e);
            $('#rem_table').append(
                '<tr><td>'+e.rem_tipo+'</td><td>'+e.rem_caracter+'</td><td>'+e.rem_causa+'</td><td>'+e.rem_prestador+'</td></tr>'
            );
          });
        }
    } 
  }

  // Posología
  function posologia(){
    let tiempo = '';
    if($('#ord_med_tiempo').val() === '1'){
      tiempo = 'Meses';
    }else if($('#ord_med_tiempo').val() === '2'){
      tiempo = 'Días';
    }else if($('#ord_med_tiempo').val() === '3'){
      tiempo = 'Horas';
    }else if($('#ord_med_tiempo').val() === '4'){
      tiempo = 'Minutos';
    }
    $('#ord_med_posologia').val($('#ord_med_dosis').val()+' cada '+$('#ord_med_frecuencia').val()+' '+tiempo)
  }

  // Función agregar medicamento
  function addMedicamento(){
    var medicamentos = {}; 
    if(validateInputs(arrayMedicamentosIds)){
        arrayMedicamentosIds.forEach((e) => {
          medicamentos[e] = $('#'+e).val();
        });
        medicamentos_array.push(medicamentos);
        arrayMedicamentosIds.forEach((e) => {
          $('#'+e).val('');
        });
        $('#ord_med_observacion').val('NINGUNA');
        $('#medicamentos_table').empty();
        if(medicamentos_array.length > 0){
          medicamentos_array.forEach((e) => {
            // console.log(e);
            $('#medicamentos_table').append(
                '<tr><td>'+e.ord_medicamentos+'</td><td>'+e.ord_med_cantidad+'</td><td>'+e.ord_med_adminis+'</td><td>'+e.ord_med_posologia+'</td></tr>'
            );
          });
        }
    } 
  }

  // Función agregar procedimiento
  function addProcedimiento(){
    var procedimientos = {}; 
    if(validateInputs(arrayProcedimientosIds)){
        arrayProcedimientosIds.forEach((e) => {
          procedimientos[e] = $('#'+e).val();
        });
        procedimientos_array.push(procedimientos);
        arrayProcedimientosIds.forEach((e) => {
          $('#'+e).val('');
        });
        $('#ord_proced_urgente').attr('checked',false);
        $('#ord_proced_urgente').val(0);
        $('#ord_proced_observac').val('NINGUNA');
        $('#procedimientos_table').empty();
        if(procedimientos_array.length > 0){
          procedimientos_array.forEach((e) => {
            // console.log(e);
            $('#procedimientos_table').append(
                '<tr><td>'+e.ord_procedimientos+'</td><td>'+e.ord_proced_cod+'</td><td>'+e.ord_proced_canti+'</td><td>Urgente: '+e.ord_proced_urgente+'</td></tr>'
            );
          });
        }
    } 
  }

  // Función agregar procedimiento en Anexo3
  function addProcedAnexo(){
    var procedi_anexo = {}; 
    if(validateInputs(arrayAnexoIds)){
        arrayAnexoIds.forEach((e) => {
          procedi_anexo[e] = $('#'+e).val();
        });
        proced_anexo_array.push(procedi_anexo);
        $('#anexo_procedimiento').val('');
        $('#anexo_cod_procedimi').val('');
        $('#anexo_cantidad').val('');
        $('#proced_anexo_table').empty();
        if(proced_anexo_array.length > 0){
          proced_anexo_array.forEach((e) => {
            console.log(e);
            $('#proced_anexo_table').append(
                '<tr><td>'+e.anexo_cod_procedimi+'</td><td>'+e.anexo_procedimiento+'</td><td>Cantidad: '+e.anexo_cantidad+'</td></tr>'
            );
          });
        }
    } 
  }

  // Funcion eliminar
  function remove(id){
      if(id === 'btn-rm-remision'){
        remisiones_array = [];
        $('#rem_table').empty();
      } else if(id === 'btn-rm-diagnostic'){
        diagnosticos_array = [];
        $('#diag_table').empty();
      } else if(id === 'btn-rm-medicamentos'){
        medicamentos_array = [];
        $('#medicamentos_table').empty();
      } else if(id === 'btn-rm-procedimientos'){
        procedimientos_array = [];
        $('#procedimientos_table').empty();
      }else if(id === 'btn-rm-proced-anexo'){
        proced_anexo_array = [];
        $('#proced_anexo_table').empty();
      }
  }


  // Finalizar cosulta médica
  function endAppointment(){

    // Variables a enviar
    var opening = {};
    var ant_ginecologicos = {};
    var evolution = {};
    var incapacidad = {};

    // Validació de diagnósticos RIPS
    if(diagnosticos_array.length == 0){
      swal(Lang.get("messages.medical_chart.warning"),Lang.get("messages.medical_chart.fill_diagnostics"), "warning");
      return;
    }

    // Validación de inputs
    var arrayToValidate = arrayOpeningIds;
    if($('#sexo').val() == '2'){
      arrayToValidate = arrayToValidate.concat(arrayAntGinIdsValidate);
    }
    if(parseInt($('#inc_num_dias').val()) != 0){
        arrayToValidate = arrayToValidate.concat(arrayIncapacidadesIds);
    }
    arrayToValidate = arrayToValidate.concat(arrayEvolutionIds);


    if(validateInputs(arrayToValidate)){

      // Captura de datos
      arrayOpeningIds.forEach((e) => {
        opening[e] = $('#'+e).val();
      });

      if($('#sexo').val() == '2'){
        arrayAntGinIds.forEach((e) => {
          ant_ginecologicos[e] = $('#'+e).val();
        });
      }else{
        ant_ginecologicos = null;
      }

      if(parseInt($('#inc_num_dias').val()) != 0){
          arrayIncapacidadesIds.forEach((e) => {
              incapacidad[e] = $('#'+e).val();
          });
      }else{
          incapacidad = null;
      }

      arrayEvolutionIds.forEach((e) => {
        evolution[e] = $('#'+e).val();
      });

      // Data a enviar
      let data = {
        opening,
        ant_ginecologicos,
        evolution,
        diagnosticos_array,
        medicamentos_array,
        procedimientos_array,
        remisiones_array,
        incapacidad,
        proced_anexo_array,
        factura: $('#rfast_invoice').val(),
        historia: $('#documento').val(),
        cen_prod: $('#centro_produccion').val(),
        medico: $('#medico').val(),
        sexo: $('#sexo').val(),
        id_doc: window.localStorage.getItem("current_id")
      }
      // console.log(data);

      // Envía
      $("#modalLoader").modal("show");
      $.ajax({
        method:"POST",
        url: '/send_data_rfast',
        data: data,
        headers: {
          "X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr("content"),
        },
        success: function(res){
          if(res.r){
            $("#modalLoader").modal("hide");
            swal(res.message, "", "success").then(function(){
              window.location = '/agenda';
            });
          }else{
            $("#modalLoader").modal("hide");
            swal("Error",Lang.get("messages.medical_chart.fail"), "error").then(function(){
              window.location = '/agenda';
            });
          }
        }
      });

    }
  }