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';
});
}
}
});
}
}