prueba borar

<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>GENEPRES · Módulo Cierre ATS V2.71</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap');
:root{
  --bg:#000d1a;--bg2:#001226;--bg3:#001e3a;
  --blue:#00538B;--blue2:#0066aa;
  --gold:#C5A059;--gold2:#E8C07A;
  --white:#F1F5F9;--muted:#64748b;--muted2:#94a3b8;
  --green:#22c55e;--red:#ef4444;--amber:#f59e0b;
  --purple:#8b5cf6;
  --border:rgba(0,83,139,0.25);--border2:rgba(0,83,139,0.12);
}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:'IBM Plex Sans',sans-serif;background:var(--bg);color:var(--white);min-height:100vh;padding:1.5rem 1rem;}
.page-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border);}
.brand{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;margin-bottom:6px;}
.page-header h1{font-size:20px;font-weight:600;}
.page-header .sub{font-size:12px;color:var(--muted2);margin-top:3px;}
.nota-proto{background:rgba(197,160,89,.1);border:1px solid rgba(197,160,89,.3);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--gold2);margin-bottom:1.5rem;text-align:center;}
.shell{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;}

/* EXPEDIENTE HEADER */
.exp-hdr{background:var(--bg2);border:1px solid var(--blue);border-radius:12px;padding:1rem 1.25rem;}
.exp-hdr-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.exp-folio{font-size:18px;font-weight:600;font-family:'IBM Plex Mono',monospace;}
.exp-sub{font-size:11px;color:var(--muted2);margin-top:2px;}
.badge{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;font-size:11px;font-weight:500;font-family:'IBM Plex Mono',monospace;}
.b-red{background:rgba(239,68,68,.15);color:#f87171;border:1px solid rgba(239,68,68,.3);}
.b-amber{background:rgba(245,158,11,.15);color:#fbbf24;border:1px solid rgba(245,158,11,.3);}
.b-purple{background:rgba(139,92,246,.15);color:#a78bfa;border:1px solid rgba(139,92,246,.3);}
.b-green{background:rgba(34,197,94,.15);color:#4ade80;border:1px solid rgba(34,197,94,.3);}
.b-gray{background:rgba(100,116,139,.15);color:#94a3b8;border:1px solid rgba(100,116,139,.3);}
.exp-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:10px;}
.ecard{background:rgba(0,83,139,.12);border:1px solid var(--border);border-radius:7px;padding:7px 10px;}
.ecard .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;}
.ecard .val{font-size:12px;font-weight:500;color:var(--white);font-family:'IBM Plex Mono',monospace;}
.sha-row{display:flex;align-items:center;gap:8px;padding-top:8px;border-top:1px solid var(--border2);}
.sha-lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;}
.sha-val{font-family:'IBM Plex Mono',monospace;font-size:10px;color:var(--gold);background:rgba(197,160,89,.08);border:1px solid rgba(197,160,89,.2);border-radius:4px;padding:2px 8px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ESTADO EXPEDIENTE (resumen antes del cierre) */
.estado-resumen{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;}
.sec-title{font-size:10px;font-weight:500;color:var(--gold);text-transform:uppercase;letter-spacing:.07em;margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.sec-title::after{content:'';flex:1;height:1px;background:var(--border2);}
.estado-grid{display:flex;flex-direction:column;}
.estado-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid var(--border2);font-size:12px;}
.estado-row:last-child{border-bottom:none;}
.ek{color:var(--muted2);}
.ev-ok{color:var(--green);font-weight:500;font-family:'IBM Plex Mono',monospace;font-size:11px;}
.ev-pend{color:var(--amber);font-weight:500;font-family:'IBM Plex Mono',monospace;font-size:11px;}
.ev-no{color:var(--red);font-weight:500;font-family:'IBM Plex Mono',monospace;font-size:11px;}

/* MÓDULO CIERRE */
.cierre-shell{background:var(--bg2);border:1px solid var(--blue);border-radius:12px;overflow:hidden;}
.cierre-hdr{padding:1rem 1.25rem;background:rgba(0,83,139,.12);border-bottom:1px solid var(--border2);display:flex;align-items:center;justify-content:space-between;}
.cierre-title{font-size:11px;font-weight:500;color:var(--gold);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:8px;}
.cierre-body{padding:1.25rem;}

/* GUARDS */
.guard-panel{background:rgba(239,68,68,.06);border:1px solid rgba(239,68,68,.2);border-radius:8px;padding:1rem;margin-bottom:1rem;}
.guard-title{font-size:11px;font-weight:500;color:#f87171;margin-bottom:8px;display:flex;align-items:center;gap:6px;}
.guard-list{display:flex;flex-direction:column;gap:5px;}
.guard-item{display:flex;align-items:center;gap:8px;font-size:12px;}
.guard-item .gi{font-size:14px;}
.guard-ok{color:var(--green);}
.guard-fail{color:#f87171;}
.guard-note{font-size:11px;color:var(--muted2);margin-top:8px;padding-top:8px;border-top:1px solid rgba(239,68,68,.15);}

/* MOTIVO SELECCIÓN */
.motivo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:1rem;}
.motivo-card{border:1px solid var(--border);border-radius:9px;padding:12px;cursor:pointer;transition:all .2s;background:transparent;}
.motivo-card:hover{border-color:var(--blue2);background:rgba(0,83,139,.08);}
.motivo-card.selected{border-color:var(--gold);background:rgba(197,160,89,.08);}
.motivo-card .mc-icon{font-size:20px;margin-bottom:6px;}
.motivo-card .mc-title{font-size:12px;font-weight:500;color:var(--white);margin-bottom:3px;}
.motivo-card .mc-sub{font-size:10px;color:var(--muted2);}

/* FORM */
.fg{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.fg1{grid-template-columns:1fr;}
.fg3{grid-template-columns:1fr 1fr 1fr;}
.field{display:flex;flex-direction:column;gap:4px;}
.field.s2{grid-column:1/-1;}
.field label{font-size:10px;color:var(--muted2);text-transform:uppercase;letter-spacing:.05em;}
.field label .req{color:var(--red);}
.field input,.field select,.field textarea{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:7px 9px;font-size:13px;color:var(--white);font-family:'IBM Plex Sans',sans-serif;width:100%;transition:border-color .2s;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue2);}
.field textarea{resize:vertical;min-height:70px;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted);}
.field select option{background:var(--bg3);}

/* NOTA NORM */
.nota-norm{background:rgba(0,83,139,.08);border-left:3px solid var(--blue);padding:9px 12px;font-size:11px;color:var(--muted2);line-height:1.6;border-radius:0 6px 6px 0;margin-top:8px;}
.nota-norm strong{color:var(--gold2);}
.nota-warn{background:rgba(245,158,11,.06);border-left:3px solid var(--amber);padding:9px 12px;font-size:11px;color:#fbbf24;line-height:1.6;border-radius:0 6px 6px 0;margin-top:8px;}

/* BLOQUES CONDICIONALES */
.bloque{display:none;margin-top:12px;}
.bloque.visible{display:block;}

/* DOCUMENTOS CIERRE */
.docs-grid{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
.doc-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:rgba(0,83,139,.06);border:1px solid var(--border);border-radius:7px;}
.doc-item .di-info{display:flex;align-items:center;gap:8px;}
.doc-item .di-icon{font-size:16px;}
.doc-item .di-name{font-size:12px;font-weight:500;color:var(--white);}
.doc-item .di-sub{font-size:10px;color:var(--muted2);}
.doc-req{font-size:10px;color:#f87171;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.2);border-radius:3px;padding:2px 6px;}
.doc-opt{font-size:10px;color:var(--muted2);background:rgba(100,116,139,.1);border:1px solid var(--border);border-radius:3px;padding:2px 6px;}
.doc-done{font-size:10px;color:var(--green);background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2);border-radius:3px;padding:2px 6px;}

/* BOTONES */
.btn-row{display:flex;gap:7px;justify-content:flex-end;margin-top:1rem;flex-wrap:wrap;}
.btn{padding:8px 16px;border-radius:7px;font-size:12px;font-weight:500;cursor:pointer;font-family:'IBM Plex Sans',sans-serif;border:1px solid;transition:all .2s;}
.btn-cancel{background:transparent;border-color:var(--border);color:var(--muted2);}
.btn-print{background:rgba(0,83,139,.2);border-color:var(--blue);color:var(--white);}
.btn-print:hover{background:rgba(0,83,139,.4);}
.btn-cerrar{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4);color:var(--green);font-size:13px;padding:10px 20px;}
.btn-cerrar:hover{background:rgba(34,197,94,.25);}
.btn-cerrar:disabled{opacity:.3;cursor:not-allowed;}
.btn-doc{background:rgba(197,160,89,.1);border-color:var(--gold);color:var(--gold2);font-size:11px;padding:5px 12px;}

/* BITÁCORA MINI */
.tl-mini{display:flex;flex-direction:column;gap:0;max-height:180px;overflow-y:auto;padding-right:4px;}
.tl-item{display:flex;gap:9px;padding-bottom:10px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px;}
.tl-right .tl-meta{font-size:10px;color:var(--muted);font-family:'IBM Plex Mono',monospace;margin-bottom:1px;}
.tl-right .tl-text{font-size:11px;color:var(--white);}

/* CONFIRMACIÓN FINAL */
.confirm-box{background:rgba(34,197,94,.04);border:1px solid rgba(34,197,94,.2);border-radius:10px;padding:1.25rem;text-align:center;display:none;}
.confirm-box.visible{display:block;}
.confirm-icon{font-size:40px;margin-bottom:10px;}
.confirm-title{font-size:16px;font-weight:600;color:var(--green);margin-bottom:6px;}
.confirm-sha{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--gold);background:rgba(197,160,89,.08);border:1px solid rgba(197,160,89,.2);border-radius:4px;padding:6px 10px;margin:8px 0;word-break:break-all;}
.confirm-sub{font-size:12px;color:var(--muted2);line-height:1.6;}

/* DIVIDER */
.divider{height:1px;background:var(--border2);margin:.75rem 0;}

/* TOAST */
.toast{position:fixed;bottom:20px;right:20px;background:var(--bg2);border:1px solid var(--green);border-radius:9px;padding:10px 14px;font-size:12px;color:var(--green);opacity:0;transform:translateY(8px);transition:all .3s;z-index:999;}
.toast.show{opacity:1;transform:translateY(0);}
</style>
</head>
<body>

<div class="page-header">
  <div class="brand">GENEPRES · NOM-035-STPS-2018 · Módulo de Cierre V2.71</div>
  <h1>Cierre de Expediente ATS</h1>
  <div class="sub">Prototipo interactivo · Estado: Seguimiento activo · Listo para cierre</div>
</div>

<div class="nota-proto">⚡ Prototipo · Expediente en estado "Seguimiento activo" · Explora los 3 motivos de cierre</div>

<div class="shell">

  <!-- RESUMEN EXPEDIENTE -->
  <div class="exp-hdr">
    <div class="exp-hdr-top">
      <div>
        <div class="exp-folio">ATS-2606-001</div>
        <div class="exp-sub">2606-P-001 · LKD SA · Reclutador · Recursos Humanos · Detectado: 04-Jun-2026</div>
      </div>
      <span class="badge b-purple" id="badge-est">● Seguimiento activo</span>
    </div>
    <div class="exp-cards">
      <div class="ecard"><div class="lbl">Folio ATS</div><div class="val">ATS-2606-001</div></div>
      <div class="ecard"><div class="lbl">Responsable</div><div class="val">Juan N</div></div>
      <div class="ecard"><div class="lbl">Consentimiento</div><div class="val" style="color:var(--green)">Aceptó</div></div>
      <div class="ecard"><div class="lbl">Evidencias</div><div class="val" id="c-ev">5 / 6</div></div>
    </div>
    <div class="sha-row">
      <span class="sha-lbl">SHA expediente</span>
      <span class="sha-val" id="sha-display">gp:a3f8b2c1E2026ATS2026 (provisional)</span>
    </div>
  </div>

  <!-- ESTADO ANTES DEL CIERRE -->
  <div class="estado-resumen">
    <div class="sec-title">Estado del expediente antes del cierre</div>
    <div class="estado-grid">
      <div class="estado-row"><span class="ek">E1 — Registro inicial</span><span class="ev-ok">✓ Completado · 04-Jun-2026</span></div>
      <div class="estado-row"><span class="ek">E2 — Canalización ofrecida</span><span class="ev-ok">✓ Completado · Presencial · RH</span></div>
      <div class="estado-row"><span class="ek">Documentos impresos</span><span class="ev-ok">✓ Constancia + Acuse impresos</span></div>
      <div class="estado-row"><span class="ek">Consentimiento</span><span class="ev-ok">✓ Aceptó · Registrado</span></div>
      <div class="estado-row"><span class="ek">E3 — Seguimiento activo</span><span class="ev-ok">✓ Prof. Dr. García · Inicio 10-Jun-2026</span></div>
      <div class="estado-row"><span class="ek">Bitácora</span><span class="ev-ok">✓ 7 entradas</span></div>
      <div class="estado-row"><span class="ek">Cierre</span><span class="ev-pend">⏳ Pendiente</span></div>
    </div>
  </div>

  <!-- MÓDULO CIERRE -->
  <div class="cierre-shell">
    <div class="cierre-hdr">
      <div class="cierre-title">🔒 Módulo de cierre — Estado 4</div>
      <span class="badge b-amber">Requiere acción</span>
    </div>
    <div class="cierre-body">

      <!-- GUARDS -->
      <div class="guard-panel" id="guard-panel">
        <div class="guard-title">⚠ Validación previa al cierre</div>
        <div class="guard-list">
          <div class="guard-item"><span class="gi guard-ok">✓</span><span style="color:var(--muted2);font-size:12px;">Canalización registrada en E2</span></div>
          <div class="guard-item"><span class="gi guard-ok">✓</span><span style="color:var(--muted2);font-size:12px;">Consentimiento del trabajador registrado</span></div>
          <div class="guard-item"><span class="gi guard-ok">✓</span><span style="color:var(--muted2);font-size:12px;">Bitácora con mínimo 3 entradas</span></div>
          <div class="guard-item"><span class="gi guard-ok">✓</span><span style="color:var(--muted2);font-size:12px;">Documentos de canalización generados</span></div>
        </div>
        <div class="guard-note">Todas las validaciones superadas. Puede proceder con el cierre del expediente.</div>
      </div>

      <!-- PASO 1: MOTIVO -->
      <div class="sec-title">Paso 1 — Motivo de cierre</div>
      <div class="motivo-grid">
        <div class="motivo-card" id="m1" onclick="selMotivo(1)">
          <div class="mc-icon">✅</div>
          <div class="mc-title">Atención concluida</div>
          <div class="mc-sub">Trabajador informa haber concluido el proceso de atención ofrecido</div>
        </div>
        <div class="motivo-card" id="m2" onclick="selMotivo(2)">
          <div class="mc-icon">🚶</div>
          <div class="mc-title">Abandono voluntario</div>
          <div class="mc-sub">Trabajador decide abandonar el proceso activo por iniciativa propia</div>
        </div>
        <div class="motivo-card" id="m3" onclick="selMotivo(3)">
          <div class="mc-icon">📋</div>
          <div class="mc-title">Término de relación laboral</div>
          <div class="mc-sub">El trabajador ya no pertenece a la organización</div>
        </div>
      </div>

      <!-- BLOQUE MOTIVO 1: ATENCIÓN CONCLUIDA -->
      <div class="bloque" id="bloque1">
        <div class="sec-title">Motivo 1 — Atención concluida</div>
        <div class="fg">
          <div class="field">
            <label>Fecha de conclusión <span class="req">*</span></label>
            <input type="date" id="m1-fecha">
          </div>
          <div class="field">
            <label>Número de sesiones completadas</label>
            <input type="number" id="m1-sesiones" placeholder="ej. 8" min="1">
          </div>
          <div class="field s2">
            <label>Nota administrativa de conclusión</label>
            <textarea id="m1-nota" placeholder="El trabajador informa haber concluido el mecanismo de atención ofrecido. Sin términos clínicos."></textarea>
          </div>
        </div>
        <div class="nota-norm"><strong>Nota del sistema (automática en BD):</strong> Se documenta la conclusión del seguimiento administrativo relacionado con el ATS identificado mediante el folio ATS-2606-001. El expediente queda cerrado para efectos de trazabilidad NOM-035-STPS-2018.</div>
        <div class="sec-title" style="margin-top:14px;">Documentos requeridos</div>
        <div class="docs-grid">
          <div class="doc-item">
            <div class="di-info"><span class="di-icon">📄</span><div><div class="di-name">Constancia de conclusión</div><div class="di-sub">Documento que acredita la finalización del proceso</div></div></div>
            <div style="display:flex;gap:6px;align-items:center;"><span class="doc-req">Obligatorio</span><button class="btn btn-doc" onclick="genDoc('concl')">🖨 Generar</button></div>
          </div>
        </div>
      </div>

      <!-- BLOQUE MOTIVO 2: ABANDONO VOLUNTARIO -->
      <div class="bloque" id="bloque2">
        <div class="sec-title">Motivo 2 — Abandono voluntario del proceso</div>
        <div class="nota-warn">El trabajador, en pleno ejercicio de su voluntad, ha decidido no continuar con el proceso de atención preventiva iniciado. Esta decisión debe documentarse formalmente para acreditar que la organización cumplió con su obligación NOM-035 y que el abandono fue una decisión libre del trabajador.</div>
        <div class="fg" style="margin-top:12px;">
          <div class="field">
            <label>Fecha de abandono <span class="req">*</span></label>
            <input type="date" id="m2-fecha">
          </div>
          <div class="field">
            <label>Sesiones completadas antes del abandono</label>
            <input type="number" id="m2-sesiones" placeholder="ej. 3" min="0">
          </div>
          <div class="field s2">
            <label>Motivo expresado por el trabajador</label>
            <textarea id="m2-motivo" placeholder="Razón manifestada por el trabajador. Sin términos clínicos ni diagnósticos."></textarea>
          </div>
        </div>
        <div class="nota-norm"><strong>§8.1b NOM-035:</strong> La organización ha cumplido con ofrecer los mecanismos de atención. El abandono voluntario del trabajador no implica incumplimiento patronal. Este acto debe quedar documentado con firma del trabajador.</div>
        <div class="sec-title" style="margin-top:14px;">Documentos requeridos</div>
        <div class="docs-grid">
          <div class="doc-item">
            <div class="di-info"><span class="di-icon">📝</span><div><div class="di-name">Acuse de abandono voluntario</div><div class="di-sub">Firmado por el trabajador — declara su decisión libre</div></div></div>
            <div style="display:flex;gap:6px;align-items:center;"><span class="doc-req">Obligatorio</span><button class="btn btn-doc" onclick="genDoc('abandono')">🖨 Generar</button></div>
          </div>
        </div>
      </div>

      <!-- BLOQUE MOTIVO 3: BAJA LABORAL -->
      <div class="bloque" id="bloque3">
        <div class="sec-title">Motivo 3 — Término de relación laboral</div>
        <div class="fg">
          <div class="field">
            <label>Fecha de baja <span class="req">*</span></label>
            <input type="date" id="m3-fecha">
          </div>
          <div class="field">
            <label>Tipo de baja <span class="req">*</span></label>
            <select id="m3-tipo">
              <option value="">-- Seleccionar --</option>
              <option>Renuncia voluntaria</option>
              <option>Terminación de contrato</option>
              <option>Despido justificado</option>
              <option>Despido injustificado</option>
              <option>Jubilación / Retiro</option>
              <option>Otro</option>
            </select>
          </div>
          <div class="field s2">
            <label>Nota administrativa</label>
            <textarea id="m3-nota" placeholder="Cierre por término de relación laboral. El seguimiento se interrumpe por baja del trabajador."></textarea>
          </div>
        </div>
        <div class="nota-norm"><strong>Nota:</strong> El cierre por baja laboral no requiere consentimiento del trabajador. La organización documentará el estado del seguimiento al momento de la baja como parte del expediente NOM-035.</div>
        <div class="sec-title" style="margin-top:14px;">Documentos requeridos</div>
        <div class="docs-grid">
          <div class="doc-item">
            <div class="di-info"><span class="di-icon">📋</span><div><div class="di-name">Documentos que acrediten la baja</div><div class="di-sub">Finiquito, aviso de baja IMSS u otro documento oficial</div></div></div>
            <div><span class="doc-req">Obligatorio · Conservar en PEC</span></div>
          </div>
        </div>
      </div>

      <!-- PASO 2: BITÁCORA MINI -->
      <div class="bloque" id="bloque-bit">
        <div class="divider"></div>
        <div class="sec-title">Paso 2 — Resumen de bitácora</div>
        <div class="tl-mini">
          <div class="tl-item"><div class="tl-dot" style="background:#64748b;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta">04-Jun-2026 · 10:49 · Sistema</div><div class="tl-text">ATS detectado automáticamente</div></div></div>
          <div class="tl-item"><div class="tl-dot" style="background:#C5A059;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta">04-Jun-2026 · 11:05 · Juan N</div><div class="tl-text">Estado 1 completado · Registro inicial</div></div></div>
          <div class="tl-item"><div class="tl-dot" style="background:#C5A059;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta">04-Jun-2026 · 11:20 · Juan N</div><div class="tl-text">Estado 2 completado · Canalización ofrecida · Presencial</div></div></div>
          <div class="tl-item"><div class="tl-dot" style="background:#22c55e;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta">04-Jun-2026 · 11:22 · Sistema</div><div class="tl-text">Constancia de canalización generada</div></div></div>
          <div class="tl-item"><div class="tl-dot" style="background:#22c55e;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta">04-Jun-2026 · 11:23 · Sistema</div><div class="tl-text">Acuse de información generado</div></div></div>
          <div class="tl-item"><div class="tl-dot" style="background:#8b5cf6;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta">04-Jun-2026 · 14:30 · Juan N</div><div class="tl-text">Estado 3 completado · Aceptó · Dr. García · Inicio 10-Jun</div></div></div>
          <div class="tl-item" id="tl-cierre-entry" style="display:none;"><div class="tl-dot" style="background:#22c55e;margin-top:4px;"></div><div class="tl-right"><div class="tl-meta" id="tl-cierre-meta"></div><div class="tl-text" id="tl-cierre-text"></div></div></div>
        </div>
      </div>

      <!-- PASO 3: BOTÓN CIERRE DEFINITIVO -->
      <div class="bloque" id="bloque-btn">
        <div class="divider"></div>
        <div style="background:rgba(34,197,94,.04);border:1px solid rgba(34,197,94,.15);border-radius:8px;padding:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;">
          <div>
            <div style="font-size:13px;font-weight:500;color:var(--white);margin-bottom:3px;">Paso 3 — Cierre definitivo del expediente</div>
            <div style="font-size:11px;color:var(--muted2);">Se generará el acta de cierre con SHA-256 · La acción es irreversible</div>
          </div>
          <button class="btn btn-cerrar" id="btn-cerrar-def" onclick="cerrarDefinitivo()">
            🔒 Cerrar expediente ATS
          </button>
        </div>
      </div>

      <!-- CONFIRMACIÓN FINAL -->
      <div class="confirm-box" id="confirm-box">
        <div class="confirm-icon">🔐</div>
        <div class="confirm-title">Expediente cerrado exitosamente</div>
        <div class="confirm-sha" id="confirm-sha"></div>
        <div class="confirm-sub">
          El expediente ATS-2606-001 ha sido cerrado formalmente.<br>
          El presente cierre acredita la conclusión del seguimiento administrativo realizado por la organización conforme a la NOM-035-STPS-2018.<br>
          <strong style="color:var(--muted2);">No constituye alta médica, diagnóstico, dictamen clínico ni evaluación psicológica.</strong>
        </div>
        <div class="btn-row" style="justify-content:center;margin-top:14px;">
          <button class="btn btn-print" onclick="genActaCierre()">📄 Generar Acta de Cierre PDF</button>
        </div>
      </div>

    </div>
  </div>

</div>

<div class="toast" id="toast"></div>

<script>
let motivoSel = 0;
let docGenDoc = false;

const DATA = {
  folio_ats: 'ATS-2606-001',
  folio_gp: '2606-P-001',
  empresa: 'LKD SA',
  rfc: 'LKD08090565A',
  area: 'Recursos Humanos',
  puesto: 'Reclutador',
  responsable: 'Juan N',
  fecha_deteccion: '04-Jun-2026',
  hash_doc: 'e49c5863f6b945ca',
  profesional: 'Dr. García López',
  fecha_inicio: '10-Jun-2026',
  sesiones: null,
  motivo: null,
  fecha_cierre: null,
};

const MOTIVO_LABELS = {
  1: 'Atención concluida',
  2: 'Abandono voluntario del proceso',
  3: 'Término de relación laboral',
};

function selMotivo(n) {
  motivoSel = n;
  [1,2,3].forEach(i => {
    document.getElementById('m'+i).classList.toggle('selected', i===n);
    document.getElementById('bloque'+i).classList.toggle('visible', i===n);
  });
  document.getElementById('bloque-bit').classList.add('visible');
  document.getElementById('bloque-btn').classList.add('visible');
  toast('Motivo seleccionado: '+MOTIVO_LABELS[n]);
}

function genDoc(tipo) {
  const resp = DATA.responsable;
  const ts = new Date().toLocaleString('es-MX');
  const sha = genSHA(tipo+DATA.folio_ats+ts);
  let html = '';

  if (tipo === 'concl') {
    const fecha = document.getElementById('m1-fecha').value || '___________';
    const ses = document.getElementById('m1-sesiones').value || '—';
    html = `
<h2 style="text-align:center;font-size:14px;text-transform:uppercase;font-weight:700;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:14px;">
  Constancia de Conclusión de Proceso de Atención Preventiva<br>
  <span style="font-size:10px;font-weight:400;color:#555;">NOM-035-STPS-2018</span>
</h2>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Datos de Identificación</div>
  ${fila('Folio ATS',DATA.folio_ats)}
  ${fila('Centro de trabajo',DATA.empresa)}
  ${fila('RFC',DATA.rfc)}
  ${fila('Área',DATA.area)}
  ${fila('Puesto',DATA.puesto)}
  ${fila('Responsable del proceso',resp)}
  ${fila('Fecha de conclusión',fecha)}
  ${fila('Sesiones completadas',ses)}
  ${fila('Hash documental',DATA.hash_doc)}
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Constancia</div>
  <p style="font-size:11px;line-height:1.7;">Por medio del presente documento se hace constar que el trabajador identificado mediante el folio <strong>${DATA.folio_ats}</strong> ha informado la conclusión del proceso de atención preventiva puesto a su disposición por el centro de trabajo conforme a la NOM-035-STPS-2018.</p>
  <p style="font-size:11px;line-height:1.7;margin-top:8px;">La organización documenta el cumplimiento del seguimiento administrativo correspondiente y declara la conclusión del expediente de canalización preventiva.</p>
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Nota del Sistema</div>
  <p style="font-size:11px;line-height:1.7;">Se documenta la conclusión del seguimiento administrativo relacionado con el ATS identificado mediante el folio <strong>${DATA.folio_ats}</strong>. El expediente queda cerrado para efectos de trazabilidad NOM-035-STPS-2018.</p>
</div>
${firmas(resp)}
<div style="margin-top:10px;padding:8px;border:1px solid #ccc;font-size:9px;color:#666;text-align:center;">
  La presente constancia acredita exclusivamente la conclusión del proceso de seguimiento administrativo. No constituye alta médica, diagnóstico, dictamen clínico ni evaluación psicológica.
</div>
<div style="font-size:9px;color:#888;text-align:center;margin-top:8px;border-top:1px solid #ddd;padding-top:5px;">
  Expediente ATS: ${DATA.folio_ats} · Hash de trazabilidad: ${sha} · Generado: ${ts}
</div>`;

  } else if (tipo === 'abandono') {
    const fecha = document.getElementById('m2-fecha').value || '___________';
    const ses = document.getElementById('m2-sesiones').value || '—';
    const mot = document.getElementById('m2-motivo').value || '—';
    html = `
<h2 style="text-align:center;font-size:14px;text-transform:uppercase;font-weight:700;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:14px;">
  Acuse de Abandono Voluntario del Proceso de Atención Preventiva<br>
  <span style="font-size:10px;font-weight:400;color:#555;">NOM-035-STPS-2018</span>
</h2>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Datos de Identificación</div>
  ${fila('Folio ATS',DATA.folio_ats)}
  ${fila('Centro de trabajo',DATA.empresa)}
  ${fila('RFC',DATA.rfc)}
  ${fila('Área',DATA.area)}
  ${fila('Puesto',DATA.puesto)}
  ${fila('Responsable',resp)}
  ${fila('Fecha de abandono',fecha)}
  ${fila('Sesiones previas',ses)}
  ${fila('Motivo expresado',mot)}
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Declaración del Trabajador</div>
  <p style="font-size:11px;line-height:1.7;">El trabajador identificado mediante el folio <strong>${DATA.folio_ats}</strong>, en pleno ejercicio de su voluntad y con pleno conocimiento de los mecanismos de atención preventiva puestos a su disposición por el centro de trabajo conforme a la NOM-035-STPS-2018, manifiesta su <strong>decisión libre de no continuar con el proceso de atención preventiva iniciado</strong>.</p>
  <p style="font-size:11px;line-height:1.7;margin-top:8px;">El centro de trabajo respeta dicha decisión conforme al carácter voluntario de los mecanismos de atención contemplados en la NOM-035-STPS-2018 y deja constancia del cumplimiento de su obligación de haber ofrecido y facilitado dichos mecanismos.</p>
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Manifestación</div>
  <p style="font-size:11px;line-height:1.7;">Declaro haber sido informado sobre la disponibilidad de los mecanismos de atención preventiva y que la decisión de no continuar con el proceso es <strong>voluntaria, libre y sin presión alguna</strong> por parte del centro de trabajo.</p>
</div>
${firmas(resp)}
<div style="margin-top:10px;padding:8px;border:1px solid #ccc;font-size:9px;color:#666;text-align:center;">
  La firma del presente documento acredita exclusivamente la manifestación voluntaria de abandono del proceso preventivo. No implica reconocimiento de enfermedad, diagnóstico clínico, incapacidad laboral ni responsabilidad médica por parte del centro de trabajo.
</div>
<div style="font-size:9px;color:#888;text-align:center;margin-top:8px;border-top:1px solid #ddd;padding-top:5px;">
  Expediente ATS: ${DATA.folio_ats} · Hash de trazabilidad: ${sha} · Generado: ${ts}
</div>`;
  }

  const w = window.open('','_blank','width=800,height:700');
  w.document.write('<html><head><title>Documento NOM-035 · Cierre</title><style>body{font-family:Arial,sans-serif;padding:24px;background:#fff;color:#111;font-size:11px;line-height:1.6;max-width:720px;margin:0 auto;}</style></head><body>'+html+'<br><button onclick="window.print()" style="padding:6px 16px;background:#000;color:#fff;border:none;border-radius:4px;cursor:pointer;">🖨 Imprimir</button></body></html>');
  w.document.close();
  docGenDoc = true;
  toast('Documento generado · Evidencia registrada');
}

function genActaCierre() {
  const ts = new Date().toLocaleString('es-MX');
  const sha = genSHA('CIERRE_DEFINITIVO'+DATA.folio_ats+motivoSel+ts);
  const fechaCierre = getFechaCierre() || ts.split(',')[0];
  const motivoTxt = MOTIVO_LABELS[motivoSel] || '—';
  const html = `
<h2 style="text-align:center;font-size:14px;text-transform:uppercase;font-weight:700;border-bottom:2px solid #000;padding-bottom:8px;margin-bottom:14px;">
  Acta de Cierre de Expediente ATS<br>
  <span style="font-size:10px;font-weight:400;color:#555;">NOM-035-STPS-2018</span>
</h2>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Identificación del Expediente</div>
  ${fila('Folio ATS',DATA.folio_ats)}
  ${fila('Centro de trabajo',DATA.empresa+' · RFC: '+DATA.rfc)}
  ${fila('Área / Puesto',DATA.area+' · '+DATA.puesto)}
  ${fila('Fecha de detección',DATA.fecha_deteccion)}
  ${fila('Fecha de cierre',fechaCierre)}
  ${fila('Responsable del proceso',DATA.responsable)}
  ${fila('Motivo de cierre',motivoTxt)}
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Evidencias Registradas</div>
  <ul style="font-size:11px;line-height:1.8;margin-left:16px;">
    <li>✓ Registro inicial (E1) completado</li>
    <li>✓ Canalización ofrecida (E2) · Presencial · Recursos Humanos</li>
    <li>✓ Constancia de canalización generada e impresa</li>
    <li>✓ Acuse de información al trabajador impreso</li>
    <li>✓ Consentimiento registrado: Aceptó</li>
    <li>✓ Seguimiento activo (E3) · Prof. Dr. García López</li>
    <li>✓ Documento de cierre: ${motivoTxt}</li>
  </ul>
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Bitácora Resumida</div>
  <table style="width:100%;border-collapse:collapse;font-size:10px;">
    <tr style="background:#f5f5f5;"><th style="text-align:left;padding:4px 6px;border:1px solid #ddd;">Fecha</th><th style="text-align:left;padding:4px 6px;border:1px solid #ddd;">Evento</th><th style="text-align:left;padding:4px 6px;border:1px solid #ddd;">Actor</th></tr>
    <tr><td style="padding:3px 6px;border:1px solid #ddd;">04-Jun-2026 10:49</td><td style="padding:3px 6px;border:1px solid #ddd;">ATS detectado automáticamente</td><td style="padding:3px 6px;border:1px solid #ddd;">Sistema</td></tr>
    <tr><td style="padding:3px 6px;border:1px solid #ddd;">04-Jun-2026 11:05</td><td style="padding:3px 6px;border:1px solid #ddd;">Registro inicial completado</td><td style="padding:3px 6px;border:1px solid #ddd;">${DATA.responsable}</td></tr>
    <tr><td style="padding:3px 6px;border:1px solid #ddd;">04-Jun-2026 11:20</td><td style="padding:3px 6px;border:1px solid #ddd;">Canalización ofrecida · Presencial</td><td style="padding:3px 6px;border:1px solid #ddd;">${DATA.responsable}</td></tr>
    <tr><td style="padding:3px 6px;border:1px solid #ddd;">04-Jun-2026 14:30</td><td style="padding:3px 6px;border:1px solid #ddd;">Seguimiento activo iniciado</td><td style="padding:3px 6px;border:1px solid #ddd;">${DATA.responsable}</td></tr>
    <tr><td style="padding:3px 6px;border:1px solid #ddd;">${fechaCierre}</td><td style="padding:3px 6px;border:1px solid #ddd;">Cierre: ${motivoTxt}</td><td style="padding:3px 6px;border:1px solid #ddd;">${DATA.responsable}</td></tr>
  </table>
</div>
<div style="margin-bottom:12px;">
  <div style="font-size:10px;font-weight:700;text-transform:uppercase;border-bottom:1px solid #ccc;padding-bottom:3px;margin-bottom:7px;">Hash SHA-256 de Integridad</div>
  <div style="font-family:monospace;font-size:10px;background:#f5f5f5;padding:6px 8px;border-radius:4px;word-break:break-all;">${sha}</div>
</div>
<div style="background:#f9f9f9;border:1px solid #ddd;padding:10px;border-radius:4px;font-size:10px;color:#555;margin-bottom:14px;line-height:1.6;">
  <strong>Leyenda normativa:</strong> El presente cierre acredita la conclusión del seguimiento administrativo realizado por la organización conforme a la NOM-035-STPS-2018.
  <strong>No constituye alta médica, diagnóstico, dictamen clínico ni evaluación psicológica.</strong>
  Cualquier alteración posterior invalida la trazabilidad documental del presente registro.
</div>
${firmas(DATA.responsable)}
<div style="font-size:9px;color:#888;text-align:center;margin-top:8px;border-top:1px solid #ddd;padding-top:5px;">
  Expediente ATS: ${DATA.folio_ats} · Acta de cierre · Hash: ${sha} · Generado: ${ts}
</div>`;

  const w = window.open('','_blank','width:800,height:700');
  w.document.write('<html><head><title>Acta de Cierre ATS</title><style>body{font-family:Arial,sans-serif;padding:24px;background:#fff;color:#111;font-size:11px;line-height:1.6;max-width:720px;margin:0 auto;}</style></head><body>'+html+'<br><button onclick="window.print()" style="padding:6px 16px;background:#000;color:#fff;border:none;border-radius:4px;cursor:pointer;">🖨 Imprimir Acta de Cierre</button></body></html>');
  w.document.close();
  toast('Acta de cierre generada');
}

function cerrarDefinitivo() {
  if (!motivoSel) { alert('Seleccione el motivo de cierre primero.'); return; }
  const fechaCierre = getFechaCierre();
  if (!fechaCierre) { alert('Ingrese la fecha de cierre.'); return; }
  const sha = genSHA('CIERRE'+DATA.folio_ats+motivoSel+fechaCierre);
  document.getElementById('sha-display').textContent = sha;
  document.getElementById('confirm-sha').textContent = 'SHA-256: '+sha;
  // Actualizar badge
  const b = document.getElementById('badge-est');
  b.textContent='● Caso cerrado'; b.className='badge b-green';
  // Bitácora cierre
  const now = new Date();
  const f = now.toLocaleDateString('es-MX',{day:'2-digit',month:'short',year:'numeric'})+' · '+now.toLocaleTimeString('es-MX',{hour:'2-digit',minute:'2-digit'});
  document.getElementById('tl-cierre-meta').textContent = f+' · '+DATA.responsable;
  document.getElementById('tl-cierre-text').textContent = 'Expediente cerrado · '+MOTIVO_LABELS[motivoSel];
  document.getElementById('tl-cierre-entry').style.display='flex';
  // Confirmar
  document.getElementById('confirm-box').classList.add('visible');
  document.getElementById('btn-cerrar-def').disabled=true;
  document.getElementById('c-ev').textContent='6 / 6';
  toast('Expediente cerrado · SHA definitivo generado');
}

function getFechaCierre() {
  if (motivoSel===1) return document.getElementById('m1-fecha').value;
  if (motivoSel===2) return document.getElementById('m2-fecha').value;
  if (motivoSel===3) return document.getElementById('m3-fecha').value;
  return '';
}

function fila(k,v) {
  return `<div style="display:flex;gap:8px;margin-bottom:3px;"><span style="font-weight:600;min-width:150px;font-size:10px;">${k}:</span><span style="font-size:10px;">${v}</span></div>`;
}

function firmas(resp) {
  return `<div style="display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:16px;">
    <div><div style="font-size:10px;font-weight:600;">Trabajador</div><div style="border-bottom:1px solid #999;margin:18px 0 4px;"></div><div style="font-size:9px;color:#555;">Nombre: ______________________________</div><div style="border-bottom:1px solid #999;margin:14px 0 4px;"></div><div style="font-size:9px;color:#555;">Fecha: ________________________________</div></div>
    <div><div style="font-size:10px;font-weight:600;">Responsable del Proceso</div><div style="border-bottom:1px solid #999;margin:18px 0 4px;"></div><div style="font-size:9px;color:#555;">Nombre: ${resp}</div><div style="border-bottom:1px solid #999;margin:14px 0 4px;"></div><div style="font-size:9px;color:#555;">Fecha: ________________________________</div></div>
  </div>`;
}

function genSHA(s) {
  let h=0;const str=s+'GP2026NOM035';
  for(let i=0;i<str.length;i++){h=((h<<5)-h)+str.charCodeAt(i);h|=0;}
  return 'gp:'+Math.abs(h).toString(16).padStart(8,'0')+Date.now().toString(16).toUpperCase().slice(-8)+'ATS';
}

function toast(msg) {
  const t=document.getElementById('toast');
  t.textContent='✓ '+msg; t.classList.add('show');
  setTimeout(()=>t.classList.remove('show'),3000);
}
</script>
</body>
</html>

GENEPRES OS – Consola de Operaciones

Nivel de Sistema: Inferencia Orgánica | Estado: Estructura Básica


Fase 1: Configuración de Línea Base (Semilla Anual)

Capa de Mando (Estrategia)





Capa de Gestión (Táctica – OKRs)

Fase 2: Alimentador Periódico

1. Pulso Diario (KPIs Prioritarios)

Uso en Plantas/CEDIS: Registro rápido de baja fricción.

2. Cierre Semanal (Cadencia 4DX)


3. Revisión Mensual (Análisis de Coherencia)


Fase 3: Simulación y Proyección

Resultado de Inferencia: Esperando datos…

Integridad del Proceso: Hash SHA-256 Validado


1. CONFIGURACIÓN INICIAL (Semilla de RH)

Fase de inicio de año: Definición de parámetros de Soberanía Organizacional.

ESTRATEGIA (Capa de Mando)



TÁCTICA (Capa de Gestión)

2. REGISTRO PERIÓDICO (Pulsos de Ejecución)

Pulso Diario (Fricción Crítica)

Avance Semanal (Cadencia 4DX)


3. INFERENCIA Y SIMULACIÓN PROYECTIVA

Análisis de Coherencia: Esperando inyección de datos…

Nota: Las proyecciones utilizan modelos de Sistemas Complejos y Prevención de Cisnes Negros.

GENEPRES · Expediente ATS V2.71b
⚡ Prototipo local · Explora E1 → E2 → E3 → Documentos · Los datos no se guardan en BD
ATS-2606-001
2606-P-001 · LKD SA · Reclutador · Recursos Humanos · 04-Jun-2026
● ATS Detectado
Folio ATS
ATS-2606-001
Responsable
Consentimiento
Evidencia
0 / 6
SHA expediente — pendiente de primer guardado —
1
ATS Detectado
Registro inicial
2
Canalización
Ofrecimiento y entrega
3
Seguimiento
Consentimiento + atención
Trazabilidad
Bitácora · Evidencias
Criterio ATS detectado
  • Recuerdos persistentes del evento
  • Conductas de evitación
  • Afectación posterior al evento
Detección automática conforme Guía I · NOM-035-STPS-2018 §8.1b
1Estado 1 — ATS Detectado · Registro inicial
Requerido
Datos del proceso
§8.1b NOM-035: El responsable designado inicia el proceso de canalización. El Folio ATS es el identificador único de todo el expediente.
2Estado 2 — Canalización · Ofrecimiento y entrega
En proceso
Datos heredados del Estado 1
Entrega del vale
📄 Documentos normativos — disponibles al completar E1
Al imprimir se registra automáticamente la evidencia documental correspondiente.
3Estado 3 — Seguimiento · Consentimiento y atención
Activo
Consentimiento del trabajador
⚠ Canalización rechazada — Proceso de cierre normativo
Conforme a la NOM-035-STPS-2018 §8.1b, el empleador cumple su obligación al ofrecer la canalización. El trabajador tiene derecho a rechazarla. Este rechazo debe documentarse con fecha y motivo para evidencia ante inspección STPS.
Trazabilidad completa del expediente
En proceso
Bitácora
Evidencias
Estado del expediente
04-Jun-2026 · 10:49 · Sistema
ATS detectado automáticamente
Las evidencias se registran automáticamente conforme avanza el proceso.
Registro inicial (E1 completado)
Canalización ofrecida (E2 completado)
Constancia de canalización impresa
Acuse de información al trabajador impreso
Consentimiento registrado (E3)
Seguimiento activo registrado (E3)
Progreso documental0 de 6
Las evidencias físicas deben conservarse en la Carpeta PEC §10 NOM-035.
🔴 Expediente incompleto
E1 — Registro inicial⏳ Pendiente
E2 — Canalización ofrecida⏳ Pendiente
Documentos impresos⏳ Pendiente
E3 — Consentimiento⏳ Pendiente
E3 — Seguimiento activo⏳ Pendiente
SHA de integridad⏳ Pendiente
✓ Guardado correctamente
GENEPRES · Módulo Cierre ATS V2.71
⚡ Prototipo · Expediente en estado "Seguimiento activo" · Explora los 3 motivos de cierre
ATS-2606-001
2606-P-001 · LKD SA · Reclutador · Recursos Humanos · Detectado: 04-Jun-2026
● Seguimiento activo
Folio ATS
ATS-2606-001
Responsable
Juan N
Consentimiento
Aceptó
Evidencias
5 / 6
SHA expediente gp:a3f8b2c1E2026ATS2026 (provisional)
Estado del expediente antes del cierre
E1 — Registro inicial✓ Completado · 04-Jun-2026
E2 — Canalización ofrecida✓ Completado · Presencial · RH
Documentos impresos✓ Constancia + Acuse impresos
Consentimiento✓ Aceptó · Registrado
E3 — Seguimiento activo✓ Prof. Dr. García · Inicio 10-Jun-2026
Bitácora✓ 7 entradas
Cierre⏳ Pendiente
🔒 Módulo de cierre — Estado 4
Requiere acción
⚠ Validación previa al cierre
Canalización registrada en E2
Consentimiento del trabajador registrado
Bitácora con mínimo 3 entradas
Documentos de canalización generados
Todas las validaciones superadas. Puede proceder con el cierre del expediente.
Paso 1 — Motivo de cierre
Atención concluida
Trabajador informa haber concluido el proceso de atención ofrecido
🚶
Abandono voluntario
Trabajador decide abandonar el proceso activo por iniciativa propia
📋
Término de relación laboral
El trabajador ya no pertenece a la organización
Motivo 1 — Atención concluida
Nota del sistema (automática en BD): Se documenta la conclusión del seguimiento administrativo relacionado con el ATS identificado mediante el folio ATS-2606-001. El expediente queda cerrado para efectos de trazabilidad NOM-035-STPS-2018.
Documentos requeridos
📄
Constancia de conclusión
Documento que acredita la finalización del proceso
Obligatorio
Motivo 2 — Abandono voluntario del proceso
El trabajador, en pleno ejercicio de su voluntad, ha decidido no continuar con el proceso de atención preventiva iniciado. Esta decisión debe documentarse formalmente para acreditar que la organización cumplió con su obligación NOM-035 y que el abandono fue una decisión libre del trabajador.
§8.1b NOM-035: La organización ha cumplido con ofrecer los mecanismos de atención. El abandono voluntario del trabajador no implica incumplimiento patronal. Este acto debe quedar documentado con firma del trabajador.
Documentos requeridos
📝
Acuse de abandono voluntario
Firmado por el trabajador — declara su decisión libre
Obligatorio
Motivo 3 — Término de relación laboral
Nota: El cierre por baja laboral no requiere consentimiento del trabajador. La organización documentará el estado del seguimiento al momento de la baja como parte del expediente NOM-035.
Documentos requeridos
📋
Documentos que acrediten la baja
Finiquito, aviso de baja IMSS u otro documento oficial
Obligatorio · Conservar en PEC
Paso 2 — Resumen de bitácora
04-Jun-2026 · 10:49 · Sistema
ATS detectado automáticamente
04-Jun-2026 · 11:05 · Juan N
Estado 1 completado · Registro inicial
04-Jun-2026 · 11:20 · Juan N
Estado 2 completado · Canalización ofrecida · Presencial
04-Jun-2026 · 11:22 · Sistema
Constancia de canalización generada
04-Jun-2026 · 11:23 · Sistema
Acuse de información generado
04-Jun-2026 · 14:30 · Juan N
Estado 3 completado · Aceptó · Dr. García · Inicio 10-Jun
Paso 3 — Cierre definitivo del expediente
Se generará el acta de cierre con SHA-256 · La acción es irreversible
🔐
Expediente cerrado exitosamente
El expediente ATS-2606-001 ha sido cerrado formalmente.
El presente cierre acredita la conclusión del seguimiento administrativo realizado por la organización conforme a la NOM-035-STPS-2018.
No constituye alta médica, diagnóstico, dictamen clínico ni evaluación psicológica.