403Webshell
Server IP : 104.21.73.108  /  Your IP : 216.73.216.59
Web Server : Apache/2
System : Linux cat167-197.static.lnwhostname.com 5.10.0-20-amd64 #1 SMP Debian 5.10.158-2 (2022-12-13) x86_64
User : paphayomho ( 1042)
PHP Version : 5.6.40
Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
MySQL : ON  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/paphayomho/domains/paphayomhospital.go.th/private_html/HA2569/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/paphayomho/domains/paphayomhospital.go.th/private_html/HA2569/service_profile_ttm.html
<!DOCTYPE html>
<html lang="th">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Service Profile กลุ่มงานการแพทย์แผนไทยและการแพทย์ทางเลือก รพ.ป่าพะยอม 2569</title>

<!-- ===== FONT & CHART LIBRARY (CDN: Google Font + Chart.js only) ===== -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700;800&display=swap" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/chart.umd.min.js"></script>

<style>
/* ============================================================
   GLOBAL TOKENS & RESET
   ============================================================ */
:root{
  --green-900:#14532d; --green-700:#15803d; --green-600:#16a34a; --green-500:#22c55e;
  --green-100:#dcfce7; --green-50:#f0fdf4;
  --teal-700:#0f766e; --teal-500:#14b8a6; --teal-100:#ccfbf1;
  --sky-700:#0369a1; --sky-600:#0284c7; --sky-500:#0ea5e9; --sky-100:#e0f2fe; --sky-50:#f0f9ff;
  --amber-500:#f59e0b; --amber-100:#fef3c7; --amber-700:#b45309;
  --red-500:#ef4444; --red-100:#fee2e2; --red-700:#b91c1c;
  --gray-500:#6b7280; --gray-300:#d1d5db; --gray-100:#f3f4f6; --gray-50:#f9fafb;
  --ink:#1f2937; --muted:#64748b;
  --shadow:0 4px 14px rgba(16,80,60,.08);
  --shadow-lg:0 10px 30px rgba(16,80,60,.12);
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{
  font-family:'Sarabun',sans-serif;color:var(--ink);line-height:1.65;
  background:linear-gradient(160deg,#f0fdf4 0%,#f0f9ff 50%,#ffffff 100%);
  background-attachment:fixed;
}
h1,h2,h3,h4{line-height:1.35;font-weight:700}
section{scroll-margin-top:84px}
.container{max-width:1180px;margin:0 auto;padding:0 20px}

/* ============================================================
   TOP NAVIGATION
   ============================================================ */
.topbar{
  position:sticky;top:0;z-index:100;
  background:rgba(255,255,255,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--green-100);box-shadow:0 2px 10px rgba(16,80,60,.05);
}
.topbar-inner{display:flex;align-items:center;gap:14px;padding:10px 20px;max-width:1180px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--green-700);white-space:nowrap}
.brand .logo{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;font-size:20px;
  background:linear-gradient(135deg,var(--green-500),var(--teal-500));color:#fff;box-shadow:var(--shadow);
}
.brand small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.navlinks{display:flex;gap:4px;overflow-x:auto;flex:1;scrollbar-width:thin}
.navlinks a{
  font-size:13px;color:var(--ink);text-decoration:none;padding:7px 11px;border-radius:10px;
  white-space:nowrap;font-weight:500;transition:.2s;
}
.navlinks a:hover{background:var(--green-100);color:var(--green-700)}
.menu-toggle{display:none;background:var(--green-600);color:#fff;border:none;border-radius:10px;padding:8px 12px;font-size:18px;cursor:pointer}

/* ============================================================
   FILTER / VIEW BUTTONS
   ============================================================ */
.viewbar{background:#fff;border-bottom:1px solid var(--green-100);padding:10px 0}
.viewbar-inner{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.vbtn{
  font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;border:1.5px solid var(--green-200,#bbf7d0);
  background:#fff;color:var(--green-700);padding:8px 14px;border-radius:30px;transition:.2s;display:flex;align-items:center;gap:6px;
}
.vbtn:hover{background:var(--green-50);transform:translateY(-1px)}
.vbtn.active{background:linear-gradient(135deg,var(--green-600),var(--teal-600,#0d9488));color:#fff;border-color:transparent;box-shadow:var(--shadow)}
.vbtn.print{margin-left:auto;border-color:var(--sky-500);color:var(--sky-700)}
.vbtn.print:hover{background:var(--sky-50)}

/* dim non-focused sections when a filter is active */
body.focus-kpi section:not(#kpi):not(#hero),
body.focus-risk section:not(#risk):not(#hero),
body.focus-exec section:not(#hero):not(#summary){display:none}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  background:linear-gradient(135deg,var(--green-700) 0%,var(--teal-700) 55%,var(--sky-700) 100%);
  color:#fff;padding:46px 0 54px;position:relative;overflow:hidden;
}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%)}
.hero::before{content:"🌿";position:absolute;left:3%;bottom:-10px;font-size:120px;opacity:.12}
.hero .container{position:relative;z-index:2}
.hero-tag{display:inline-block;background:rgba(255,255,255,.18);padding:5px 14px;border-radius:30px;font-size:13px;font-weight:600;margin-bottom:14px}
.hero h1{font-size:30px;font-weight:800;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.15)}
.hero .sub{font-size:16px;opacity:.95;font-weight:500}
.hero .meta{margin-top:10px;font-size:13px;opacity:.85;display:flex;gap:18px;flex-wrap:wrap}
.hero .meta span{display:flex;align-items:center;gap:6px}

.exec-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-32px;position:relative;z-index:5;margin-bottom:10px}
.exec-card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-lg);border-top:4px solid var(--green-500);transition:.25s}
.exec-card:nth-child(2){border-top-color:var(--teal-500)}
.exec-card:nth-child(3){border-top-color:var(--sky-500)}
.exec-card:nth-child(4){border-top-color:var(--amber-500)}
.exec-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(16,80,60,.16)}
.exec-card .ico{font-size:26px;margin-bottom:6px}
.exec-card .lbl{font-size:12px;font-weight:700;color:var(--green-600);letter-spacing:.5px;text-transform:uppercase}
.exec-card:nth-child(2) .lbl{color:var(--teal-700)}
.exec-card:nth-child(3) .lbl{color:var(--sky-700)}
.exec-card:nth-child(4) .lbl{color:var(--amber-700)}
.exec-card p{font-size:14px;color:var(--ink);margin-top:4px}

/* ============================================================
   GENERIC SECTION
   ============================================================ */
.sec{padding:40px 0}
.sec-head{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.sec-head .num{
  width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;font-weight:800;font-size:17px;color:#fff;
  background:linear-gradient(135deg,var(--green-600),var(--teal-600,#0d9488));box-shadow:var(--shadow);
}
.sec-head h2{font-size:22px;color:var(--green-900)}
.sec-head .desc{font-size:13px;color:var(--muted);font-weight:500}

.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}

.card{background:#fff;border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border:1px solid var(--green-100)}
.card h3{font-size:16px;color:var(--green-700);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.card ul{list-style:none}
.card ul li{padding:5px 0 5px 22px;position:relative;font-size:14.5px}
.card ul li::before{content:"▹";position:absolute;left:4px;color:var(--teal-500);font-weight:700}

.pill{display:inline-block;background:var(--green-100);color:var(--green-700);font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px;margin:2px}

/* Context service 4 domains */
.svc4{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.svc-item{background:linear-gradient(160deg,#fff,var(--green-50));border-radius:16px;padding:16px;border:1px solid var(--green-100);box-shadow:var(--shadow);position:relative;overflow:hidden}
.svc-item .ic{font-size:30px}
.svc-item h4{font-size:15px;color:var(--green-700);margin:6px 0}
.svc-item p{font-size:13px;color:var(--muted)}

.infobar{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.infochip{background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);border-left:4px solid var(--teal-500);flex:1;min-width:180px}
.infochip .k{font-size:12px;color:var(--muted);font-weight:600}
.infochip .v{font-size:14.5px;font-weight:600;color:var(--ink)}

/* ============================================================
   KEY QUALITY PILLARS
   ============================================================ */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillar{border-radius:var(--radius);padding:22px;color:#fff;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.pillar:nth-child(1){background:linear-gradient(140deg,var(--green-600),var(--green-700))}
.pillar:nth-child(2){background:linear-gradient(140deg,var(--teal-500),var(--teal-700))}
.pillar:nth-child(3){background:linear-gradient(140deg,var(--sky-500),var(--sky-700))}
.pillar .pico{font-size:32px;margin-bottom:6px}
.pillar h3{font-size:19px;margin-bottom:8px;color:#fff}
.pillar ul{list-style:none;font-size:14px}
.pillar ul li{padding:3px 0 3px 18px;position:relative;opacity:.96}
.pillar ul li::before{content:"✓";position:absolute;left:0;font-weight:700}
.pillar .goal{margin-top:12px;background:rgba(255,255,255,.2);border-radius:12px;padding:8px 12px;font-size:13px;font-weight:600}

/* ============================================================
   RISK MATRIX
   ============================================================ */
.risk-wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:20px;align-items:start}
.matrix{display:grid;grid-template-columns:auto repeat(3,1fr);gap:6px;font-size:12.5px}
.matrix .axis-y{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-weight:700;color:var(--muted);display:grid;place-items:center}
.matrix .corner{}
.matrix .cell{border-radius:10px;padding:10px 8px;min-height:64px;font-weight:600;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:3px;box-shadow:var(--shadow)}
.matrix .hd{background:transparent;color:var(--muted);font-weight:700;text-align:center;min-height:auto;box-shadow:none;padding:4px}
.lvl-low{background:var(--green-500)}
.lvl-med{background:var(--amber-500)}
.lvl-high{background:var(--red-500)}
.matrix .cell small{font-weight:500;font-size:11px;opacity:.95;line-height:1.3}
.axis-x{grid-column:2 / span 3;text-align:center;font-weight:700;color:var(--muted);margin-top:4px}

.risk-list .ritem{display:flex;gap:10px;padding:9px 0;border-bottom:1px dashed var(--green-100);font-size:14px;align-items:flex-start}
.risk-list .ritem:last-child{border-bottom:none}
.risk-list .rnum{flex:none;width:24px;height:24px;border-radius:50%;background:var(--red-100);color:var(--red-700);font-weight:700;display:grid;place-items:center;font-size:12px}
.ctrl-box{background:var(--green-50);border:1px solid var(--green-100);border-radius:14px;padding:14px 16px;margin-top:16px}
.ctrl-box h4{color:var(--green-700);font-size:15px;margin-bottom:6px}
.ctrl-box li{font-size:14px}

/* ============================================================
   RESOURCES
   ============================================================ */
.staff-row{display:flex;gap:12px;flex-wrap:wrap}
.staff{flex:1;min-width:150px;background:linear-gradient(160deg,#fff,var(--sky-50));border-radius:14px;padding:14px;text-align:center;border:1px solid var(--sky-100);box-shadow:var(--shadow)}
.staff .av{font-size:28px}
.staff .role{font-size:13px;font-weight:600;color:var(--sky-700);margin-top:4px}
.equip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:10px}
.equip{background:#fff;border:1px solid var(--green-100);border-radius:12px;padding:10px 12px;font-size:13.5px;display:flex;align-items:center;gap:8px;box-shadow:0 2px 6px rgba(16,80,60,.05)}
.equip .qty{margin-left:auto;background:var(--green-100);color:var(--green-700);font-weight:700;font-size:12px;border-radius:20px;padding:1px 9px}
.limit li::before{content:"⚠️"!important;left:0!important}
.limit li{padding-left:24px!important}

/* ============================================================
   PROCESS FLOW
   ============================================================ */
.flow{display:flex;flex-direction:column;gap:0}
.flow-step{display:flex;gap:16px;align-items:flex-start;position:relative;padding-bottom:18px}
.flow-step:not(:last-child)::before{content:"";position:absolute;left:21px;top:44px;bottom:-2px;width:2px;background:linear-gradient(var(--green-400,#4ade80),var(--teal-400,#2dd4bf))}
.flow-step .fdot{flex:none;width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--green-600),var(--teal-600,#0d9488));color:#fff;display:grid;place-items:center;font-weight:800;box-shadow:var(--shadow);z-index:2}
.flow-step .fbody{background:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow);border:1px solid var(--green-100);flex:1}
.flow-step .fbody h4{font-size:15px;color:var(--green-700)}
.flow-step .fbody p{font-size:13.5px;color:var(--muted);margin-top:2px}
.flow-branch{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.flow-note{background:var(--amber-100);border-left:4px solid var(--amber-500);border-radius:10px;padding:10px 14px;font-size:13.5px;margin-top:14px;color:var(--amber-700);font-weight:500}

/* ============================================================
   KEY PROCESS ACCORDION
   ============================================================ */
.acc-item{background:#fff;border:1px solid var(--green-100);border-radius:14px;margin-bottom:10px;overflow:hidden;box-shadow:var(--shadow)}
.acc-head{padding:14px 18px;display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:600;font-size:15px;color:var(--green-700);user-select:none}
.acc-head .anum{width:28px;height:28px;border-radius:8px;background:var(--green-100);color:var(--green-700);display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.acc-head .chev{margin-left:auto;transition:.3s;color:var(--muted)}
.acc-item.open .chev{transform:rotate(180deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .35s ease}
.acc-item.open .acc-body{max-height:600px}
.acc-inner{padding:0 18px 16px}
.acc-table{width:100%;border-collapse:collapse;font-size:13.5px}
.acc-table td{padding:8px 10px;border-top:1px solid var(--green-100);vertical-align:top}
.acc-table td:first-child{font-weight:600;color:var(--teal-700);width:140px;white-space:nowrap}

/* ============================================================
   KPI DASHBOARD
   ============================================================ */
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.kpi-card{background:#fff;border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);border:1px solid var(--green-100);display:flex;flex-direction:column}
.kpi-card .kpi-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px}
.kpi-card .kpi-name{font-size:14px;font-weight:600;color:var(--ink);flex:1}
.kpi-card .kpi-target{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px}
.badge{font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:20px;white-space:nowrap;flex:none}
.b-pass{background:var(--green-100);color:var(--green-700)}
.b-warn{background:var(--amber-100);color:var(--amber-700)}
.b-fail{background:var(--red-100);color:var(--red-700)}
.b-na{background:var(--gray-100);color:var(--gray-500)}
.kpi-chart-box{height:150px;position:relative;margin:4px 0 10px}
.kpi-foot{font-size:12.5px;color:var(--muted);border-top:1px dashed var(--green-100);padding-top:8px}
.kpi-foot b{color:var(--ink)}
.progress{height:8px;background:var(--gray-100);border-radius:20px;overflow:hidden;margin-top:8px}
.progress .bar{height:100%;border-radius:20px;transition:width 1s ease}
.kpi-vals{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.kpi-vals span{font-size:11.5px;background:var(--gray-50);border:1px solid var(--gray-100);border-radius:8px;padding:2px 8px;font-weight:600}

/* ============================================================
   INSIGHT / INTERPRETATION
   ============================================================ */
.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.insight-box{border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.insight-box.good{background:linear-gradient(160deg,var(--green-50),#fff);border:1px solid var(--green-100)}
.insight-box.dev{background:linear-gradient(160deg,#fff8f0,#fff);border:1px solid var(--amber-100)}
.insight-box h3{font-size:17px;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.insight-box.good h3{color:var(--green-700)}
.insight-box.dev h3{color:var(--amber-700)}
.insight-box ol{padding-left:6px;list-style:none;counter-reset:i}
.insight-box li{counter-increment:i;padding:7px 0 7px 30px;position:relative;font-size:14px;border-bottom:1px dashed rgba(0,0,0,.06)}
.insight-box li:last-child{border-bottom:none}
.insight-box li::before{content:counter(i);position:absolute;left:0;top:7px;width:21px;height:21px;border-radius:50%;font-size:12px;font-weight:700;display:grid;place-items:center;color:#fff}
.insight-box.good li::before{background:var(--green-500)}
.insight-box.dev li::before{background:var(--amber-500)}

/* ============================================================
   ROADMAP
   ============================================================ */
.roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.phase{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--green-100);overflow:hidden}
.phase .ph-head{padding:14px 18px;color:#fff;font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px}
.phase:nth-child(1) .ph-head{background:linear-gradient(135deg,var(--green-600),var(--green-700))}
.phase:nth-child(2) .ph-head{background:linear-gradient(135deg,var(--teal-500),var(--teal-700))}
.phase:nth-child(3) .ph-head{background:linear-gradient(135deg,var(--sky-600),var(--sky-700))}
.phase ul{list-style:none;padding:14px 18px}
.phase li{padding:6px 0 6px 22px;position:relative;font-size:13.8px;border-bottom:1px dashed var(--green-100)}
.phase li:last-child{border-bottom:none}
.phase li::before{content:"→";position:absolute;left:2px;color:var(--teal-500);font-weight:700}

/* ============================================================
   HA SUMMARY
   ============================================================ */
.ha-summary{background:linear-gradient(135deg,var(--green-700),var(--teal-700));color:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}
.ha-summary::before{content:"🏥";position:absolute;right:20px;top:10px;font-size:90px;opacity:.12}
.ha-summary h3{font-size:20px;margin-bottom:14px;position:relative;z-index:2}
.ha-summary p{font-size:15.5px;line-height:1.85;position:relative;z-index:2;opacity:.97}

/* ============================================================
   FOOTER
   ============================================================ */
footer{background:var(--green-900);color:#cde6d6;text-align:center;padding:22px 20px;font-size:13px;margin-top:30px}
footer b{color:#fff}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:920px){
  .exec-cards{grid-template-columns:repeat(2,1fr)}
  .svc4{grid-template-columns:repeat(2,1fr)}
  .pillars{grid-template-columns:1fr}
  .risk-wrap{grid-template-columns:1fr}
  .kpi-grid{grid-template-columns:1fr}
  .insight-grid{grid-template-columns:1fr}
  .roadmap{grid-template-columns:1fr}
  .g3,.g4,.g2{grid-template-columns:1fr}
}
@media(max-width:640px){
  .menu-toggle{display:block}
  .navlinks{display:none;position:absolute;top:60px;left:0;right:0;background:#fff;flex-direction:column;padding:10px;box-shadow:var(--shadow-lg);max-height:70vh}
  .navlinks.show{display:flex}
  .exec-cards{grid-template-columns:1fr}
  .hero h1{font-size:23px}
  .sec-head h2{font-size:18px}
}

/* ============================================================
   PRINT / PDF
   ============================================================ */
@media print{
  .topbar,.viewbar,.menu-toggle,footer .noprint{display:none!important}
  body{background:#fff;font-size:12px}
  body.focus-kpi section,body.focus-risk section,body.focus-exec section{display:block!important}
  .sec{padding:14px 0;page-break-inside:avoid}
  .card,.kpi-card,.pillar,.phase,.exec-card,.insight-box,.acc-item{box-shadow:none;border:1px solid #ccc}
  .acc-body{max-height:none!important}
  .hero{background:var(--green-700)!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kpi-chart-box{height:130px}
}
</style>
</head>
<body>

<!-- ============================================================
     TOP NAVIGATION
     ============================================================ -->
<div class="topbar">
  <div class="topbar-inner">
    <div class="brand">
      <div class="logo">🌿</div>
      <div>แพทย์แผนไทย รพ.ป่าพะยอม<small>Service Profile 2569</small></div>
    </div>
    <button class="menu-toggle" onclick="document.getElementById('nav').classList.toggle('show')">☰</button>
    <nav class="navlinks" id="nav">
      <a href="#hero">ภาพรวม</a>
      <a href="#context">บริบท</a>
      <a href="#voc">ผู้รับบริการ</a>
      <a href="#quality">ประเด็นคุณภาพ</a>
      <a href="#risk">ความเสี่ยง</a>
      <a href="#resource">ทรัพยากร</a>
      <a href="#flow">Patient Flow</a>
      <a href="#process">กระบวนการ</a>
      <a href="#kpi">ตัวชี้วัด</a>
      <a href="#interpret">วิเคราะห์ HA</a>
      <a href="#plan">แผนพัฒนา</a>
      <a href="#summary">สรุป สรพ.</a>
    </nav>
  </div>
</div>

<!-- VIEW / FILTER BUTTONS -->
<div class="viewbar">
  <div class="container viewbar-inner">
    <button class="vbtn active" data-view="all" onclick="setView(this,'all')">📋 ดูทั้งหมด</button>
    <button class="vbtn" data-view="exec" onclick="setView(this,'exec')">👔 สรุปสำหรับผู้บริหาร</button>
    <button class="vbtn" data-view="kpi" onclick="setView(this,'kpi')">📊 ดูเฉพาะตัวชี้วัด</button>
    <button class="vbtn" data-view="risk" onclick="setView(this,'risk')">⚠️ ดูความเสี่ยง</button>
    <button class="vbtn print" onclick="window.print()">🖨️ พิมพ์ / บันทึก PDF</button>
  </div>
</div>

<!-- ============================================================
     SECTION 1 — HERO / EXECUTIVE SUMMARY
     ============================================================ -->
<section id="hero" class="hero">
  <div class="container">
    <span class="hero-tag">HA Re-Accreditation · ปีงบประมาณ 2569</span>
    <h1>Service Profile กลุ่มงานการแพทย์แผนไทยและการแพทย์ทางเลือก</h1>
    <div class="sub">โรงพยาบาลป่าพะยอม อำเภอป่าพะยอม จังหวัดพัทลุง</div>
    <div class="meta">
      <span>🗓️ ปรับปรุงล่าสุด: มีนาคม 2569</span>
      <span>🏥 โรงพยาบาลชุมชน F2</span>
      <span>🌿 แพทย์แผนไทย · การแพทย์ทางเลือก</span>
    </div>
  </div>
</section>

<div class="container">
  <div class="exec-cards">
    <div class="exec-card">
      <div class="ico">🎯</div>
      <div class="lbl">Purpose</div>
      <p>ให้บริการด้านแพทย์แผนไทยเพื่อบำบัดรักษา ฟื้นฟู ส่งเสริมสุขภาพ ป้องกันโรค และให้คำแนะนำสุขภาพด้วยศาสตร์แพทย์แผนไทย</p>
    </div>
    <div class="exec-card">
      <div class="ico">⭐</div>
      <div class="lbl">Key Quality Issue</div>
      <p>ถูกต้อง · ปลอดภัย · พึงพอใจ · ได้มาตรฐานวิชาชีพ</p>
    </div>
    <div class="exec-card">
      <div class="ico">🩺</div>
      <div class="lbl">Main Service</div>
      <p>เวชกรรมไทย · เภสัชกรรมไทย · หัตถเวชกรรมไทย · ผดุงครรภ์ไทย</p>
    </div>
    <div class="exec-card">
      <div class="ico">📈</div>
      <div class="lbl">Quality Focus</div>
      <p>เพิ่มการเข้าถึงบริการ · ส่งเสริมการใช้ยาสมุนไพร · ลดความเสี่ยงจากบริการ</p>
    </div>
  </div>
</div>

<!-- ============================================================
     SECTION 2 — CONTEXT & SCOPE OF SERVICE
     ============================================================ -->
<section id="context" class="sec">
  <div class="container">
    <div class="sec-head">
      <div class="num">2</div>
      <div><h2>บริบทและขอบเขตบริการ</h2><div class="desc">Context &amp; Scope of Service</div></div>
    </div>

    <div class="infobar">
      <div class="infochip"><div class="k">⏰ วันเวลาให้บริการ</div><div class="v">จันทร์–ศุกร์ 08.30–16.30 น. (ยกเว้นวันหยุดนักขัตฤกษ์)</div></div>
      <div class="infochip"><div class="k">👥 กลุ่มผู้รับบริการ</div><div class="v">ทุกกลุ่มวัย · ทุกสิทธิการรักษา · ประชาชนทั่วไป</div></div>
    </div>

    <div class="grid g3" style="margin-bottom:16px">
      <div class="card">
        <h3>📌 หน้าที่</h3>
        <p style="font-size:14.5px">ให้บริการตรวจ วินิจฉัย บำบัดรักษา ฟื้นฟู ส่งเสริมสุขภาพ และป้องกันโรคด้วยศาสตร์การแพทย์แผนไทยและการแพทย์ทางเลือก</p>
      </div>
      <div class="card">
        <h3>🎯 เป้าหมาย</h3>
        <p style="font-size:14.5px">ผู้รับบริการได้รับบริการที่ถูกต้อง ปลอดภัย พึงพอใจ และได้มาตรฐานวิชาชีพ</p>
      </div>
      <div class="card">
        <h3>🗂️ ขอบเขตบริการ</h3>
        <p style="font-size:14.5px">บริการแพทย์แผนไทยครบ 4 ด้าน ครอบคลุมผู้ป่วยนอก ผู้ป่วยใน มารดาหลังคลอด และผู้ป่วย Intermediate Care</p>
      </div>
    </div>

    <h3 style="color:var(--green-700);margin:6px 0 12px;font-size:16px">🌿 บริการ 4 ด้านของการแพทย์แผนไทย</h3>
    <div class="svc4">
      <div class="svc-item"><div class="ic">📖</div><h4>เวชกรรมไทย</h4><p>ตรวจ วินิจฉัย ให้คำแนะนำ</p></div>
      <div class="svc-item"><div class="ic">🌱</div><h4>เภสัชกรรมไทย</h4><p>ยาสมุนไพร ยาเดี่ยว ยาตำรับ</p></div>
      <div class="svc-item"><div class="ic">💆</div><h4>หัตถเวชกรรมไทย</h4><p>นวดรักษา อบไอน้ำสมุนไพร ประคบ พอกยา ฤๅษีดัดตน</p></div>
      <div class="svc-item"><div class="ic">🤱</div><h4>ผดุงครรภ์ไทย</h4><p>ฟื้นฟูมารดาหลังคลอด นวดเปิดท่อน้ำนม ประคบสมุนไพร ยาบำรุงน้ำนม ทับหม้อเกลือ</p></div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 3 — VOICE OF CUSTOMER
     ============================================================ -->
<section id="voc" class="sec" style="background:rgba(240,253,244,.6)">
  <div class="container">
    <div class="sec-head">
      <div class="num">3</div>
      <div><h2>ความต้องการของผู้รับผลงาน</h2><div class="desc">Voice of Customer</div></div>
    </div>
    <div class="grid g2" style="margin-bottom:16px">
      <div class="card">
        <h3>🏥 ลูกค้าภายใน</h3>
        <div>
          <span class="pill">แพทย์</span><span class="pill">พยาบาล</span><span class="pill">สหวิชาชีพ</span>
          <span class="pill">ห้องบัตร</span><span class="pill">IPD</span><span class="pill">OPD</span>
          <span class="pill">ER</span><span class="pill">กายภาพบำบัด</span><span class="pill">ห้องยา</span>
          <span class="pill">การเงิน</span>
        </div>
      </div>
      <div class="card">
        <h3>🧑‍🤝‍🧑 ลูกค้าภายนอก</h3>
        <div>
          <span class="pill">ผู้รับบริการ</span><span class="pill">ญาติ</span><span class="pill">ประชาชนทั่วไป</span>
        </div>
      </div>
    </div>
    <div class="card">
      <h3>💬 ความต้องการหลัก</h3>
      <div class="grid g2">
        <ul>
          <li>ได้รับบริการรวดเร็ว ถูกต้อง ปลอดภัย ต่อเนื่อง</li>
          <li>ประสานงานดี</li>
          <li>เอกสารถูกต้องครบถ้วน</li>
        </ul>
        <ul>
          <li>สถานที่สะอาด สะดวก</li>
          <li>เจ้าหน้าที่สุภาพ มีความรู้ตามมาตรฐานวิชาชีพ</li>
          <li>เครื่องมือพร้อมและสะอาด</li>
        </ul>
      </div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 4 — KEY QUALITY ISSUES (3 PILLARS)
     ============================================================ -->
<section id="quality" class="sec">
  <div class="container">
    <div class="sec-head">
      <div class="num">4</div>
      <div><h2>ประเด็นคุณภาพสำคัญ</h2><div class="desc">Key Quality Issues — 3 เสาหลัก</div></div>
    </div>
    <div class="pillars">
      <div class="pillar">
        <div class="pico">✅</div>
        <h3>ถูกต้อง</h3>
        <ul>
          <li>ซักประวัติ ตรวจประเมิน</li>
          <li>วินิจฉัย วางแผนรักษาถูกต้อง</li>
        </ul>
        <div class="goal">🎯 เป้าหมาย: การตรวจประเมิน/วินิจฉัยผิดพลาด = 0</div>
      </div>
      <div class="pillar">
        <div class="pico">🛡️</div>
        <h3>ปลอดภัย</h3>
        <ul>
          <li>รักษาตามแผนและมาตรฐานวิชาชีพ</li>
          <li>เฝ้าระวังภาวะแทรกซ้อน</li>
        </ul>
        <div class="goal">🎯 เป้าหมาย: ภาวะแทรกซ้อนหลังบริการ ≤ 2 ครั้ง/ปี</div>
      </div>
      <div class="pillar">
        <div class="pico">😊</div>
        <h3>พึงพอใจ</h3>
        <ul>
          <li>เข้าถึงสะดวก รวดเร็ว</li>
          <li>ลดระยะเวลารอคอย</li>
        </ul>
        <div class="goal">🎯 เป้าหมาย: ความพึงพอใจ ≥ 80%</div>
      </div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 5 — CHALLENGE & RISK
     ============================================================ -->
<section id="risk" class="sec" style="background:rgba(240,249,255,.6)">
  <div class="container">
    <div class="sec-head">
      <div class="num">5</div>
      <div><h2>ความท้าทายและความเสี่ยง</h2><div class="desc">Challenge &amp; Risk Dashboard</div></div>
    </div>

    <div class="card" style="margin-bottom:18px">
      <h3>🚀 ความท้าทาย</h3>
      <ul>
        <li>สร้างสรรค์ผลงานวิชาการด้านแพทย์แผนไทยและการแพทย์ทางเลือก</li>
        <li>เพิ่มบริการที่หลากหลาย รองรับผู้รับบริการที่มีศักยภาพจ่าย เช่น นวดฝ่าเท้า</li>
      </ul>
    </div>

    <div class="risk-wrap">
      <div class="card">
        <h3>🔥 Risk Matrix (โอกาสเกิด × ความรุนแรง)</h3>
        <div class="matrix">
          <div class="corner"></div>
          <div class="hd">ต่ำ</div><div class="hd">ปานกลาง</div><div class="hd">สูง</div>
          <div class="axis-y">โอกาสเกิด</div>
          <div class="cell lvl-med">R3<small>ฟกช้ำ/รอยแดงจากประคบ</small></div>
          <div class="cell lvl-med">R1<small>ซักประวัติไม่ครอบคลุม</small></div>
          <div class="cell lvl-high">R4<small>ผู้ป่วยกลุ่มเสี่ยง HT/DM/Stroke/หัวใจ</small></div>
          <div style="grid-column:1"></div>
          <div class="cell lvl-low"><small>—</small></div>
          <div class="cell lvl-med"><small>—</small></div>
          <div class="cell lvl-high">R2<small>แพ้ยา/ผลิตภัณฑ์สมุนไพร</small></div>
          <div style="grid-column:1"></div>
          <div class="cell lvl-low"><small>—</small></div>
          <div class="cell lvl-low"><small>—</small></div>
          <div class="cell lvl-med"><small>—</small></div>
          <div class="axis-x">⟶ ความรุนแรง / ผลกระทบ</div>
        </div>
      </div>

      <div>
        <div class="card">
          <h3>⚠️ ความเสี่ยงสำคัญ</h3>
          <div class="risk-list">
            <div class="ritem"><span class="rnum">1</span><span>ซักประวัติ/ตรวจประเมินไม่ครอบคลุม</span></div>
            <div class="ritem"><span class="rnum">2</span><span>ผู้ป่วยแพ้ยาสมุนไพรหรือผลิตภัณฑ์สมุนไพร</span></div>
            <div class="ritem"><span class="rnum">3</span><span>ภาวะแทรกซ้อนจากบริการ เช่น รอยฟกช้ำ รอยแดงจากประคบ</span></div>
            <div class="ritem"><span class="rnum">4</span><span>ผู้ป่วยกลุ่มเสี่ยง: ความดันโลหิตสูง เบาหวาน โรคหลอดเลือดสมอง โรคหัวใจ</span></div>
          </div>
        </div>
        <div class="ctrl-box">
          <h4>🛡️ มาตรการควบคุมความเสี่ยง</h4>
          <ul class="card" style="box-shadow:none;border:none;padding:0;background:transparent">
            <li>ตรวจประเมินก่อนบริการ</li>
            <li>บันทึกประวัติแพ้ยา/สมุนไพร</li>
            <li>ตรวจสอบอุปกรณ์และความร้อน</li>
            <li>เฝ้าระวังอาการระหว่างบริการ</li>
            <li>ส่งต่อแพทย์แผนปัจจุบันเมื่อจำเป็น</li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 6 — RESOURCES / CAPACITY
     ============================================================ -->
<section id="resource" class="sec">
  <div class="container">
    <div class="sec-head">
      <div class="num">6</div>
      <div><h2>ทรัพยากรและข้อจำกัด</h2><div class="desc">Resources · Capacity &amp; Limitation</div></div>
    </div>

    <div class="grid g2" style="margin-bottom:16px">
      <div class="card">
        <h3>👨‍⚕️ บุคลากร (3 คน)</h3>
        <div class="staff-row">
          <div class="staff"><div class="av">🧑‍⚕️</div><div class="role">แพทย์แผนไทย</div><div style="font-weight:700;color:var(--green-700)">1 คน</div></div>
          <div class="staff"><div class="av">💆</div><div class="role">พนักงานช่วยการพยาบาล<br>ด้านการนวดไทย</div><div style="font-weight:700;color:var(--green-700)">1 คน</div></div>
          <div class="staff"><div class="av">🤝</div><div class="role">พนักงานช่วยเหลือคนไข้<br>ด้านการนวดไทย</div><div style="font-weight:700;color:var(--green-700)">1 คน</div></div>
        </div>
      </div>
      <div class="card">
        <h3>📋 ภาระงาน</h3>
        <ul>
          <li>ซักประวัติ ตรวจวินิจฉัย เฉลี่ยวันละ 13–15 คน</li>
          <li>บันทึกข้อมูล Hospital OS</li>
          <li>ให้บริการนวด ประคบ อบสมุนไพร ฟื้นฟูมารดาหลังคลอด</li>
          <li>จ่ายยาสมุนไพร</li>
          <li>เยี่ยม IPD มารดาหลังคลอด และ case IMC</li>
          <li>ให้ความรู้ผู้ป่วย NCD ทุกวันจันทร์ พุธ พฤหัสบดี และศุกร์</li>
        </ul>
      </div>
    </div>

    <div class="grid g2" style="margin-bottom:16px">
      <div class="card" style="border-left:4px solid var(--amber-500)">
        <h3>🚧 ข้อจำกัด</h3>
        <ul class="limit">
          <li>ผู้ให้บริการไม่เพียงพอกับผู้รับบริการ</li>
          <li>ยังไม่สามารถให้บริการใน รพ.สต. และออกเยี่ยมชุมชนได้เต็มที่</li>
          <li>หม้อนึ่งลูกประคบแบบกระทะไฟฟ้ามีความเสี่ยงต่อการไหม้/สายไฟ/ปลั๊ก หากใช้นาน</li>
        </ul>
      </div>
      <div class="card">
        <h3>🔧 เครื่องมือ/อุปกรณ์</h3>
        <div class="equip-grid">
          <div class="equip">🩸 เครื่องวัดความดัน digital <span class="qty">1</span></div>
          <div class="equip">🍲 หม้อนึ่งลูกประคบ <span class="qty">2</span></div>
          <div class="equip">⛺ กระโจมอบไอน้ำสมุนไพร <span class="qty">1</span></div>
          <div class="equip">🧊 ตู้เย็นเก็บสมุนไพร <span class="qty">1</span></div>
          <div class="equip">🔥 เตาไฟฟ้าทับหม้อเกลือ <span class="qty">1</span></div>
          <div class="equip">🛏️ เบาะนวด <span class="qty">4</span></div>
          <div class="equip">🛌 เตียงนวด <span class="qty">4</span></div>
          <div class="equip">🦶 เก้าอี้นวดฝ่าเท้า <span class="qty">1</span></div>
          <div class="equip">☎️ โทรศัพท์ <span class="qty">1</span></div>
          <div class="equip">🖨️ เครื่องพิมพ์ <span class="qty">1</span></div>
          <div class="equip">💻 คอมพิวเตอร์ + Hospital OS <span class="qty">1</span></div>
        </div>
      </div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 7 — PATIENT FLOW
     ============================================================ -->
<section id="flow" class="sec" style="background:rgba(240,253,244,.6)">
  <div class="container">
    <div class="sec-head">
      <div class="num">7</div>
      <div><h2>ขั้นตอนการให้บริการ</h2><div class="desc">Patient Flow / Process Flow</div></div>
    </div>
    <div class="flow">
      <div class="flow-step"><div class="fdot">1</div><div class="fbody"><h4>ทำบัตรใหม่ / ใบนัด</h4><p>ลงทะเบียนผู้รับบริการที่ห้องบัตร</p></div></div>
      <div class="flow-step"><div class="fdot">2</div><div class="fbody"><h4>คลินิกแพทย์แผนไทย</h4><p>เข้าสู่จุดบริการแพทย์แผนไทย</p></div></div>
      <div class="flow-step"><div class="fdot">3</div><div class="fbody"><h4>ซักประวัติ ตรวจร่างกาย วินิจฉัยโรค และสั่งการรักษา</h4></div></div>
      <div class="flow-step"><div class="fdot">4</div><div class="fbody"><h4>เลือกวิธีรักษา</h4>
        <div class="flow-branch">
          <span class="pill">💆 นวดไทย</span><span class="pill">🌱 ยาสมุนไพร</span>
          <span class="pill">⛺ อบไอน้ำสมุนไพร</span><span class="pill">🍲 ประคบสมุนไพร</span>
          <span class="pill">💬 ให้คำแนะนำ</span>
        </div></div></div>
      <div class="flow-step"><div class="fdot">5</div><div class="fbody"><h4>ประเมินผลการรักษา</h4></div></div>
      <div class="flow-step"><div class="fdot">6</div><div class="fbody"><h4>กรณีต้องรักษาต่อ</h4><p>นัด / รับยา / จ่ายเงิน และรักษาต่อ</p></div></div>
      <div class="flow-step"><div class="fdot">7</div><div class="fbody"><h4>กรณีอาการดีขึ้น</h4><p>ยุติการรักษา สรุปผลในระบบ</p></div></div>
      <div class="flow-step"><div class="fdot">8</div><div class="fbody"><h4>กรณีไม่เหมาะสม/มีข้อบ่งชี้</h4><p>ส่งต่อแพทย์แผนปัจจุบัน</p></div></div>
    </div>
    <div class="flow-note">📌 หมายเหตุ: กรณีผู้ป่วยระบบทางเดินหายใจ ต้องใส่หน้ากากอนามัยก่อนให้บริการ</div>
  </div>
</section>

<!-- ============================================================
     SECTION 8 — KEY PROCESS & CONTROL POINT (ACCORDION)
     ============================================================ -->
<section id="process" class="sec">
  <div class="container">
    <div class="sec-head">
      <div class="num">8</div>
      <div><h2>กระบวนการสำคัญและจุดควบคุม</h2><div class="desc">Key Process &amp; Control Point (กดเพื่อดูรายละเอียด)</div></div>
    </div>

    <div class="acc-item open" onclick="toggleAcc(this)">
      <div class="acc-head"><span class="anum">1</span> เตรียมอุปกรณ์ / สถานที่ <span class="chev">▾</span></div>
      <div class="acc-body"><div class="acc-inner"><table class="acc-table">
        <tr><td>Process requirement</td><td>อุปกรณ์และสถานที่พร้อมใช้ สะอาด ปลอดภัย</td></tr>
        <tr><td>ความเสี่ยง</td><td>อุปกรณ์ชำรุด ความร้อนสูงเกิน หม้อนึ่งลูกประคบไฟฟ้าเสี่ยงไหม้</td></tr>
        <tr><td>การออกแบบกระบวนการ</td><td>ตรวจสอบอุปกรณ์และความร้อนก่อนใช้งานทุกวัน</td></tr>
        <tr><td>ตัวชี้วัดสำคัญ</td><td>จำนวนภาวะแทรกซ้อนจากอุปกรณ์ = 0</td></tr>
      </table></div></div>
    </div>

    <div class="acc-item" onclick="toggleAcc(this)">
      <div class="acc-head"><span class="anum">2</span> รับผู้ป่วย ซักประวัติ ตรวจร่างกาย วินิจฉัย วางแผนรักษา <span class="chev">▾</span></div>
      <div class="acc-body"><div class="acc-inner"><table class="acc-table">
        <tr><td>Process requirement</td><td>ซักประวัติครอบคลุม วินิจฉัยถูกต้องตามมาตรฐานวิชาชีพ</td></tr>
        <tr><td>ความเสี่ยง</td><td>ซักประวัติไม่ครอบคลุม คัดกรองข้อห้าม/กลุ่มเสี่ยงพลาด</td></tr>
        <tr><td>การออกแบบกระบวนการ</td><td>ตรวจประเมินก่อนบริการ บันทึกประวัติแพ้ยา/สมุนไพร คัดกรองกลุ่มเสี่ยง</td></tr>
        <tr><td>ตัวชี้วัดสำคัญ</td><td>การตรวจประเมิน/วินิจฉัยผิดพลาด = 0</td></tr>
      </table></div></div>
    </div>

    <div class="acc-item" onclick="toggleAcc(this)">
      <div class="acc-head"><span class="anum">3</span> บันทึกข้อมูล <span class="chev">▾</span></div>
      <div class="acc-body"><div class="acc-inner"><table class="acc-table">
        <tr><td>Process requirement</td><td>บันทึกข้อมูลครบถ้วน ถูกต้องในระบบ Hospital OS</td></tr>
        <tr><td>ความเสี่ยง</td><td>ข้อมูลไม่ครบ บันทึกผิดพลาด</td></tr>
        <tr><td>การออกแบบกระบวนการ</td><td>บันทึกทันทีหลังให้บริการ ตรวจสอบความถูกต้อง</td></tr>
        <tr><td>ตัวชี้วัดสำคัญ</td><td>ความครบถ้วนของการบันทึกเวชระเบียน</td></tr>
      </table></div></div>
    </div>

    <div class="acc-item" onclick="toggleAcc(this)">
      <div class="acc-head"><span class="anum">4</span> รักษา: นวด ประคบ อบสมุนไพร ฟื้นฟูมารดา จ่ายยา ให้คำแนะนำ <span class="chev">▾</span></div>
      <div class="acc-body"><div class="acc-inner"><table class="acc-table">
        <tr><td>Process requirement</td><td>รักษาตามแผนและมาตรฐานวิชาชีพ นัดรักษาต่อเหมาะสม</td></tr>
        <tr><td>ความเสี่ยง</td><td>ฟกช้ำ/รอยแดงจากประคบ แพ้ยาสมุนไพร ภาวะแทรกซ้อนในกลุ่มเสี่ยง</td></tr>
        <tr><td>การออกแบบกระบวนการ</td><td>ตรวจสอบอุปกรณ์และความร้อน เฝ้าระวังอาการระหว่างบริการ</td></tr>
        <tr><td>ตัวชี้วัดสำคัญ</td><td>ภาวะแทรกซ้อนหลังบริการ ≤ 2 ครั้ง/ปี</td></tr>
      </table></div></div>
    </div>

    <div class="acc-item" onclick="toggleAcc(this)">
      <div class="acc-head"><span class="anum">5</span> เฝ้าระวังและประเมินผู้ป่วยขณะให้บริการ <span class="chev">▾</span></div>
      <div class="acc-body"><div class="acc-inner"><table class="acc-table">
        <tr><td>Process requirement</td><td>เฝ้าระวังอาการผิดปกติตลอดการให้บริการ</td></tr>
        <tr><td>ความเสี่ยง</td><td>เกิดอาการไม่พึงประสงค์ระหว่างบริการแล้วไม่ทันสังเกต</td></tr>
        <tr><td>การออกแบบกระบวนการ</td><td>เฝ้าระวังอาการระหว่างบริการ ส่งต่อแพทย์แผนปัจจุบันเมื่อจำเป็น</td></tr>
        <tr><td>ตัวชี้วัดสำคัญ</td><td>อุบัติการณ์ภาวะแทรกซ้อน / ข้อร้องเรียน</td></tr>
      </table></div></div>
    </div>

    <div class="acc-item" onclick="toggleAcc(this)">
      <div class="acc-head"><span class="anum">6</span> จำหน่ายผู้ป่วย <span class="chev">▾</span></div>
      <div class="acc-body"><div class="acc-inner"><table class="acc-table">
        <tr><td>Process requirement</td><td>ประเมินผลก่อนจำหน่าย สรุปผลการรักษาในระบบ</td></tr>
        <tr><td>ความเสี่ยง</td><td>จำหน่ายโดยยังมีข้อบ่งชี้ที่ต้องดูแลต่อ</td></tr>
        <tr><td>การออกแบบกระบวนการ</td><td>ประเมินผลการรักษา นัดติดตามต่อเนื่องตามความเหมาะสม</td></tr>
        <tr><td>ตัวชี้วัดสำคัญ</td><td>ความพึงพอใจ ≥ 80%</td></tr>
      </table></div></div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 9 — KPI DASHBOARD
     ============================================================ -->
<section id="kpi" class="sec" style="background:rgba(240,249,255,.6)">
  <div class="container">
    <div class="sec-head">
      <div class="num">9</div>
      <div><h2>ตัวชี้วัดผลการดำเนินงาน</h2><div class="desc">Performance Indicator Dashboard · แนวโน้มปี 2566–2569</div></div>
    </div>
    <div class="kpi-grid" id="kpiGrid"><!-- injected by JS --></div>
  </div>
</section>

<!-- ============================================================
     SECTION 10 — QUALITY INTERPRETATION FOR HA
     ============================================================ -->
<section id="interpret" class="sec">
  <div class="container">
    <div class="sec-head">
      <div class="num">10</div>
      <div><h2>การแปลผลคุณภาพสำหรับ HA</h2><div class="desc">Quality Interpretation</div></div>
    </div>
    <div class="insight-grid">
      <div class="insight-box good">
        <h3>🌟 จุดเด่น</h3>
        <ol>
          <li>ความปลอดภัยดี ภาวะแทรกซ้อนลดลงเป็น 0 ต่อเนื่อง</li>
          <li>ข้อร้องเรียนเป็น 0 ต่อเนื่อง</li>
          <li>ความพึงพอใจมากกว่าเป้าหมายและเพิ่มขึ้นในปี 2568</li>
          <li>มีระบบบริการครบ 4 ด้านของแพทย์แผนไทย</li>
          <li>เชื่อมโยง OPD, IPD, ER, กายภาพ, ห้องยา, การเงิน และ NCD clinic</li>
        </ol>
      </div>
      <div class="insight-box dev">
        <h3>🔧 จุดที่ต้องพัฒนา</h3>
        <ol>
          <li>การเข้าถึงบริการแพทย์แผนไทยยังต่ำกว่าเป้าหมาย</li>
          <li>การใช้ยาสมุนไพรในสิทธิ UC ยังต่ำ ต้องพัฒนาระบบระดับอำเภอ</li>
          <li>งาน IMC/Stroke ยังไม่ถึงเป้าหมาย เพราะบุคลากรจำกัด</li>
          <li>ต้องเพิ่มระบบเชิงรุกและการสื่อสารบริการให้ประชาชนรู้จักมากขึ้น</li>
          <li>ต้องบริหารความเสี่ยงด้านเครื่องมือ โดยเฉพาะหม้อนึ่งลูกประคบแบบกระทะไฟฟ้า</li>
        </ol>
      </div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 11 — IMPROVEMENT PLAN / ROADMAP
     ============================================================ -->
<section id="plan" class="sec" style="background:rgba(240,253,244,.6)">
  <div class="container">
    <div class="sec-head">
      <div class="num">11</div>
      <div><h2>แผนพัฒนา</h2><div class="desc">Improvement Plan · Roadmap 3 ระยะ</div></div>
    </div>
    <div class="roadmap">
      <div class="phase">
        <div class="ph-head">⚡ ระยะสั้น</div>
        <ul>
          <li>ทบทวนการซักประวัติ/คัดกรองข้อห้ามก่อนบริการ</li>
          <li>ตรวจสอบเครื่องมือทุกวัน</li>
          <li>สื่อสารบริการแพทย์แผนไทยใน OPD/NCD/IPD</li>
          <li>เก็บข้อมูลความพึงพอใจปี 2569 ให้ครบ</li>
        </ul>
      </div>
      <div class="phase">
        <div class="ph-head">🔄 ระยะกลาง</div>
        <ul>
          <li>เพิ่มการส่งต่อจาก OPD/IPD/NCD/กายภาพ</li>
          <li>พัฒนาระบบจ่ายยาสมุนไพรและ common diseases</li>
          <li>จัดสรรเวลาเชิงรุกสำหรับ IMC/Stroke</li>
          <li>พัฒนา flow ระบบนัดและติดตามต่อเนื่อง</li>
        </ul>
      </div>
      <div class="phase">
        <div class="ph-head">🚀 ระยะยาว</div>
        <ul>
          <li>ขยายบริการแพทย์แผนไทยในเครือข่าย รพ.สต. เมื่อบุคลากรพร้อม</li>
          <li>พัฒนางานวิชาการ/นวัตกรรมแพทย์แผนไทย</li>
          <li>ยกระดับบริการให้เป็นส่วนหนึ่งของเศรษฐกิจสุขภาพและบริการเชิงสุขภาพของพื้นที่</li>
        </ul>
      </div>
    </div>
  </div>
</section>

<!-- ============================================================
     SECTION 12 — HA PRESENTATION SUMMARY
     ============================================================ -->
<section id="summary" class="sec">
  <div class="container">
    <div class="sec-head">
      <div class="num">12</div>
      <div><h2>สรุปสำหรับการนำเสนอ สรพ.</h2><div class="desc">HA Presentation Summary</div></div>
    </div>
    <div class="ha-summary">
      <h3>📝 สรุปภาพรวม Service Profile</h3>
      <p>งานแพทย์แผนไทย รพ.ป่าพะยอม มีบทบาทเป็นบริการทางเลือกที่เชื่อมโยงการรักษา ฟื้นฟู ส่งเสริมสุขภาพ และป้องกันโรค โดยออกแบบบริการบนประเด็นคุณภาพ <b>ถูกต้อง ปลอดภัย พึงพอใจ</b> มีระบบควบคุมความเสี่ยงตั้งแต่การคัดกรอง ซักประวัติ วินิจฉัย วางแผนรักษา เฝ้าระวังภาวะแทรกซ้อน และประเมินผลก่อนจำหน่าย ผลลัพธ์เด่นคือ<b>ภาวะแทรกซ้อนและข้อร้องเรียนเป็นศูนย์ต่อเนื่อง</b> และความพึงพอใจสูงกว่าเป้าหมาย ส่วนโอกาสพัฒนาหลักคือการเพิ่มการเข้าถึงบริการ การใช้ยาสมุนไพร และการดูแล IMC/Stroke เชิงรุกภายใต้ข้อจำกัดด้านบุคลากร</p>
    </div>
  </div>
</section>

<footer>
  <div><b>Service Profile กลุ่มงานการแพทย์แผนไทยและการแพทย์ทางเลือก</b></div>
  <div>โรงพยาบาลป่าพะยอม อำเภอป่าพะยอม จังหวัดพัทลุง · ปรับปรุงล่าสุด มีนาคม 2569</div>
  <div class="noprint" style="margin-top:6px;opacity:.7">จัดทำเพื่อการนำเสนอการพัฒนาคุณภาพต่อทีมเยี่ยมสำรวจ สรพ.</div>
</footer>

<script>
/* ============================================================
   KPI DATA (จากเอกสารเท่านั้น — ห้ามแต่งเพิ่ม)
   ============================================================ */
const YEARS=['2566','2567','2568','2569'];
const KPIS=[
  {
    name:'ร้อยละผู้ป่วยนอกที่ได้รับการรักษาด้วยการแพทย์แผนไทยและการแพทย์ทางเลือก',
    target:'≥ 16%', goal:16, dir:'up', unit:'%',
    vals:[15.19,10.84,12.33,14.06],
    status:'fail',
    note:'ยังไม่ผ่านเป้าหมาย แต่ปี 2569 มีแนวโน้มดีขึ้นจากปี 2567–2568'
  },
  {
    name:'ร้อยละมูลค่าการจ่ายยาสมุนไพรในสิทธิ UC อำเภอป่าพะยอม',
    target:'≥ 33%', goal:33, dir:'up', unit:'%',
    vals:[null,null,null,-9.20],
    status:'na',
    note:'เป็นตัวชี้วัดใหม่/ข้อมูลยังต้องพัฒนา และต้องเร่งระบบการจ่ายยาสมุนไพรระดับอำเภอ'
  },
  {
    name:'ร้อยละผู้ป่วยที่วินิจฉัย Common Diseases and Symptoms และได้รับยาสมุนไพรเพิ่มขึ้น',
    target:'≥ 15%', goal:15, dir:'up', unit:'%',
    vals:[null,15.80,17.21,11.60],
    status:'warn',
    note:'ปี 2567–2568 ผ่านเป้าหมาย แต่ปี 2569 ยังไม่ครบปีและยังต่ำกว่าเป้าหมาย'
  },
  {
    name:'ร้อยละผู้ป่วยโรคหลอดเลือดสมอง/อัมพฤกษ์อัมพาตระยะกลาง (IMC) ที่ได้รับการดูแลด้วยแพทย์แผนไทย',
    target:'≥ 16%', goal:16, dir:'up', unit:'%',
    vals:[4.49,8.54,4.52,10.09],
    status:'fail',
    note:'ยังไม่ผ่านเป้าหมาย แต่ปี 2569 มีแนวโน้มเพิ่มขึ้น ต้องจัดสรรเวลาเชิงรุก/IMC เพิ่ม'
  },
  {
    name:'จำนวนครั้งของผู้รับบริการเกิดภาวะแทรกซ้อนหลังรับบริการ',
    target:'≤ 2 ครั้ง/ปี', goal:2, dir:'down', unit:' ครั้ง',
    vals:[1,0,0,0],
    status:'pass',
    note:'ผ่านเป้าหมายต่อเนื่อง สะท้อนระบบความปลอดภัยดี'
  },
  {
    name:'อุบัติการณ์ข้อร้องเรียนจากผู้รับบริการ',
    target:'≤ 2 ครั้ง/ปี', goal:2, dir:'down', unit:' ครั้ง',
    vals:[0,0,0,0],
    status:'pass',
    note:'ผ่านเป้าหมายต่อเนื่อง'
  },
  {
    name:'อัตราความพึงพอใจของผู้รับบริการแพทย์แผนไทย',
    target:'≥ 80%', goal:80, dir:'up', unit:'%',
    vals:[84.2,83.5,88.4,null],
    status:'pass',
    note:'ผ่านเป้าหมายทุกปีที่มีข้อมูล และปี 2568 ดีขึ้นชัดเจน'
  }
];

const BADGE={pass:['b-pass','✅ ผ่านเป้าหมาย'],warn:['b-warn','⚠️ เฝ้าระวัง/ยังไม่ครบปี'],fail:['b-fail','❌ ไม่ผ่านเป้าหมาย'],na:['b-na','⬜ N/A / รอข้อมูล']};
const STATUS_COLOR={pass:'#22c55e',warn:'#f59e0b',fail:'#ef4444',na:'#9ca3af'};

/* ---- Build KPI cards ---- */
const grid=document.getElementById('kpiGrid');
KPIS.forEach((k,i)=>{
  const [bcls,btxt]=BADGE[k.status];
  // latest non-null value -> progress toward goal
  const latest=[...k.vals].reverse().find(v=>v!==null);
  let pct=0,barColor=STATUS_COLOR[k.status];
  if(latest!==null && latest!==undefined){
    if(k.dir==='up'){ pct=Math.max(0,Math.min(100,(latest/k.goal)*100)); }
    else { pct = latest<=k.goal?100:Math.max(0,100-((latest-k.goal)/k.goal)*100); }
  }
  const valTags=k.vals.map((v,idx)=>`<span>${YEARS[idx]}: ${v===null?'N/A':v+k.unit}</span>`).join('');
  const card=document.createElement('div');
  card.className='kpi-card';
  card.innerHTML=`
    <div class="kpi-top">
      <div>
        <div class="kpi-name">${i+1}. ${k.name}</div>
        <div class="kpi-target">🎯 เป้าหมาย ${k.target}</div>
      </div>
      <span class="badge ${bcls}">${btxt}</span>
    </div>
    <div class="kpi-chart-box"><canvas id="kc${i}"></canvas></div>
    <div class="kpi-vals">${valTags}</div>
    <div class="progress"><div class="bar" style="width:0%;background:${barColor}" data-w="${pct.toFixed(0)}"></div></div>
    <div class="kpi-foot"><b>สรุป:</b> ${k.note}</div>
  `;
  grid.appendChild(card);
});

/* ---- Render Chart.js trend charts ---- */
Chart.defaults.font.family="'Sarabun',sans-serif";
Chart.defaults.font.size=11;
KPIS.forEach((k,i)=>{
  const ctx=document.getElementById('kc'+i);
  const dataPts=k.vals.map(v=>v===null?null:v);
  const ptColors=k.vals.map(v=>v===null?'#cbd5e1':STATUS_COLOR[k.status]);
  new Chart(ctx,{
    type:'line',
    data:{
      labels:YEARS,
      datasets:[
        {
          label:k.name,data:dataPts,spanGaps:true,
          borderColor:STATUS_COLOR[k.status],
          backgroundColor:STATUS_COLOR[k.status]+'22',
          pointBackgroundColor:ptColors,pointRadius:4,pointHoverRadius:6,
          borderWidth:2.5,tension:.3,fill:true
        },
        {
          label:'เป้าหมาย',data:YEARS.map(()=>k.goal),
          borderColor:'#94a3b8',borderDash:[6,4],borderWidth:1.5,
          pointRadius:0,fill:false
        }
      ]
    },
    options:{
      responsive:true,maintainAspectRatio:false,
      plugins:{
        legend:{display:false},
        tooltip:{callbacks:{label:c=>c.dataset.label==='เป้าหมาย'?'เป้าหมาย: '+c.parsed.y+k.unit:(c.parsed.y===null?'N/A':c.parsed.y+k.unit)}}
      },
      scales:{
        y:{beginAtZero:true,grid:{color:'#eef2f7'},ticks:{callback:v=>v+(k.unit==='%'?'%':'')}},
        x:{grid:{display:false}}
      }
    }
  });
});

/* ---- Animate progress bars when visible ---- */
const io=new IntersectionObserver((entries)=>{
  entries.forEach(e=>{
    if(e.isIntersecting){
      e.target.querySelectorAll('.bar').forEach(b=>b.style.width=b.dataset.w+'%');
      io.unobserve(e.target);
    }
  });
},{threshold:.2});
document.querySelectorAll('.kpi-card').forEach(c=>io.observe(c));

/* ============================================================
   ACCORDION
   ============================================================ */
function toggleAcc(el){ el.classList.toggle('open'); }

/* ============================================================
   VIEW FILTER
   ============================================================ */
function setView(btn,view){
  document.querySelectorAll('.vbtn[data-view]').forEach(b=>b.classList.remove('active'));
  btn.classList.add('active');
  document.body.classList.remove('focus-kpi','focus-risk','focus-exec');
  if(view==='kpi') document.body.classList.add('focus-kpi');
  else if(view==='risk') document.body.classList.add('focus-risk');
  else if(view==='exec') document.body.classList.add('focus-exec');
  window.scrollTo({top:0,behavior:'smooth'});
}

/* close mobile nav on link click */
document.querySelectorAll('.navlinks a').forEach(a=>a.addEventListener('click',()=>document.getElementById('nav').classList.remove('show')));
</script>
</body>
</html>

Youez - 2016 - github.com/yon3zu
LinuXploit