{"id":6,"date":"2026-06-08T23:15:18","date_gmt":"2026-06-08T23:15:18","guid":{"rendered":"https:\/\/gestion.cienciaysaludmental.cl\/?page_id=6"},"modified":"2026-06-09T15:42:32","modified_gmt":"2026-06-09T15:42:32","slug":"6-2","status":"publish","type":"page","link":"https:\/\/gestion.cienciaysaludmental.cl\/","title":{"rendered":""},"content":{"rendered":"\n<div id=\"psico-dashboard-wrapper\">\n  \n  <style>\n    #psico-dashboard-wrapper {\n      width: 100% !important; max-width: 100% !important; margin: 0 !important;\n      padding: 24px; box-sizing: border-box; background-color: #f8fafc;\n      font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n      color: #1e293b;\n    }\n    #psico-dashboard-wrapper * { box-sizing: border-box; }\n\n    .psico-header-main {\n      display: flex; justify-content: space-between; align-items: center;\n      margin-bottom: 24px; padding: 16px 24px; background: #ffffff;\n      border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,0.05); border: 1px solid #e2e8f0;\n    }\n    .psico-header-main h1 { margin: 0; font-size: 1.6rem; font-weight: 700; color: #0f172a; }\n    \n    .psico-grid-layout {\n      display: grid; grid-template-columns: 320px 1fr 360px; gap: 24px; align-items: start;\n    }\n\n    .psico-panel {\n      background: #ffffff; border-radius: 12px; border: 1px solid #e2e8f0;\n      box-shadow: 0 4px 6px -1px rgba(0,0,0,0.02), 0 2px 4px -1px rgba(0,0,0,0.01);\n      display: flex; flex-direction: column; max-height: 85vh; overflow: hidden;\n    }\n\n    .psico-panel-header {\n      padding: 16px 20px; border-bottom: 1px solid #f1f5f9; background: #fafafa;\n    }\n    .psico-panel-header h3 { margin: 0; font-size: 1.1rem; font-weight: 600; color: #0f172a; }\n    \n    .psico-panel-body { padding: 20px; overflow-y: auto; flex-grow: 1; }\n\n    \/* Pesta\u00f1as de Navegaci\u00f3n *\/\n    .psico-nav-tabs {\n      display: flex; gap: 4px; background: #f1f5f9; padding: 4px; border-radius: 8px; margin-bottom: 20px;\n    }\n    .psico-tab-btn {\n      flex: 1; padding: 8px 12px; cursor: pointer; border: none; background: transparent;\n      border-radius: 6px; font-size: 0.85rem; font-weight: 500; color: #64748b; text-align: center; transition: all 0.2s;\n    }\n    .psico-tab-btn.active { background: #ffffff; color: #2563eb; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }\n    .psico-tab-content { display: none; flex-direction: column; }\n    .psico-tab-content.active { display: flex; }\n\n    \/* Formularios y Dise\u00f1os de Bloques *\/\n    .psico-form-group { margin-bottom: 16px; }\n    .psico-form-group label {\n      display: block; font-size: 0.8rem; font-weight: 600; color: #475569;\n      margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px;\n    }\n    .psico-row { display: flex; gap: 12px; margin-bottom: 12px; }\n    .psico-row .psico-form-group { flex: 1; margin-bottom: 0; }\n\n    .psico-input, .psico-select, .psico-textarea {\n      width: 100%; padding: 10px 14px; border: 1px solid #cbd5e1; border-radius: 8px;\n      font-size: 0.9rem; color: #334155; background-color: #ffffff; transition: all 0.2s;\n    }\n    .psico-input:focus, .psico-select:focus, .psico-textarea:focus {\n      outline: none; border-color: #2563eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);\n    }\n    .psico-textarea { resize: vertical; min-height: 110px; line-height: 1.5; }\n\n    \/* Tarjetas de Certificados y Historial *\/\n    .psico-doc-card {\n      background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px;\n      padding: 12px; margin-bottom: 10px; display: flex; justify-content: space-between; align-items: center;\n    }\n    .psico-doc-title { font-size: 0.85rem; font-weight: 600; color: #334155; }\n    .psico-doc-meta { font-size: 0.75rem; color: #64748b; }\n\n    .psico-timeline { border-left: 2px solid #e2e8f0; padding-left: 16px; margin-left: 8px; }\n    .psico-timeline-item { position: relative; margin-bottom: 20px; }\n    .psico-timeline-item::before {\n      content: ''; position: absolute; left: -22px; top: 4px; width: 10px; height: 10px; border-radius: 50%; background: #2563eb;\n    }\n\n    \/* Botones *\/\n    .psico-btn {\n      background: #2563eb; color: #ffffff; border: 1px solid #2563eb; padding: 10px 16px;\n      border-radius: 8px; cursor: pointer; font-size: 0.9rem; font-weight: 500;\n      display: inline-flex; align-items: center; justify-content: center; gap: 8px; transition: all 0.2s;\n    }\n    .psico-btn:hover { background: #1d4ed8; border-color: #1d4ed8; }\n    .psico-btn-secondary { background: #ffffff; color: #41556d; border-color: #cbd5e1; }\n    .psico-btn-secondary:hover { background: #f8fafc; border-color: #94a3b8; }\n    .psico-btn-block { width: 100%; }\n\n    \/* Listas *\/\n    .psico-patient-list { list-style: none; padding: 0; margin: 0; }\n    .psico-patient-list li {\n      padding: 12px 16px; border-bottom: 1px solid #f1f5f9; cursor: pointer;\n      display: flex; justify-content: space-between; align-items: center; border-radius: 8px;\n    }\n    .psico-patient-list li:hover { background: #f0fdf4; }\n    .psico-badge-active { background: #dcfce7; color: #15803d; font-size: 0.75rem; padding: 4px 8px; border-radius: 6px; font-weight: 600;}\n    \n    @media (max-width: 1200px) {\n      .psico-grid-layout { grid-template-columns: 1fr; }\n      .psico-panel { max-height: none; }\n    }\n  <\/style>\n\n  <div class=\"psico-header-main\">\n    <div>\n      <h1>PsicoGestion Pro v6000<\/h1>\n      <div style=\"font-size: 0.85rem; color: #64748b; margin-top: 4px;\">M\u00f3dulo de Atenci\u00f3n Cl\u00ednica Directa<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"psico-grid-layout\">\n    \n    <div class=\"psico-panel\">\n      <div class=\"psico-panel-header\"><h3>Listado Cl\u00ednico<\/h3><\/div>\n      <div class=\"psico-panel-body\" style=\"padding: 16px;\">\n        \n        <button id=\"btn-nuevo-paciente\" class=\"psico-btn psico-btn-block\" style=\"margin-bottom: 16px; background:#059669; border-color:#059669;\">\n          \u2795 Apertura de Ficha Nueva\n        <\/button>\n        \n        <input type=\"text\" class=\"psico-input\" id=\"psico-search\" placeholder=\"Buscar por RUT o Nombre...\" style=\"margin-bottom: 15px;\">\n        \n        <ul class=\"psico-patient-list\" id=\"psico-list-container\">\n          <li>\n            <div style=\"padding: 10px; text-align: center;\"><strong>\u23f3 Inicializando entorno&#8230;<\/strong><\/div>\n          <\/li>\n        <\/ul>\n      <\/div>\n    <\/div>\n\n    <div class=\"psico-panel\">\n      <div class=\"psico-panel-header\" style=\"display: flex; justify-content: space-between; align-items: center;\">\n        <div>\n          <span style=\"font-size: 0.75rem; text-transform: uppercase; color: #64748b; font-weight:600;\">Expediente de Trabajo<\/span>\n          <h2 style=\"margin:0; font-size:1.3rem; font-weight:700; color:#0f172a;\" id=\"active-patient-name\">Ficha en Blanco<\/h2>\n        <\/div>\n        \n        <div style=\"display: flex; gap: 10px; align-items: center;\">\n          <label style=\"font-size: 0.75rem; font-weight: bold; color: #475569;\">ETAPA:<\/label>\n          <select class=\"psico-select\" id=\"psico-etapa-proceso\" style=\"padding: 4px 8px; font-size: 0.8rem; width: auto; font-weight: bold; background-color: #f8fafc;\">\n            <option value=\"Evaluaci\u00f3n Inicial\">Evaluaci\u00f3n Inicial<\/option>\n            <option value=\"Tratamiento Activo\" selected>Tratamiento Activo<\/option>\n            <option value=\"Seguimiento\">En Seguimiento<\/option>\n            <option value=\"Pausa Terap\u00e9utica\">Pausa Terap\u00e9utica<\/option>\n            <option value=\"Alta Cl\u00ednica\">Alta Cl\u00ednica<\/option>\n          <\/select>\n          <span class=\"psico-badge-active\" id=\"psico-id-ficha\">ID: Pendiente<\/span>\n        <\/div>\n      <\/div>\n\n      <div class=\"psico-panel-body\">\n        <div class=\"psico-nav-tabs\">\n          <button class=\"psico-tab-btn active\" onclick=\"switchModule(event, 'mod-demograficos')\">Datos Generales<\/button>\n          <button class=\"psico-tab-btn\" onclick=\"switchModule(event, 'mod-anamnesis')\">Anamnesis<\/button>\n          <button class=\"psico-tab-btn\" onclick=\"switchModule(event, 'mod-evoluciones')\">Evoluci\u00f3n e Historial<\/button>\n          <button class=\"psico-tab-btn\" onclick=\"switchModule(event, 'mod-certificados')\">Certificados y Docs<\/button>\n        <\/div>\n\n        <div id=\"mod-demograficos\" class=\"psico-tab-content active\">\n          <div class=\"psico-row\">\n            <div class=\"psico-form-group\">\n              <label>RUT (Sin puntos, con gui\u00f3n)<\/label>\n              <input type=\"text\" id=\"psico-rut\" class=\"psico-input\" placeholder=\"Ej: 12345678-9\">\n            <\/div>\n            <div class=\"psico-form-group\">\n              <label>Nombre Completo<\/label>\n              <input type=\"text\" id=\"psico-nombre\" class=\"psico-input\" placeholder=\"Nombre y Apellidos\">\n            <\/div>\n          <\/div>\n          <div class=\"psico-row\">\n            <div class=\"psico-form-group\">\n              <label>Fecha de Nacimiento<\/label>\n              <input type=\"date\" id=\"psico-nacimiento\" class=\"psico-input\">\n            <\/div>\n            <div class=\"psico-form-group\">\n              <label>Tel\u00e9fono de Contacto<\/label>\n              <input type=\"tel\" id=\"psico-telefono\" class=\"psico-input\" placeholder=\"+56 9...\">\n            <\/div>\n          <\/div>\n          <div class=\"psico-row\">\n            <div class=\"psico-form-group\">\n              <label>Correo Electr\u00f3nico<\/label>\n              <input type=\"email\" id=\"psico-correo\" class=\"psico-input\" placeholder=\"correo@ejemplo.com\">\n            <\/div>\n            <div class=\"psico-form-group\">\n              <label>Previsi\u00f3n de Salud<\/label>\n              <select id=\"psico-prevision\" class=\"psico-select\">\n                <option value=\"Fonasa\">Fonasa<\/option>\n                <option value=\"Isapre Consalud\">Isapre Consalud<\/option>\n                <option value=\"Isapre Colmena\">Isapre Colmena<\/option>\n                <option value=\"Isapre Banm\u00e9dica\">Isapre Banm\u00e9dica<\/option>\n                <option value=\"Isapre CruzBlanca\">Isapre CruzBlanca<\/option>\n                <option value=\"Particular\">Particular<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n          <div class=\"psico-form-group\">\n            <label>Contacto de Emergencia (Nombre \/ V\u00ednculo \/ Fono)<\/label>\n            <input type=\"text\" id=\"psico-emergencia\" class=\"psico-input\" placeholder=\"Nombre - Parentesco - Tel\u00e9fono\">\n          <\/div>\n        <\/div>\n\n        <div id=\"mod-anamnesis\" class=\"psico-tab-content\">\n          <div class=\"psico-form-group\">\n            <label>Motivo de Consulta Inicial<\/label>\n            <textarea id=\"psico-motivo\" class=\"psico-textarea\" placeholder=\"Raz\u00f3n principal de la consulta cl\u00ednica...\"><\/textarea>\n          <\/div>\n          <div class=\"psico-form-group\">\n            <label>Antecedentes M\u00e9dicos y Comorbilidades M\u00f3rbidas<\/label>\n            <textarea id=\"psico-antecedentes\" class=\"psico-textarea\" placeholder=\"Enfermedades, cirug\u00edas relevantes...\"><\/textarea>\n          <\/div>\n          <div class=\"psico-form-group\">\n            <label>Historial Cl\u00ednico (Derivaciones \/ Conclusiones previas)<\/label>\n            <textarea id=\"psico-historial\" class=\"psico-textarea\" placeholder=\"Terapias anteriores, observaciones...\"><\/textarea>\n          <\/div>\n          <div class=\"psico-form-group\">\n            <label>Farmacoterapia Activa Actual<\/label>\n            <input type=\"text\" id=\"psico-farmacos\" class=\"psico-input\" placeholder=\"Ej: Escitalopram 10mg...\">\n          <\/div>\n        <\/div>\n\n        <div id=\"mod-evoluciones\" class=\"psico-tab-content\">\n          <div style=\"background: #f8fafc; border: 1px solid #e2e8f0; padding: 16px; border-radius: 8px; margin-bottom: 20px;\">\n            <div style=\"font-weight: 600; font-size: 0.9rem; margin-bottom: 10px; color: #0f172a;\">\ud83d\udcdd Ingresar Notas de la Sesi\u00f3n Actual<\/div>\n            <div class=\"psico-form-group\" style=\"margin-bottom: 0;\">\n              <textarea id=\"psico-nueva-evolucion\" class=\"psico-textarea\" style=\"min-height: 90px;\" placeholder=\"Escriba aqu\u00ed los avances, estado mental y t\u00e9cnicas de la sesi\u00f3n de hoy...\"><\/textarea>\n            <\/div>\n          <\/div>\n          <label style=\"font-size: 0.8rem; font-weight: 700; color: #475569; text-transform: uppercase; display: block; margin-bottom: 12px;\">Historial de Sesiones<\/label>\n          <div class=\"psico-timeline\">\n            <div class=\"psico-timeline-item\">\n              <span style=\"font-size:0.75rem; font-weight:700; color:#2563eb;\">Registro de Historial<\/span>\n              <p style=\"margin:4px 0 0 0; font-size:0.85rem; color:#475569;\">Las sesiones y observaciones de este paciente se consolidar\u00e1n aqu\u00ed.<\/p>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div id=\"mod-certificados\" class=\"psico-tab-content\">\n          <div style=\"margin-bottom: 20px;\">\n            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:12px; color:#0f172a;\">Certificados Emitidos Disponibles<\/div>\n            <div class=\"psico-doc-card\">\n              <div class=\"psico-doc-info\">\n                <span class=\"psico-doc-title\">Certificado de Asistencia General<\/span>\n                <span class=\"psico-doc-meta\">Historial del Paciente Seleccionado<\/span>\n              <\/div>\n              <button class=\"psico-btn\" style=\"padding: 6px 12px; font-size:0.8rem;\" onclick=\"alert('Abriendo archivo PDF...')\">Ver PDF<\/button>\n            <\/div>\n          <\/div>\n          <div>\n            <div style=\"font-weight:600; font-size:0.9rem; margin-bottom:12px; color:#0f172a;\">Repositorio de Archivos Externos<\/div>\n            <div class=\"psico-doc-card\" style=\"border-style: dashed; background: transparent; justify-content: center; padding: 20px;\">\n              <span style=\"color:#64748b; font-size:0.85rem; cursor: pointer;\" onclick=\"alert('M\u00f3dulo de carga de archivos en desarrollo.')\">\ud83d\udcc1 Hacer clic para Subir Consentimiento o Informes<\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n      <\/div>\n      <div class=\"psico-panel-header\" style=\"border-top: 1px solid #f1f5f9; border-bottom: none; background: #ffffff; padding: 16px 20px; display:flex; justify-content:flex-end;\">\n        <button id=\"btn-guardar-ficha\" class=\"psico-btn\" style=\"font-size: 1rem; padding: 12px 24px;\">\ud83d\udcbe Guardar Expediente Completo<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"psico-panel\">\n      <div class=\"psico-panel-header\"><h3>Acciones Cl\u00ednicas y Derivaci\u00f3n<\/h3><\/div>\n      <div class=\"psico-panel-body\" style=\"flex-grow:0; border-bottom: 1px solid #f1f5f9;\">\n        <button class=\"psico-btn psico-btn-block\" style=\"margin-bottom:8px; background:#2563eb;\" onclick=\"alert('Abriendo editor para Emitir Certificado de Atenci\u00f3n...')\">\n          \ud83d\udcdd Emitir Certificado de Atenci\u00f3n\n        <\/button>\n        <button class=\"psico-btn psico-btn-secondary psico-btn-block\" style=\"text-align:left; border-left: 4px solid #06b6d4;\" onclick=\"alert('Iniciando protocolo de derivaci\u00f3n a Karla Miranda...')\">\n          \ud83e\udd1d Coordinar Derivaci\u00f3n (K. Miranda)\n        <\/button>\n      <\/div>\n\n      <div class=\"psico-panel-header\"><h3>Agenda y Bloques<\/h3><\/div>\n      <div class=\"psico-panel-body\">\n        <div style=\"background: #eff6ff; padding: 12px; border-radius: 8px; border-left: 4px solid #2563eb; margin-bottom: 10px;\">\n          <strong style=\"font-size:0.85rem; color:#1e40af;\">M\u00f3dulo de Agenda<\/strong><br>\n          <span style=\"font-size:0.8rem; color:#1e3a8a;\">Sincronizaci\u00f3n activa para gesti\u00f3n de citas.<\/span>\n        <\/div>\n      <\/div>\n    <\/div>\n\n  <\/div>\n\n  <script>\n    \/\/ ==========================================\n    \/\/ URL DEFINITIVA DE GOOGLE APPS SCRIPT\n    \/\/ ==========================================\n    const WEB_APP_URL = \"https:\/\/script.google.com\/macros\/s\/AKfycbwAUHCYVDtSwG-UYGuy6SyqVJO33JBMoO_Lc3l3SEy-6SbVUtbsc5PGoMrERKTpCeCY\/exec\"; \n    \n    let listaPacientesGlobal = [];\n\n    \/\/ 1. DESCARGAR PACIENTES Y SESIONES AL INICIAR\n    function cargarBaseDatos() {\n      const contenedorLista = document.getElementById('psico-list-container');\n      contenedorLista.innerHTML = '<li><div style=\"padding: 10px; text-align: center;\"><strong>\u23f3 Sincronizando...<\/strong><br><span style=\"font-size:0.8rem; color:#64748b;\">Descargando datos cl\u00ednicos de la nube<\/span><\/div><\/li>';\n\n      fetch(WEB_APP_URL)\n        .then(res => res.json())\n        .then(data => {\n          listaPacientesGlobal = data;\n          renderizarListaPacientes(data);\n        })\n        .catch(error => {\n          console.error(\"Error al cargar datos:\", error);\n          contenedorLista.innerHTML = '<li><div style=\"padding: 10px; text-align: center;\"><strong style=\"color:#dc2626;\">\u274c Error de Conexi\u00f3n<\/strong><br><span style=\"font-size:0.8rem;\">No se pudo conectar con Google Sheets. Revise la URL o su conexi\u00f3n.<\/span><\/div><\/li>';\n        });\n    }\n\n    \/\/ 2. DIBUJAR LA LISTA EN LA PANTALLA\n    function renderizarListaPacientes(pacientes) {\n      const contenedorLista = document.getElementById('psico-list-container');\n      contenedorLista.innerHTML = '';\n      if (pacientes.length === 0) {\n        contenedorLista.innerHTML = '<li><div style=\"padding: 10px; text-align: center;\"><strong>No hay pacientes encontrados<\/strong><\/div><\/li>';\n        return;\n      }\n      pacientes.forEach(p => {\n        const li = document.createElement('li');\n        li.onclick = () => cargarDatosEnFicha(p);\n        li.innerHTML = `\n          <div><strong>${p.nombre || 'Sin Nombre'}<\/strong><br><span style=\"font-size:0.8rem; color:#64748b;\">${p.rut}<\/span><\/div>\n          <span class=\"psico-badge-active\" style=\"background:#e2e8f0; color:#475569;\">${p.etapa || 'Registrado'}<\/span>\n        `;\n        contenedorLista.appendChild(li);\n      });\n    }\n\n    \/\/ 3. BUSCADOR INTERACTIVO EN TIEMPO REAL\n    document.getElementById('psico-search').addEventListener('keyup', function() {\n      const texto = this.value.toLowerCase();\n      const filtrados = listaPacientesGlobal.filter(p => \n        (p.nombre && p.nombre.toLowerCase().includes(texto)) || \n        (p.rut && p.rut.toLowerCase().includes(texto))\n      );\n      renderizarListaPacientes(filtrados);\n    });\n\n    \/\/ 4. ABRIR UN PACIENTE, RELLENAR FICHA Y DIBUJAR HISTORIAL\n    function cargarDatosEnFicha(p) {\n      document.getElementById('active-patient-name').innerText = p.nombre || \"Ficha Cl\u00ednica\";\n      document.getElementById('psico-id-ficha').innerText = \"RUT: \" + p.rut;\n      \n      document.getElementById('psico-rut').value = p.rut || \"\";\n      document.getElementById('psico-nombre').value = p.nombre || \"\";\n      document.getElementById('psico-nacimiento').value = p.nacimiento || \"\";\n      document.getElementById('psico-telefono').value = p.telefono || \"\";\n      document.getElementById('psico-correo').value = p.correo || \"\";\n      document.getElementById('psico-prevision').value = p.prevision || \"Fonasa\";\n      document.getElementById('psico-emergencia').value = p.emergencia || \"\";\n      document.getElementById('psico-etapa-proceso').value = p.etapa || \"Evaluaci\u00f3n Inicial\";\n      \n      document.getElementById('psico-motivo').value = p.motivo || \"\";\n      document.getElementById('psico-antecedentes').value = p.antecedentes || \"\";\n      document.getElementById('psico-historial').value = p.historial || \"\";\n      document.getElementById('psico-farmacos').value = p.farmacos || \"\";\n      document.getElementById('psico-nueva-evolucion').value = \"\"; \/\/ Limpia la sesi\u00f3n actual al cambiar\n\n      \/\/ Renderizar el Historial Cronol\u00f3gico de Sesiones\n      const timelineContenedor = document.querySelector('.psico-timeline');\n      timelineContenedor.innerHTML = \"\"; \n      \n      if (p.sesiones && p.sesiones.length > 0) {\n        p.sesiones.forEach((sesion, index) => {\n          const item = document.createElement('div');\n          \/\/ Destacar visualmente la nota m\u00e1s reciente\n          item.className = 'psico-timeline-item' + (index === 0 ? ' latest' : '');\n          item.innerHTML = `\n            <span style=\"font-size:0.8rem; font-weight:700; color:${index === 0 ? '#2563eb' : '#475569'};\">Sesi\u00f3n \u2014 ${sesion.fecha}<\/span>\n            <span style=\"font-size:0.7rem; color:#64748b; margin-left:10px; background: #f1f5f9; padding: 2px 6px; border-radius: 4px;\">Prof: ${sesion.profesional}<\/span>\n            <p style=\"margin:6px 0 0 0; font-size:0.9rem; color:#334155; white-space: pre-wrap; line-height: 1.4;\">${sesion.observacion}<\/p>\n          `;\n          timelineContenedor.appendChild(item);\n        });\n      } else {\n        timelineContenedor.innerHTML = `\n          <div class=\"psico-timeline-item\">\n            <span style=\"font-size:0.75rem; font-weight:700; color:#64748b;\">Sin registros previos<\/span>\n            <p style=\"margin:4px 0 0 0; font-size:0.85rem; color:#475569;\">Este paciente a\u00fan no tiene notas de evoluci\u00f3n guardadas en el historial.<\/p>\n          <\/div>\n        `;\n      }\n\n      \/\/ Activar siempre la pesta\u00f1a de Datos Generales al cargar un paciente\n      document.querySelector('.psico-tab-btn').click();\n    }\n\n    \/\/ Controlador del Sistema de Pesta\u00f1as\n    function switchModule(event, moduleId) {\n      const panelWrapper = event.currentTarget.closest('.psico-panel-body');\n      const tabButtons = panelWrapper.querySelectorAll('.psico-tab-btn');\n      tabButtons.forEach(btn => btn.classList.remove('active'));\n      const tabContents = panelWrapper.querySelectorAll('.psico-tab-content');\n      tabContents.forEach(content => content.classList.remove('active'));\n      event.currentTarget.classList.add('active');\n      panelWrapper.querySelector(`#${moduleId}`).classList.add('active');\n    }\n\n    \/\/ Preparar interfaz para paciente nuevo (Limpieza total)\n    function prepararNuevoIngreso() {\n      document.getElementById('active-patient-name').innerText = \"Nueva Ficha Cl\u00ednica\";\n      document.getElementById('psico-id-ficha').innerText = \"ID: Pendiente\";\n      \n      const inputs = document.querySelectorAll('.psico-input, .psico-textarea');\n      inputs.forEach(input => { if(input.id !== 'psico-search') input.value = \"\"; });\n      \n      document.querySelector('.psico-timeline').innerHTML = `\n        <div class=\"psico-timeline-item\">\n          <span style=\"font-size:0.75rem; font-weight:700; color:#64748b;\">Expediente Nuevo<\/span>\n          <p style=\"margin:4px 0 0 0; font-size:0.85rem; color:#475569;\">Guarde los datos generales del paciente primero para habilitar el registro de sesiones en la base de datos.<\/p>\n        <\/div>`;\n        \n      document.querySelector('.psico-tab-btn').click();\n      document.getElementById('psico-rut').focus();\n    }\n\n    \/\/ Enviar datos hacia el Backend de Google Sheets\n    function guardarExpediente() {\n      const btnGuardar = document.getElementById('btn-guardar-ficha');\n      const textoOriginal = btnGuardar.innerText;\n      \n      const rutValue = document.getElementById('psico-rut').value.trim();\n      if(!rutValue) { \n        alert(\"\u26a0\ufe0f ATENCI\u00d3N: El campo RUT es obligatorio para poder guardar o actualizar la ficha de este paciente.\"); \n        document.getElementById('psico-rut').focus();\n        return; \n      }\n\n      btnGuardar.innerText = \"\u23f3 Guardando y Sincronizando...\";\n      btnGuardar.style.backgroundColor = \"#94a3b8\"; \n      btnGuardar.style.borderColor = \"#94a3b8\";\n      btnGuardar.disabled = true;\n\n      const datosPaciente = {\n        rut: rutValue, \n        nombre: document.getElementById('psico-nombre').value,\n        nacimiento: document.getElementById('psico-nacimiento').value, \n        telefono: document.getElementById('psico-telefono').value,\n        correo: document.getElementById('psico-correo').value, \n        prevision: document.getElementById('psico-prevision').value,\n        emergencia: document.getElementById('psico-emergencia').value, \n        etapa: document.getElementById('psico-etapa-proceso').value,\n        motivo: document.getElementById('psico-motivo').value, \n        antecedentes: document.getElementById('psico-antecedentes').value,\n        historial: document.getElementById('psico-historial').value, \n        farmacos: document.getElementById('psico-farmacos').value,\n        nuevaEvolucion: document.getElementById('psico-nueva-evolucion').value \n      };\n\n      fetch(WEB_APP_URL, {\n        method: 'POST',\n        body: JSON.stringify({ accion: \"guardarPacienteCompleto\", datos: datosPaciente }),\n        headers: { \"Content-Type\": \"text\/plain;charset=utf-8\" }\n      })\n      .then(res => res.json())\n      .then(res => {\n        if(res.estado === \"exito\") {\n          \/\/ Limpiar solo la caja de nueva sesi\u00f3n si se guard\u00f3 correctamente\n          document.getElementById('psico-nueva-evolucion').value = \"\"; \n          alert(\"\u2705 Guardado con \u00e9xito. La base de datos ha sido actualizada.\");\n          cargarBaseDatos(); \/\/ Refresca autom\u00e1ticamente para mostrar los cambios\n        } else {\n          alert(\"\u274c Error de Guardado: \" + res.mensaje);\n        }\n      })\n      .catch(error => {\n        console.error(\"Error de POST:\", error);\n        alert(\"\u26a0\ufe0f Hubo un problema comunic\u00e1ndose con el servidor. Revise su conexi\u00f3n e intente nuevamente.\");\n      })\n      .finally(() => { \n        \/\/ Restaurar bot\u00f3n a la normalidad\n        btnGuardar.innerText = textoOriginal; \n        btnGuardar.style.backgroundColor = \"\"; \n        btnGuardar.style.borderColor = \"\";\n        btnGuardar.disabled = false; \n      });\n    }\n\n    \/\/ Inicializaci\u00f3n y Asignaci\u00f3n de Eventos Principales\n    document.getElementById('btn-nuevo-paciente').addEventListener('click', prepararNuevoIngreso);\n    document.getElementById('btn-guardar-ficha').addEventListener('click', guardarExpediente);\n    \n    \/\/ Dispara la descarga apenas la estructura web est\u00e9 lista\n    document.addEventListener('DOMContentLoaded', cargarBaseDatos);\n  <\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>PsicoGestion Pro v6000 M\u00f3dulo de Atenci\u00f3n Cl\u00ednica Directa Listado Cl\u00ednico \u2795 Apertura de Ficha Nueva \u23f3 Inicializando entorno&#8230; Expediente de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-6","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=\/wp\/v2\/pages\/6","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6"}],"version-history":[{"count":15,"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions"}],"predecessor-version":[{"id":27,"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=\/wp\/v2\/pages\/6\/revisions\/27"}],"wp:attachment":[{"href":"https:\/\/gestion.cienciaysaludmental.cl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}