| 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 : |
<!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>
<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>
/* ======================================
CSS VARIABLES & BASE
====================================== */
:root {
--green-900: #0f3d2e;
--green-800: #1a5c42;
--green-700: #1e7a55;
--green-600: #22926a;
--green-500: #2aab7d;
--green-400: #3dc993;
--green-300: #6dd9af;
--green-100: #d4f5e9;
--green-50: #edfaf4;
--blue-600: #1a6fa8;
--blue-500: #2388c8;
--blue-300: #7ec8f0;
--blue-50: #eaf6fe;
--amber-500: #d97706;
--amber-100: #fef3c7;
--red-500: #dc2626;
--red-100: #fee2e2;
--gray-900: #111827;
--gray-700: #374151;
--gray-500: #6b7280;
--gray-300: #d1d5db;
--gray-100: #f3f4f6;
--gray-50: #f9fafb;
--white: #ffffff;
--shadow-sm: 0 1px 3px rgba(0,0,0,0.08);
--shadow-md: 0 4px 16px rgba(0,0,0,0.10);
--shadow-lg: 0 8px 32px rgba(0,0,0,0.12);
--radius: 12px;
--radius-sm: 8px;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: 'Sarabun', 'Noto Sans Thai', sans-serif;
background: var(--gray-50);
color: var(--gray-900);
line-height: 1.7;
font-size: 15px;
}
/* ======================================
PRINT STYLES
====================================== */
@media print {
.no-print { display: none !important; }
.section { page-break-inside: avoid; }
body { background: white; font-size: 13px; }
.hero { background: var(--green-800) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.card { box-shadow: 0 0 1px #ccc; border: 1px solid #ddd; }
}
/* ======================================
LAYOUT UTILITIES
====================================== */
.container { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.grid-5 { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.flex { display: flex; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.gap-12 { gap: 12px; }
@media (max-width: 768px) {
.grid-2, .grid-3, .grid-4, .grid-5 { grid-template-columns: 1fr; }
.container { padding: 0 16px; }
}
@media (max-width: 1024px) {
.grid-4 { grid-template-columns: repeat(2, 1fr); }
.grid-5 { grid-template-columns: repeat(3, 1fr); }
}
/* ======================================
SECTION
====================================== */
.section {
padding: 40px 0;
}
.section-alt {
background: var(--white);
}
.section-title {
font-size: 22px;
font-weight: 700;
color: var(--green-800);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.section-title .icon {
width: 32px; height: 32px;
background: var(--green-100);
border-radius: 8px;
display: flex; align-items: center; justify-content: center;
font-size: 16px;
}
.section-subtitle {
color: var(--gray-500);
font-size: 14px;
margin-bottom: 28px;
}
.divider {
width: 48px; height: 4px;
background: linear-gradient(90deg, var(--green-500), var(--blue-500));
border-radius: 2px;
margin: 10px 0 24px;
}
/* ======================================
CARD
====================================== */
.card {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
padding: 24px;
border: 1px solid rgba(0,0,0,0.05);
transition: box-shadow 0.2s;
}
.card:hover { box-shadow: var(--shadow-md); }
.card-sm { padding: 16px; }
.card-title {
font-size: 14px;
font-weight: 600;
color: var(--gray-500);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 8px;
}
/* ======================================
TOP NAV (Print Button)
====================================== */
.topbar {
background: var(--green-900);
padding: 10px 24px;
display: flex;
align-items: center;
justify-content: space-between;
position: sticky;
top: 0;
z-index: 100;
}
.topbar-brand {
color: var(--green-300);
font-size: 13px;
font-weight: 600;
letter-spacing: 0.03em;
}
.btn-print {
background: var(--green-600);
color: white;
border: none;
padding: 7px 18px;
border-radius: 20px;
font-family: inherit;
font-size: 13px;
font-weight: 600;
cursor: pointer;
display: flex;
align-items: center;
gap: 6px;
transition: background 0.2s;
}
.btn-print:hover { background: var(--green-500); }
/* ======================================
HERO SECTION
====================================== */
.hero {
background: linear-gradient(135deg, var(--green-900) 0%, var(--green-800) 50%, #1a4a6b 100%);
color: white;
padding: 60px 0 50px;
position: relative;
overflow: hidden;
}
.hero::before {
content: '';
position: absolute;
top: -40px; right: -60px;
width: 320px; height: 320px;
border-radius: 50%;
background: rgba(255,255,255,0.04);
pointer-events: none;
}
.hero::after {
content: '';
position: absolute;
bottom: -80px; left: -40px;
width: 260px; height: 260px;
border-radius: 50%;
background: rgba(255,255,255,0.03);
pointer-events: none;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: rgba(255,255,255,0.12);
border: 1px solid rgba(255,255,255,0.2);
border-radius: 20px;
padding: 5px 14px;
font-size: 13px;
color: var(--green-300);
margin-bottom: 20px;
font-weight: 600;
}
.hero h1 {
font-size: 36px;
font-weight: 800;
line-height: 1.3;
margin-bottom: 6px;
}
.hero h2 {
font-size: 18px;
font-weight: 400;
color: rgba(255,255,255,0.8);
margin-bottom: 4px;
}
.hero-date {
font-size: 13px;
color: var(--green-300);
margin-bottom: 28px;
}
.hero-purpose {
background: rgba(255,255,255,0.08);
border-left: 4px solid var(--green-400);
padding: 16px 20px;
border-radius: 0 8px 8px 0;
font-size: 15px;
color: rgba(255,255,255,0.92);
margin-bottom: 20px;
font-style: italic;
}
.hero-message {
background: rgba(42,171,125,0.15);
border: 1px solid rgba(42,171,125,0.3);
padding: 16px 20px;
border-radius: 8px;
font-size: 14px;
color: var(--green-300);
font-weight: 500;
}
.hero-message strong { color: white; }
.hero-kpi-row {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 16px;
margin-top: 36px;
}
.hero-kpi {
background: rgba(255,255,255,0.08);
border: 1px solid rgba(255,255,255,0.12);
border-radius: 10px;
padding: 16px;
text-align: center;
}
.hero-kpi .val {
font-size: 28px;
font-weight: 800;
color: var(--green-300);
display: block;
}
.hero-kpi .lbl {
font-size: 12px;
color: rgba(255,255,255,0.65);
margin-top: 2px;
}
@media (max-width: 768px) {
.hero h1 { font-size: 26px; }
.hero-kpi-row { grid-template-columns: repeat(2,1fr); }
}
/* ======================================
SERVICE IDENTITY CARDS
====================================== */
.identity-card {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
padding: 22px;
border-top: 4px solid var(--green-500);
}
.identity-card.blue { border-top-color: var(--blue-500); }
.identity-card.amber { border-top-color: var(--amber-500); }
.identity-card h4 {
font-size: 13px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--green-700);
margin-bottom: 12px;
display: flex; align-items: center; gap: 8px;
}
.identity-card.blue h4 { color: var(--blue-600); }
.identity-card.amber h4 { color: var(--amber-500); }
.identity-card ul {
list-style: none;
display: flex; flex-direction: column; gap: 6px;
}
.identity-card ul li {
display: flex; align-items: flex-start; gap: 8px;
font-size: 14px; color: var(--gray-700);
}
.identity-card ul li::before {
content: '▸';
color: var(--green-500);
font-size: 12px;
margin-top: 3px;
flex-shrink: 0;
}
.identity-card.blue ul li::before { color: var(--blue-500); }
.identity-card.amber ul li::before { color: var(--amber-500); }
/* ======================================
CAPACITY ICON CARDS
====================================== */
.cap-card {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
padding: 20px 16px;
text-align: center;
transition: transform 0.2s, box-shadow 0.2s;
}
.cap-card:hover { transform: translateY(-2px); box-shadow: var(--shadow-md); }
.cap-icon {
font-size: 32px;
margin-bottom: 10px;
display: block;
}
.cap-num {
font-size: 28px;
font-weight: 800;
color: var(--green-700);
line-height: 1;
display: block;
}
.cap-label {
font-size: 13px;
color: var(--gray-500);
margin-top: 4px;
font-weight: 500;
}
.cap-note {
font-size: 11px;
color: var(--amber-500);
margin-top: 4px;
font-weight: 600;
}
/* ======================================
CHARTS
====================================== */
.chart-panel {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
padding: 24px;
}
.chart-title {
font-size: 15px;
font-weight: 700;
color: var(--gray-700);
margin-bottom: 4px;
}
.chart-sub {
font-size: 12px;
color: var(--gray-500);
margin-bottom: 16px;
}
.chart-note {
font-size: 12px;
color: var(--amber-500);
margin-top: 12px;
padding: 8px 12px;
background: var(--amber-100);
border-radius: 6px;
font-weight: 500;
}
/* ======================================
PROCESS FLOW
====================================== */
.process-flow {
display: flex;
flex-direction: column;
gap: 0;
}
.process-step {
display: grid;
grid-template-columns: 60px 1fr;
gap: 0 20px;
position: relative;
}
.process-step:not(:last-child)::before {
content: '';
position: absolute;
left: 29px;
top: 60px;
bottom: 0;
width: 2px;
background: linear-gradient(180deg, var(--green-300), var(--green-100));
z-index: 0;
}
.step-num {
width: 60px; height: 60px;
border-radius: 50%;
background: var(--green-600);
color: white;
display: flex; align-items: center; justify-content: center;
font-size: 20px;
font-weight: 800;
flex-shrink: 0;
position: relative;
z-index: 1;
box-shadow: 0 4px 12px rgba(34,146,106,0.35);
}
.step-content {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.06);
padding: 20px;
margin-bottom: 16px;
}
.step-content h4 {
font-size: 16px;
font-weight: 700;
color: var(--green-800);
margin-bottom: 12px;
}
.step-meta {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
.step-meta-item {
background: var(--gray-50);
border-radius: 8px;
padding: 10px 12px;
}
.step-meta-item .sml {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 4px;
}
.step-meta-item .txt {
font-size: 13px;
color: var(--gray-700);
line-height: 1.5;
}
.meta-expect .sml { color: var(--green-700); }
.meta-risk .sml { color: var(--red-500); }
.meta-control .sml { color: var(--blue-600); }
.meta-pi .sml { color: var(--amber-500); }
@media (max-width: 768px) {
.step-meta { grid-template-columns: 1fr; }
.process-step { grid-template-columns: 1fr; }
.process-step .step-num { margin-bottom: 12px; }
.process-step::before { display: none; }
}
/* ======================================
RISK CARDS
====================================== */
.risk-area {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
overflow: hidden;
}
.risk-area-header {
padding: 14px 20px;
font-weight: 700;
font-size: 15px;
display: flex;
align-items: center;
gap: 10px;
}
.risk-area-header.issues { background: var(--green-800); color: white; }
.risk-area-header.challenges { background: var(--blue-600); color: white; }
.risk-area-header.risks { background: #7c3aed; color: white; }
.risk-list {
padding: 16px 20px;
display: flex;
flex-direction: column;
gap: 10px;
}
.risk-item {
display: flex;
align-items: flex-start;
gap: 10px;
font-size: 14px;
color: var(--gray-700);
padding: 10px 12px;
background: var(--gray-50);
border-radius: 8px;
}
.risk-dot {
width: 8px; height: 8px;
border-radius: 50%;
flex-shrink: 0;
margin-top: 6px;
}
.dot-green { background: var(--green-500); }
.dot-blue { background: var(--blue-500); }
.dot-red { background: var(--red-500); }
.dot-purple { background: #7c3aed; }
/* ======================================
KPI TABLE & BADGES
====================================== */
.kpi-table {
width: 100%;
border-collapse: collapse;
font-size: 14px;
}
.kpi-table th {
background: var(--green-800);
color: white;
padding: 10px 14px;
text-align: left;
font-size: 13px;
font-weight: 600;
}
.kpi-table td {
padding: 10px 14px;
border-bottom: 1px solid var(--gray-100);
vertical-align: middle;
}
.kpi-table tr:hover td { background: var(--gray-50); }
.badge {
display: inline-flex;
align-items: center;
gap: 4px;
padding: 3px 10px;
border-radius: 20px;
font-size: 12px;
font-weight: 700;
}
.badge-pass { background: #d1fae5; color: #065f46; }
.badge-warn { background: var(--amber-100); color: #92400e; }
.badge-fail { background: var(--red-100); color: #991b1b; }
.badge-na { background: var(--gray-100); color: var(--gray-500); }
/* ======================================
STORYTELLING / ANALYSIS
====================================== */
.story-card {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
padding: 22px;
border-left: 5px solid var(--green-500);
transition: border-color 0.2s;
}
.story-card.warn { border-left-color: var(--amber-500); }
.story-card.issue { border-left-color: var(--red-500); }
.story-card.info { border-left-color: var(--blue-500); }
.story-card h4 {
font-size: 15px;
font-weight: 700;
color: var(--green-800);
margin-bottom: 8px;
}
.story-card.warn h4 { color: var(--amber-500); }
.story-card.issue h4 { color: var(--red-500); }
.story-card.info h4 { color: var(--blue-600); }
.story-card p {
font-size: 14px;
color: var(--gray-700);
line-height: 1.7;
}
/* ======================================
CQI / IMPROVEMENT
====================================== */
.cqi-card {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
overflow: hidden;
}
.cqi-header {
background: linear-gradient(135deg, var(--green-700), var(--green-600));
color: white;
padding: 16px 20px;
}
.cqi-header h4 { font-size: 15px; font-weight: 700; margin-bottom: 4px; }
.cqi-header p { font-size: 13px; opacity: 0.85; }
.cqi-body { padding: 20px; }
.cqi-result {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
margin-top: 12px;
}
.cqi-year {
display: flex;
flex-direction: column;
align-items: center;
gap: 2px;
}
.cqi-bar-wrap {
width: 32px;
height: 80px;
background: var(--gray-100);
border-radius: 4px;
display: flex;
align-items: flex-end;
overflow: hidden;
}
.cqi-bar {
width: 100%;
background: linear-gradient(180deg, var(--green-400), var(--green-600));
border-radius: 4px 4px 0 0;
transition: height 0.6s ease;
}
.cqi-yr-label { font-size: 11px; color: var(--gray-500); }
.cqi-yr-val { font-size: 13px; font-weight: 700; color: var(--green-700); }
/* ======================================
REVIEW / LEARNING
====================================== */
.review-item {
display: flex;
align-items: flex-start;
gap: 14px;
padding: 16px 20px;
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
}
.review-icon {
width: 40px; height: 40px;
border-radius: 10px;
background: var(--green-100);
display: flex; align-items: center; justify-content: center;
font-size: 18px;
flex-shrink: 0;
}
.review-item h5 {
font-size: 14px;
font-weight: 700;
color: var(--green-800);
margin-bottom: 4px;
}
.review-item p { font-size: 13px; color: var(--gray-600); line-height: 1.6; }
/* ======================================
ROADMAP
====================================== */
.roadmap-item {
background: var(--white);
border-radius: var(--radius);
box-shadow: var(--shadow-sm);
border: 1px solid rgba(0,0,0,0.05);
padding: 18px 20px;
display: flex;
align-items: flex-start;
gap: 14px;
border-left: 4px solid var(--green-500);
}
.roadmap-icon {
font-size: 22px;
flex-shrink: 0;
margin-top: 2px;
}
.roadmap-item h5 { font-size: 15px; font-weight: 700; color: var(--green-800); margin-bottom: 4px; }
.roadmap-item p { font-size: 13px; color: var(--gray-600); line-height: 1.6; }
.roadmap-tag {
display: inline-block;
background: var(--green-100);
color: var(--green-700);
padding: 2px 8px;
border-radius: 4px;
font-size: 11px;
font-weight: 700;
margin-top: 6px;
}
/* ======================================
EXECUTIVE SUMMARY
====================================== */
.exec-card {
background: linear-gradient(135deg, var(--green-900), #1a3a5c);
border-radius: var(--radius);
padding: 32px;
color: white;
}
.exec-card h3 {
font-size: 20px;
font-weight: 800;
color: var(--green-300);
margin-bottom: 24px;
display: flex;
align-items: center;
gap: 10px;
}
.key-message {
display: flex;
align-items: flex-start;
gap: 14px;
padding: 14px 16px;
background: rgba(255,255,255,0.07);
border-radius: 8px;
border-left: 3px solid var(--green-400);
margin-bottom: 12px;
}
.key-message .num {
width: 28px; height: 28px;
border-radius: 50%;
background: var(--green-600);
display: flex; align-items: center; justify-content: center;
font-size: 13px; font-weight: 800;
flex-shrink: 0;
}
.key-message p { font-size: 14px; color: rgba(255,255,255,0.9); line-height: 1.6; }
/* ======================================
FOOTER
====================================== */
.footer {
background: var(--green-900);
color: rgba(255,255,255,0.5);
text-align: center;
padding: 24px;
font-size: 13px;
}
.footer strong { color: var(--green-300); }
</style>
</head>
<body>
<!-- ======================================
TOP NAV BAR
====================================== -->
<div class="topbar no-print">
<span class="topbar-brand">🦷 Service Profile ทันตกรรม | รพ.ป่าพะยอม 2569</span>
<button class="btn-print" onclick="window.print()">🖨️ พิมพ์ / Export PDF</button>
</div>
<!-- ======================================
HERO SECTION
====================================== -->
<section class="hero section">
<div class="container">
<div class="hero-badge">🦷 HA Re-Accreditation · Service Profile 2569</div>
<h1>Service Profile<br>กลุ่มงานทันตกรรม</h1>
<h2>โรงพยาบาลป่าพะยอม อำเภอป่าพะยอม จังหวัดพัทลุง</h2>
<p class="hero-date">📅 ปรับปรุงล่าสุด 31 มีนาคม 2569</p>
<div class="hero-purpose">
"ผู้รับบริการได้รับบริการที่เหมาะสม ปลอดภัย สามารถดูแลสุขภาพช่องปากของตนเองได้ และมีความพึงพอใจในบริการ"
</div>
<div class="hero-message">
<strong>Executive Key Message:</strong> กลุ่มงานทันตกรรมมุ่งเพิ่มการเข้าถึงบริการ ควบคุมความเสี่ยงทางคลินิก ลดโรคฟันผุในเด็ก และพัฒนาระบบบริการเชิงรุกในชุมชน
</div>
<div class="hero-kpi-row">
<div class="hero-kpi">
<span class="val">34,333</span>
<span class="lbl">งานบริการสูงสุด (ปี 2567)</span>
</div>
<div class="hero-kpi">
<span class="val">0%</span>
<span class="lbl">ภาวะแทรกซ้อน (2567–2569)</span>
</div>
<div class="hero-kpi">
<span class="val">1.59%</span>
<span class="lbl">ฟันผุเด็ก 18 เดือน (ต่ำสุด ปี 2568)</span>
</div>
<div class="hero-kpi">
<span class="val">5 คน</span>
<span class="lbl">ทันตแพทย์ (รวมเฉพาะทาง 2 สาขา)</span>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 1: SERVICE IDENTITY / CONTEXT
====================================== -->
<section class="section section-alt">
<div class="container">
<div class="section-title"><span class="icon">📋</span>บริบทและขอบเขตการบริการ</div>
<div class="divider"></div>
<div class="grid-3">
<div class="identity-card">
<h4>🎯 หน้าที่และเป้าหมาย</h4>
<ul>
<li>ให้บริการส่งเสริมป้องกัน รักษาและฟื้นฟูทันตสุขภาพตามมาตรฐานวิชาชีพ</li>
<li>ผู้รับบริการได้รับบริการที่เหมาะสมและปลอดภัย</li>
<li>สามารถดูแลสุขภาพช่องปากตนเองได้</li>
<li>มีความพึงพอใจในบริการ</li>
</ul>
</div>
<div class="identity-card blue">
<h4>🔭 Scope of Service</h4>
<ul>
<li>OPD ในเวลาราชการ 10–30 คน/วัน นัดหมาย 10–15 คน/วัน</li>
<li>ออกหน่วย รพ.สต.บ่อทราย (อ. พ.) รพ.สต.ทุ่งชุมพล (พ.) รพ.สต.ปากเหมือง (พฤ.)</li>
<li>โรงเรียน ศูนย์เด็กเล็ก คลินิก ANC/WCC/NCD</li>
<li>เฉพาะทางปริทันตวิทยาและทันตกรรมประดิษฐ์</li>
<li>ทันตกรรมเคลื่อนที่ในชุมชน</li>
</ul>
</div>
<div class="identity-card amber">
<h4>👥 กลุ่มผู้รับบริการหลัก</h4>
<ul>
<li>วัยมัธยมปลาย–วัยทำงาน (15–59 ปี) มากที่สุด</li>
<li>ผู้สูงอายุ 60 ปีขึ้นไป</li>
<li>นักเรียนประถม 6–12 ปี</li>
<li>เด็กก่อนวัยเรียนและเด็ก 0–2 ปี</li>
<li>เด็กมัธยมต้น 13–14 ปี</li>
<li>ส่วนใหญ่ใช้สิทธิประกันสุขภาพถ้วนหน้า (UCS)</li>
</ul>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 2: SERVICE CAPACITY
====================================== -->
<section class="section">
<div class="container">
<div class="section-title"><span class="icon">⚡</span>ศักยภาพการให้บริการ</div>
<div class="divider"></div>
<div class="grid-4" style="margin-bottom:24px;">
<div class="cap-card">
<span class="cap-icon">🦷</span>
<span class="cap-num">1</span>
<div class="cap-label">ทันตแพทย์เฉพาะทาง<br>ปริทันตวิทยา</div>
</div>
<div class="cap-card">
<span class="cap-icon">🦴</span>
<span class="cap-num">1</span>
<div class="cap-label">ทันตแพทย์เฉพาะทาง<br>ทันตกรรมประดิษฐ์</div>
</div>
<div class="cap-card">
<span class="cap-icon">👨⚕️</span>
<span class="cap-num">3</span>
<div class="cap-label">ทันตแพทย์ทั่วไป</div>
<div class="cap-note">⚠️ ลาศึกษาต่อ 1 คน (ก.ค.67)</div>
</div>
<div class="cap-card">
<span class="cap-icon">🩺</span>
<span class="cap-num">3</span>
<div class="cap-label">เจ้าพนักงานทันตสาธารณสุข<br>/ทันตาภิบาล</div>
</div>
</div>
<div class="grid-4">
<div class="cap-card">
<span class="cap-icon">🙋</span>
<span class="cap-num">4</span>
<div class="cap-label">ผู้ช่วยทันตแพทย์<br>(ข้าราชการ + พกส. + ลูกจ้าง)</div>
</div>
<div class="cap-card">
<span class="cap-icon">🪑</span>
<span class="cap-num">4</span>
<div class="cap-label">ยูนิตทันตกรรม</div>
</div>
<div class="cap-card">
<span class="cap-icon">📊</span>
<span class="cap-num">10–15</span>
<div class="cap-label">ผู้รับบริการ / ยูนิต / วัน</div>
</div>
<div class="cap-card">
<span class="cap-icon">🔬</span>
<span class="cap-num">3</span>
<div class="cap-label">รพ.สต. ที่ออกบริการ<br>ทุกสัปดาห์</div>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 3: SERVICE VOLUME DASHBOARD
====================================== -->
<section class="section section-alt">
<div class="container">
<div class="section-title"><span class="icon">📈</span>ปริมาณงานบริการ ปี 2565–2569</div>
<div class="divider"></div>
<div class="grid-2" style="gap:24px;">
<div class="chart-panel">
<div class="chart-title">งานบริการทั้งหมด (งาน)</div>
<div class="chart-sub">แนวโน้ม 5 ปีงบประมาณ</div>
<canvas id="chartVolume" height="200"></canvas>
<div class="chart-note">⚠️ ปี 2569 เป็นข้อมูลครึ่งปี (ต.ค.69–มี.ค.70) จึงไม่ควรเทียบตรงกับปีเต็ม</div>
</div>
<div class="chart-panel">
<div class="chart-title">การส่งต่อผู้ป่วย (ราย)</div>
<div class="chart-sub">แนวโน้มการส่งต่อเพื่อรักษาต่อเนื่อง</div>
<canvas id="chartReferral" height="200"></canvas>
<div class="chart-note">📌 งานส่งต่อสะท้อนภาระงานและการเข้าถึงบริการทันตเฉพาะทางที่เพิ่มขึ้น</div>
</div>
</div>
<!-- Volume by age group table -->
<div class="card" style="margin-top:24px;">
<div class="chart-title" style="margin-bottom:16px;">จำนวนผู้รับบริการแยกกลุ่มอายุ (HDC – เขตอำเภอป่าพะยอม)</div>
<div style="overflow-x:auto;">
<table class="kpi-table">
<thead>
<tr>
<th>ปีงบประมาณ</th>
<th>0–2 ปี</th>
<th>3–5 ปี</th>
<th>6–12 ปี</th>
<th>13–14 ปี</th>
<th>15–59 ปี</th>
<th>60+ ปี</th>
<th>รวม</th>
</tr>
</thead>
<tbody>
<tr><td>2565</td><td>712</td><td>735</td><td>1,836</td><td>32</td><td>1,720</td><td>1,098</td><td><strong>6,133</strong></td></tr>
<tr><td>2566</td><td>624</td><td>705</td><td>2,101</td><td>537</td><td>2,741</td><td>2,478</td><td><strong>9,186</strong></td></tr>
<tr><td>2567</td><td>584</td><td>672</td><td>2,051</td><td>288</td><td>2,860</td><td>1,918</td><td><strong>8,373</strong></td></tr>
<tr><td>2568</td><td>498</td><td>596</td><td>1,862</td><td>366</td><td>3,959</td><td>2,466</td><td><strong>8,747</strong></td></tr>
<tr><td>2569 (ครึ่งปี)</td><td>274</td><td>424</td><td>655</td><td>434</td><td>1,961</td><td>1,775</td><td><strong>5,523</strong></td></tr>
</tbody>
</table>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 4: KEY PROCESS FLOW
====================================== -->
<section class="section">
<div class="container">
<div class="section-title"><span class="icon">🔄</span>กระบวนการทำงานสำคัญ (Key Process)</div>
<div class="divider"></div>
<div class="process-flow">
<!-- Step 1 -->
<div class="process-step">
<div class="step-num">1</div>
<div class="step-content">
<h4>เตรียมความพร้อมของอุปกรณ์/วัสดุ</h4>
<div class="step-meta">
<div class="step-meta-item meta-expect">
<div class="sml">สิ่งที่คาดหวัง</div>
<div class="txt">สถานที่และอุปกรณ์พร้อมให้บริการ มีความสะดวกรวดเร็ว ผู้รับบริการปลอดภัย</div>
</div>
<div class="step-meta-item meta-risk">
<div class="sml">ความเสี่ยง</div>
<div class="txt">เครื่องมือ/อุปกรณ์ไม่พร้อมใช้ ชำรุดกะทันหัน</div>
</div>
<div class="step-meta-item meta-control">
<div class="sml">การควบคุม</div>
<div class="txt">ตรวจเช็คอุปกรณ์ก่อนปฏิบัติงาน แจ้งซ่อม ทำแผนจัดซื้อ จัดทำทะเบียนควบคุมวัสดุ</div>
</div>
</div>
<div style="margin-top:10px;"><span class="badge badge-na">📊 ตัวชี้วัด: จำนวนอุบัติการณ์ความไม่พร้อมใช้ของอุปกรณ์/วัสดุ</span></div>
</div>
</div>
<!-- Step 2 -->
<div class="process-step">
<div class="step-num">2</div>
<div class="step-content">
<h4>เตรียมผู้รับบริการ (การต้อนรับ ซักประวัติ คัดกรอง)</h4>
<div class="step-meta">
<div class="step-meta-item meta-expect">
<div class="sml">สิ่งที่คาดหวัง</div>
<div class="txt">ทราบปัญหาเร่งด่วนและประวัติโรคประจำตัว ลดการเกิดภาวะแทรกซ้อนและฉุกเฉิน</div>
</div>
<div class="step-meta-item meta-risk">
<div class="sml">ความเสี่ยง</div>
<div class="txt">ซักประวัติ/บันทึกไม่ครบถ้วน แจ้งข้อมูลจำเป็นแก่ผู้รับบริการไม่ครบ</div>
</div>
<div class="step-meta-item meta-control">
<div class="sml">การควบคุม</div>
<div class="txt">ทันตแพทย์ซักประวัติสำคัญและให้ข้อมูลก่อนให้บริการทุกครั้ง ระบุตัวผู้ป่วยกับบัตรและ mit-net</div>
</div>
</div>
<div style="margin-top:10px;"><span class="badge badge-na">📊 ตัวชี้วัด: ร้อยละความพึงพอใจ, จำนวนอุบัติการณ์ภาวะฉุกเฉิน</span></div>
</div>
</div>
<!-- Step 3 -->
<div class="process-step">
<div class="step-num">3</div>
<div class="step-content">
<h4>วินิจฉัย วางแผนการรักษา และให้บริการทางทันตกรรม</h4>
<div class="step-meta">
<div class="step-meta-item meta-expect">
<div class="sml">สิ่งที่คาดหวัง</div>
<div class="txt">วินิจฉัยถูกต้อง ผู้รับบริการมีส่วนร่วมตัดสินใจ หาย/ทุเลาโดยไม่มีภาวะแทรกซ้อน</div>
</div>
<div class="step-meta-item meta-risk">
<div class="sml">ความเสี่ยง</div>
<div class="txt">วินิจฉัยผิด ให้การรักษาไม่เหมาะสม ผิดซี่/ตำแหน่ง ไม่ครบถ้วน</div>
</div>
<div class="step-meta-item meta-control">
<div class="sml">การควบคุม</div>
<div class="txt">วางแผนการรักษาครอบคลุม แจ้งผู้รับบริการทุกครั้ง ทบทวนองค์ความรู้วิชาการ บันทึกใน mit-net</div>
</div>
</div>
<div style="margin-top:10px;"><span class="badge badge-na">📊 ตัวชี้วัด: อุบัติการณ์รักษาผิดซี่/ตำแหน่ง, ภาวะแทรกซ้อน, บูรณะซ้ำ, ความสมบูรณ์เวชระเบียน</span></div>
</div>
</div>
<!-- Step 4 -->
<div class="process-step">
<div class="step-num">4</div>
<div class="step-content">
<h4>การดูแลต่อเนื่อง (Follow-up / การนัดหมาย)</h4>
<div class="step-meta">
<div class="step-meta-item meta-expect">
<div class="sml">สิ่งที่คาดหวัง</div>
<div class="txt">ผู้รับบริการได้รับการรักษาอย่างต่อเนื่องตามความจำเป็น</div>
</div>
<div class="step-meta-item meta-risk">
<div class="sml">ความเสี่ยง</div>
<div class="txt">ผู้รับบริการไม่ได้รับบริการที่เหมาะสมอย่างต่อเนื่อง ออกใบนัดผิดพลาด</div>
</div>
<div class="step-meta-item meta-control">
<div class="sml">การควบคุม</div>
<div class="txt">ทบทวนแนวการรักษาทุกครั้ง บันทึกนัดใน Google Drive ใบสื่อสาร และ mit-net ให้ตรงกัน</div>
</div>
</div>
<div style="margin-top:10px;"><span class="badge badge-na">📊 ตัวชี้วัด: ร้อยละผู้รับบริการไม่ได้รับบริการตามนัดจากความผิดพลาดของระบบ</span></div>
</div>
</div>
<!-- Step 5 -->
<div class="process-step">
<div class="step-num">5</div>
<div class="step-content">
<h4>การจำหน่ายผู้ป่วย (Discharge)</h4>
<div class="step-meta">
<div class="step-meta-item meta-expect">
<div class="sml">สิ่งที่คาดหวัง</div>
<div class="txt">ผู้รับบริการได้รับคำแนะนำหลังการรักษาที่เหมาะสมและดูแลตนเองได้ถูกต้อง</div>
</div>
<div class="step-meta-item meta-risk">
<div class="sml">ความเสี่ยง</div>
<div class="txt">ปฏิบัติตนไม่ถูกต้องจากได้รับคำแนะนำไม่เหมาะสม เกิดภาวะแทรกซ้อนหลังการรักษา</div>
</div>
<div class="step-meta-item meta-control">
<div class="sml">การควบคุม</div>
<div class="txt">ทั้งทันตแพทย์ผู้ให้การรักษาและเจ้าหน้าที่จำหน่ายผู้รับบริการเป็นผู้ให้คำแนะนำ ทบทวนองค์ความรู้</div>
</div>
</div>
<div style="margin-top:10px;"><span class="badge badge-na">📊 ตัวชี้วัด: อุบัติการณ์ภาวะแทรกซ้อน, ร้อยละการบูรณะฟันซ้ำภายใน 6 เดือน</span></div>
</div>
</div>
</div><!-- end process-flow -->
</div>
</section>
<!-- ======================================
SECTION 5: QUALITY ISSUES & RISKS
====================================== -->
<section class="section section-alt">
<div class="container">
<div class="section-title"><span class="icon">⚠️</span>ประเด็นคุณภาพ ความท้าทาย และความเสี่ยง</div>
<div class="divider"></div>
<div class="grid-3">
<!-- Quality Issues -->
<div class="risk-area">
<div class="risk-area-header issues">
<span>✅</span> ประเด็นคุณภาพสำคัญ
</div>
<div class="risk-list">
<div class="risk-item"><div class="risk-dot dot-green"></div>ให้บริการตามมาตรฐานวิชาชีพ ตาม Job description</div>
<div class="risk-item"><div class="risk-dot dot-green"></div>ประสิทธิภาพและประสิทธิผลการปฏิบัติงาน</div>
<div class="risk-item"><div class="risk-dot dot-green"></div>ความปลอดภัยผู้รับบริการและเจ้าหน้าที่</div>
<div class="risk-item"><div class="risk-dot dot-green"></div>การดูแลสุขภาพช่องปากอย่างเหมาะสมตามกลุ่มอายุ</div>
<div class="risk-item"><div class="risk-dot dot-green"></div>ความพึงพอใจของผู้รับบริการ</div>
</div>
</div>
<!-- Challenges -->
<div class="risk-area">
<div class="risk-area-header challenges">
<span>🎯</span> ความท้าทายสำคัญ
</div>
<div class="risk-list">
<div class="risk-item"><div class="risk-dot dot-blue"></div>เพิ่มการเข้าถึงบริการทันตกรรม / ขยายศักยภาพให้บริการ</div>
<div class="risk-item"><div class="risk-dot dot-blue"></div>ลดโรคฟันน้ำนมผุและฟันแท้ผุในเด็ก</div>
<div class="risk-item"><div class="risk-dot dot-blue"></div>งานส่งเสริมป้องกันทางทันตกรรมในผู้สูงอายุ</div>
<div class="risk-item"><div class="risk-dot dot-blue"></div>การจัดการระบบนัดผู้ป่วยให้มีประสิทธิภาพ</div>
<div class="risk-item"><div class="risk-dot dot-blue"></div>ความสมบูรณ์ของเวชระเบียนและการบันทึกข้อมูล</div>
</div>
</div>
<!-- Risks -->
<div class="risk-area">
<div class="risk-area-header risks">
<span>🔴</span> ความเสี่ยงสำคัญ
</div>
<div class="risk-list">
<div class="risk-item"><div class="risk-dot dot-red"></div>ภาวะแทรกซ้อนหลังการรักษา (bleeding, infection)</div>
<div class="risk-item"><div class="risk-dot dot-red"></div>การรักษาผิดคน ผิดข้าง ผิดตำแหน่ง</div>
<div class="risk-item"><div class="risk-dot dot-red"></div>การซักประวัติไม่ครบถ้วน</div>
<div class="risk-item"><div class="risk-dot dot-red"></div>ระบบนัดผิดพลาด</div>
<div class="risk-item"><div class="risk-dot dot-red"></div>บุคลากรบาดเจ็บจากการปฏิบัติงาน (Occupational hazard)</div>
</div>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 6: KPI DASHBOARD
====================================== -->
<section class="section">
<div class="container">
<div class="section-title"><span class="icon">🏆</span>ตัวชี้วัดผลการดำเนินงาน</div>
<div class="divider"></div>
<p class="section-subtitle">เปรียบเทียบเป้าหมายกับผลลัพธ์จริง | 🟢 ผ่านเป้า 🟡 ใกล้เป้า/ต้องติดตาม 🔴 ไม่ผ่านเป้า ⬜ ไม่มีข้อมูล</p>
<div style="overflow-x:auto;">
<table class="kpi-table">
<thead>
<tr>
<th style="min-width:280px;">ตัวชี้วัด</th>
<th>เป้าหมาย</th>
<th>ปี 2565</th>
<th>ปี 2566</th>
<th>ปี 2567</th>
<th>ปี 2568</th>
<th>ปี 2569 (ครึ่งปี)</th>
<th>สถานะล่าสุด</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>อุบัติการณ์ภาวะฉุกเฉินในคลินิก</strong></td>
<td>0 ราย</td>
<td>0</td>
<td>0</td>
<td>0</td>
<td>1<br><small style="color:var(--gray-500)">ญาติผู้ป่วยเป็นลม</small></td>
<td>0</td>
<td><span class="badge badge-pass">🟢 ผ่าน</span></td>
</tr>
<tr>
<td><strong>ภาวะแทรกซ้อนจากการรักษา</strong></td>
<td>≤ 0.5%</td>
<td>0.08%</td>
<td>0.05%</td>
<td>0%</td>
<td>0%</td>
<td>0%</td>
<td><span class="badge badge-pass">🟢 ผ่าน</span></td>
</tr>
<tr>
<td><strong>อัตราบูรณะฟันซ้ำภายใน 6 เดือน</strong></td>
<td>≤ 0.5%</td>
<td>0.11%</td>
<td>0%</td>
<td>0%</td>
<td>0%</td>
<td>0%</td>
<td><span class="badge badge-pass">🟢 ผ่าน</span></td>
</tr>
<tr>
<td><strong>ความพึงพอใจผู้รับบริการ</strong></td>
<td>≥ 90%</td>
<td>89.13%</td>
<td>94.42%</td>
<td>94.68%</td>
<td>89.41%</td>
<td>ไม่มีข้อมูลในเอกสาร</td>
<td><span class="badge badge-warn">🟡 ต้องติดตาม</span></td>
</tr>
<tr>
<td><strong>ความสมบูรณ์ของเวชระเบียน</strong></td>
<td>≥ 95%</td>
<td>97.31%</td>
<td>92.00%</td>
<td>95.74%</td>
<td>91.82%</td>
<td>ไม่มีข้อมูลในเอกสาร</td>
<td><span class="badge badge-warn">🟡 ต้องติดตาม</span></td>
</tr>
<tr>
<td><strong>โรคฟันผุเด็ก 18 เดือน</strong></td>
<td>≤ 10%</td>
<td>5.26%</td>
<td>3.92%</td>
<td>3.77%</td>
<td>1.59%</td>
<td>2.70%</td>
<td><span class="badge badge-pass">🟢 ผ่าน</span></td>
</tr>
<tr>
<td><strong>โรคฟันผุเด็ก 3 ปี</strong></td>
<td>≤ 50%</td>
<td>32.06%</td>
<td>38.78%</td>
<td>43.59%</td>
<td>37.35%</td>
<td>35.48%</td>
<td><span class="badge badge-pass">🟢 ผ่าน</span></td>
</tr>
<tr>
<td><strong>โรคฟันแท้ผุเด็ก 6 ปี</strong></td>
<td>≤ 20%</td>
<td>11.49%</td>
<td>3.13%</td>
<td>3.85%</td>
<td>5.17%</td>
<td>ไม่มีข้อมูลในเอกสาร</td>
<td><span class="badge badge-pass">🟢 ผ่าน</span></td>
</tr>
<tr>
<td><strong>ความครอบคลุมการให้บริการทันตกรรม (CUP)</strong></td>
<td>≥ 50%</td>
<td>21.81%</td>
<td>32.62%</td>
<td>30.50%</td>
<td>33.05%</td>
<td>21.06%</td>
<td><span class="badge badge-fail">🔴 ไม่ผ่าน</span></td>
</tr>
</tbody>
</table>
</div>
<!-- KPI Charts Row -->
<div class="grid-2" style="margin-top:28px; gap:24px;">
<div class="chart-panel">
<div class="chart-title">ฟันผุในเด็ก 18 เดือน และ 3 ปี (%)</div>
<div class="chart-sub">เปรียบเทียบกับเป้าหมาย (10% และ 50%)</div>
<canvas id="chartCaries" height="200"></canvas>
</div>
<div class="chart-panel">
<div class="chart-title">ความครอบคลุมบริการทันตกรรม (%)</div>
<div class="chart-sub">เทียบเป้าหมายจังหวัด 50%</div>
<canvas id="chartCoverage" height="200"></canvas>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 7: DATA STORYTELLING
====================================== -->
<section class="section section-alt">
<div class="container">
<div class="section-title"><span class="icon">💬</span>การวิเคราะห์และตีความผลลัพธ์</div>
<div class="divider"></div>
<div class="grid-2" style="gap:16px;">
<div class="story-card">
<h4>✅ ความปลอดภัยทางคลินิกอยู่ในระดับดีมาก</h4>
<p>ภาวะแทรกซ้อนและการบูรณะฟันซ้ำอยู่ที่ร้อยละ 0 ต่อเนื่องตั้งแต่ปี 2567–ครึ่งแรกปี 2569 สะท้อนการควบคุมคุณภาพทางคลินิกที่เข้มแข็ง</p>
</div>
<div class="story-card">
<h4>✅ ผลลัพธ์เด็ก 18 เดือนดีขึ้นอย่างชัดเจน</h4>
<p>อัตราฟันผุเด็ก 18 เดือนลดลงต่อเนื่องจาก 10.71% (2564) เหลือเพียง 1.59% (2568) สะท้อนผลของ WCC, fluoride varnish, ANC และการติดตามต่อเนื่องทุก 3 เดือน</p>
</div>
<div class="story-card info">
<h4>ℹ️ กรณีภาวะฉุกเฉินปี 2568</h4>
<p>มีญาติผู้ป่วยเด็กเป็นลมหน้าห้องทันตกรรมเนื่องจากกลัวการทำฟัน 1 ราย ได้ส่งต่อสังเกตอาการที่ห้องฉุกเฉินและกลับบ้านได้อย่างปลอดภัย ไม่ใช่อุบัติการณ์ภายในคลินิก</p>
</div>
<div class="story-card warn">
<h4>⚠️ ความพึงพอใจปี 2568 ต่ำกว่าเป้าเล็กน้อย</h4>
<p>ผลปี 2568 อยู่ที่ 89.41% ต่ำกว่าเป้า 90% เล็กน้อย ปัจจัยสำคัญคือคะแนนสิ่งอำนวยความสะดวกและระบบคิว ซึ่งได้มีการปรับระบบคิวเป็นตามลำดับเวลาแล้ว</p>
</div>
<div class="story-card warn">
<h4>⚠️ ความสมบูรณ์เวชระเบียนปี 2568 ไม่ผ่านเป้า</h4>
<p>ปี 2568 อยู่ที่ 91.82% ต่ำกว่าเป้า 95% โดยส่วนที่ไม่สมบูรณ์คือ PMH 2 บันทึก และข้อมูลส่งเสริมสุขภาพช่องปากอีก 18 บันทึก ต้องเน้นการบันทึกในสองส่วนนี้</p>
</div>
<div class="story-card issue">
<h4>🔴 ความครอบคลุมบริการเป็นช่องว่างสำคัญ</h4>
<p>ตั้งแต่เริ่มดำเนินการจนถึงปี 2568 ความครอบคลุมอยู่ที่ 30–33% ยังไม่เคยผ่านเป้าหมายจังหวัด 50% ต้องเพิ่มบริการเชิงรุก รพ.สต. และออกหน่วยชุมชนอย่างต่อเนื่อง</p>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 8: CQI / IMPROVEMENT PROJECTS
====================================== -->
<section class="section">
<div class="container">
<div class="section-title"><span class="icon">🔬</span>โครงการพัฒนาคุณภาพ (CQI)</div>
<div class="divider"></div>
<div class="grid-2" style="gap:24px; margin-bottom:24px;">
<!-- CQI 1: Elderly -->
<div class="cqi-card">
<div class="cqi-header">
<h4>การพัฒนาระบบบริการสุขภาพช่องปากในผู้สูงอายุ</h4>
<p>เครือข่ายบริการสุขภาพ รพ.ป่าพะยอม จ.พัทลุง</p>
</div>
<div class="cqi-body">
<p style="font-size:13px;color:var(--gray-600);margin-bottom:14px;">ผู้สูงอายุส่วนใหญ่มีปัญหาสุขภาพช่องปาก บางส่วนพึ่งพาบุคคลอื่นในการเดินทาง ทำให้เข้าถึงบริการได้ยาก มีโรคประจำตัวที่ทำให้โรคช่องปากลุกลามเร็ว</p>
<div style="font-size:13px;font-weight:700;color:var(--gray-700);margin-bottom:8px;">ร้อยละผู้สูงอายุได้รับการตรวจสุขภาพช่องปาก</div>
<div class="cqi-result">
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:35%"></div></div>
<div class="cqi-yr-label">2565</div>
<div class="cqi-yr-val">19.36%</div>
</div>
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:80%"></div></div>
<div class="cqi-yr-label">2566</div>
<div class="cqi-yr-val">44.21%</div>
</div>
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:56%"></div></div>
<div class="cqi-yr-label">2567</div>
<div class="cqi-yr-val">31.02%</div>
</div>
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:63%"></div></div>
<div class="cqi-yr-label">2568</div>
<div class="cqi-yr-val">34.56%</div>
</div>
</div>
</div>
</div>
<!-- CQI 2: Basic Dental -->
<div class="cqi-card">
<div class="cqi-header" style="background:linear-gradient(135deg, var(--blue-600), var(--blue-500));">
<h4>การพัฒนาระบบให้บริการทันตกรรมพื้นฐาน</h4>
<p>เครือข่ายหน่วยบริการสุขภาพ รพ.ป่าพะยอม</p>
</div>
<div class="cqi-body">
<p style="font-size:13px;color:var(--gray-600);margin-bottom:14px;">เพิ่มทันตแพทย์ เพิ่มจำนวน รพ.สต. จาก 3 เป็น 6 แห่ง เพิ่มวันออกหน่วยจาก 1 เป็น 5 วัน/สัปดาห์ ใช้รถทันตกรรมเคลื่อนที่ และเพิ่มงานขูดหินปูน/อุดฟัน</p>
<div style="font-size:13px;font-weight:700;color:var(--gray-700);margin-bottom:8px;">ร้อยละงานพื้นฐานต่องานบริการทั้งหมด (เป้า > 25%)</div>
<div class="cqi-result">
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:43%;background:linear-gradient(180deg,#7ec8f0,var(--blue-600))"></div></div>
<div class="cqi-yr-label">2565</div>
<div class="cqi-yr-val" style="color:var(--blue-600)">23.33%</div>
</div>
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:50%;background:linear-gradient(180deg,#7ec8f0,var(--blue-600))"></div></div>
<div class="cqi-yr-label">2566</div>
<div class="cqi-yr-val" style="color:var(--blue-600)">27.32%</div>
</div>
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:49%;background:linear-gradient(180deg,#7ec8f0,var(--blue-600))"></div></div>
<div class="cqi-yr-label">2567</div>
<div class="cqi-yr-val" style="color:var(--blue-600)">26.94%</div>
</div>
<div class="cqi-year">
<div class="cqi-bar-wrap"><div class="cqi-bar" style="height:49%;background:linear-gradient(180deg,#7ec8f0,var(--blue-600))"></div></div>
<div class="cqi-yr-label">2568</div>
<div class="cqi-yr-val" style="color:var(--blue-600)">26.78%</div>
</div>
</div>
</div>
</div>
</div>
<!-- CQI 3: Research -->
<div class="card" style="border-left:5px solid #7c3aed;">
<div style="display:flex;align-items:flex-start;gap:16px;">
<span style="font-size:28px;">🔍</span>
<div>
<div style="font-size:14px;font-weight:700;color:#7c3aed;margin-bottom:6px;">งานวิจัยที่อยู่ระหว่างดำเนินการ</div>
<div style="font-size:15px;font-weight:700;color:var(--gray-800);margin-bottom:8px;">"ปัจจัยที่มีอิทธิพลต่อการตัดสินใจของผู้สูงอายุที่มารับบริการทำฟันเทียม โรงพยาบาลป่าพะยอม จังหวัดพัทลุง"</div>
<p style="font-size:13px;color:var(--gray-600);">เก็บข้อมูลโดยใช้แบบสอบถามและแบบสัมภาษณ์ ปัจจุบันอยู่ระหว่างกระบวนการวิเคราะห์ข้อมูล เพื่อพัฒนารูปแบบการให้บริการทำฟันเทียมในผู้สูงอายุและวางแผนสนับสนุนด้านสุขภาพผู้สูงอายุ</p>
<span style="display:inline-block;background:#ede9fe;color:#7c3aed;padding:3px 10px;border-radius:4px;font-size:12px;font-weight:700;margin-top:8px;">อยู่ระหว่างดำเนินการ</span>
</div>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 9: REVIEW & LEARNING
====================================== -->
<section class="section section-alt">
<div class="container">
<div class="section-title"><span class="icon">📚</span>สรุปกิจกรรมทบทวนและการเรียนรู้</div>
<div class="divider"></div>
<div style="display:flex; flex-direction:column; gap:14px;">
<div class="review-item">
<div class="review-icon">💬</div>
<div>
<h5>ทบทวนความคิดเห็นและข้อร้องเรียน – ระบบคิว</h5>
<p>ผู้รับบริการร้องเรียนว่าไม่ได้รับบริการตามลำดับเวลาที่มา เนื่องจากแยกคิวตามประเภทงาน → <strong>ปรับเป็นแจกคิวตามลำดับเวลา</strong> ไม่แบ่งประเภทงาน ลดข้อร้องเรียนและเพิ่มความพึงพอใจ</p>
</div>
</div>
<div class="review-item">
<div class="review-icon">📅</div>
<div>
<h5>ทบทวนระบบนัด เลื่อนนัด และการยืนยันก่อนวันนัด</h5>
<p>ทบทวนระบบนัดและปรับกระบวนการโทรยืนยันก่อนถึงวันนัดเพื่อลดการ No-show และความผิดพลาดของระบบนัด</p>
</div>
</div>
<div class="review-item">
<div class="review-icon">👴</div>
<div>
<h5>ทบทวนตัวชี้วัดความครอบคลุมบริการผู้สูงอายุ</h5>
<p>วิเคราะห์สาเหตุความครอบคลุมที่ลดลงในปี 2567 (ทันตบุคลากรลดลง, ปัญหาการส่งข้อมูลไป HDC) → <strong>เพิ่มการออกบริการในรพ.สต. และเยี่ยมบ้านผู้สูงอายุติดบ้านติดเตียง</strong></p>
</div>
</div>
<div class="review-item">
<div class="review-icon">📝</div>
<div>
<h5>ทบทวนความสมบูรณ์ของเวชระเบียน</h5>
<p>ปี 2568 พบไม่สมบูรณ์ในส่วน PMH และข้อมูลส่งเสริมสุขภาพช่องปาก → <strong>เน้นให้บันทึกข้อมูลทั้งสองส่วนให้ครบถ้วนทุกราย</strong> โดยทบทวนในที่ประชุมกลุ่มงาน</p>
</div>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 10: STRATEGIC ROADMAP 2569
====================================== -->
<section class="section">
<div class="container">
<div class="section-title"><span class="icon">🗺️</span>แผนพัฒนาเชิงกลยุทธ์ ปีงบประมาณ 2569</div>
<div class="divider"></div>
<div style="display:flex; flex-direction:column; gap:12px;">
<div class="roadmap-item">
<span class="roadmap-icon">🏥</span>
<div>
<h5>เพิ่มการเข้าถึงบริการทันตกรรม</h5>
<p>ขยายการออกหน่วยบริการในรพ.สต. และชุมชน เพิ่มวันให้บริการ ใช้รถทันตกรรมเคลื่อนที่ เพื่อเพิ่มความครอบคลุมเข้าใกล้เป้าหมายจังหวัด 50%</p>
<span class="roadmap-tag">Priority 1</span>
</div>
</div>
<div class="roadmap-item" style="border-left-color:var(--blue-500);">
<span class="roadmap-icon">👶</span>
<div>
<h5>พัฒนางานส่งเสริมป้องกันในเด็กก่อนวัยเรียน</h5>
<p>เสริมสร้างงาน WCC, ANC, fluoride varnish และ ECC screening ให้ครอบคลุมกลุ่มเป้าหมายมากขึ้น ขยายจำนวนเด็กที่ได้รับการตรวจ 18 เดือน</p>
<span class="roadmap-tag" style="background:var(--blue-50);color:var(--blue-600);">Preventive</span>
</div>
</div>
<div class="roadmap-item" style="border-left-color:var(--blue-500);">
<span class="roadmap-icon">🎒</span>
<div>
<h5>พัฒนางานส่งเสริมป้องกันในเด็กประถมศึกษา</h5>
<p>เพิ่มความครอบคลุมการตรวจสุขภาพช่องปากในเด็กอายุ 6, 9, 12 ปี เพิ่มงานเคลือบหลุมร่องฟัน และทันตสุขศึกษาในโรงเรียน</p>
<span class="roadmap-tag" style="background:var(--blue-50);color:var(--blue-600);">Preventive</span>
</div>
</div>
<div class="roadmap-item" style="border-left-color:#d97706;">
<span class="roadmap-icon">👴</span>
<div>
<h5>พัฒนางานส่งเสริมป้องกันในผู้สูงอายุ</h5>
<p>เพิ่มการตรวจสุขภาพช่องปากในคลินิก NCD 2 รอบ/ปี ออกเยี่ยมบ้านผู้สูงอายุติดบ้านติดเตียง แก้ปัญหาการส่งข้อมูลไป HDC ให้สมบูรณ์</p>
<span class="roadmap-tag" style="background:var(--amber-100);color:var(--amber-500);">Elderly Care</span>
</div>
</div>
<div class="grid-3" style="gap:12px; margin-top:4px;">
<div class="roadmap-item" style="border-left-color:var(--red-500);">
<span class="roadmap-icon">🛡️</span>
<div>
<h5>Dental Safety Goal</h5>
<p style="font-size:13px;">ป้องกันภาวะแทรกซ้อน บูรณะซ้ำ ผิดซี่/ตำแหน่ง และฉุกเฉินในคลินิก</p>
<span class="roadmap-tag" style="background:var(--red-100);color:var(--red-500);">Patient Safety</span>
</div>
</div>
<div class="roadmap-item" style="border-left-color:var(--green-400);">
<span class="roadmap-icon">♻️</span>
<div>
<h5>Green & Clean Hospital</h5>
<p style="font-size:13px;">พัฒนาสิ่งแวดล้อม ลดของเสีย ความสะอาดและความปลอดภัยในคลินิก</p>
<span class="roadmap-tag">G&C</span>
</div>
</div>
<div class="roadmap-item" style="border-left-color:var(--blue-500);">
<span class="roadmap-icon">💻</span>
<div>
<h5>Paperless / Digital OPD</h5>
<p style="font-size:13px;">สนับสนุนระบบ Digital เวชระเบียน Minimal Look และ Paperless ในกลุ่มงาน</p>
<span class="roadmap-tag" style="background:var(--blue-50);color:var(--blue-600);">Digital</span>
</div>
</div>
</div>
</div>
</div>
</section>
<!-- ======================================
SECTION 11: EXECUTIVE SUMMARY
====================================== -->
<section class="section section-alt">
<div class="container">
<div class="section-title"><span class="icon">🎖️</span>Executive Summary – 5 Key Messages</div>
<div class="divider"></div>
<div class="exec-card">
<h3>🦷 สรุปผู้บริหาร – กลุ่มงานทันตกรรม รพ.ป่าพะยอม</h3>
<div class="key-message">
<div class="num">1</div>
<p><strong>บริการทันตกรรมมีภาระงานสูงและขยายบริการเชิงรุกต่อเนื่อง</strong> – ปริมาณงานเพิ่มจาก 17,742 งาน (2565) เป็น 34,333 งาน (2567) สะท้อนการเข้าถึงบริการที่ขยายตัวอย่างมีนัยสำคัญ โดยมีการออกหน่วย 3 รพ.สต. ทุกสัปดาห์</p>
</div>
<div class="key-message">
<div class="num">2</div>
<p><strong>ผลลัพธ์ด้านความปลอดภัยทางคลินิกอยู่ในระดับดีมาก</strong> – ภาวะแทรกซ้อนจากการรักษาและการบูรณะซ้ำภายใน 6 เดือน อยู่ที่ร้อยละ 0 ต่อเนื่องตั้งแต่ปี 2567 ถึงครึ่งแรกปี 2569</p>
</div>
<div class="key-message">
<div class="num">3</div>
<p><strong>เด็กเล็กมีแนวโน้มฟันผุลดลงจากงานส่งเสริมป้องกันต่อเนื่อง</strong> – อัตราฟันผุเด็ก 18 เดือนลดจาก 10.71% (2564) เหลือ 1.59% (2568) ผลของ WCC, fluoride varnish, ANC และการติดตามสม่ำเสมอ</p>
</div>
<div class="key-message">
<div class="num">4</div>
<p><strong>จุดพัฒนาสำคัญคือความครอบคลุมบริการ ระบบคิว ความสมบูรณ์เวชระเบียน และสิ่งอำนวยความสะดวก</strong> – ความครอบคลุมยังอยู่ที่ 30–33% ยังห่างเป้าจังหวัด 50% มีแผนเพิ่มบริการเชิงรุกและ รพ.สต.</p>
</div>
<div class="key-message">
<div class="num">5</div>
<p><strong>กลุ่มงานทันตกรรมมีทิศทางพัฒนาชัดเจน</strong> – เชื่อมโยง HA Patient Safety, Dental Safety Goal, Green & Clean Hospital และบริการเชิงรุกในชุมชน พร้อมงานวิจัยและ CQI ที่ดำเนินการต่อเนื่อง</p>
</div>
</div>
</div>
</section>
<!-- ======================================
FOOTER
====================================== -->
<footer class="footer">
<strong>Service Profile กลุ่มงานทันตกรรม โรงพยาบาลป่าพะยอม</strong> | อำเภอป่าพะยอม จังหวัดพัทลุง | ปรับปรุงล่าสุด 31 มีนาคม 2569<br>
<span style="font-size:12px;margin-top:4px;display:block;">เอกสารนี้จัดทำเพื่อสื่อสารงานคุณภาพต่อ สรพ. และทีมเยี่ยมสำรวจ HA Re-Accreditation</span>
</footer>
<!-- ======================================
CHARTS JAVASCRIPT
====================================== -->
<script>
const years = ['2565','2566','2567','2568','2569*'];
const greenPalette = ['rgba(34,146,106,0.85)','rgba(34,146,106,0.85)','rgba(34,146,106,0.85)','rgba(34,146,106,0.85)','rgba(200,200,200,0.7)'];
// Chart defaults
Chart.defaults.font.family = "'Sarabun', 'Noto Sans Thai', sans-serif";
Chart.defaults.font.size = 12;
/* ---- Volume Chart ---- */
new Chart(document.getElementById('chartVolume'), {
type: 'bar',
data: {
labels: years,
datasets: [{
label: 'งานบริการทั้งหมด',
data: [17742, 31645, 34333, 32738, 16415],
backgroundColor: greenPalette,
borderRadius: 6,
borderSkipped: false,
}]
},
options: {
responsive: true,
plugins: {
legend: { display: false },
tooltip: {
callbacks: { label: ctx => ' ' + ctx.raw.toLocaleString() + ' งาน' + (ctx.dataIndex===4?' (ครึ่งปี)':'') }
}
},
scales: {
y: { beginAtZero: true, ticks: { callback: v => v.toLocaleString() }, grid: { color: 'rgba(0,0,0,0.05)' } },
x: { grid: { display: false } }
}
}
});
/* ---- Referral Chart ---- */
new Chart(document.getElementById('chartReferral'), {
type: 'line',
data: {
labels: years,
datasets: [{
label: 'ส่งต่อผู้ป่วย (ราย)',
data: [35, 69, 78, 81, 43],
borderColor: '#2388c8',
backgroundColor: 'rgba(35,136,200,0.1)',
borderWidth: 3,
pointRadius: 6,
pointBackgroundColor: '#2388c8',
fill: true,
tension: 0.3,
}]
},
options: {
responsive: true,
plugins: {
legend: { display: false },
tooltip: {
callbacks: { label: ctx => ' ส่งต่อ ' + ctx.raw + ' ราย' + (ctx.dataIndex===4?' (ครึ่งปี)':'') }
}
},
scales: {
y: { beginAtZero: true, grid: { color: 'rgba(0,0,0,0.05)' } },
x: { grid: { display: false } }
}
}
});
/* ---- Caries Chart ---- */
new Chart(document.getElementById('chartCaries'), {
type: 'line',
data: {
labels: years,
datasets: [
{
label: 'ฟันผุเด็ก 18 เดือน (%)',
data: [5.26, 3.92, 3.77, 1.59, 2.70],
borderColor: '#22926a',
backgroundColor: 'rgba(34,146,106,0.08)',
borderWidth: 3,
pointRadius: 5,
pointBackgroundColor: '#22926a',
fill: true,
tension: 0.3,
},
{
label: 'เป้า 18 เดือน (10%)',
data: [10, 10, 10, 10, 10],
borderColor: '#dc2626',
borderDash: [6, 4],
borderWidth: 2,
pointRadius: 0,
fill: false,
},
{
label: 'ฟันผุเด็ก 3 ปี (%)',
data: [32.06, 38.78, 43.59, 37.35, 35.48],
borderColor: '#d97706',
backgroundColor: 'rgba(217,119,6,0.05)',
borderWidth: 3,
pointRadius: 5,
pointBackgroundColor: '#d97706',
fill: true,
tension: 0.3,
},
{
label: 'เป้า 3 ปี (50%)',
data: [50, 50, 50, 50, 50],
borderColor: '#dc2626',
borderDash: [6, 4],
borderWidth: 1.5,
pointRadius: 0,
fill: false,
}
]
},
options: {
responsive: true,
plugins: {
legend: { position: 'bottom', labels: { boxWidth: 12, font: { size: 11 } } }
},
scales: {
y: { beginAtZero: true, max: 60, grid: { color: 'rgba(0,0,0,0.05)' }, ticks: { callback: v => v + '%' } },
x: { grid: { display: false } }
}
}
});
/* ---- Coverage Chart ---- */
new Chart(document.getElementById('chartCoverage'), {
type: 'bar',
data: {
labels: years,
datasets: [
{
label: 'ความครอบคลุม (%)',
data: [21.81, 32.62, 30.50, 33.05, 21.06],
backgroundColor: greenPalette,
borderRadius: 6,
borderSkipped: false,
order: 2
},
{
label: 'เป้าหมาย 50%',
data: [50, 50, 50, 50, 50],
type: 'line',
borderColor: '#dc2626',
borderDash: [6, 4],
borderWidth: 2.5,
pointRadius: 0,
fill: false,
order: 1
}
]
},
options: {
responsive: true,
plugins: {
legend: { position: 'bottom', labels: { boxWidth: 12, font: { size: 11 } } },
tooltip: {
callbacks: { label: ctx => ' ' + ctx.raw + '%' + (ctx.dataIndex===4 && ctx.datasetIndex===0?' (ครึ่งปี)':'') }
}
},
scales: {
y: { beginAtZero: true, max: 60, ticks: { callback: v => v + '%' }, grid: { color: 'rgba(0,0,0,0.05)' } },
x: { grid: { display: false } }
}
}
});
</script>
</body>
</html>