{"id":19648,"date":"2026-08-19T14:38:45","date_gmt":"2026-08-19T14:38:45","guid":{"rendered":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/?page_id=19648"},"modified":"2026-08-21T17:10:38","modified_gmt":"2026-08-21T17:10:38","slug":"validar-carne","status":"publish","type":"page","link":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/","title":{"rendered":"Validaci\u00f3n de Carn\u00e9 Digital"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"19648\" class=\"elementor elementor-19648\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-aa272d1 e-con-full e-flex e-con e-parent\" data-id=\"aa272d1\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b3b0051 elementor-widget elementor-widget-html\" data-id=\"b3b0051\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"aoc-verif-wrap\" id=\"aocVerifWrap\">\r\n\r\n  <div class=\"aoc-verif-header\">\r\n    <div class=\"aoc-verif-eyebrow\">Angiograf\u00eda de Occidente S.A.<\/div>\r\n    <h2 class=\"aoc-verif-title\">Verificaci\u00f3n de Carn\u00e9 Digital<\/h2>\r\n    <p class=\"aoc-verif-sub\">Confirma en tiempo real si una persona est\u00e1 vinculada activamente con Angiograf\u00eda de Occidente S.A.<\/p>\r\n    <p class=\"aoc-verif-intro\">\r\n      Este aplicativo te permite confirmar, de forma inmediata y directamente con nuestra base de datos oficial, si la persona que se presenta como parte de Angiograf\u00eda de Occidente S.A. cuenta con una vinculaci\u00f3n activa y vigente a trav\u00e9s de su carn\u00e9 digital (ten en cuenta que los carn\u00e9s f\u00edsicos no se verifican por este medio; en caso de dudas con un documento f\u00edsico, puedes comunicarte a trav\u00e9s de los canales indicados m\u00e1s abajo).\r\n    <\/p>\r\n  <\/div>\r\n\r\n  <form class=\"aoc-verif-form\" id=\"aocVerifForm\" autocomplete=\"off\">\r\n    <input\r\n      type=\"text\"\r\n      id=\"aocVerifInput\"\r\n      class=\"aoc-verif-input\"\r\n      placeholder=\"N\u00famero de c\u00e9dula o n\u00famero de carn\u00e9\"\r\n      inputmode=\"numeric\"\r\n    \/>\r\n    <!-- Campo trampa para bots: debe permanecer vac\u00edo. Los usuarios reales no lo ven. -->\r\n    <input type=\"text\" id=\"aocVerifHoneypot\" class=\"aoc-verif-honeypot\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\" \/>\r\n    <button type=\"submit\" class=\"aoc-verif-btn\" id=\"aocVerifBtn\">Verificar<\/button>\r\n  <\/form>\r\n\r\n  <div class=\"aoc-verif-foot\">\r\n    <p class=\"aoc-verif-foot-text\">\r\n      Verificar este dato antes de compartir informaci\u00f3n, otorgar acceso o brindar atenci\u00f3n es una medida sencilla que protege tanto a nuestros pacientes y aliados como la seguridad de nuestros propios colaboradores frente a posibles suplantaciones.\r\n    <\/p>\r\n    <p class=\"aoc-verif-foot-text\">\r\n      Por seguridad, el n\u00famero de identificaci\u00f3n se muestra parcialmente enmascarado y las b\u00fasquedas fallidas quedan registradas. El tratamiento de estos datos se realiza conforme a la pol\u00edtica de tratamiento de datos personales de ADO.\r\n    <\/p>\r\n    <p class=\"aoc-verif-foot-text aoc-verif-foot-text--strong\">\r\n      \u00bfTienes dudas sobre este resultado? Comun\u00edcate con nosotros:\r\n    <\/p>\r\n    <div class=\"aoc-verif-contact-btns\">\r\n      <a href=\"mailto:comunicaciones@angiografiadeoccidente.com.co?subject=Consulta%20verificaci%C3%B3n%20de%20carn%C3%A9\" class=\"aoc-contact-btn aoc-contact-btn--mail\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M3 6h18v12H3z\" stroke=\"currentColor\" stroke-width=\"1.6\"\/><path d=\"M3 7l9 6 9-6\" stroke=\"currentColor\" stroke-width=\"1.6\"\/><\/svg>\r\n        Escr\u00edbenos por correo\r\n      <\/a>\r\n      <a href=\"https:\/\/wa.me\/573154293113?text=Hola%2C%20tengo%20una%20duda%20sobre%20la%20verificaci%C3%B3n%20de%20un%20carn%C3%A9\" target=\"_blank\" rel=\"noopener\" class=\"aoc-contact-btn aoc-contact-btn--wa\">\r\n        <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M12 3a9 9 0 00-7.8 13.5L3 21l4.6-1.2A9 9 0 1012 3z\" stroke=\"currentColor\" stroke-width=\"1.6\"\/><\/svg>\r\n        Escr\u00edbenos por WhatsApp\r\n      <\/a>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- ===== MODAL \/ POPUP DE RESULTADO ===== -->\r\n<div class=\"aoc-verif-modal-overlay\" id=\"aocVerifModalOverlay\">\r\n  <div class=\"aoc-verif-modal\" id=\"aocVerifModal\" role=\"dialog\" aria-modal=\"true\" aria-live=\"polite\">\r\n    <button type=\"button\" class=\"aoc-verif-modal-close\" id=\"aocVerifModalClose\" aria-label=\"Cerrar\">\r\n      <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M5 5l14 14M19 5L5 19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg>\r\n    <\/button>\r\n    <div class=\"aoc-verif-modal-body\" id=\"aocVerifModalBody\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n  \/* ---------- Tokens de marca ADO ---------- *\/\r\n  .aoc-verif-wrap {\r\n    --aoc-navy: #080c56;\r\n    --aoc-blue: #2C4BD4;\r\n    --aoc-blue-bg: #EEF1FC;\r\n    --aoc-yellow: #FFC107;\r\n    --aoc-red: #E4483B;\r\n    --aoc-gray-bg: #F4F5FA;\r\n    --aoc-gray-line: #E1E3EE;\r\n    --aoc-gray-text: #5B5F76;\r\n    font-family: 'Sofia Pro', 'Poppins', -apple-system, sans-serif !important;\r\n    max-width: 560px !important;\r\n    margin: 0 auto !important;\r\n    padding: 40px 24px !important;\r\n    box-sizing: border-box !important;\r\n  }\r\n  .aoc-verif-wrap *, .aoc-verif-wrap *::before, .aoc-verif-wrap *::after {\r\n    box-sizing: border-box !important;\r\n  }\r\n\r\n  .aoc-verif-header { text-align: center !important; margin-bottom: 28px !important; }\r\n  .aoc-verif-eyebrow {\r\n    display: inline-block !important;\r\n    background: var(--aoc-yellow) !important;\r\n    color: var(--aoc-navy) !important;\r\n    font-size: 11.5px !important;\r\n    font-weight: 700 !important;\r\n    letter-spacing: 0.1em !important;\r\n    text-transform: uppercase !important;\r\n    padding: 5px 12px !important;\r\n    border-radius: 999px !important;\r\n    margin-bottom: 12px !important;\r\n  }\r\n  .aoc-verif-title {\r\n    color: var(--aoc-navy) !important;\r\n    font-size: 26px !important;\r\n    font-weight: 700 !important;\r\n    margin: 0 0 8px 0 !important;\r\n    line-height: 1.25 !important;\r\n  }\r\n  .aoc-verif-sub {\r\n    color: var(--aoc-gray-text) !important;\r\n    font-size: 14.5px !important;\r\n    margin: 0 !important;\r\n    line-height: 1.5 !important;\r\n  }\r\n  .aoc-verif-intro {\r\n    color: var(--aoc-gray-text) !important;\r\n    font-size: 13.5px !important;\r\n    line-height: 1.65 !important;\r\n    text-align: left !important;\r\n    background: var(--aoc-gray-bg) !important;\r\n    border-radius: 12px !important;\r\n    padding: 16px 18px !important;\r\n    margin: 20px 0 0 0 !important;\r\n  }\r\n\r\n  .aoc-verif-form {\r\n    display: flex !important;\r\n    gap: 10px !important;\r\n    margin-bottom: 4px !important;\r\n  }\r\n  .aoc-verif-input {\r\n    flex: 1 !important;\r\n    padding: 14px 16px !important;\r\n    border: 1.5px solid var(--aoc-gray-line) !important;\r\n    border-radius: 10px !important;\r\n    font-size: 15px !important;\r\n    font-family: inherit !important;\r\n    color: var(--aoc-navy) !important;\r\n    outline: none !important;\r\n    transition: border-color .15s ease !important;\r\n  }\r\n  .aoc-verif-input:focus { border-color: var(--aoc-navy) !important; }\r\n  .aoc-verif-btn {\r\n    background: var(--aoc-navy) !important;\r\n    background-image: none !important;\r\n    box-shadow: none !important;\r\n    color: #fff !important;\r\n    border: none !important;\r\n    border-radius: 10px !important;\r\n    padding: 14px 22px !important;\r\n    font-size: 15px !important;\r\n    font-weight: 600 !important;\r\n    font-family: inherit !important;\r\n    cursor: pointer !important;\r\n    white-space: nowrap !important;\r\n    transition: opacity .15s ease !important;\r\n  }\r\n  .aoc-verif-btn:hover:not(:disabled) { opacity: 0.88 !important; }\r\n  .aoc-verif-btn:disabled { opacity: 0.6 !important; cursor: default !important; }\r\n\r\n  \/* Campo trampa para bots: invisible pero presente en el DOM\/tabulaci\u00f3n evitada *\/\r\n  .aoc-verif-honeypot {\r\n    position: absolute !important;\r\n    left: -9999px !important;\r\n    top: -9999px !important;\r\n    width: 1px !important;\r\n    height: 1px !important;\r\n    opacity: 0 !important;\r\n    pointer-events: none !important;\r\n  }\r\n\r\n  .aoc-verif-foot {\r\n    margin-top: 26px !important;\r\n    padding-top: 22px !important;\r\n    border-top: 1px solid var(--aoc-gray-line) !important;\r\n    text-align: center !important;\r\n  }\r\n  .aoc-verif-foot-text {\r\n    font-size: 12.5px !important;\r\n    color: var(--aoc-gray-text) !important;\r\n    line-height: 1.55 !important;\r\n    margin: 0 0 6px 0 !important;\r\n  }\r\n  .aoc-verif-foot-text--strong {\r\n    color: var(--aoc-navy) !important;\r\n    font-weight: 600 !important;\r\n    font-size: 13.5px !important;\r\n    margin-top: 14px !important;\r\n  }\r\n  .aoc-verif-contact-btns {\r\n    display: flex !important;\r\n    gap: 10px !important;\r\n    justify-content: center !important;\r\n    margin-top: 12px !important;\r\n    flex-wrap: wrap !important;\r\n  }\r\n  .aoc-contact-btn {\r\n    display: inline-flex !important;\r\n    align-items: center !important;\r\n    gap: 7px !important;\r\n    text-decoration: none !important;\r\n    font-size: 13px !important;\r\n    font-weight: 600 !important;\r\n    font-family: inherit !important;\r\n    padding: 10px 16px !important;\r\n    border-radius: 999px !important;\r\n    transition: opacity .15s ease !important;\r\n  }\r\n  .aoc-contact-btn:hover { opacity: 0.85 !important; }\r\n  .aoc-contact-btn--mail {\r\n    background: #fff !important;\r\n    color: var(--aoc-navy) !important;\r\n    border: 1.5px solid var(--aoc-navy) !important;\r\n  }\r\n  .aoc-contact-btn--wa {\r\n    background: var(--aoc-yellow) !important;\r\n    color: var(--aoc-navy) !important;\r\n    border: 1.5px solid var(--aoc-yellow) !important;\r\n  }\r\n\r\n  \/* =====================================================\r\n     MODAL \/ POPUP\r\n     ===================================================== *\/\r\n  .aoc-verif-modal-overlay {\r\n    display: none !important;\r\n    position: fixed !important;\r\n    inset: 0 !important;\r\n    background: rgba(8, 12, 86, 0.55) !important;\r\n    backdrop-filter: blur(2px) !important;\r\n    z-index: 999999 !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    padding: 20px !important;\r\n    animation: aocOverlayIn .18s ease !important;\r\n  }\r\n  .aoc-verif-modal-overlay.is-open {\r\n    display: flex !important;\r\n  }\r\n  @keyframes aocOverlayIn { from { opacity: 0; } to { opacity: 1; } }\r\n\r\n  .aoc-verif-modal {\r\n    --aoc-navy: #080c56;\r\n    --aoc-blue: #2C4BD4;\r\n    --aoc-blue-bg: #EEF1FC;\r\n    --aoc-yellow: #FFC107;\r\n    --aoc-red: #E4483B;\r\n    --aoc-gray-bg: #F4F5FA;\r\n    --aoc-gray-line: #E1E3EE;\r\n    --aoc-gray-text: #5B5F76;\r\n    font-family: 'Sofia Pro', 'Poppins', -apple-system, sans-serif !important;\r\n    position: relative !important;\r\n    background: #fff !important;\r\n    border-radius: 20px !important;\r\n    max-width: 380px !important;\r\n    width: 100% !important;\r\n    padding: 40px 28px 28px 28px !important;\r\n    box-shadow: 0 20px 60px rgba(8, 12, 86, 0.35) !important;\r\n    animation: aocModalIn .22s cubic-bezier(.2,.9,.3,1.2) !important;\r\n  }\r\n  .aoc-verif-modal *, .aoc-verif-modal *::before, .aoc-verif-modal *::after {\r\n    box-sizing: border-box !important;\r\n  }\r\n  @keyframes aocModalIn {\r\n    from { opacity: 0; transform: translateY(14px) scale(.97); }\r\n    to { opacity: 1; transform: none; }\r\n  }\r\n\r\n  .aoc-verif-modal-close {\r\n    position: absolute !important;\r\n    top: 14px !important;\r\n    right: 14px !important;\r\n    width: 32px !important;\r\n    height: 32px !important;\r\n    border-radius: 50% !important;\r\n    border: none !important;\r\n    background: var(--aoc-gray-bg) !important;\r\n    color: var(--aoc-gray-text) !important;\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    cursor: pointer !important;\r\n    padding: 0 !important;\r\n    transition: background .15s ease, color .15s ease !important;\r\n  }\r\n  .aoc-verif-modal-close:hover {\r\n    background: var(--aoc-navy) !important;\r\n    color: #fff !important;\r\n  }\r\n\r\n  \/* ---------- Contenido dentro del modal (foto arriba, texto abajo) ---------- *\/\r\n  .aoc-badge-modal {\r\n    display: flex !important;\r\n    flex-direction: column !important;\r\n    align-items: center !important;\r\n    text-align: center !important;\r\n  }\r\n\r\n  .aoc-badge-photo {\r\n    width: 92px !important;\r\n    height: 92px !important;\r\n    border-radius: 50% !important;\r\n    object-fit: cover !important;\r\n    flex-shrink: 0 !important;\r\n    border: 3px solid #fff !important;\r\n    box-shadow: 0 0 0 3px var(--aoc-blue-bg) !important;\r\n    margin-bottom: 16px !important;\r\n  }\r\n  .aoc-badge--inactive .aoc-badge-photo {\r\n    box-shadow: 0 0 0 3px #FDEEEC !important;\r\n  }\r\n  .aoc-badge-photo--placeholder {\r\n    background: var(--aoc-navy) !important;\r\n    color: #fff !important;\r\n    display: flex !important;\r\n    align-items: center !important;\r\n    justify-content: center !important;\r\n    font-weight: 700 !important;\r\n    font-size: 26px !important;\r\n  }\r\n\r\n  .aoc-badge-name {\r\n    color: var(--aoc-navy) !important;\r\n    font-weight: 700 !important;\r\n    font-size: 19px !important;\r\n    margin: 0 0 4px 0 !important;\r\n    line-height: 1.3 !important;\r\n  }\r\n  .aoc-badge-role {\r\n    color: var(--aoc-gray-text) !important;\r\n    font-size: 14px !important;\r\n    margin: 0 0 14px 0 !important;\r\n    line-height: 1.5 !important;\r\n  }\r\n  .aoc-badge-status {\r\n    display: inline-flex !important;\r\n    align-items: center !important;\r\n    gap: 6px !important;\r\n    font-size: 13px !important;\r\n    font-weight: 700 !important;\r\n    padding: 6px 14px !important;\r\n    border-radius: 999px !important;\r\n    margin-bottom: 16px !important;\r\n  }\r\n  .aoc-badge-status--active { background: var(--aoc-blue) !important; color: #fff !important; }\r\n  .aoc-badge-status--inactive { background: var(--aoc-red) !important; color: #fff !important; }\r\n\r\n  .aoc-badge-meta-block {\r\n    width: 100% !important;\r\n    background: var(--aoc-gray-bg) !important;\r\n    border-radius: 12px !important;\r\n    padding: 12px 16px !important;\r\n  }\r\n  .aoc-badge-meta {\r\n    font-size: 12.5px !important;\r\n    color: var(--aoc-gray-text) !important;\r\n    margin: 0 !important;\r\n    line-height: 1.7 !important;\r\n  }\r\n\r\n  \/* ---------- No encontrado \/ mensajes (dentro del modal) ---------- *\/\r\n  .aoc-badge-icon {\r\n    width: 64px !important; height: 64px !important;\r\n    flex-shrink: 0 !important;\r\n    display: flex !important; align-items: center !important; justify-content: center !important;\r\n    margin-bottom: 16px !important;\r\n    border-radius: 50% !important;\r\n    background: #FDEEEC !important;\r\n  }\r\n  .aoc-badge--notfound .aoc-badge-name { margin-bottom: 8px !important; }\r\n  .aoc-badge--notfound .aoc-badge-role {\r\n    margin-bottom: 0 !important;\r\n    font-size: 13.5px !important;\r\n  }\r\n\r\n  .aoc-verif-loading,\r\n  .aoc-verif-message {\r\n    color: var(--aoc-gray-text) !important;\r\n    font-size: 14px !important;\r\n    text-align: center !important;\r\n    padding: 30px 10px !important;\r\n  }\r\n\r\n  @media (max-width: 480px) {\r\n    .aoc-verif-form { flex-direction: column !important; }\r\n    .aoc-verif-title { font-size: 22px !important; }\r\n    .aoc-verif-modal { padding: 36px 22px 24px 22px !important; }\r\n  }\r\n<\/style>\r\n\r\n<script>\r\n(function () {\r\n  \/**\r\n   * ======================================================================\r\n   * CONFIGURACI\u00d3N \u2014 reemplaza estos dos valores tras desplegar Code.gs\r\n   * ======================================================================\r\n   * WEB_APP_URL: la URL \/exec que te entrega Apps Script al implementar.\r\n   * SHARED_TOKEN: debe ser EXACTAMENTE igual al SHARED_TOKEN de Code.gs.\r\n   *\r\n   * Nota de transparencia: al ser un widget que corre en el navegador,\r\n   * cualquier persona t\u00e9cnica puede ver este token en el c\u00f3digo fuente\r\n   * de la p\u00e1gina. Por eso el token por s\u00ed solo NO es la protecci\u00f3n\r\n   * principal: lo importante es que el backend (Code.gs) nunca expone\r\n   * la hoja completa, solo el registro que coincide, con la c\u00e9dula\r\n   * enmascarada, y aplica l\u00edmite de solicitudes por navegador. Si en el\r\n   * futuro se requiere un nivel de seguridad mayor, lo recomendable es\r\n   * mover esta llave a un servidor propio (fuera del navegador).\r\n   * ======================================================================\r\n   *\/\r\n  var WEB_APP_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbxFPLrFDMHqqRaj0QKNqM1BcNcgJ8xxYNKyqebBXA_Zux_s57FiBrdwHXIaHB-T1_leLw\/exec\";\r\n  var SHARED_TOKEN = \"hsKm77iKe7zC9x8UjgKlTBwmBhKQBulTBz7qBlbv\";\r\n\r\n  var form = document.getElementById('aocVerifForm');\r\n  var input = document.getElementById('aocVerifInput');\r\n  var honeypot = document.getElementById('aocVerifHoneypot');\r\n  var btn = document.getElementById('aocVerifBtn');\r\n\r\n  var overlay = document.getElementById('aocVerifModalOverlay');\r\n  var modalBody = document.getElementById('aocVerifModalBody');\r\n  var modalClose = document.getElementById('aocVerifModalClose');\r\n\r\n  var MIN_INTERVAL_MS = 2500; \/\/ fricci\u00f3n extra entre b\u00fasquedas, del lado del navegador\r\n  var lastRequestAt = 0;\r\n\r\n  function getClientId() {\r\n    try {\r\n      var key = 'aocVerifClientId';\r\n      var id = localStorage.getItem(key);\r\n      if (!id) {\r\n        id = 'c_' + Date.now().toString(36) + Math.random().toString(36).slice(2, 10);\r\n        localStorage.setItem(key, id);\r\n      }\r\n      return id;\r\n    } catch (e) {\r\n      return 'anon_' + Math.random().toString(36).slice(2, 10);\r\n    }\r\n  }\r\n  var clientId = getClientId();\r\n\r\n  function initials(name) {\r\n    if (!name) return '\u2014';\r\n    var parts = name.trim().split(\/\\s+\/);\r\n    return ((parts[0] || '')[0] + (parts[1] ? parts[1][0] : '')).toUpperCase();\r\n  }\r\n\r\n  \/* ---------- Control del modal ---------- *\/\r\n  function openModal() {\r\n    overlay.classList.add('is-open');\r\n    document.body.style.overflow = 'hidden';\r\n  }\r\n  function closeModal() {\r\n    overlay.classList.remove('is-open');\r\n    document.body.style.overflow = '';\r\n  }\r\n  modalClose.addEventListener('click', closeModal);\r\n  overlay.addEventListener('click', function (e) {\r\n    if (e.target === overlay) closeModal();\r\n  });\r\n  document.addEventListener('keydown', function (e) {\r\n    if (e.key === 'Escape' && overlay.classList.contains('is-open')) closeModal();\r\n  });\r\n\r\n  function renderLoading() {\r\n    modalBody.innerHTML = '<div class=\"aoc-verif-loading\">Consultando base de datos\u2026<\/div>';\r\n    openModal();\r\n  }\r\n\r\n  function renderMessage(text) {\r\n    modalBody.innerHTML = '<div class=\"aoc-verif-message\">' + text + '<\/div>';\r\n    openModal();\r\n  }\r\n\r\n  function renderNotFound() {\r\n    modalBody.innerHTML =\r\n      '<div class=\"aoc-badge-modal aoc-badge--notfound\">' +\r\n        '<div class=\"aoc-badge-icon\">' +\r\n          '<svg width=\"32\" height=\"32\" viewBox=\"0 0 24 24\" fill=\"none\"><circle cx=\"12\" cy=\"12\" r=\"10\" stroke=\"#E4483B\" stroke-width=\"1.6\"\/><path d=\"M12 8v5\" stroke=\"#E4483B\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><circle cx=\"12\" cy=\"16\" r=\"1\" fill=\"#E4483B\"\/><\/svg>' +\r\n        '<\/div>' +\r\n        '<p class=\"aoc-badge-name\">No encontramos ese registro<\/p>' +\r\n        '<p class=\"aoc-badge-role\">Este n\u00famero no corresponde a ning\u00fan carn\u00e9 vigente de Angiograf\u00eda de Occidente. Este intento de verificaci\u00f3n ha sido registrado. Si tienes dudas sobre la vinculaci\u00f3n de una persona, comun\u00edcate directamente con Comunicaciones o Talento Humano de ADO.<\/p>' +\r\n      '<\/div>';\r\n    openModal();\r\n  }\r\n\r\n  function renderResult(res) {\r\n    var estado = (res.estado || '').toString().trim().toLowerCase();\r\n    var isActive = estado === 'activo';\r\n    var photo = (res.foto || '').trim();\r\n\r\n    var photoHtml = photo\r\n      ? '<img decoding=\"async\" class=\"aoc-badge-photo\" src=\"' + photo + '\" alt=\"' + (res.nombre || '') + '\" \/>'\r\n      : '<div class=\"aoc-badge-photo aoc-badge-photo--placeholder\">' + initials(res.nombre) + '<\/div>';\r\n\r\n    var statusHtml = isActive\r\n      ? '<span class=\"aoc-badge-status aoc-badge-status--active\">\u25cf Vinculaci\u00f3n activa<\/span>'\r\n      : '<span class=\"aoc-badge-status aoc-badge-status--inactive\">\u25cf No vigente<\/span>';\r\n\r\n    var today = new Date().toLocaleDateString('es-CO', { day: 'numeric', month: 'long', year: 'numeric' });\r\n\r\n    modalBody.innerHTML =\r\n      '<div class=\"aoc-badge-modal ' + (isActive ? 'aoc-badge--active' : 'aoc-badge--inactive') + '\">' +\r\n        photoHtml +\r\n        '<p class=\"aoc-badge-name\">' + (res.nombre || 'Sin nombre registrado') + '<\/p>' +\r\n        '<p class=\"aoc-badge-role\">' + (res.cargo || '') + (res.sede ? ' \u00b7 ' + res.sede : '') + '<\/p>' +\r\n        statusHtml +\r\n        '<div class=\"aoc-badge-meta-block\">' +\r\n          \/\/ La c\u00e9dula llega ya enmascarada desde el backend (nunca completa).\r\n          '<p class=\"aoc-badge-meta\">C.C. ' + (res.cedulaMasked || '\u2014') + ' \u00b7 Carn\u00e9 N.\u00b0 ' + (res.numeroCarne || '\u2014') + '<\/p>' +\r\n          '<p class=\"aoc-badge-meta\">Expedido el ' + (res.fechaExpedicion || '\u2014') + ' \u00b7 Verificado el ' + today + '<\/p>' +\r\n        '<\/div>' +\r\n      '<\/div>';\r\n    openModal();\r\n  }\r\n\r\n  function callBackend(action, value, extra) {\r\n    var payload = { token: SHARED_TOKEN, clientId: clientId, action: action, value: value };\r\n    if (extra) {\r\n      for (var k in extra) { payload[k] = extra[k]; }\r\n    }\r\n    return fetch(WEB_APP_URL, {\r\n      method: 'POST',\r\n      headers: { 'Content-Type': 'text\/plain;charset=utf-8' },\r\n      body: JSON.stringify(payload)\r\n    }).then(function (res) { return res.json(); });\r\n  }\r\n\r\n  function search(rawValue) {\r\n    var value = (rawValue || '').toString().trim();\r\n    if (!value) return;\r\n\r\n    \/\/ Si el campo trampa fue llenado, es muy probable que sea un bot: se ignora en silencio.\r\n    if (honeypot && honeypot.value) return;\r\n\r\n    var now = Date.now();\r\n    if (now - lastRequestAt < MIN_INTERVAL_MS) {\r\n      renderMessage('Espera un momento antes de intentar de nuevo.');\r\n      return;\r\n    }\r\n    lastRequestAt = now;\r\n\r\n    renderLoading();\r\n    btn.disabled = true;\r\n\r\n    callBackend('verify', value, {\r\n      pageUrl: window.location.href,\r\n      userAgent: navigator.userAgent\r\n    })\r\n      .then(function (res) {\r\n        btn.disabled = false;\r\n        if (res.error === 'rate_limited') {\r\n          renderMessage('Has hecho demasiadas verificaciones seguidas. Espera un minuto e intenta de nuevo.');\r\n          return;\r\n        }\r\n        if (res.error) {\r\n          renderMessage('No pudimos completar la verificaci\u00f3n. Intenta de nuevo en un momento.');\r\n          return;\r\n        }\r\n        if (res.found) {\r\n          renderResult(res);\r\n        } else {\r\n          \/\/ El registro del intento fallido ya lo hace el backend\r\n          \/\/ dentro de esta misma solicitud, no hace falta una segunda llamada.\r\n          renderNotFound();\r\n        }\r\n      })\r\n      .catch(function () {\r\n        btn.disabled = false;\r\n        renderMessage('No pudimos conectar con el servicio de verificaci\u00f3n. Intenta de nuevo en un momento.');\r\n      });\r\n  }\r\n\r\n  form.addEventListener('submit', function (e) {\r\n    e.preventDefault();\r\n    search(input.value);\r\n  });\r\n\r\n  var params = new URLSearchParams(window.location.search);\r\n  var qParam = params.get('cedula') || params.get('carne');\r\n  if (qParam) {\r\n    input.value = qParam;\r\n    search(qParam);\r\n  }\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Angiograf\u00eda de Occidente S.A. Verificaci\u00f3n de Carn\u00e9 Digital Confirma en tiempo real si una persona est\u00e1 vinculada activamente con Angiograf\u00eda de Occidente S.A. Este aplicativo te permite confirmar, de forma inmediata y directamente con nuestra base de datos oficial, si la persona que se presenta como parte de Angiograf\u00eda de Occidente S.A. cuenta con una [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-19648","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Validaci\u00f3n de Carn\u00e9 Digital | Angiograf\u00eda de Occidente<\/title>\n<meta name=\"description\" content=\"A trav\u00e9s de esta plataforma puedes validar carn\u00e9 digital del personal de Angiograf\u00eda de Occidente de forma r\u00e1pida, oficial y segura.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validaci\u00f3n de Carn\u00e9 Digital | Angiograf\u00eda de Occidente\" \/>\n<meta property=\"og:description\" content=\"A trav\u00e9s de esta plataforma puedes validar carn\u00e9 digital del personal de Angiograf\u00eda de Occidente de forma r\u00e1pida, oficial y segura.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/\" \/>\n<meta property=\"og:site_name\" content=\"Angiograf\u00eda de Occidente\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/angiografiadeoccidentesa\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-21T17:10:38+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@angiografiadeo\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/validar-carne\\\/\",\"url\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/validar-carne\\\/\",\"name\":\"Validaci\u00f3n de Carn\u00e9 Digital | Angiograf\u00eda de Occidente\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/#website\"},\"datePublished\":\"2026-08-19T14:38:45+00:00\",\"dateModified\":\"2026-08-21T17:10:38+00:00\",\"description\":\"A trav\u00e9s de esta plataforma puedes validar carn\u00e9 digital del personal de Angiograf\u00eda de Occidente de forma r\u00e1pida, oficial y segura.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/validar-carne\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/validar-carne\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/validar-carne\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validaci\u00f3n de Carn\u00e9 Digital\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/#website\",\"url\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/\",\"name\":\"Angiograf\u00eda de Occidente\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/#organization\",\"name\":\"ANGIOGRAF\u00cdA DE OCCIDENTE\",\"url\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/color-horizontal.png\",\"contentUrl\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/wp-content\\\/uploads\\\/2020\\\/06\\\/color-horizontal.png\",\"width\":500,\"height\":155,\"caption\":\"ANGIOGRAF\u00cdA DE OCCIDENTE\"},\"image\":{\"@id\":\"https:\\\/\\\/www.angiografiadeoccidente.com.co\\\/angio\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/angiografiadeoccidentesa\\\/\",\"https:\\\/\\\/x.com\\\/angiografiadeo\",\"https:\\\/\\\/www.instagram.com\\\/angiografiadeoccidente\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/angiografiadeoccidente\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UChja9ImlUP-vGj_ZZx5mH2A?view_as=subscriber\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validaci\u00f3n de Carn\u00e9 Digital | Angiograf\u00eda de Occidente","description":"A trav\u00e9s de esta plataforma puedes validar carn\u00e9 digital del personal de Angiograf\u00eda de Occidente de forma r\u00e1pida, oficial y segura.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/","og_locale":"es_ES","og_type":"article","og_title":"Validaci\u00f3n de Carn\u00e9 Digital | Angiograf\u00eda de Occidente","og_description":"A trav\u00e9s de esta plataforma puedes validar carn\u00e9 digital del personal de Angiograf\u00eda de Occidente de forma r\u00e1pida, oficial y segura.","og_url":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/","og_site_name":"Angiograf\u00eda de Occidente","article_publisher":"https:\/\/www.facebook.com\/angiografiadeoccidentesa\/","article_modified_time":"2026-08-21T17:10:38+00:00","twitter_card":"summary_large_image","twitter_site":"@angiografiadeo","twitter_misc":{"Tiempo de lectura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/","url":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/","name":"Validaci\u00f3n de Carn\u00e9 Digital | Angiograf\u00eda de Occidente","isPartOf":{"@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/#website"},"datePublished":"2026-08-19T14:38:45+00:00","dateModified":"2026-08-21T17:10:38+00:00","description":"A trav\u00e9s de esta plataforma puedes validar carn\u00e9 digital del personal de Angiograf\u00eda de Occidente de forma r\u00e1pida, oficial y segura.","breadcrumb":{"@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/validar-carne\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/"},{"@type":"ListItem","position":2,"name":"Validaci\u00f3n de Carn\u00e9 Digital"}]},{"@type":"WebSite","@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/#website","url":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/","name":"Angiograf\u00eda de Occidente","description":"","publisher":{"@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/#organization","name":"ANGIOGRAF\u00cdA DE OCCIDENTE","url":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/#\/schema\/logo\/image\/","url":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-content\/uploads\/2020\/06\/color-horizontal.png","contentUrl":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-content\/uploads\/2020\/06\/color-horizontal.png","width":500,"height":155,"caption":"ANGIOGRAF\u00cdA DE OCCIDENTE"},"image":{"@id":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/angiografiadeoccidentesa\/","https:\/\/x.com\/angiografiadeo","https:\/\/www.instagram.com\/angiografiadeoccidente\/","https:\/\/www.linkedin.com\/in\/angiografiadeoccidente\/","https:\/\/www.youtube.com\/channel\/UChja9ImlUP-vGj_ZZx5mH2A?view_as=subscriber"]}]}},"_links":{"self":[{"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/pages\/19648","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/comments?post=19648"}],"version-history":[{"count":37,"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/pages\/19648\/revisions"}],"predecessor-version":[{"id":19689,"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/pages\/19648\/revisions\/19689"}],"wp:attachment":[{"href":"https:\/\/www.angiografiadeoccidente.com.co\/angio\/wp-json\/wp\/v2\/media?parent=19648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}