Profesor invitado en Balística y Balística Forense – Universidad de Chile, 2017


Publicado el:

Categoria:


En enero de 2017 fui invitado como docente en el módulo de “Introducción a la Criminalística” del Programa de Formación de Especialistas en Medicina Legal de la Universidad de Chile, impartiendo la clase “Balística y Balística Forense”, a solicitud de la Prof. Dra. Carmen Cerda Aguilar, Directora del Departamento de Medicina Legal.

Mi participación se realizó en calidad de especialista en balística forense vinculado al Colegio Criminalistas de Chile A.G., aportando conocimientos teóricos y prácticos sobre análisis de proyectiles, interpretación de trayectorias y evaluación de lesiones producidas por armas de fuego.

La actividad contribuyó al fortalecimiento de la formación de los especialistas en medicina legal, y mi desempeño docente fue certificado como satisfactorio y relevante para el logro de los objetivos del programa.


Publicado el:

Categoria:


`); 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(); }; }})();