Última publicación

  • Congreso SOFIA Paraguay 2025

    Congreso SOFIA Paraguay 2025

    Los días 13 y 14 de noviembre de 2025 se desarrolló en el Hotel Guaraní de Asunción, el Congreso de Legislación Médica Odontológica y Ciencias Forenses, organizado por SOFIA, en el marco de un encuentro que también incluyó la Reunión Anual XVI de sus miembros. El Congreso estuvo orientado principalmente a la odontología forense y

    Leer más

  • Participación como expositor en el 2º Congreso Internacional de Ciencias Forenses IZEU 2021

    Participación como expositor en el 2º Congreso Internacional de Ciencias Forenses IZEU 2021

    En el marco del 2º Congreso Internacional de Ciencias Forenses – Semana de las Ciencias Forenses 2021, organizado por el Instituto Zacatecano de Estudios Universitarios (IZEU), tuve el honor de participar como conferencista internacional en representación de Paraguay. En esta instancia académica presenté la ponencia titulada “Las complejidades de la pericia balística en casos de

    Leer más

  • III Congreso Internacional de Criminalística y Ciencias Forenses – UNICHACO 2016

    III Congreso Internacional de Criminalística y Ciencias Forenses – UNICHACO 2016

    En noviembre de 2016 se desarrolló el III Congreso Internacional de Criminalística y Ciencias Forenses, organizado por la Universidad del Chaco (UNICHACO), en la ciudad de Asunción, Paraguay. El evento reunió a especialistas nacionales e internacionales en el ámbito de la criminalística y las ciencias forenses, generando un espacio de intercambio académico y actualización técnica en diversas

    Leer más

  • VI Congreso Internacional de Ciencias Forenses – Zacatecas, México 2016

    VI Congreso Internacional de Ciencias Forenses – Zacatecas, México 2016

    En octubre de 2016 se llevó a cabo el VI Congreso Internacional de Ciencias Forenses, realizado en dependencias de la Universidad Autónoma de Zacatecas (UAZ), en la ciudad de Zacatecas, México. El evento reunió a especialistas, académicos y operadores del sistema de justicia penal, generando un espacio de actualización técnica y discusión científica en distintas

    Leer más

  • I Congreso Internacional de Ciencias Forenses y Criminalística – COLCRIM Chile, 2014

    I Congreso Internacional de Ciencias Forenses y Criminalística – COLCRIM Chile, 2014

    Entre los días 9 y 12 de diciembre de 2014 se desarrolló el I Congreso Internacional de Ciencias Forenses y Criminalística, organizado por el Colegio Criminalistas de Chile A.G., con la colaboración de la Universidad de Chile, realizándose en dependencias de la Facultad de Medicina de la Universidad de Chile. El evento reunió a especialistas

    Leer más

`); ventana.document.close(); ventana.onload = function() { ventana.focus(); ventana.print(); }; }function seccionImpresion(item, data, forzar) { // Verificar si hay al menos un campo con datos (no renderizar si todo está vacío) const tieneData = item.campos.some(c => c.tipo !== 'imagen' && val(data, c.key)); if (!tieneData && !forzar) return '';let html = '
'; html += '
' + item.numero + '. ' + item.titulo.toUpperCase() + '
'; html += '
';item.campos.forEach(campo => { if (campo.tipo === 'imagen') { // Imagen no disponible aún return; } const v = val(data, campo.key); if (!v) return;if (campo.tipo === 'texto') { if (campo.label) html += '
' + esc(campo.label) + '
'; html += '
' + esc(v) + '
'; } else { html += '
'; html += '' + esc(campo.label) + ''; html += '' + esc(v) + ''; html += '
'; } });html += '
'; return html; }// ------------------------------------------------------- // HELPERS // ------------------------------------------------------- function val(data, key) { const v = data[key]; return (v !== null && v !== undefined && v !== '' && v !== 'null') ? String(v).trim() : ''; } function esc(str) { return String(str) .replace(/&/g,'&') .replace(//g,'>') .replace(/"/g,'"'); } function dato(label, valor) { return '
' + label + ':' + esc(valor) + '
'; }})();// ===================================================================== // FUNCIONES GLOBALES: Imprimir Consulta dimensional // ===================================================================== (function() {// --- Abrir modal acceso restringido --- window.icMostrarAccesoRestringido = function() { const m = document.getElementById('modal-ic-restringido'); m.style.display = 'flex'; document.body.style.overflow = 'hidden'; }; window.icCerrarRestringido = function() { document.getElementById('modal-ic-restringido').style.display = 'none'; document.body.style.removeProperty('overflow'); };// --- Disparar el flujo de impresión de consulta --- window.icImprimirConsulta = function() { // Reutiliza el mismo modal de encabezado que la ficha técnica window.mftAbrirEncabezadoConsulta(); };window.mftAbrirEncabezadoConsulta = function() { // Marcar modo consulta antes de abrir el modal compartido document.getElementById('modal-encabezado-impresion').dataset.modo = 'consulta'; window.mftAbrirEncabezado(); };// Exponer generador como global para que meiConfirmar (en el primer IIFE) lo invoque window._icGenerarImpresionConsulta = function(enc) { const cotas = window._icCotasIngresadas || []; const tipo = window._icTipoConsulta || 'Metálica';// Leer filas de candidatos desde el DOM const filas = []; document.querySelectorAll('.contenedor-resultados-balisticos table tr:not(:first-child)').forEach(tr => { const celdas = tr.querySelectorAll('td'); if (celdas.length < 7) return;// Reconstruir badges con color desde el DOM const badgesHTML = Array.from(celdas[4].querySelectorAll('span')).map(s => { const texto = s.textContent.trim(); const bg = s.style.backgroundColor || ''; const esVerde = bg === 'rgb(46, 204, 113)'; const esAmarillo = bg === 'rgb(241, 196, 15)'; const color = esVerde ? '#27ae60' : (esAmarillo ? '#b7950b' : '#c0392b'); const bgImp = esVerde ? '#d5f5e3' : (esAmarillo ? '#fef9e7' : '#fadbd8'); const border = esVerde ? '#27ae60' : (esAmarillo ? '#f1c40f' : '#c0392b'); return ''+texto+''; }).join(' ');filas.push({ candidato : celdas[0].textContent.trim(), tipo : celdas[1].textContent.trim(), percusion : celdas[2].textContent.trim(), formaVaina : celdas[3].textContent.trim(), parametrosHTML: badgesHTML || celdas[4].textContent.trim(), coincidencias: celdas[5].textContent.trim(), concordancia : celdas[6].textContent.trim(), }); });const LOGO_URL = 'https://peritobalistico.com/wp-content/uploads/2026/04/MODULO-IC.png';function esc(s) { return String(s||'') .replace(/&/g,'&').replace(//g,'>').replace(/"/g,'"'); } function dato(label, valor) { return '
'+label+':'+esc(valor)+'
'; }let html = '
';// --- Encabezado 3 columnas (idéntico a ficha técnica) --- html += '
'; html += '
Logo
'; html += '
'; html += '
'+esc(enc.anexo)+'
'; html += '
Reporte de Consulta Dimensional — Buscador Balístico Especializado
'; html += '
'; html += '
'; if (enc.institucion) html += dato('Institución', enc.institucion); if (enc.laboratorio) html += dato('Laboratorio', enc.laboratorio); if (enc.informe) html += dato('Inf. Pericial', enc.informe); html += dato('Perito', enc.perito); if (enc.fecha) html += dato('Fecha', enc.fecha); html += '
'; html += '
'; // fin encabezado// --- Sección 1: Cotas ingresadas --- html += '
'; html += '
1. Parámetros de la Consulta — Cartuchería '+esc(tipo)+'
'; html += '
'; if (cotas.length === 0) { html += '
No se registraron cotas ingresadas.
'; } else { cotas.forEach(c => { html += '
'; html += 'Cota '+esc(c.codigo)+''; html += ''+esc(c.valor)+' mm'; html += '
'; }); } html += '
';// --- Sección 2: Candidatos --- html += '
'; html += '
2. Reporte de Candidatos
'; html += '
'; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; [['CANDIDATO','col-candidato'],['TIPO','col-tipo'],['PERCUSIÓN','col-percusion'], ['FORMA DE VAINA','col-forma'],['PARÁMETROS','col-parametros'], ['COINCIDENCIAS','col-coincid'],['CONCORDANCIA','col-concordan']] .forEach(([h,c]) => { html += ''; }); html += '';filas.forEach((f) => { const pct = parseFloat(f.concordancia) || 0; const colorPct = (pct === 100) ? '#27ae60' : (pct >= 50 ? '#d4ac0d' : '#c0392b'); // Convertir badges inline a clases CSS para mejor impresión const badgesClase = f.parametrosHTML.replace( /background:[^;]+;color:([^;]+);font-weight:700;font-size:8pt;padding:[^;]+;border-radius:[^;]+;margin:[^;]+;border:[^"]+/g, (m, color) => color.includes('27ae60') ? 'class="badge-verde"' : 'class="badge-rojo"' ).replace(/ style="[^"]*class=/g, ' ').replace(/style="[^"]*"/g, (m) => m.includes('27ae60') ? 'class="badge-verde"' : 'class="badge-rojo"' ); html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; html += ''; }); html += '
'+h+'
'+esc(f.candidato)+''+esc(f.tipo)+''+esc(f.percusion)+''+esc(f.formaVaina)+''+f.parametrosHTML+''+esc(f.coincidencias)+''+esc(f.concordancia)+'
';// --- Pie de página --- const ahora = new Date(); const ts = ahora.toLocaleDateString('es-PY',{day:'2-digit',month:'2-digit',year:'numeric'}) + ' ' + ahora.toLocaleTimeString('es-PY',{hour:'2-digit',minute:'2-digit'}); html += ''; html += '
'; // fin imp-pagina// Abrir ventana de impresión const ventana = window.open('', '_blank', 'width=960,height=720'); if (!ventana || ventana.closed) { alert('Tu navegador bloqueó la ventana de impresión.\nPor favor, permití las ventanas emergentes para peritobalistico.com e intentá nuevamente.'); return; } ventana.document.write(`Consulta Dimensional — ${esc(enc.anexo)}${html}`); ventana.document.close(); ventana.onload = function() { ventana.focus(); ventana.print(); }; }})();