{"id":2607,"date":"2019-09-12T11:05:18","date_gmt":"2019-09-12T16:05:18","guid":{"rendered":"https:\/\/www.itrc.gov.co\/Itrc\/?page_id=2607"},"modified":"2025-09-27T19:28:31","modified_gmt":"2025-09-28T00:28:31","slug":"normativa-aplicada","status":"publish","type":"page","link":"https:\/\/www.itrc.gov.co\/Itrc\/normativa-aplicada\/","title":{"rendered":"Normativa Aplicable"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Normograma&nbsp;<\/h2>\n\n\n\n<p>En cumplimiento a lo establecido en el literal d) del art\u00edculo 9 de la Ley 1712 de 2014 \"Ley de la Transparencia y del Derecho de Acceso a la Informaci\u00f3n P\u00fablica Nacional\", la cual tiene como finalidad garantizar el derecho de acceso a la informaci\u00f3n p\u00fablica, se publica el normograma que contiene la normativa general y reglamentaria aplicable en cada una de las \u00e1reas y dependencias de la Agencia ITRC. <a rel=\"noopener\" href=\"https:\/\/www.funcionpublica.gov.co\/eva\/gestornormativo\/norma.php?i=56882\" target=\"_blank\">Clic aqu\u00ed<\/a> para ver la Ley 1712 de 2014:<\/p>\n\n\n\n<style>\n    .normograma-container {\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;\n        max-width: 100%;\n        background: white;\n        border-radius: 8px;\n        box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n        overflow: hidden;\n    }\n\n    .normograma-header {\n        background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n        color: white;\n        padding: 20px;\n        text-align: center;\n    }\n\n    .normograma-header h2 {\n        font-size: 24px;\n        font-weight: 600;\n        margin: 0;\n    }\n\n    .normograma-controls {\n        padding: 20px;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        border-bottom: 1px solid #e5e5e5;\n        flex-wrap: wrap;\n        gap: 10px;\n    }\n\n    .normograma-search-box {\n        flex: 1;\n        min-width: 200px;\n        max-width: 400px;\n    }\n\n    .normograma-search-box input {\n        width: 100%;\n        padding: 10px 15px;\n        border: 1px solid #ddd;\n        border-radius: 4px;\n        font-size: 14px;\n    }\n\n    .normograma-search-box input:focus {\n        outline: none;\n        border-color: #667eea;\n        box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n    }\n\n    .normograma-rows-per-page {\n        display: flex;\n        align-items: center;\n        gap: 10px;\n    }\n\n    .normograma-rows-per-page label {\n        font-size: 14px;\n        color: #555;\n    }\n\n    .normograma-rows-per-page select {\n        padding: 8px 12px;\n        border: 1px solid #ddd;\n        border-radius: 4px;\n        background: white;\n        cursor: pointer;\n    }\n\n    .normograma-table-container {\n        overflow-x: auto;\n    }\n\n    .normograma-table {\n        width: 100%;\n        border-collapse: collapse;\n    }\n\n    .normograma-table thead {\n        background-color: #f8f9fa;\n        position: sticky;\n        top: 0;\n        z-index: 10;\n    }\n\n    .normograma-table th {\n        padding: 12px;\n        text-align: left;\n        font-weight: 600;\n        color: #333;\n        border-bottom: 2px solid #e5e5e5;\n        white-space: nowrap;\n    }\n\n    .normograma-table td {\n        padding: 12px;\n        border-bottom: 1px solid #f0f0f0;\n        color: #555;\n    }\n\n    .normograma-table tbody tr:hover {\n        background-color: #f8f9ff;\n    }\n\n    .normograma-pagination {\n        padding: 20px;\n        display: flex;\n        justify-content: center;\n        align-items: center;\n        gap: 10px;\n        flex-wrap: wrap;\n    }\n\n    .normograma-pagination button {\n        padding: 8px 12px;\n        border: 1px solid #ddd;\n        background: white;\n        color: #333;\n        border-radius: 4px;\n        cursor: pointer;\n        transition: all 0.2s;\n    }\n\n    .normograma-pagination button:hover:not(:disabled) {\n        background: #667eea;\n        color: white;\n        border-color: #667eea;\n    }\n\n    .normograma-pagination button:disabled {\n        opacity: 0.5;\n        cursor: not-allowed;\n    }\n\n    .normograma-pagination button.normograma-active {\n        background: #667eea;\n        color: white;\n        border-color: #667eea;\n    }\n\n    .normograma-pagination .normograma-page-info {\n        padding: 8px 16px;\n        color: #666;\n        font-size: 14px;\n    }\n\n    .normograma-loading {\n        text-align: center;\n        padding: 40px;\n        color: #666;\n    }\n\n    .normograma-error {\n        text-align: center;\n        padding: 40px;\n        color: #d32f2f;\n    }\n\n    \/* Estilos para el contenido HTML renderizado en las celdas *\/\n    .normograma-table td a {\n        color: #667eea;\n        text-decoration: none;\n    }\n\n    .normograma-table td a:hover {\n        text-decoration: underline;\n    }\n\n    .normograma-table td ul,\n    .normograma-table td ol {\n        margin: 10px 0;\n        padding-left: 20px;\n    }\n\n    .normograma-table td p {\n        margin: 5px 0;\n    }\n\n    @media (max-width: 768px) {\n        .normograma-controls {\n            flex-direction: column;\n        }\n\n        .normograma-search-box {\n            max-width: 100%;\n        }\n\n        .normograma-pagination {\n            font-size: 14px;\n        }\n\n        .normograma-pagination button {\n            padding: 6px 10px;\n        }\n\n        .normograma-table {\n            font-size: 14px;\n        }\n\n        .normograma-table th,\n        .normograma-table td {\n            padding: 8px;\n        }\n    }\n<\/style>\n\n<div class=\"normograma-container\">\n    <div class=\"normograma-header\">\n        <h2>Normograma<\/h2>\n    <\/div>\n    \n    <div class=\"normograma-controls\">\n        <div class=\"normograma-search-box\">\n            <input type=\"text\" id=\"normogramaSearchInput\" placeholder=\"Buscar en toda la tabla...\">\n        <\/div>\n        <div class=\"normograma-rows-per-page\">\n            <label for=\"normogramaRowsPerPage\">Filas por p\u00e1gina:<\/label>\n            <select id=\"normogramaRowsPerPage\">\n                <option value=\"10\">10<\/option>\n                <option value=\"25\" selected>25<\/option>\n                <option value=\"50\">50<\/option>\n                <option value=\"100\">100<\/option>\n            <\/select>\n        <\/div>\n    <\/div>\n\n    <div class=\"normograma-table-container\">\n        <div id=\"normogramaLoadingMessage\" class=\"normograma-loading\">Cargando datos...<\/div>\n        <table id=\"normogramaDataTable\" class=\"normograma-table\" style=\"display: none;\">\n            <thead id=\"normogramaTableHeader\"><\/thead>\n            <tbody id=\"normogramaTableBody\"><\/tbody>\n        <\/table>\n    <\/div>\n\n    <div class=\"normograma-pagination\" id=\"normogramaPagination\"><\/div>\n<\/div>\n\n<script>\n(function() {\n    \/\/ Variables del componente normograma\n    let normogramaAllData = [];\n    let normogramaFilteredData = [];\n    let normogramaCurrentPage = 1;\n    let normogramaRowsPerPage = 25;\n    let normogramaHeaders = [];\n\n    \/\/ Funci\u00f3n para parsear CSV\n    function normogramaParseCSV(text) {\n        const lines = text.split('\\n');\n        const result = [];\n        let currentRow = [];\n        let inQuotes = false;\n        let currentField = '';\n        \n        for (let line of lines) {\n            for (let i = 0; i < line.length; i++) {\n                const char = line[i];\n                const nextChar = line[i + 1];\n                \n                if (char === '\"') {\n                    if (inQuotes && nextChar === '\"') {\n                        currentField += '\"';\n                        i++;\n                    } else {\n                        inQuotes = !inQuotes;\n                    }\n                } else if (char === ',' && !inQuotes) {\n                    currentRow.push(currentField);\n                    currentField = '';\n                } else {\n                    currentField += char;\n                }\n            }\n            \n            if (!inQuotes) {\n                currentRow.push(currentField);\n                if (currentRow.length > 1 || currentRow[0]) {\n                    result.push([...currentRow]);\n                }\n                currentRow = [];\n                currentField = '';\n            } else {\n                currentField += '\\n';\n            }\n        }\n        \n        return result;\n    }\n\n    \/\/ Funci\u00f3n para cargar y procesar el CSV\n    async function normogramaLoadData() {\n        try {\n            const response = await fetch('\/Itrc\/normograma.csv');\n            if (!response.ok) {\n                throw new Error('Error al cargar el archivo CSV');\n            }\n            \n            const text = await response.text();\n            const rows = normogramaParseCSV(text);\n            \n            if (rows.length > 0) {\n                normogramaHeaders = rows[0];\n                normogramaAllData = rows.slice(1).filter(row => row.length === normogramaHeaders.length);\n                normogramaFilteredData = [...normogramaAllData];\n                \n                normogramaRenderTable();\n                document.getElementById('normogramaLoadingMessage').style.display = 'none';\n                document.getElementById('normogramaDataTable').style.display = 'table';\n            }\n        } catch (error) {\n            console.error('Error:', error);\n            document.getElementById('normogramaLoadingMessage').innerHTML = \n                '<div class=\"normograma-error\">Error al cargar los datos. Por favor, verifica que el archivo CSV est\u00e9 disponible en \/itrc\/normograma.csv<\/div>';\n        }\n    }\n\n    \/\/ Funci\u00f3n para renderizar la tabla\n    function normogramaRenderTable() {\n        normogramaRenderHeaders();\n        normogramaRenderRows();\n        normogramaRenderPagination();\n    }\n\n    \/\/ Renderizar encabezados\n    function normogramaRenderHeaders() {\n        const headerRow = document.getElementById('normogramaTableHeader');\n        headerRow.innerHTML = '<tr>' + normogramaHeaders.map(header => `<th>${header}<\/th>`).join('') + '<\/tr>';\n    }\n\n    \/\/ Renderizar filas de datos\n    function normogramaRenderRows() {\n        const tbody = document.getElementById('normogramaTableBody');\n        const start = (normogramaCurrentPage - 1) * normogramaRowsPerPage;\n        const end = start + normogramaRowsPerPage;\n        const pageData = normogramaFilteredData.slice(start, end);\n        \n        tbody.innerHTML = pageData.map(row => \n            '<tr>' + row.map(cell => `<td>${cell}<\/td>`).join('') + '<\/tr>'\n        ).join('');\n    }\n\n    \/\/ Renderizar paginaci\u00f3n\n    function normogramaRenderPagination() {\n        const totalPages = Math.ceil(normogramaFilteredData.length \/ normogramaRowsPerPage);\n        const pagination = document.getElementById('normogramaPagination');\n        \n        if (totalPages <= 1) {\n            pagination.innerHTML = '';\n            return;\n        }\n        \n        let html = '';\n        \n        \/\/ Bot\u00f3n Primera p\u00e1gina\n        html += `<button onclick=\"normogramaGoToPage(1)\" ${normogramaCurrentPage === 1 ? 'disabled' : ''}>Primera<\/button>`;\n        \n        \/\/ Bot\u00f3n Anterior\n        html += `<button onclick=\"normogramaGoToPage(${normogramaCurrentPage - 1})\" ${normogramaCurrentPage === 1 ? 'disabled' : ''}>Anterior<\/button>`;\n        \n        \/\/ N\u00fameros de p\u00e1gina\n        let startPage = Math.max(1, normogramaCurrentPage - 2);\n        let endPage = Math.min(totalPages, startPage + 4);\n        \n        if (endPage - startPage < 4) {\n            startPage = Math.max(1, endPage - 4);\n        }\n        \n        for (let i = startPage; i <= endPage; i++) {\n            html += `<button onclick=\"normogramaGoToPage(${i})\" class=\"${i === normogramaCurrentPage ? 'normograma-active' : ''}\">${i}<\/button>`;\n        }\n        \n        \/\/ Bot\u00f3n Siguiente\n        html += `<button onclick=\"normogramaGoToPage(${normogramaCurrentPage + 1})\" ${normogramaCurrentPage === totalPages ? 'disabled' : ''}>Siguiente<\/button>`;\n        \n        \/\/ Bot\u00f3n \u00daltima p\u00e1gina\n        html += `<button onclick=\"normogramaGoToPage(${totalPages})\" ${normogramaCurrentPage === totalPages ? 'disabled' : ''}>\u00daltima<\/button>`;\n        \n        \/\/ Informaci\u00f3n de p\u00e1gina\n        const start = (normogramaCurrentPage - 1) * normogramaRowsPerPage + 1;\n        const end = Math.min(normogramaCurrentPage * normogramaRowsPerPage, normogramaFilteredData.length);\n        html += `<span class=\"normograma-page-info\">Mostrando ${start}-${end} de ${normogramaFilteredData.length} registros<\/span>`;\n        \n        pagination.innerHTML = html;\n    }\n\n    \/\/ Funci\u00f3n para cambiar de p\u00e1gina (global para onclick)\n    window.normogramaGoToPage = function(page) {\n        const totalPages = Math.ceil(normogramaFilteredData.length \/ normogramaRowsPerPage);\n        if (page >= 1 && page <= totalPages) {\n            normogramaCurrentPage = page;\n            normogramaRenderRows();\n            normogramaRenderPagination();\n        }\n    }\n\n    \/\/ Funci\u00f3n de b\u00fasqueda\n    function normogramaFilterData() {\n        const searchTerm = document.getElementById('normogramaSearchInput').value.toLowerCase();\n        \n        if (!searchTerm) {\n            normogramaFilteredData = [...normogramaAllData];\n        } else {\n            normogramaFilteredData = normogramaAllData.filter(row => \n                row.some(cell => cell.toLowerCase().includes(searchTerm))\n            );\n        }\n        \n        normogramaCurrentPage = 1;\n        normogramaRenderRows();\n        normogramaRenderPagination();\n    }\n\n    \/\/ Event listeners\n    document.getElementById('normogramaSearchInput').addEventListener('input', normogramaFilterData);\n    \n    document.getElementById('normogramaRowsPerPage').addEventListener('change', function(e) {\n        normogramaRowsPerPage = parseInt(e.target.value);\n        normogramaCurrentPage = 1;\n        normogramaRenderRows();\n        normogramaRenderPagination();\n    });\n\n    \/\/ Cargar datos al iniciar\n    normogramaLoadData();\n})();\n<\/script>\n\n\n\n<ul class=\"wp-block-list\">\n<li> <span style=\"background-color: rgba(255, 255, 255, 0.2); color: revert; font-size: revert; font-weight: revert;\">Historico Normograma<\/span><p><a href=\"https:\/\/www.itrc.gov.co\/Itrc\/wp-content\/uploads\/2022\/10\/Normograma-Agencia-ITRC-ACTUALIZADO-SEPTIEMBRE-30-de-2022-1-1.xlsx\">Normograma actualizacion septiembre 30 de 2022<\/a><\/p> <\/li>\n\n\n\n<li><span style=\"color: revert; font-size: revert; font-weight: revert;\">Otras Disposiciones<\/span> <p><a rel=\"noopener\" href=\"https:\/\/www.mininterior.gov.co\/wp-content\/uploads\/2022\/11\/PGN-Directiva-020-de-2022.pdf\" target=\"_blank\">Directiva 020 del 2022 de la Procuradur\u00eda general de la Republica<\/a><\/p> <\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Normograma&nbsp; En cumplimiento a lo establecido en el literal d) del art\u00edculo 9 de la Ley 1712 de 2014 \"Ley de la Transparencia y del Derecho de Acceso a la Informaci\u00f3n P\u00fablica Nacional\", la cual tiene como finalidad garantizar el derecho de acceso a la informaci\u00f3n p\u00fablica, se publica el normograma que contiene la normativa general y reglamentaria aplicable en&nbsp;<a href=\"https:\/\/www.itrc.gov.co\/Itrc\/normativa-aplicada\/\" class=\"read-more\">Seguir leyendo<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-fullwidth.php","meta":{"footnotes":""},"class_list":["post-2607","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/pages\/2607","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/comments?post=2607"}],"version-history":[{"count":69,"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/pages\/2607\/revisions"}],"predecessor-version":[{"id":14831,"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/pages\/2607\/revisions\/14831"}],"wp:attachment":[{"href":"https:\/\/www.itrc.gov.co\/Itrc\/wp-json\/wp\/v2\/media?parent=2607"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}