สารบัญ

📘 คู่มือการใช้งาน Smart Nurse Rostering System

ระบบจัดตารางเวรพยาบาลอัจฉริยะ

เวอร์ชัน 1.6 | อัปเดตล่าสุด: มีนาคม 2569

สารบัญ

  1. บทนำ
  2. เริ่มต้นใช้งาน (Getting Started)
  3. ตั้งค่าองค์กร (Organization Setup)
  4. การจัดเวร (Scheduling)
  5. บริการตนเอง (Self-Service)
  6. การอนุมัติ (Approval)
  7. รายงาน (Reports)
  8. การแจ้งเตือน (Notifications)
  9. การชำระเงินและอัปเกรด (SAAS)
  10. ภาคผนวก

1. บทนำ

1.1 ภาพรวมระบบ

Smart Nurse Rostering System เป็นระบบจัดตารางเวรพยาบาลอัจฉริยะที่ใช้เทคโนโลยี AI (CSP Solver) ในการสร้างตารางเวรโดยอัตโนมัติ พร้อมระบบจัดการครบวงจร ตั้งแต่การจำแนกผู้ป่วย คำนวณภาระงาน สร้างตารางเวร บริการตนเองของพยาบาล ไปจนถึงรายงานและการแจ้งเตือน

ระบบรองรับทั้งโหมด SAAS (หลายองค์กร) และ SINGLE_SITE (องค์กรเดียว)

1.2 ความสามารถหลัก (Key Features)

ฟีเจอร์รายละเอียด
🤖 สร้างเวรอัตโนมัติ (AI)ใช้ CSP Solver จัดเวรตามเงื่อนไขและข้อจำกัดทั้งหมด
📊 คำนวณภาระงานNHPPD / FTE ตามมาตรฐาน POR 2010
🔄 แลกเวรพยาบาลขอแลกเวรกันเองผ่านระบบ
📅 ลางานยื่นคำขอลา 5 ประเภท พร้อมระบบอนุมัติ
📋 เวรว่างแสดงเวรที่ขาดคน เปิดให้สมัครรับ
📈 รายงานPDF/Excel — ตารางเวร, OT, อัตรากำลัง, ดัชนีความเป็นธรรม
🔔 แจ้งเตือนReal-time ในระบบ + อีเมล + Telegram + SMS (ตั้งค่าระดับหน่วยงาน)
🏥 Multi-tenantรองรับหลายโรงพยาบาล แยก Tenant
💳 ระบบชำระเงินPromptPay QR / โอนธนาคาร / บัตรเครดิต
🌙 Dark Modeรองรับโหมดมืด/สว่าง
📱 ResponsiveMobile Card / Desktop Table ทุกหน้า
📝 คำขอเวรล่วงหน้าพยาบาลส่งความต้องการเวรล่วงหน้าเป็นรายเดือน
💬 แชทภายในทีมสื่อสารภายในหน่วยงาน Real-time + DM
📜 ใบอนุญาตวิชาชีพจัดการใบอนุญาต + แจ้งเตือนหมดอายุ
🎯 ทักษะเฉพาะทางทักษะพยาบาล + ทักษะที่หน่วยต้องการ
🎓 ประวัติการอบรมบันทึกการอบรม CPD ของพยาบาล
🇹🇭 วันหยุดราชการปฏิทินวันหยุดไทย 20+ วัน + เพิ่มเองได้
📅 ส่งออกปฏิทินiCal (.ics) + Google Calendar
📞 เวรเรียกตัว (On-call)กำหนดเวรเรียกตัวฉุกเฉิน ไม่นับ staffing/hours
⏰ จำกัด OT ต่อวันตั้งค่า OT สูงสุดต่อวัน ป้องกันทำงานเกินชั่วโมง
🔄 วันพักหลังทำงานติดRecovery Cycle — บังคับพักหลังทำงานต่อเนื่อง
🔧 6 ระบบเวรสำเร็จรูปPreset: 3 กะ / ดึกโย้หน้า / 12 ชม. / OPD / 24 ชม. / กำหนดเอง
✏️ แก้ไขเวรแบบรวดเร็วคลิกเปลี่ยนกะเวรได้ทันทีบนตาราง (Inline Edit)
🔀 ลากย้ายเวรลาก-วางเวรระหว่างพยาบาล/วัน บน Desktop (Drag & Drop)
📝 ขอเปลี่ยนเวรพยาบาลขอเปลี่ยนกะเวรโดยไม่ต้องแลกกับคนอื่น
💰 ค่าตอบแทนเวรคำนวณค่าเวรอัตโนมัติ + Export PDF/Excel + กราฟสัดส่วน
🛡️ HA Compliance Reportรายงานมาตรฐาน HA 5 หมวด (อัตรากำลัง, ใบอนุญาต, ทักษะ, OT, อบรม)

1.3 บทบาทในระบบ (Roles)

ระบบมี 5 บทบาทหลัก:

บทบาทรหัสคำอธิบาย
ผู้ดูแลระบบ รพ.HOSPITAL_ADMINผู้ดูแลระบบโรงพยาบาล — ตั้งค่าองค์กร, จัดการผู้ใช้, อนุมัติ
ผู้อำนวยการฝ่ายการพยาบาลNURSING_DIRECTORดูแลภาพรวมการพยาบาล — ดูรายงาน, อนุมัติ, จัดเวร
หัวหน้าหอผู้ป่วยHEAD_NURSEหัวหน้าระดับหอผู้ป่วย — จัดเวร, อนุมัติ, ดูเวรตนเอง
พยาบาลประจำการSTAFF_NURSEพยาบาลปฏิบัติงาน — ดูเวร, ขอแลก, ขอลา, รับเวรว่าง
ผู้ช่วยพยาบาลNURSE_ASSISTANTผู้ช่วยพยาบาล — สิทธิ์เหมือน STAFF_NURSE, มี Nurse Profile

ระดับพยาบาล (Nurse Level) — 3 ระดับ:

ระดับรหัสคำอธิบาย
พยาบาลวิชาชีพRNRegistered Nurse
พยาบาลเทคนิคPNPractical Nurse
ผู้ช่วยพยาบาลNANurse Assistant

1.4 ตารางสิทธิ์การเข้าถึง (Role-Access Matrix)

เมนู/ฟีเจอร์HANDHNSN
แดชบอร์ด
เวรของฉัน--
ตารางเวร
สร้างเวร AI-
พยาบาล
จำแนกผู้ป่วย-
ภาระงาน
แลกเวร
ลางาน
เปลี่ยนเวร
เวรว่าง
ยืมตัวพยาบาล-
รายงาน-
ตั้งค่าองค์กร---
ตั้งค่าการแจ้งเตือน-
อัปเกรดแพ็คเกจ---
ประวัติชำระเงิน---
โปรไฟล์

HA = Hospital Admin, ND = Nursing Director, HN = Head Nurse, SN = Staff Nurse

2. เริ่มต้นใช้งาน

Flow การเริ่มต้น

สมัครสมาชิก → ยืนยัน OTP → เข้าสู่ระบบ → ตั้งค่าโปรไฟล์

2.1 สมัครสมาชิก (Register)

📍 หน้า: /register 👤 สิทธิ์: สาธารณะ (ไม่ต้อง login)

วัตถุประสงค์: สร้างบัญชีองค์กรใหม่ในระบบ (SAAS mode)

ขั้นตอน:

  1. เปิดหน้าเว็บระบบ → คลิก "สมัครสมาชิก"
  2. กรอกข้อมูล:
    • ชื่อองค์กร — ชื่อโรงพยาบาลหรือหน่วยงาน
    • ชื่อ-นามสกุล — ชื่อผู้ดูแลระบบ
    • อีเมล — อีเมลสำหรับเข้าสู่ระบบ
    • รหัสผ่าน — ตั้งรหัสผ่าน (ไม่น้อยกว่า 8 ตัวอักษร)
    • ยืนยันรหัสผ่าน — กรอกรหัสผ่านซ้ำ
  3. คลิก "สมัครสมาชิก"
  4. ระบบจะสร้าง Tenant + User (บทบาท Hospital Admin) + Subscription ทดลองใช้งาน 30 วัน
  5. ระบบจะส่งรหัส OTP ไปยังอีเมลที่ลงทะเบียน

⚠️ หมายเหตุ: อีเมลต้องไม่ซ้ำกับบัญชีที่มีอยู่แล้วในระบบ

2.2 ยืนยันอีเมล OTP

📍 หน้า: /verify-email 👤 สิทธิ์: สาธารณะ

วัตถุประสงค์: ยืนยันตัวตนผ่านรหัส OTP ที่ส่งทางอีเมล

ขั้นตอน:

  1. ตรวจสอบอีเมล (รวมถึงโฟลเดอร์ Spam/Junk)
  2. กรอกรหัส OTP 6 หลักที่ได้รับ
  3. คลิก "ยืนยัน"
  4. ระบบจะ activate บัญชีผู้ใช้และ Tenant โดยอัตโนมัติ
  5. เข้าสู่ระบบอัตโนมัติ → redirect ไปหน้า Dashboard

⚠️ หมายเหตุ:

  • รหัส OTP มีอายุ 10 นาที
  • หากไม่ได้รับ สามารถคลิก "ส่งรหัสใหม่" ได้ (รอ 60 วินาทีก่อนส่งซ้ำ)

2.3 เข้าสู่ระบบ (Login)

📍 หน้า: /login 👤 สิทธิ์: สาธารณะ

วัตถุประสงค์: เข้าสู่ระบบด้วยอีเมลและรหัสผ่าน

ขั้นตอน:

  1. กรอก อีเมล ที่ลงทะเบียน
  2. กรอก รหัสผ่าน
  3. คลิก "เข้าสู่ระบบ"
  4. ระบบจะตรวจสอบสิทธิ์:
    • หากยังไม่ยืนยันอีเมล → redirect ไป /verify-email
    • หากตรวจสอบสำเร็จ → redirect ไป /dashboard

⚠️ หมายเหตุ:

  • ระบบมี rate limit สำหรับ login — ถ้าป้อนผิดหลายครั้งจะถูกระงับชั่วคราว
  • Token จะถูก refresh อัตโนมัติเมื่อหมดอายุ (ไม่ต้อง login ใหม่)

2.4 ภาพรวม Dashboard (Analytics)

📍 หน้า: /dashboard 👤 สิทธิ์: ทุก Role (แสดงข้อมูลต่างกันตาม Role)

วัตถุประสงค์: แสดงภาพรวมสถิติ กราฟวิเคราะห์ และข้อมูลเชิงลึก พร้อมตัวเลือกเดือน/ปี

Dashboard สำหรับผู้บริหาร (HOSPITAL_ADMIN / NURSING_DIRECTOR)

KPI Cards 5 ตัว: พยาบาลทั้งหมด | หน่วยงาน | เวรเดือนนี้ | คำขอรอดำเนินการ | ใบอนุญาตใกล้หมดอายุ

กราฟวิเคราะห์:

กราฟประเภทคำอธิบาย
สัดส่วนเวรDonut Chartแสดงสัดส่วนเวรเช้า/บ่าย/ดึก/เรียกตัว
สัดส่วนระดับพยาบาลDonut Chartแสดง RN / PN / NA
แนวโน้มคำขอ 6 เดือนArea Chartแสดงแนวโน้มคำขอแลกเวร/ลา/ยืมตัว/เปลี่ยนเวร
อัตรากำลังแต่ละหน่วยBar Chartแสดงจำนวนพยาบาลแต่ละหน่วย + สี (เขียว/เหลือง/แดง)
ประเภทการลาPie Chartแสดงสัดส่วนประเภทการลาเดือนนี้
กิจกรรมล่าสุดรายการแสดง 10 กิจกรรมล่าสุดในระบบ

Dashboard สำหรับหัวหน้าพยาบาล (HEAD_NURSE)

KPI Cards 5 ตัว: พยาบาลในหน่วย | เวรเดือนนี้ | คำขอรอดำเนินการ | ใบอนุญาตใกล้หมด | ดัชนีความเป็นธรรม

กราฟวิเคราะห์:

กราฟประเภทคำอธิบาย
สัดส่วนเวรDonut Chartเวรเช้า/บ่าย/ดึก ในหน่วยงาน
ภาระงานพยาบาลStacked Barจำนวนเวรเช้า/บ่าย/ดึก ต่อพยาบาลแต่ละคน
จำนวนพยาบาลรายวันArea Chartกราฟเทียบจำนวนจริง vs ขั้นต่ำที่ต้องการ
ตารางวันลาHeatmap Calendarแสดงจำนวนคนลาในแต่ละวัน (สีตามจำนวน)
การแจ้งเตือนรายการวันที่ขาดคน + ใบอนุญาตใกล้หมดอายุ

Dashboard สำหรับพยาบาล (STAFF_NURSE / NURSE_ASSISTANT)

KPI Cards 4 ตัว: เวรเดือนนี้ | ชั่วโมงทำงาน | ล่วงเวลา (OT) | คำขอรอดำเนินการ

กราฟวิเคราะห์:

กราฟประเภทคำอธิบาย
สัดส่วนเวรของฉันDonut Chartเวรเช้า/บ่าย/ดึก ส่วนตัว
วันลาที่ใช้/คงเหลือProgress Barแสดงวันลาที่ใช้ไปและเหลือ แต่ละประเภท
แนวโน้มเวร 6 เดือนCombo ChartBar (จำนวนเวร) + Line (ชั่วโมง + OT)
เวรถัดไปTimelineแสดงเวร 7 วันข้างหน้า พร้อมสถานะ

ข้อมูลจะอัปเดตอัตโนมัติเมื่อกลับมาที่หน้าจอ (tab visibility) และสามารถเปลี่ยนเดือน/ปีได้

2.5 จัดการโปรไฟล์

📍 หน้า: /profile 👤 สิทธิ์: ทุก Role

วัตถุประสงค์: ดูและแก้ไขข้อมูลส่วนตัว เปลี่ยนรหัสผ่าน อัปโหลดรูปโปรไฟล์

Tab 1: ข้อมูลส่วนตัว

  1. ดู/แก้ไข รูปโปรไฟล์ — คลิกที่ avatar เพื่ออัปโหลดรูปใหม่
  2. แก้ไข ชื่อ-นามสกุล
  3. แก้ไข เบอร์โทรศัพท์
  4. คลิก "บันทึก"

Tab 2: เปลี่ยนรหัสผ่าน

  1. กรอก รหัสผ่านปัจจุบัน
  2. กรอก รหัสผ่านใหม่ (ไม่น้อยกว่า 8 ตัวอักษร)
  3. กรอก ยืนยันรหัสผ่านใหม่
  4. คลิก "เปลี่ยนรหัสผ่าน"

💡 เคล็ดลับ: คลิกไอคอนตาเพื่อแสดง/ซ่อนรหัสผ่าน

3. ตั้งค่าองค์กร

Flow การตั้งค่าองค์กร

โรงพยาบาล → แผนก → หน่วยงาน/วอร์ด → พยาบาล (เพิ่มที่เมนู "พยาบาล")

⚠️ สำคัญ: ต้องสร้างตามลำดับนี้เท่านั้น เพราะข้อมูลมีความสัมพันธ์กัน

💡 สำหรับพยาบาล: ไปที่เมนู "พยาบาล" (/nurses) → คลิก "เพิ่มพยาบาลใหม่" ระบบจะสร้างบัญชีผู้ใช้ + โปรไฟล์พยาบาลให้อัตโนมัติในขั้นตอนเดียว ไม่ต้องไปสร้างบัญชีผู้ใช้แยกก่อน

💡 สำหรับผู้ใช้ที่ไม่ใช่พยาบาล (เช่น Admin, Director): ไปที่ "ตั้งค่า" → "ผู้ใช้งาน" (/settings/users)

3.1 เพิ่มโรงพยาบาล

📍 หน้า: /settings/hospitals 👤 สิทธิ์: HOSPITAL_ADMIN

วัตถุประสงค์: เพิ่ม/แก้ไข/ลบ โรงพยาบาลในองค์กร

ขั้นตอนการเพิ่ม:

  1. คลิกปุ่ม "+ เพิ่มโรงพยาบาล"
  2. กรอกข้อมูลในป๊อปอัพ:
    • ชื่อโรงพยาบาล (จำเป็น)
    • ที่อยู่ (ไม่บังคับ)
  3. คลิก "บันทึก"

การแก้ไข:

  1. คลิกไอคอน ✏️ ที่รายการโรงพยาบาล
  2. แก้ไขข้อมูล → คลิก "บันทึก"

การลบ:

  1. คลิกไอคอน 🗑️ ที่รายการ
  2. ยืนยันการลบในป๊อปอัพ → คลิก "ลบ"

⚠️ หมายเหตุ: ลบโรงพยาบาลจะลบแผนกและหน่วยงานที่อยู่ภายใต้ด้วย

3.2 เพิ่มแผนก

📍 หน้า: /settings/departments 👤 สิทธิ์: HOSPITAL_ADMIN

วัตถุประสงค์: เพิ่ม/แก้ไข/ลบ แผนกในแต่ละโรงพยาบาล

ประเภทแผนก 6 ประเภท:

รหัสชื่อ
OPDผู้ป่วยนอก
IPDผู้ป่วยใน
ERฉุกเฉิน
ICUห้อง ICU
ORห้องผ่าตัด
OTHERอื่นๆ

ขั้นตอนการเพิ่ม:

  1. เลือก โรงพยาบาล จาก dropdown
  2. คลิกปุ่ม "+ เพิ่มแผนก"
  3. กรอกข้อมูล:
    • ชื่อแผนก (จำเป็น)
    • ประเภทแผนก (เลือกจาก 6 ประเภท)
  4. คลิก "บันทึก"

3.3 เพิ่มหน่วยงาน/วอร์ด

📍 หน้า: /settings/units 👤 สิทธิ์: HOSPITAL_ADMIN

วัตถุประสงค์: เพิ่ม/แก้ไข/ลบ หน่วยงานหรือวอร์ดในแต่ละแผนก

ตารางแสดงข้อมูลหน่วยงาน:

  • เช้า / บ่าย / ดึก — แสดงรายละเอียดแต่ละกะ: เวลา, ชม./กะ, จำนวนขั้นต่ำ, RN ขั้นต่ำ (ถ้ากะปิดจะแสดง "ปิด")
  • พยาบาล — จำนวนพยาบาลที่สังกัดหน่วยงาน
  • ระบบเวร — แสดงชื่อ Preset ที่ใช้ เช่น "เช้า-บ่าย-ดึก (มาตรฐาน)" หรือ "กำหนดเอง"

ขั้นตอนการเพิ่ม:

  1. เลือก โรงพยาบาล → เลือก แผนก (cascade dropdown)
  2. คลิกปุ่ม "+ เพิ่มหน่วยงาน"
  3. กรอกข้อมูล:
    • ชื่อหน่วยงาน/วอร์ด (จำเป็น)
  4. คลิก "บันทึก"

💡 ตัวอย่าง: โรงพยาบาล A → แผนก IPD → วอร์ดอายุรกรรมชาย 1

นำเข้าหน่วยงานจาก Excel (Bulk Import)

👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR

ขั้นตอน:

  1. คลิกปุ่ม "นำเข้า Excel" (สีเขียว) ที่มุมขวาบน
  2. เลือก โรงพยาบาล → เลือก แผนก ที่ต้องการนำเข้า
  3. คลิก "ดาวน์โหลด Template Excel" เพื่อดาวน์โหลดแม่แบบ
  4. กรอกข้อมูลในไฟล์ Excel ตั้งแต่แถวที่ 3 (แถว 2 เป็นตัวอย่าง ลบได้):
    • ชื่อหน่วยงาน (จำเป็น)
    • จำนวนพยาบาลขั้นต่ำ/เวร (ค่าเริ่มต้น: 2)
    • จำนวนพยาบาลสูงสุด/เวร (ค่าเริ่มต้น: 10)
  5. เลือกไฟล์ Excel แล้วคลิก "นำเข้า"
  6. ระบบแสดงผลลัพธ์: จำนวนที่สร้างสำเร็จ / ข้าม (ซ้ำ) / ผิดพลาด

💡 หน่วยงานที่ชื่อซ้ำกับที่มีในแผนกเดียวกันจะถูกข้ามโดยอัตโนมัติ หน่วยงานใหม่จะได้รับกฎเวรและ ShiftTemplate ค่าเริ่มต้น (เช้า-บ่าย-ดึก)

ตั้งค่าระบบเวร (Shift System)

คลิกปุ่ม นาฬิกา (⏰) ที่หน่วยงาน → เปิด Modal ตั้งค่า

เลือก Preset ระบบเวร:

#ระบบเวรกะชม./กะเหมาะกับ
1เช้า-บ่าย-ดึก (มาตรฐาน)3 กะ8/8/8Ward ทั่วไป
2ดึก-เช้า-บ่าย (ดึกโย้หน้า)3 กะ8/8/8ICU/ER
312 ชม. กลางวัน-กลางคืน2 กะ12/12OR/ICU
4เช้า-บ่าย ไม่มีดึก (OPD)2 กะ8/8OPD/คลินิก
524 ชม. อยู่รวด1 กะ24รพ.เล็ก/เวรฉุกเฉิน
6กำหนดเอง (Custom)กำหนดเองกำหนดเองกรณีพิเศษ

เมื่อเลือก Preset ระบบจะตั้งค่าเวลากะ + กฎการจัดเวรให้อัตโนมัติ สามารถปรับแต่งเพิ่มเติมได้

ตั้งค่ากฎการจัดเวร (RuleSet):

การตั้งค่าคำอธิบายค่า default
Forward Rotationเช้า→บ่าย→ดึก (ห้ามย้อนกลับ)เปิด
ห้ามดึก→เช้าป้องกันเวรชิดกันเปิด
ช่วงพักระหว่างกะชม.พักขั้นต่ำ10 ชม.
ชม.ทำงาน/สัปดาห์สูงสุดต่อสัปดาห์48 ชม.
ทำงานติดต่อสูงสุดจำนวนวันทำงานติด6 วัน
เวรดึกสูงสุด/เดือนดึกไม่เกินกี่เวร10 เวร
OT สูงสุด/วันจำกัด OT ต่อวัน (ชม.) เช่น 4 = ทำได้สูงสุด 12 ชม./วัน4 ชม.
วันพักหลังทำงานติดหลังทำงานติดตามจำนวนสูงสุด ต้องพักอย่างน้อย X วัน2 วัน

💡 OT สูงสุด/วัน: หมายถึงชั่วโมงทำงานส่วนที่เกินจาก 8 ชม. ปกติ — เช่น ตั้ง 4 = ทำได้สูงสุด 12 ชม./วัน (8+4)

💡 วันพักหลังทำงานติด: เช่น ทำงานติด 6 วัน (maxConsecutiveDays=6) → ต้องพัก 2 วันก่อนจัดเวรใหม่

3.4 จัดการผู้ใช้

📍 หน้า: /settings/users 👤 สิทธิ์: HOSPITAL_ADMIN

วัตถุประสงค์: เพิ่มผู้ใช้ที่ ไม่ใช่พยาบาล เข้าสู่ระบบ (เช่น ผู้ดูแลระบบ, ผู้อำนวยการฝ่ายการพยาบาล) หรือจัดการบัญชีผู้ใช้ทั้งหมด

💡 สำหรับพยาบาล: แนะนำให้ไปเพิ่มที่เมนู "พยาบาล" (/nurses) แทน เพราะสร้างบัญชีผู้ใช้ + โปรไฟล์พยาบาลได้ในขั้นตอนเดียว ไม่ต้องมาสร้างบัญชีแยกก่อน

ขั้นตอนการเพิ่มผู้ใช้ (สำหรับ Role ที่ไม่ใช่พยาบาล):

  1. ไปที่ "ตั้งค่า" → "ผู้ใช้งาน" (/settings/users)
  2. คลิกปุ่ม "+ เพิ่มผู้ใช้"
  3. กรอกข้อมูล:
    • อีเมล — อีเมลสำหรับเข้าสู่ระบบ
    • รหัสผ่าน — ตั้งรหัสผ่าน (ไม่น้อยกว่า 8 ตัวอักษร)
    • ชื่อ-นามสกุล
  4. กำหนด บทบาท (Role) ให้ผู้ใช้:
    • HOSPITAL_ADMIN — ผู้ดูแลระบบ
    • NURSING_DIRECTOR — ผู้อำนวยการฝ่ายการพยาบาล
  5. คลิก "บันทึก"
  6. ผู้ใช้จะได้รับอีเมลยืนยัน

⚠️ หมายเหตุ: หน้านี้เหมาะสำหรับเพิ่มผู้ใช้ที่เป็น Admin หรือ Director เท่านั้น หากต้องการเพิ่มพยาบาล (HEAD_NURSE, STAFF_NURSE, NURSE_ASSISTANT) ให้ใช้เมนู "พยาบาล" ซึ่งจะสร้างบัญชี + โปรไฟล์พยาบาลให้อัตโนมัติ

3.5 เพิ่มข้อมูลพยาบาล

📍 หน้า: /nurses (รายการ), /nurses/new (เพิ่ม), /nurses/[id] (แก้ไข) 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: เพิ่มพยาบาลใหม่เข้าสู่ระบบ — ระบบจะสร้างบัญชีผู้ใช้ + โปรไฟล์พยาบาลให้อัตโนมัติในขั้นตอนเดียว (ไม่ต้องไปสร้างบัญชีผู้ใช้แยกก่อน)

ขั้นตอนการเพิ่ม:

  1. ไปที่เมนู "พยาบาล" (/nurses) → คลิก "+ เพิ่มพยาบาลใหม่"
  2. กรอกข้อมูลบัญชีผู้ใช้:
    • อีเมล — อีเมลสำหรับเข้าสู่ระบบ (ต้องไม่ซ้ำกับที่มีในระบบ)
    • รหัสผ่าน — ตั้งรหัสผ่านเริ่มต้น (ไม่น้อยกว่า 8 ตัวอักษร)
    • ชื่อ-นามสกุล
  3. กำหนดตำแหน่ง:
    • บทบาท — HEAD_NURSE / STAFF_NURSE / NURSE_ASSISTANT
  4. เลือกสังกัด:
    • โรงพยาบาลแผนกหน่วยงาน (cascade dropdown)
  5. กรอกข้อมูลพยาบาล:
    • ระดับพยาบาล — RN / PN / NA
    • ประเภทสัญญา — FULL_TIME / PART_TIME / OUTSOURCED / FLOAT_POOL
    • ประสบการณ์ (ปี)
    • จำนวนชั่วโมงทำงานสูงสุด/สัปดาห์
    • จำนวนเวรดึกสูงสุด/เดือน
  6. คลิก "บันทึก"

💡 ระบบจะดำเนินการให้อัตโนมัติ: สร้างบัญชีผู้ใช้ (User) + สร้างโปรไฟล์พยาบาล (Nurse Profile) + กำหนดสังกัดหน่วยงาน — ทั้งหมดในขั้นตอนเดียว ไม่ต้องไปสร้างบัญชีที่ "ตั้งค่า → ผู้ใช้งาน" แยกอีกต่อไป

การดูรายการพยาบาล:

  • กรองตาม ระดับพยาบาล (RN/PN/NA)
  • Mobile: แสดงเป็น Card view
  • Desktop: แสดงเป็น Table view
  • คลิกที่รายการเพื่อดู/แก้ไขรายละเอียด

การลบพยาบาล:

  1. คลิกไอคอน 🗑️ ที่รายการ
  2. ยืนยันการลบในป๊อปอัพ → คลิก "ลบ"

⚠️ หมายเหตุ: ลบพยาบาลจะตรวจสอบ FK constraints — หากมีเวรที่เชื่อมโยงอยู่จะไม่สามารถลบได้

การนำเข้าจาก Excel (Bulk Import):

สำหรับเพิ่มพยาบาลจำนวนมากพร้อมกัน ระบบสร้างบัญชีผู้ใช้ + โปรไฟล์พยาบาลอัตโนมัติ

  1. ไปที่หน้า พยาบาล → คลิก "นำเข้า Excel"
  2. คลิก "ดาวน์โหลดแบบฟอร์ม Excel" เพื่อรับ template
  3. กรอกข้อมูลใน template:
    • คอลัมน์ที่ต้องกรอก: ชื่อ, นามสกุล, อีเมล, ระดับพยาบาล (RN/PN/NA)
    • คอลัมน์เพิ่มเติม (ไม่บังคับ): เบอร์โทร, บทบาท, ประเภทสัญญา, ประสบการณ์, วันเริ่มงาน ฯลฯ
    • แถวที่ 1 คือหัวตาราง, แถวที่ 2 คือตัวอย่าง → กรอกข้อมูลจริงตั้งแต่แถวที่ 3
  4. เลือก โรงพยาบาล → แผนก → หน่วยงาน ที่ต้องการเพิ่มพยาบาลเข้าไป
  5. ตั้ง รหัสผ่านเริ่มต้น (ค่าเริ่มต้น: Nurse@1234)
  6. เลือกไฟล์ .xlsx ที่กรอกแล้ว → คลิก "นำเข้า"
  7. ระบบจะแสดง ผลลัพธ์: จำนวนที่สร้างสำเร็จ, ข้ามเนื่องจากซ้ำ, ผิดพลาด

กฎการตรวจสอบซ้ำ:

  • อีเมลซ้ำ — ข้ามอัตโนมัติ (ทั้งซ้ำในไฟล์และซ้ำกับที่มีในระบบ)
  • ชื่อ-นามสกุลซ้ำ — ข้ามอัตโนมัติ

💡 เคล็ดลับ: Template มี dropdown ให้เลือกค่าในช่อง บทบาท, ระดับพยาบาล, ประเภทสัญญา, จ้างเหมา — ไม่ต้องพิมพ์เอง

3.6 วันหยุดราชการ (Thai Holidays)

📍 หน้า: /settings/holidays 👤 สิทธิ์: HOSPITAL_ADMIN

วัตถุประสงค์: จัดการปฏิทินวันหยุดราชการไทย ใช้ประกอบการจัดเวรอัตโนมัติ

วันหยุดเริ่มต้น: ระบบมีวันหยุดราชการไทยมาตรฐาน 20+ วัน/ปี (วันขึ้นปีใหม่, วันมาฆบูชา, วันจักรี, วันสงกรานต์, วันแรงงาน, วันฉัตรมงคล, วันวิสาขบูชา, วันเฉลิมพระชนมพรรษาฯ, วันอาสาฬหบูชา, วันเข้าพรรษา, วันแม่แห่งชาติ, วันปิยมหาราช, วันพ่อแห่งชาติ, วันรัฐธรรมนูญ, วันสิ้นปี ฯลฯ)

ขั้นตอน:

  1. เลือก ปี จาก dropdown (แสดงเป็น พ.ศ.)
  2. คลิก "นำเข้าวันหยุดเริ่มต้น" เพื่อ seed วันหยุดเริ่มต้นของปีนั้น (ครั้งแรก)
  3. ดูรายการวันหยุดทั้งหมดในปีที่เลือก

การเพิ่มวันหยุดเฉพาะองค์กร:

  1. คลิกปุ่ม "เพิ่มวันหยุด"
  2. กรอกข้อมูล: วันที่, ชื่อวันหยุด (อังกฤษ/ไทย), เป็นวันหยุดประจำปีหรือไม่
  3. คลิก "บันทึก"

⚠️ วันหยุดระบบ (system default) ไม่สามารถลบได้ — ลบได้เฉพาะวันหยุดที่เพิ่มเอง

นำเข้าวันหยุดจาก Excel (Bulk Import)

👤 สิทธิ์: HOSPITAL_ADMIN

ขั้นตอน:

  1. ไปที่หน้า "ตั้งค่า" → "วันหยุดราชการ" (/settings/holidays)
  2. คลิกปุ่ม "นำเข้า Excel" (สีเขียว) ที่มุมขวาบน
  3. คลิก "ดาวน์โหลด Template Excel" เพื่อดาวน์โหลดแม่แบบ (ระบบจะสร้าง template ตามปีที่เลือกอยู่)
  4. กรอกข้อมูลในไฟล์ Excel ตั้งแต่แถวที่ 3 (แถว 2 เป็นตัวอย่าง ลบได้):
    • วันที่ (YYYY-MM-DD) (จำเป็น) — เช่น 2026-01-01
    • ชื่อวันหยุด (EN) (จำเป็น) — ชื่อภาษาอังกฤษ
    • ชื่อวันหยุด (TH) (จำเป็น) — ชื่อภาษาไทย
    • เป็นวันหยุดประจำปี — เลือก "ใช่" หรือ "ไม่ใช่" (ค่าเริ่มต้น: ไม่ใช่)
  5. เลือกไฟล์ที่กรอกแล้ว (.xlsx) แล้วคลิก "นำเข้า"
  6. ระบบแสดงผลลัพธ์: จำนวนที่สร้างสำเร็จ / ข้าม (ซ้ำ) / ผิดพลาด

💡 หมายเหตุ: วันหยุดที่วันที่ซ้ำกับที่มีอยู่แล้วในระบบจะถูกข้ามโดยอัตโนมัติ (ไม่สร้างซ้ำ) วันที่ต้องอยู่ในปีที่เลือกเท่านั้น

3.7 ใบอนุญาตวิชาชีพ (Nurse Licenses)

📍 หน้า: /nurses/[id]/licenses 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN (จัดการ) / ทุก Role (ดู)

วัตถุประสงค์: จัดการใบอนุญาตวิชาชีพของพยาบาลแต่ละคน ติดตามวันหมดอายุ

ประเภทใบอนุญาต 7 ประเภท:

ประเภทคำอธิบาย
RN_LICENSEใบอนุญาตพยาบาลวิชาชีพ (รว.)
MIDWIFE_LICENSEใบอนุญาตผดุงครรภ์ (ผด.)
PN_LICENSEใบอนุญาตพยาบาลเทคนิค
CPR_CERTCPR Certificate
BLS_CERTBasic Life Support
ACLS_CERTAdvanced Cardiac Life Support
OTHERอื่นๆ

ขั้นตอนการเพิ่ม:

  1. ไปที่หน้า พยาบาล → คลิกที่พยาบาล → เลือกแท็บ "ใบอนุญาต"
  2. คลิกปุ่ม "เพิ่มใบอนุญาต" → กรอกข้อมูล: ประเภท, เลขที่, วันที่ออก, วันหมดอายุ
  3. คลิก "บันทึก"

แจ้งเตือนใบอนุญาตหมดอายุ:

  • 🔴 สีแดง: หมดอายุภายใน 30 วัน
  • 🟡 สีเหลือง: หมดอายุภายใน 90 วัน
  • 🟢 สีเขียว: มากกว่า 90 วัน

⚠️ พยาบาล 1 คนมีใบอนุญาตแต่ละประเภทได้ 1 ใบ

นำเข้าใบอนุญาตวิชาชีพจาก Excel (Bulk Import)

👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

สำหรับเพิ่มใบอนุญาตวิชาชีพของพยาบาลหลายคนพร้อมกัน ผ่านหน้า พยาบาล (/nurses)

ขั้นตอน:

  1. ไปที่หน้า พยาบาล → คลิกปุ่ม "นำเข้า Excel"
  2. ในช่อง "ประเภทการนำเข้า" เลือก "ใบอนุญาตวิชาชีพ"
  3. เลือก โรงพยาบาล → แผนก → หน่วยงาน ที่ต้องการนำเข้า
  4. คลิก "ดาวน์โหลดแบบฟอร์ม Excel (ใบอนุญาตวิชาชีพ)" — template จะมีรายชื่อพยาบาลในหน่วยงานที่เลือกไว้ให้อ้างอิง (แผ่น "รายชื่อพยาบาล")
  5. กรอกข้อมูลในไฟล์ Excel ตั้งแต่แถวที่ 3 (แถว 2 เป็นตัวอย่าง ลบได้):
    • อีเมลพยาบาล (จำเป็น) — ต้องตรงกับอีเมลในระบบ
    • ประเภทใบอนุญาต (จำเป็น) — เลือกจาก dropdown: RN_LICENSE, MIDWIFE_LICENSE, PN_LICENSE, CPR_CERT, BLS_CERT, ACLS_CERT, OTHER
    • เลขที่ใบอนุญาต (จำเป็น)
    • วันที่ออก (YYYY-MM-DD) (จำเป็น)
    • วันหมดอายุ (YYYY-MM-DD) (จำเป็น)
    • เปิดใช้งาน — "ใช่" หรือ "ไม่ใช่" (ค่าเริ่มต้น: ใช่)
  6. เลือกไฟล์ที่กรอกแล้ว (.xlsx) แล้วคลิก "นำเข้า"

กฎการตรวจสอบซ้ำ:

  • พยาบาล 1 คนมีใบอนุญาตแต่ละประเภทได้ 1 ใบ — ถ้าซ้ำจะถูกข้าม
  • อีเมลที่ไม่พบในหน่วยงานที่เลือก จะแสดงเป็นข้อผิดพลาด

💡 เคล็ดลับ: ดูรายชื่อพยาบาลและอีเมลได้ในแผ่น "รายชื่อพยาบาล" ของ template

3.8 ทักษะเฉพาะทาง (Nurse Competencies)

📍 หน้า: /nurses/[id]/competencies 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN (จัดการ) / ทุก Role (ดู)

วัตถุประสงค์: บันทึกทักษะเฉพาะทางของพยาบาล (เช่น ICU, OR, ER, VENTILATOR)

ระดับทักษะ 4 ระดับ: BASIC (เบื้องต้น), INTERMEDIATE (ปานกลาง), ADVANCED (สูง), EXPERT (เชี่ยวชาญ)

ขั้นตอนการเพิ่ม:

  1. ไปที่หน้าพยาบาล → คลิกที่พยาบาล → แท็บ "ทักษะ"
  2. คลิกปุ่ม "เพิ่มทักษะ" → กรอก: ชื่อทักษะ, ระดับ, วันที่ได้รับรอง, วันหมดอายุ
  3. คลิก "บันทึก"

💡 ทักษะจะถูกนำไปใช้ใน CSP Solver เพื่อจับคู่ทักษะกับหน่วยงานที่ต้องการ

นำเข้าทักษะเฉพาะทางจาก Excel (Bulk Import)

👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

สำหรับเพิ่มทักษะเฉพาะทางของพยาบาลหลายคนพร้อมกัน ผ่านหน้า พยาบาล (/nurses)

ขั้นตอน:

  1. ไปที่หน้า พยาบาล → คลิกปุ่ม "นำเข้า Excel"
  2. ในช่อง "ประเภทการนำเข้า" เลือก "ทักษะเฉพาะทาง"
  3. เลือก โรงพยาบาล → แผนก → หน่วยงาน ที่ต้องการนำเข้า
  4. คลิก "ดาวน์โหลดแบบฟอร์ม Excel (ทักษะเฉพาะทาง)" — template จะมีรายชื่อพยาบาลในหน่วยงานให้อ้างอิง
  5. กรอกข้อมูลในไฟล์ Excel ตั้งแต่แถวที่ 3 (แถว 2 เป็นตัวอย่าง ลบได้):
    • อีเมลพยาบาล (จำเป็น) — ต้องตรงกับอีเมลในระบบ
    • ชื่อทักษะ (จำเป็น) — เช่น ICU Care, Ventilator, OR Scrub
    • ระดับ — เลือกจาก dropdown: BASIC (พื้นฐาน), INTERMEDIATE (ปานกลาง), ADVANCED (สูง), EXPERT (เชี่ยวชาญ) — ค่าเริ่มต้น: BASIC
    • วันที่ได้รับ (YYYY-MM-DD) — ไม่บังคับ
    • วันหมดอายุ (YYYY-MM-DD) — ไม่บังคับ
  6. เลือกไฟล์ที่กรอกแล้ว (.xlsx) แล้วคลิก "นำเข้า"

กฎการตรวจสอบซ้ำ:

  • พยาบาล 1 คนมีทักษะเดียวกันได้ 1 รายการเท่านั้น — ถ้าซ้ำจะถูกข้าม
  • อีเมลที่ไม่พบในหน่วยงานที่เลือก จะแสดงเป็นข้อผิดพลาด

3.9 ทักษะที่หน่วยงานต้องการ (Unit Required Competencies)

📍 หน้า: /settings/competencies 👤 สิทธิ์: HOSPITAL_ADMIN, HEAD_NURSE

วัตถุประสงค์: กำหนดทักษะขั้นต่ำที่หน่วยงานต้องการในแต่ละกะเวร

ขั้นตอน:

  1. เลือก หน่วยงาน จาก dropdown
  2. คลิก "เพิ่ม" เพื่อเพิ่มทักษะที่ต้องการ
  3. กรอกข้อมูล: ชื่อทักษะ, ระดับขั้นต่ำ, จำนวนขั้นต่ำ/กะ, กะเวร (ทุกเวร หรือเฉพาะ เช้า/บ่าย/ดึก)
  4. คลิก "บันทึก"

นำเข้าทักษะที่หน่วยงานต้องการจาก Excel (Bulk Import)

👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

ขั้นตอน:

  1. ไปที่หน้า "ตั้งค่า" → "ทักษะเฉพาะทาง" (/settings/competencies)
  2. เลือก หน่วยงาน จาก dropdown ก่อน
  3. คลิกปุ่ม "นำเข้า Excel" (สีเขียว) ที่มุมขวาบน
  4. คลิก "ดาวน์โหลด Template Excel" เพื่อดาวน์โหลดแม่แบบ
  5. กรอกข้อมูลในไฟล์ Excel ตั้งแต่แถวที่ 3 (แถว 2 เป็นตัวอย่าง ลบได้):
    • ชื่อทักษะ (จำเป็น) — เช่น ICU, Ventilator, ER
    • ระดับขั้นต่ำ — เลือกจาก dropdown: BASIC, INTERMEDIATE, ADVANCED, EXPERT (ค่าเริ่มต้น: BASIC)
    • จำนวนขั้นต่ำ/เวร — ตัวเลข 0-20 (ค่าเริ่มต้น: 1)
    • ประเภทเวร — เลือกจาก dropdown: ทุกเวร (ค่าเริ่มต้น), MORN (เช้า), AFTER (บ่าย), NIGHT (ดึก)
  6. เลือกไฟล์ที่กรอกแล้ว (.xlsx) แล้วคลิก "นำเข้า"

💡 หมายเหตุ: ทักษะที่ชื่อ+ประเภทเวรซ้ำกับที่มีอยู่แล้ว จะถูก อัปเดตข้อมูลเดิม โดยอัตโนมัติ (ไม่สร้างซ้ำ)

3.10 ประวัติการอบรม (Nurse Trainings)

📍 หน้า: /nurses/[id]/trainings 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN (จัดการ) / ทุก Role (ดู)

วัตถุประสงค์: บันทึกประวัติการอบรม/สัมมนา/CPD ของพยาบาล

สถานะการอบรม 4 สถานะ: PLANNED (วางแผน), IN_PROGRESS (กำลังอบรม), COMPLETED (เสร็จสิ้น), CANCELLED (ยกเลิก)

ขั้นตอนการเพิ่ม:

  1. ไปที่หน้าพยาบาล → คลิกที่พยาบาล → แท็บ "ประวัติอบรม"
  2. คลิก "เพิ่มประวัติอบรม" → กรอก: ชื่อหลักสูตร, ผู้จัด, วันที่เริ่ม/สิ้นสุด, จำนวนชั่วโมง, สถานะ, URL ใบประกาศ
  3. คลิก "บันทึก"

นำเข้าประวัติอบรมจาก Excel (Bulk Import)

👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

สำหรับเพิ่มประวัติอบรมของพยาบาลหลายคนพร้อมกัน ผ่านหน้า พยาบาล (/nurses)

ขั้นตอน:

  1. ไปที่หน้า พยาบาล → คลิกปุ่ม "นำเข้า Excel"
  2. ในช่อง "ประเภทการนำเข้า" เลือก "ประวัติอบรม"
  3. เลือก โรงพยาบาล → แผนก → หน่วยงาน ที่ต้องการนำเข้า
  4. คลิก "ดาวน์โหลดแบบฟอร์ม Excel (ประวัติอบรม)" — template จะมีรายชื่อพยาบาลในหน่วยงานให้อ้างอิง
  5. กรอกข้อมูลในไฟล์ Excel ตั้งแต่แถวที่ 3 (แถว 2 เป็นตัวอย่าง ลบได้):
    • อีเมลพยาบาล (จำเป็น) — ต้องตรงกับอีเมลในระบบ
    • ชื่อหลักสูตร (จำเป็น) — เช่น Basic Life Support, ICU Advanced Care
    • หน่วยจัดอบรม — เช่น สภากาชาดไทย, รพ.ศิริราช (ไม่บังคับ)
    • วันเริ่ม (YYYY-MM-DD) (จำเป็น)
    • วันสิ้นสุด (YYYY-MM-DD) — ไม่บังคับ
    • ชั่วโมงอบรม — ตัวเลข (ค่าเริ่มต้น: 0)
    • สถานะ — เลือกจาก dropdown: PLANNED (วางแผน), IN_PROGRESS (กำลังอบรม), COMPLETED (เสร็จสิ้น), CANCELLED (ยกเลิก) — ค่าเริ่มต้น: COMPLETED
  6. เลือกไฟล์ที่กรอกแล้ว (.xlsx) แล้วคลิก "นำเข้า"

กฎการตรวจสอบซ้ำ:

  • พยาบาล 1 คนสามารถมีหลักสูตรอบรมเดียวกันได้หลายรายการ (ไม่จำกัด)
  • ตรวจสอบซ้ำภายในไฟล์เท่านั้น: อีเมล+ชื่อหลักสูตร+วันเริ่ม เดียวกัน จะถูกข้าม

💡 เคล็ดลับ: ดูรายชื่อพยาบาลและอีเมลได้ในแผ่น "รายชื่อพยาบาล" ของ template

3.11 ค่าตอบแทนเวร (Compensation)

📍 หน้า: /settings/compensation 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR

วัตถุประสงค์: กำหนดอัตราค่าตอบแทนเวรของโรงพยาบาล (ค่าเวร, ค่าเวรวันหยุด, ค่าเวรเรียกตัว, ค่าล่วงเวลา)

อัตราค่าตอบแทนเริ่มต้น (อ้างอิง สธ.):

กะเวรค่าเวร (บาท/เวร)ค่าเวรวันหยุด (บาท/เวร)ค่าเวรเรียกตัว (บาท/เวร)
เช้า600900300
บ่าย1,0001,200500
ดึก1,2001,500600

ขั้นตอนการตั้งค่า:

  1. ไปที่เมนู "ตั้งค่า" → "ค่าตอบแทนเวร"
  2. เลือกโรงพยาบาล (ถ้ามีหลายแห่ง)
  3. แก้ไขอัตราค่าตอบแทนในแต่ละช่อง
  4. คลิก "บันทึก"

นำเข้าค่าตอบแทนเวรจาก Excel:

  1. คลิกปุ่ม "นำเข้า Excel" (สีเขียว) ที่มุมขวาบน
  2. คลิก "ดาวน์โหลด Template Excel" เพื่อดาวน์โหลดแบบฟอร์ม
  3. กรอกข้อมูลค่าตอบแทนในไฟล์ Excel (ประเภทเวร, ค่าเวร, ค่า OT, ค่าเวรวันหยุด, ค่าเรียกตัว, เปิดใช้งาน)
  4. เลือกไฟล์ที่กรอกแล้ว (.xlsx) แล้วคลิก "นำเข้า"
  5. ระบบจะแสดงผลลัพธ์: สร้างใหม่ / อัปเดต / ผิดพลาด
  6. ถ้าประเภทเวรซ้ำกับที่มีอยู่แล้ว ระบบจะ อัปเดตข้อมูลเดิม โดยอัตโนมัติ (ไม่สร้างซ้ำ)

หมายเหตุ: อัตราค่าตอบแทนเริ่มต้นอ้างอิงจากอัตราเฉลี่ย รพ.รัฐ กระทรวงสาธารณสุข แต่ละโรงพยาบาลสามารถปรับอัตราได้ตามนโยบายของตน

4. การจัดเวร

Flow การจัดเวร

จำแนกผู้ป่วย → ดูภาระงาน → สร้างเวร AI → ตรวจสอบ/แก้ไข → เผยแพร่ → ล็อก → (กำหนดเวร On-call ถ้าต้องการ)

4.1 จำแนกผู้ป่วย

📍 หน้า: /patients/classification 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: บันทึกจำนวนผู้ป่วยแต่ละหมวดในแต่ละหน่วยงาน เพื่อคำนวณภาระงาน

หมวดผู้ป่วย 5 ระดับ:

หมวดชื่อคำอธิบาย
CAT 1ดูแลตนเองผู้ป่วยที่ดูแลตนเองได้
CAT 2ดูแลน้อยต้องการดูแลเล็กน้อย
CAT 3ดูแลปานกลางต้องการดูแลปานกลาง
CAT 4ดูแลมากต้องการดูแลมาก
CAT 5ดูแลวิกฤตผู้ป่วยวิกฤต ต้องดูแลตลอดเวลา

ขั้นตอน:

  1. เลือก หน่วยงาน และ วันที่
  2. กรอกจำนวนผู้ป่วยในแต่ละหมวด (CAT 1-5)
  3. เลือก กิจกรรมพยาบาล ที่ต้องทำในวันนั้น (15 กิจกรรมตาม POR 2010)
  4. คลิก "บันทึก"

กิจกรรมพยาบาล 15 กิจกรรม (POR 2010):

#กิจกรรมเวลา (นาที)
1วัดสัญญาณชีพ15
2ดูแลความสะอาดร่างกาย30
3จัดการโภชนาการ20
4ดูแลการขับถ่าย20
5ดูแลการเคลื่อนไหว25
6ให้ยา20
7ให้สารน้ำทางหลอดเลือด25
8ดูแลแผล30
9ดูแลท่อระบาย20
10ดูแลระบบทางเดินหายใจ25
11เฝ้าระวังอาการผู้ป่วย30
12ให้ความรู้ผู้ป่วย/ครอบครัว20
13ดูแลจิตใจสังคม15
14บันทึกทางการพยาบาล15
15หัตถการพิเศษ45

4.2 ภาระงานพยาบาล (NHPPD / FTE)

📍 หน้า: /workload 👤 สิทธิ์: ทุก Role (ดูได้), HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE (จัดการ)

วัตถุประสงค์: แสดงภาระงานพยาบาลตามมาตรฐาน POR 2010

ตัวชี้วัดที่แสดง:

ตัวชี้วัดคำอธิบาย
NHPPDNursing Hours Per Patient Day — ชั่วโมงพยาบาลต่อผู้ป่วยต่อวัน (ค่าสัมประสิทธิ์ 13.47)
FTE ต้องการจำนวนพยาบาลที่ต้องการ (Full-Time Equivalent)
FTE มีจริงจำนวนพยาบาลที่มีอยู่จริง
Productivityอัตราผลิตภาพ (%)
Burnout Riskระดับความเสี่ยงเหนื่อยล้า (LOW / MEDIUM / HIGH)
RN Mix Ratioสัดส่วน RN ต่อพยาบาลทั้งหมด (ต้อง ≥ 80%)

โหมดการแสดงผล:

  • ภาพรวม — แสดงทุกหน่วยงานในตาราง (Productivity แสดงเป็น Ring Progress สี)
  • รายละเอียด — เลือกหน่วยงาน → ดูข้อมูลเชิงลึก

สีบ่งบอกสถานะ:

  • 🟢 เขียว — ผลิตภาพปกติ
  • 🟡 เหลือง — ผลิตภาพต่ำ ต้องระวัง
  • 🔴 แดง — ผลิตภาพวิกฤต ต้องเสริมกำลัง

4.3 สร้างตารางเวรอัตโนมัติ (AI)

📍 หน้า: /schedules/generate 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: ใช้ AI (CSP Solver) สร้างตารางเวรโดยอัตโนมัติ

ขั้นตอน:

  1. เลือก หน่วยงาน ที่ต้องการสร้างเวร
  2. เลือก เดือน และ ปี
  3. ปรับจำนวนพยาบาลต่อกะ (ถ้าต้องการ) — ระบบจะโหลดค่าจากการตั้งค่าหน่วยงานเป็นค่าเริ่มต้น สามารถปรับ "จำนวนขั้นต่ำ" และ "RN ขั้นต่ำ" ของแต่ละกะได้ เฉพาะรอบนี้ โดยไม่กระทบค่า Settings ถาวร
  4. คลิก "สร้างตารางเวร" → ระบบแสดง summary จำนวนคนแต่ละกะใน confirmation modal
  5. ระบบจะใช้ AI ประมวลผลตามเงื่อนไข:
    • กฎ Forward Rotation (เช้า → บ่าย → ดึก)
    • ห้าม Night → Morning (ช่วงพักระหว่างกะ ≥ 10 ชม.)
    • จำนวนชั่วโมงทำงานสูงสุด/สัปดาห์
    • จำนวนเวรดึกสูงสุด/เดือน
    • สัดส่วน RN ≥ 80% ต่อกะ
    • อัตราพยาบาลต่อผู้ป่วย (1:2 วิกฤต, 1:4 ทั่วไป)
    • จำกัด OT ต่อวัน (HC15) — ไม่ให้เกินชั่วโมงที่กำหนด
    • วันพักหลังทำงานติด (HC16) — บังคับพักหลังทำงานต่อเนื่อง
    • Mandatory Rest (HC14) — หลังเวร ≥ 16 ชม. ต้องพักวันถัดไป
    • ทักษะเฉพาะทาง (HC-SkillMatch) — จับคู่ทักษะพยาบาลกับหน่วยงาน
    • เวรเรียกตัว (On-call) — ไม่นำเข้า AI (จัดเอง ไม่นับ staffing)
  6. รอจนประมวลผลเสร็จ (ใช้ Worker Thread แยกประมวลผล)
  7. ตรวจสอบผลลัพธ์ในหน้า ตารางเวร

⚠️ หมายเหตุ:

  • การสร้างเวรทำงานใน Background (Worker Thread) ไม่บล็อกระบบ
  • หากมีเวรเดิมในเดือนเดียวกัน ระบบจะแจ้งเตือนก่อนสร้างทับ
  • การปรับจำนวนพยาบาลในหน้าสร้างเวร = เฉพาะรอบนั้น ไม่เปลี่ยนค่าถาวรในหน้าตั้งค่า

4.4 ตรวจสอบ/แก้ไขตารางเวร

📍 หน้า: /schedules 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE, STAFF_NURSE (ดูอย่างเดียว)

วัตถุประสงค์: ตรวจสอบ แก้ไข และจัดการตารางเวร

ขั้นตอนการตรวจสอบ:

  1. เลือก หน่วยงาน, เดือน, ปี จาก filter
  2. ดูตารางเวรที่แสดง:
    • Mobile: Card view จัดกลุ่มตามวัน
    • Desktop: Table view แสดงทุกคอลัมน์
  3. สถานะแสดงเป็น Badge:
    • เผยแพร่แล้ว — เวรถูก publish ให้พยาบาลเห็น
    • ล็อกแล้ว — เวรถูกล็อก ไม่สามารถแก้ไข
    • แลกเวร — เวรที่เกิดจากการแลกเวร
    • OC (สี teal) — เวรเรียกตัวฉุกเฉิน (On-call)
  4. วันลา/วันหยุด แสดงในตาราง:
    • ช่องที่ไม่มีเวร + มีวันลาอนุมัติ → แสดงรหัสลา สีชมพู:

      รหัสประเภทความหมาย
      VVACATIONลาพักผ่อน
      SSICKลาป่วย
      PPERSONALลากิจ
      TTRAININGลาอบรม
      MMATERNITYลาคลอด
      OORDINATIONลาอุปสมบท
      MLMILITARYลาทหาร
      SZSTERILIZATIONลาทำหมัน
      SFSPOUSE_FOLLOWลาติดตามคู่สมรส
      RREHABILITATIONลาฟื้นฟูสมรรถภาพ
      SLSTUDY_LEAVEลาศึกษาต่อ
    • ช่องที่ไม่มีเวร + ไม่มีวันลา → แสดง Off สีเทา (วันหยุด)

    • ช่องที่มีเวร → แสดงเวรตามปกติ (เวรมี priority สูงกว่า)

  5. สรุปสถิติ ด้านบนตาราง แสดงจำนวนเวรแต่ละกะ + วันลา (สีชมพู)
  6. Legend ท้ายตาราง แสดงคำอธิบายสัญลักษณ์ทุกตัว ได้แก่ กะเวร, ควบเวร, Off, V, S, P, T, M, O, ML, SZ, SF, R, SL

การแก้ไข (เฉพาะเวรที่ยังไม่ล็อก):

  1. คลิกที่เวรที่ต้องการแก้ไข
  2. เปลี่ยนกะเวร / พยาบาล
  3. คลิก "บันทึก"

4.5 เผยแพร่ตารางเวร (Publish)

📍 หน้า: /schedules 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: เผยแพร่ตารางเวรให้พยาบาลเห็น พร้อมแจ้งเตือน

ขั้นตอน:

  1. ตรวจสอบตารางเวรให้ครบถ้วน
  2. คลิกปุ่ม "เผยแพร่"
  3. ระบบจะ:
    • อัปเดตสถานะเป็น "เผยแพร่แล้ว"
    • ส่ง อีเมลแจ้งเตือน ไปยังพยาบาลทุกคนในหน่วยงาน
    • ส่ง แจ้งเตือนในระบบ (Real-time ผ่าน Socket.IO)
    • ส่ง Telegram (ถ้าตั้งค่าไว้)

⚠️ หลัง Publish พยาบาลจะเห็นเวรในหน้า "เวรของฉัน"

4.6 ล็อกตารางเวร (Lock)

📍 หน้า: /schedules 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: ล็อกตารางเวรเพื่อป้องกันการแก้ไข

ขั้นตอน:

  1. เลือกเวรที่ต้องการล็อก
  2. คลิกไอคอน 🔒
  3. ยืนยันในป๊อปอัพ "ยืนยันการล็อก" → คลิก "ล็อก"

⚠️ คำเตือน: เมื่อล็อกแล้ว ไม่สามารถแก้ไขหรือลบได้ — กรุณาตรวจสอบให้แน่ใจก่อนล็อก

4.7 กำหนดเวรเรียกตัว (On-call)

📍 หน้า: /schedules 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: กำหนดเวรเรียกตัวฉุกเฉินให้พยาบาล — ใช้สำหรับกรณีที่ต้องการสำรองคนรับเรียกมาเพิ่มเมื่อมีเหตุฉุกเฉิน

ลักษณะเวร On-call:

  • ไม่นับ staffing — ไม่ถูกนับรวมในจำนวนพยาบาลขั้นต่ำต่อกะ
  • ไม่นับชั่วโมงทำงาน — ไม่ถูกนำไปรวม OT
  • ไม่เข้า AI — ไม่ถูกนำเข้าระบบจัดเวรอัตโนมัติ (จัดมือเท่านั้น)
  • แสดง Badge "OC" สี teal ในทุกหน้า (ตารางเวร, เวรของฉัน, รายงาน)
  • รายงาน PDF/Excel แสดง * หลังชื่อกะ (เช่น ช* หมายถึง เช้า + on-call)

ขั้นตอนการกำหนด:

  1. ไปที่หน้า ตารางเวร → เลือก หน่วยงาน/เดือน/ปี
  2. คลิกไอคอน 📞 (โทรศัพท์) ที่แถวพยาบาลในวันที่ต้องการ
  3. ระบบจะสร้างเวร On-call (Badge "OC" จะแสดงข้างกะเวร)

การยกเลิกเวร On-call:

  1. คลิกไอคอน 🗑️ ที่เวร On-call
  2. ยืนยันการลบในป๊อปอัพ

💡 เคล็ดลับ: เวรเรียกตัวเหมาะสำหรับกรณี ER / ICU / Ward ที่มีผู้ป่วยหนักและต้องการสำรองคนไว้นอกเวลา

4.8 แก้ไขเวรแบบรวดเร็ว (Inline Edit)

📍 หน้า: /schedules 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE (เฉพาะ Desktop)

วัตถุประสงค์: เปลี่ยนกะเวรได้ทันทีโดยคลิกที่ช่องเวรบนตาราง Roster Grid โดยไม่ต้องเปิดป๊อปอัพ

เงื่อนไข:

  • เฉพาะ เวรเดี่ยว (เช้า/บ่าย/ดึก) เท่านั้น — เวรควบ (ชบ/บด/ชบด) จะเปิด detail modal เหมือนเดิม
  • เฉพาะเวรที่ ยังไม่ล็อก เท่านั้น
  • แสดงเฉพาะกะที่ เปิดใช้งาน (Active) ตามการตั้งค่าหน่วยงาน

ขั้นตอน:

  1. เปิดหน้า ตารางเวร → เลือก หน่วยงาน/เดือน/ปี
  2. คลิก ที่ช่องเวรของพยาบาลที่ต้องการแก้ไข (เวรเดี่ยว, ไม่ล็อก)
  3. ช่อง Select จะแสดงขึ้นมา พร้อมรายการกะที่เลือกได้
  4. เลือก กะเวรใหม่ → ระบบบันทึกทันที
  5. คลิกที่อื่นเพื่อปิด Select

💡 เคล็ดลับ: Inline Edit เร็วกว่าการเปิดป๊อปอัพ — เหมาะสำหรับแก้ไขเวรจำนวนมากอย่างรวดเร็ว

4.9 ลากย้ายเวร (Drag & Drop)

📍 หน้า: /schedules 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE (เฉพาะ Desktop)

วัตถุประสงค์: ลากเวรจากช่องหนึ่งไปวางที่อีกช่องบนตาราง Roster Grid เพื่อย้ายเวรระหว่างพยาบาลหรือระหว่างวัน

รองรับ 3 กรณี:

กรณีการลากผล
ย้ายวันลากเวรไปช่องวันอื่นของพยาบาลคนเดิมเปลี่ยนวันที่ของเวร
ย้ายพยาบาลลากเวรไปช่องวันเดียวกันของพยาบาลคนอื่นเปลี่ยนเจ้าของเวร
ย้ายทั้งคู่ลากเวรไปช่องวันอื่นของพยาบาลคนอื่นเปลี่ยนทั้งวันและเจ้าของ

ขั้นตอน:

  1. เปิดหน้า ตารางเวร → เลือก หน่วยงาน/เดือน/ปี
  2. กดค้างแล้วลาก ที่เวร (Badge) ของพยาบาลที่ต้องการย้าย
  3. ขณะลากจะเห็น Badge ลอย (DragOverlay) แสดงข้อมูลเวร
  4. วาง ที่ช่องปลายทาง → ระบบจะย้ายเวรทันที
  5. ถ้าเวรถูก เผยแพร่แล้ว → ระบบจะแสดง ป๊อปอัพยืนยัน ก่อนย้าย

⚠️ หมายเหตุ: ต้องลากอย่างน้อย 8 พิกเซลถึงจะเริ่ม drag — คลิกสั้นๆ จะเป็น Inline Edit แทน

5. บริการตนเอง

Flow บริการตนเอง

ดูเวรของฉัน → ขอแลกเวร / ขอลา / รับเวรว่าง / ขอยืมตัวพยาบาล → รอผลอนุมัติ

5.1 เวรของฉัน

📍 หน้า: /my-schedule 👤 สิทธิ์: HEAD_NURSE, STAFF_NURSE (เฉพาะผู้ที่มี Nurse Profile)

วัตถุประสงค์: ดูตารางเวรส่วนตัวในแต่ละเดือน

โหมดการแสดงผล 2 แบบ (เลือกจาก SegmentedControl):

1. Card View:

  • แสดงเวรเป็นการ์ดจัดกลุ่มตามวัน
  • แต่ละการ์ดระบุ: วันที่, กะเวร (เช้า/บ่าย/ดึก), เวลา
  • เวรที่เกิดจากแลกเวรจะมี Badge "แลกเวร"
  • เวรเรียกตัวจะมี Badge "OC" สี teal

2. Calendar View:

  • แสดงเป็นปฏิทิน 7 คอลัมน์
  • แต่ละช่องแสดงกะเวรด้วยสี:
    • 🟡 เช้า (MORN) — สีเหลือง
    • 🟠 บ่าย (AFTER) — สีส้ม
    • 🟣 ดึก (NIGHT) — สีม่วง
    • 🟢 OC (On-call) — ต่อท้ายกะ เมื่อเป็นเวรเรียกตัว
  • วันนี้จะถูก highlight
  • วันอาทิตย์ = สีแดง, วันเสาร์ = สีน้ำเงิน

สรุปเวร:

  • แสดงจำนวนเวรแต่ละประเภท (เช้า, บ่าย, ดึก) ในเดือนที่เลือก

5.2 ขอแลกเวร

📍 หน้า: /swap-requests (tab "ของฉัน") 👤 สิทธิ์: HEAD_NURSE, STAFF_NURSE

วัตถุประสงค์: ส่งคำขอแลกเวรกับพยาบาลคนอื่น

ขั้นตอนการขอแลกเวร:

  1. คลิกปุ่ม "+ ขอแลกเวร"
  2. กรอกข้อมูลในป๊อปอัพ:
    • วันที่เวรของฉัน — เลือกจาก CustomDatePicker
    • กะเวรของฉัน — เลือกกะ (เช้า/บ่าย/ดึก)
    • พยาบาลคู่แลก — เลือกจาก dropdown
    • วันที่เวรคู่แลก — เลือกวันที่
    • กะเวรคู่แลก — เลือกกะ
  3. คลิก "ส่งคำขอ"
  4. ระบบจะ:
    • สร้างคำขอสถานะ "รออนุมัติ" (PENDING)
    • ส่งแจ้งเตือนในระบบไปยังพยาบาลคู่แลก
    • ส่งอีเมลแจ้งเตือนไปยังคู่แลก

การยกเลิกคำขอ:

  • คลิกปุ่ม "ยกเลิก" ที่คำขอที่ยังเป็น PENDING
  • สถานะจะเปลี่ยนเป็น "ยกเลิก" (CANCELLED)

การตอบรับ/ปฏิเสธ (เมื่อมีคนขอแลกเวรกับคุณ):

  • คลิก ✅ "ตอบรับ" → ระบบจะแลกเวรทันที
  • คลิก ❌ "ปฏิเสธ"

5.3 ขอลางาน

📍 หน้า: /leave-requests (tab "ของฉัน") 👤 สิทธิ์: HEAD_NURSE, STAFF_NURSE

วัตถุประสงค์: ส่งคำขอลางาน 11 ประเภท (5 ประเภทหลัก + 6 ประเภทเพิ่มเติมสำหรับ รพ.รัฐ)

ประเภทการลา:

ประเภทรหัสรหัสย่อสิทธิ์เริ่มต้น (วัน/ปี)สถานะเริ่มต้น
ลาพักผ่อนVACATIONV10เปิดใช้งาน
ลาป่วยSICKS30เปิดใช้งาน
ลากิจPERSONALP5เปิดใช้งาน
ลาอบรมTRAININGT10เปิดใช้งาน
ลาคลอดMATERNITYM90เปิดใช้งาน
ลาอุปสมบทORDINATIONO120ปิด (เปิดได้ใน settings)
ลาทหารMILITARYML60ปิด (เปิดได้ใน settings)
ลาทำหมันSTERILIZATIONSZ30ปิด (เปิดได้ใน settings)
ลาติดตามคู่สมรสSPOUSE_FOLLOWSF365ปิด (เปิดได้ใน settings)
ลาฟื้นฟูสมรรถภาพREHABILITATIONR90ปิด (เปิดได้ใน settings)
ลาศึกษาต่อSTUDY_LEAVESL365ปิด (เปิดได้ใน settings)

หมายเหตุ: ประเภทลาเพิ่มเติม 6 ประเภท (ลาอุปสมบท ถึง ลาศึกษาต่อ) เป็นประเภทลาตามระเบียบราชการ — เปิดใช้งานได้โดย HOSPITAL_ADMIN ในหน้า "ตั้งค่า → ประเภทการลา"

ขั้นตอนการขอลา:

  1. ดู สรุปสิทธิ์การลา — แสดงจำนวนวันลาที่ใช้ไป/เหลือ ต่อประเภท (Progress bar)
  2. คลิกปุ่ม "+ ขอลางาน"
  3. กรอกข้อมูลในป๊อปอัพ:
    • ประเภทการลา — เลือกจาก dropdown
    • ช่วงวันที่ลา — เลือกช่วงวันที่ (CustomDatePicker type="range")
    • เหตุผล — อธิบายเหตุผลการลา
  4. คลิก "ส่งคำขอ"
  5. ระบบจะ:
    • สร้างคำขอสถานะ "รออนุมัติ" (PENDING)
    • ส่งแจ้งเตือนไปยังหัวหน้าและผู้ดูแล

การยกเลิกคำขอ:

  • คลิก "ยกเลิก" ที่คำขอที่ยังเป็น PENDING

5.4 รับเวรว่าง

📍 หน้า: /open-shifts 👤 สิทธิ์: HEAD_NURSE, STAFF_NURSE (รับเวร), ทุก Role (ดู)

วัตถุประสงค์: แสดงเวรที่ยังขาดคน เปิดให้พยาบาลสมัครรับ

ขั้นตอน:

  1. ดูรายการเวรว่าง:
    • กรองตาม หน่วยงาน และ กะเวร
    • แต่ละรายการแสดง: หน่วยงาน, แผนก, วันที่, วัน, กะ
    • Staffing: ต้องการ / มีแล้ว / ขาด (Badge สีแดงแสดงจำนวนที่ขาด)
  2. คลิกปุ่ม "รับเวร" ที่เวรที่ต้องการ
  3. ระบบจะ:
    • สร้างเวรใหม่ให้คุณอัตโนมัติ
    • ส่งแจ้งเตือนไปยังหัวหน้าหน่วยงาน

💡 เคล็ดลับ: วันที่แสดงเป็นภาษาไทย พร้อมสีระบุวัน (🔴 อาทิตย์, 🔵 เสาร์)

5.5 ขอยืมตัวพยาบาล (Float Request)

📍 หน้า: /float-requests (tab "หน่วยของฉัน") 👤 สิทธิ์: HEAD_NURSE (สร้างคำขอ), NURSING_DIRECTOR, HOSPITAL_ADMIN (ดู/อนุมัติ)

วัตถุประสงค์: ส่งคำขอยืมตัวพยาบาลจากหน่วยงานอื่นมาขึ้นเวรในหน่วยที่ขาดคน

Flow การยืมตัว:

หน่วยขาดคน → ค้นหาพยาบาลว่าง → ส่งคำขอ → หัวหน้าต้นสังกัดอนุมัติ → สร้างเวรอัตโนมัติ

ขั้นตอนการขอยืมตัว:

  1. คลิกปุ่ม "+ ขอยืมตัว"
  2. กรอกข้อมูลในป๊อปอัพ:
    • วันที่ — เลือกจาก CustomDatePicker
    • กะเวร — เลือกกะ (เช้า/บ่าย/ดึก)
  3. คลิก "ค้นหาพยาบาล" → ระบบจะค้นหาพยาบาลจากหน่วยอื่นที่ว่างในวัน/กะนั้น
    • กรองอัตโนมัติ: ไม่มีเวรซ้ำ, ไม่ลาวันนั้น, ไม่มีคำขอยืมค้าง, ผ่านกฎ Forward Rotation
  4. เลือกพยาบาลจาก dropdown (แสดง: ชื่อ, ระดับ, หน่วยต้นสังกัด)
  5. กรอก เหตุผล (ถ้ามี)
  6. คลิก "ส่งคำขอ"
  7. ระบบจะ:
    • สร้างคำขอสถานะ "รออนุมัติ" (PENDING)
    • ส่งแจ้งเตือนในระบบไปยังหัวหน้าหน่วยต้นสังกัดของพยาบาล
    • ส่งอีเมลแจ้งหัวหน้าหน่วยต้นสังกัด

การยกเลิกคำขอ:

  • คลิกปุ่ม "ยกเลิก" ที่คำขอที่ยังเป็น PENDING
  • สถานะจะเปลี่ยนเป็น "ยกเลิก" (CANCELLED)

เมื่อคำขอได้รับอนุมัติ:

  • สถานะเปลี่ยนเป็น "เสร็จสิ้น" (COMPLETED)
  • ระบบสร้างเวรให้พยาบาลอัตโนมัติ ในหน่วยที่ขอยืม
  • พยาบาลจะเห็นเวรนี้ในหน้า "เวรของฉัน" พร้อม Badge "(ยืมตัว)" สี cyan
  • ส่งแจ้งเตือน + อีเมลไปยังผู้ขอและพยาบาลที่ถูกยืม

⚠️ หมายเหตุ: ฟีเจอร์ยืมตัวออกแบบให้เฉพาะ หัวหน้าพยาบาล (HEAD_NURSE) เป็นผู้สร้างคำขอ พยาบาลทั่วไป (STAFF_NURSE) ไม่สามารถสร้างคำขอได้

5.6 คำขอเวรล่วงหน้า (Schedule Preferences)

📍 หน้า: /schedule-preferences 👤 สิทธิ์: ทุก Role (ดู) / HEAD_NURSE, STAFF_NURSE, NURSE_ASSISTANT (สร้างคำขอ) / HEAD_NURSE+ (ตรวจสอบ)

วัตถุประสงค์: ส่งความต้องการเวรล่วงหน้าเป็นรายเดือน ก่อนที่หัวหน้าจะสร้างตารางเวร AI

สถานะคำขอเวร 3 สถานะ:

สถานะคำอธิบาย
PENDINGรอตรวจสอบ
REVIEWEDตรวจสอบแล้ว
INCORPORATEDนำไปใช้แล้ว

Tab: ของฉัน (Default สำหรับพยาบาล) / ทั้งหมด (Default สำหรับ Admin/Director)

ประเภทเวรที่เลือกได้ (7 แบบ):

ประเภทย่อคำอธิบายสี
เช้าเวรเช้า (08:00-16:00)เหลือง
บ่ายเวรบ่าย (16:00-00:00)ส้ม
ดึกเวรดึก (00:00-08:00)ม่วง
เช้า-บ่ายชบควบเวร 16 ชม.ม่วงอ่อน
บ่าย-ดึกบดควบเวร 16 ชม.ม่วงอ่อน
เช้า-บ่าย-ดึกชบดควบเวร 24 ชม.แดง
หยุดหยุดขอวันหยุดเทา

ขั้นตอนการสร้างคำขอ:

  1. เลือก เดือน และ ปี → คลิกปุ่ม "ส่ง Preference"
  2. ในป๊อปอัพ: คลิกวันที่ → Popover เลือกเวร จะเปิดขึ้น
  3. เลือกประเภทเวรที่ต้องการ (7 แบบ) หรือ "หลีกเลี่ยง" สำหรับวันที่ไม่ต้องการ
  4. แต่ละตัวเลือกจะแสดง จำนวนคนที่ขอแล้ว / จำนวนขั้นต่ำ (เช่น ช 2/3)
    • สีเขียว = ยังขาดคน (แนะนำให้เลือก)
    • สีส้ม = ครบตามจำนวนขั้นต่ำแล้ว (ยังเลือกได้ ไม่บล็อก)
  5. คลิกขวาที่วัน → ล้างค่าทันที
  6. กรอก หมายเหตุ (ถ้ามี) → คลิก "ส่ง Preference"

⚠️ ส่งได้ 1 ครั้ง ต่อ เดือน ต่อ unit — หากต้องการแก้ไข ให้กดปุ่มแก้ไข (ขณะสถานะยัง PENDING)

ข้อมูลแสดงบนปฏิทิน:

  • ตัวเลขมุมขวาบน ของแต่ละวัน = จำนวนพยาบาลคนอื่นที่ขอเวรวันนั้นแล้ว
  • แถบแจ้ง เหนือปฏิทิน = "มีพยาบาลส่ง preference แล้ว X คน"
  • Tooltip เมื่อชี้ที่วัน = รายละเอียดว่ามีใครขอเวรอะไรบ้าง

การตรวจสอบ (หัวหน้าพยาบาล+):

  1. เปิดแท็บ "ทั้งหมด" → กรองหน่วยงาน, สถานะ
  2. ดูรายละเอียดคำขอ → คลิก "ตรวจสอบแล้ว" หรือ "นำไปใช้แล้ว"

การแจ้งเตือน:

  • เมื่อพยาบาลส่งคำขอเวร → แจ้งเตือนหัวหน้าและผู้มีสิทธิ์ตรวจสอบ ผ่านกระดิ่ง (และช่องทางที่ตั้งค่าไว้)
  • เมื่อหัวหน้าตรวจสอบคำขอ → แจ้งเตือนพยาบาลเจ้าของคำขอ ว่าถูกตรวจสอบแล้ว

💡 ส่งคำขอเวรก่อนสร้างตารางเวร AI เพื่อให้ระบบนำความต้องการไปพิจารณา ระบบจัดเวรอัตโนมัติจะให้คะแนนตามควบเวรที่ขอด้วย

5.7 ส่งออกปฏิทิน (Calendar Export)

📍 หน้า: /my-schedule 👤 สิทธิ์: HEAD_NURSE, STAFF_NURSE, NURSE_ASSISTANT

วัตถุประสงค์: ดาวน์โหลดตารางเวรเป็นไฟล์ .ics เพื่อนำไปเปิดในแอปปฏิทิน

วิธีที่ 1 — ดาวน์โหลดไฟล์ iCal (.ics):

  1. ไปที่หน้า "เวรของฉัน" → เลือกเดือนและปี
  2. คลิกปุ่ม "ส่งออก iCal"
  3. เปิดไฟล์ด้วย Apple Calendar, Google Calendar (Import), หรือ Outlook

วิธีที่ 2 — เพิ่มลง Google Calendar:

  1. คลิกไอคอน Google ที่แต่ละรายการเวร
  2. ระบบจะเปิดหน้า Google Calendar พร้อมข้อมูลเวรที่กรอกไว้แล้ว

💡 ไฟล์ iCal มีข้อมูล: ชื่อกะเวร, เวลาเริ่ม-จบ, ชื่อหน่วยงาน, Timezone Asia/Bangkok

5.8 ขอเปลี่ยนเวร (Shift Change Request)

📍 หน้า: /shift-change-requests (tab "ของฉัน") 👤 สิทธิ์: HEAD_NURSE, STAFF_NURSE, NURSE_ASSISTANT

วัตถุประสงค์: ส่งคำขอเปลี่ยนกะเวรของตนเอง โดยไม่ต้องแลกกับพยาบาลคนอื่น (ต่างจาก "แลกเวร" ที่ต้องมีคู่แลก)

ขั้นตอนการขอเปลี่ยนเวร:

  1. คลิกปุ่ม "+ ขอเปลี่ยนเวร"
  2. กรอกข้อมูลในป๊อปอัพ:
    • เลือกเวร — เลือกจากรายการเวรปัจจุบันของคุณ (ที่ยังไม่ล็อก)
    • กะเวรใหม่ — เลือกกะที่ต้องการเปลี่ยนไป (เช้า/บ่าย/ดึก)
    • เหตุผล — ระบุเหตุผลในการเปลี่ยน (ไม่บังคับ)
  3. คลิก "ส่งคำขอ"
  4. ระบบจะ:
    • สร้างคำขอสถานะ "รอพิจารณา" (PENDING)
    • ส่ง แจ้งเตือนในระบบ ไปยังหัวหน้าหอผู้ป่วย
    • ส่ง อีเมล + แจ้งเตือนตามช่องทางที่ตั้งค่า (Telegram/LINE/SMS)

สถานะคำขอ:

สถานะBadgeคำอธิบาย
PENDING🟡 รอพิจารณารอหัวหน้าตรวจสอบ
APPROVED🟢 อนุมัติอนุมัติแล้ว — ระบบเปลี่ยนกะเวรให้อัตโนมัติ
REJECTED🔴 ปฏิเสธไม่อนุมัติ — เวรยังคงเดิม
CANCELLED⚪ ยกเลิกผู้ขอยกเลิกเอง

การยกเลิกคำขอ:

  • คลิกปุ่ม "ยกเลิก" ที่คำขอที่ยังเป็น PENDING เท่านั้น
  • ยืนยันในป๊อปอัพ → สถานะเปลี่ยนเป็น "ยกเลิก"

การอนุมัติ/ปฏิเสธ (สำหรับหัวหน้า): 📍 หน้า: /shift-change-requests (tab "ทั้งหมด") 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

  1. ดูรายการคำขอที่สถานะ PENDING
  2. คลิก ✅ "อนุมัติ" หรือ ❌ "ปฏิเสธ"
  3. ระบบแสดงป๊อปอัพยืนยัน — สามารถเพิ่ม หมายเหตุ ได้
  4. เมื่ออนุมัติ:
    • กะเวรจะถูก เปลี่ยนอัตโนมัติ ในตารางเวร
    • ส่งแจ้งเตือน + อีเมลไปยังพยาบาลผู้ขอ

💡 ข้อแตกต่างจาก "แลกเวร": แลกเวรต้องมีพยาบาล 2 คนสลับเวรกัน แต่ เปลี่ยนเวร เป็นการขอเปลี่ยนกะของตัวเองคนเดียว (เช่น ขอเปลี่ยนจากเวรเช้าเป็นเวรบ่าย)

5.9 ดูค่าตอบแทนเวร

📍 หน้า: /my-compensation 👤 สิทธิ์: ทุก Role

วัตถุประสงค์: ดูสรุปค่าตอบแทนเวรของตนเองรายเดือน และสรุปค่าตอบแทนทั้งหน่วยงาน (สำหรับหัวหน้า)

แท็บ "ของฉัน" (พยาบาล):

  • เลือกเดือน/ปี
  • ดูสรุป: ค่าเวรปกติ, ค่าเวรวันหยุด, ค่าเวรเรียกตัว, ยอดรวม
  • ดูรายละเอียดแต่ละเวร: วันที่, กะ, ประเภท (ปกติ/วันหยุด/สุดสัปดาห์/เรียกตัว), ค่าตอบแทน
  • กราฟ PieChart — แสดงสัดส่วนค่าตอบแทน (ค่าเวร / ค่าวันหยุด / ค่าเรียกตัว)
  • ปุ่มดาวน์โหลด — Export เป็น PDF หรือ Excel

แท็บ "หน่วยงาน" (HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN):

  • เลือกหน่วยงาน + เดือน/ปี
  • ดูสรุปค่าตอบแทนของพยาบาลทุกคนในหน่วยงาน
  • กราฟ BarChart — เปรียบเทียบค่าตอบแทนระหว่างพยาบาลแต่ละคน
  • ยอดรวมทั้ง Unit
  • ปุ่มดาวน์โหลด — Export เป็น PDF หรือ Excel

หมายเหตุ: อัตราค่าตอบแทนถูกกำหนดโดย HOSPITAL_ADMIN ในหน้า "ตั้งค่า → ค่าตอบแทนเวร" ค่าตอบแทนคำนวณอัตโนมัติจากตารางเวรจริง + วันหยุดราชการ + วันเสาร์-อาทิตย์

6. การอนุมัติ

Flow การอนุมัติ

ดูคำขอรออนุมัติ → ตรวจสอบรายละเอียด → อนุมัติ / ปฏิเสธ

6.1 อนุมัติแลกเวร

📍 หน้า: /swap-requests (tab "ทั้งหมด") 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

วัตถุประสงค์: ตรวจสอบและจัดการคำขอแลกเวร

ขั้นตอน:

  1. เปิดหน้า "แลกเวร" → เลือก tab "ทั้งหมด"
  2. กรองตาม สถานะ (รออนุมัติ / อนุมัติแล้ว / ไม่อนุมัติ)
  3. ตรวจสอบรายละเอียด:
    • ผู้ขอ + เวรของผู้ขอ (วันที่ + กะ)
    • คู่แลก + เวรของคู่แลก (วันที่ + กะ)
  4. ดำเนินการ:
    • ตอบรับ → ระบบแลกเวร 2 คนทันที + แจ้งเตือนผู้ขอ
    • ปฏิเสธ → แจ้งเตือนผู้ขอ

⚠️ หมายเหตุ: พยาบาลคู่แลกเป็นผู้ตอบรับ/ปฏิเสธ เมื่อตอบรับแล้วระบบจะแลกเวรอัตโนมัติ

6.2 อนุมัติลางาน

📍 หน้า: /leave-requests (tab "ทั้งหมด") 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

วัตถุประสงค์: ตรวจสอบและอนุมัติ/ปฏิเสธคำขอลางาน

ขั้นตอน:

  1. เปิดหน้า "ลางาน" → เลือก tab "ทั้งหมด"
  2. กรองตาม สถานะ
  3. ตรวจสอบรายละเอียด:
    • ผู้ขอ
    • ประเภทการลา
    • วันเริ่ม - วันสิ้นสุด (จำนวนวัน)
    • เหตุผล
  4. ดำเนินการ:
    • อนุมัติ → ส่งแจ้งเตือน + อีเมลไปยังผู้ขอ
    • ปฏิเสธ → ส่งแจ้งเตือน + อีเมลไปยังผู้ขอ

💡 เคล็ดลับ: Default tab: Admin/Director จะเปิด tab "ทั้งหมด" ก่อน, พยาบาลจะเปิด tab "ของฉัน" ก่อน

6.3 อนุมัติยืมตัวพยาบาล

📍 หน้า: /float-requests (tab "หน่วยของฉัน" หรือ "ทั้งหมด") 👤 สิทธิ์: HEAD_NURSE (หน่วยต้นสังกัด), NURSING_DIRECTOR, HOSPITAL_ADMIN

วัตถุประสงค์: ตรวจสอบและอนุมัติ/ปฏิเสธคำขอยืมตัวพยาบาลจากหน่วยของตน

ขั้นตอน:

  1. เปิดหน้า "ยืมตัวพยาบาล" → ดูคำขอที่สถานะ "รออนุมัติ"
  2. ตรวจสอบรายละเอียด:
    • พยาบาล ที่ถูกขอยืม
    • หน่วยต้นสังกัด (หน่วยของพยาบาล)
    • หน่วยที่ขอยืม (หน่วยปลายทาง)
    • วันที่ + กะเวร
    • เหตุผล
  3. ดำเนินการ:
    • อนุมัติ → ระบบจะ:
      • ตรวจสอบ Min Staffing: ถ้าหน่วยต้นสังกัดจะขาดคน → แจ้งเตือน ไม่ให้อนุมัติ
      • สร้างเวรใหม่ให้พยาบาลในหน่วยที่ขอยืม (isFloated: true)
      • แจ้งเตือน + อีเมลไปยังผู้ขอและพยาบาล
    • ปฏิเสธ → แจ้งเตือน + อีเมลไปยังผู้ขอ

⚠️ การตรวจสอบ Min Staffing:

  • ระบบจะนับพยาบาลในหน่วยต้นสังกัดที่ขึ้นเวรวันเดียวกัน
  • ถ้าอนุมัติแล้วจะเหลือพยาบาลน้อยกว่าจำนวนขั้นต่ำ (ตาม ShiftTemplate) → ระบบจะ block
  • NURSING_DIRECTOR ขึ้นไปสามารถ บังคับอนุมัติ (Force Approve) ได้

7. รายงาน

Flow การดูรายงาน

เลือกประเภทรายงาน → กำหนดเงื่อนไข (หน่วยงาน, เดือน, ปี) → ดู/ดาวน์โหลด

📍 หน้าหลัก: /reports 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

7.1 รายงานตารางเวร (PDF)

📍 หน้า: /reports/schedule

วัตถุประสงค์: ดาวน์โหลดตารางเวรรายเดือนเป็นไฟล์ PDF

ขั้นตอน:

  1. เลือก หน่วยงาน
  2. เลือก เดือน และ ปี
  3. คลิก "ดาวน์โหลด PDF"

เนื้อหา PDF:

  • ตารางเวรรายเดือน แสดงพยาบาลทุกคน
  • วันที่แสดงเป็น พ.ศ. (Buddhist Era)
  • แยกตามกะ (เช้า/บ่าย/ดึก) + ควบเวร (ชบ/บด/ชบด)
  • เวร On-call แสดง * หลังชื่อย่อกะ (เช่น ช*)
  • วันลา แสดงรหัสย่อ: V (ลาพักผ่อน), S (ลาป่วย), P (ลากิจ), T (ลาอบรม), M (ลาคลอด)
  • วันหยุด แสดง Off (วันที่ไม่มีเวรและไม่มีวันลา)
  • Legend ครบ: กะเวร + ควบเวร 4 แบบ + * = เวรเรียกตัว (OC) + Off + V/S/P/T/M
  • ใช้ Font Kanit สำหรับภาษาไทย

รายงาน Excel:

  • ดาวน์โหลดตารางเวรรายเดือนเป็นไฟล์ .xlsx
  • เนื้อหาเหมือน PDF: กะเวร + ควบเวร + On-call + วันลา + Off
  • สีเซลล์วันลา: font สีชมพู + พื้นหลังชมพูอ่อน
  • สีเซลล์ Off: font สีเทา + พื้นหลังเทาอ่อน
  • Legend row ท้ายตาราง

7.2 รายงาน OT/ค่าตอบแทน (Excel)

📍 หน้า: /reports/ot

วัตถุประสงค์: แสดงชั่วโมงทำงานและ OT ของพยาบาลแต่ละคน

ขั้นตอน:

  1. เลือก หน่วยงาน, เดือน, ปี
  2. คลิก "ดูข้อมูล" เพื่อดูในระบบ
  3. คลิก "ดาวน์โหลด Excel" เพื่อส่งออกเป็นไฟล์ .xlsx

ข้อมูลที่แสดง (ต่อพยาบาล):

คอลัมน์คำอธิบาย
เช้าจำนวนเวรเช้า
บ่ายจำนวนเวรบ่าย
ดึกจำนวนเวรดึก
รวมเวรจำนวนเวรทั้งหมด
ชม.รวมชั่วโมงทำงานรวม
ชม.OTชั่วโมงล่วงเวลา (Badge สีแดงถ้ามี)
Weekendจำนวนเวรวันหยุดสุดสัปดาห์

7.3 Staffing Adequacy (อัตรากำลังเพียงพอ)

📍 หน้า: /reports/staffing

วัตถุประสงค์: วิเคราะห์ความเพียงพอของอัตรากำลังพยาบาล

KPI Cards:

KPIคำอธิบาย
พยาบาลทั้งหมดจำนวน (แยก RN/PN/NA)
Total Slotsจำนวนช่องเวรทั้งหมด
Adequacy %อัตราความเพียงพอรวม (Ring Progress)
RN Adequacy %อัตราความเพียงพอ RN (Ring Progress)

ตาราง Daily Inadequate Shifts:

  • แสดงวันที่มีเวรขาดคน (วันที่, กะ, ต้องการ, มีจริง, ขาด)

7.4 Fairness Index (ดัชนีความเป็นธรรม)

📍 หน้า: /reports/fairness

วัตถุประสงค์: วัดความเป็นธรรมในการกระจายเวรด้วย Jain's Fairness Index

KPI:

  • Overall Fairness — ดัชนีรวม
  • Total Shifts — ความเป็นธรรมจำนวนเวรรวม
  • Night Shifts — ความเป็นธรรมเวรดึก
  • Weekend Shifts — ความเป็นธรรมเวรวันหยุด

ข้อมูลรายพยาบาล:

  • จำนวนเวร (เช้า/บ่าย/ดึก/รวม)
  • จำนวนเวร Weekend
  • Shift Ratio (Progress bar)

💡 หมายเหตุ: ค่า Fairness Index ใกล้ 1.0 = เป็นธรรมมาก, ใกล้ 0 = ไม่เป็นธรรม

7.5 HA Compliance Report

📍 หน้า: /reports/ha-compliance 👤 สิทธิ์: HEAD_NURSE, NURSING_DIRECTOR, HOSPITAL_ADMIN

วัตถุประสงค์: รายงานการปฏิบัติตามมาตรฐาน HA (Hospital Accreditation) สำหรับรับรองคุณภาพ สรพ.

ขั้นตอน:

  1. ไปที่ รายงาน → คลิก "HA Compliance Report"
  2. เลือก เดือน และ ปี
  3. ระบบแสดง Dashboard 5 หมวดพร้อมกราฟ
  4. คลิก "ดาวน์โหลด PDF" เพื่อส่งออกรายงาน

5 หมวดที่ตรวจสอบ:

หมวดรายละเอียดตัวชี้วัด
1. อัตรากำลัง (Staffing)จำนวนพยาบาลและสัดส่วน RN ต่อหน่วยงานRN ≥ 80% = ผ่าน
2. ใบอนุญาต (Licenses)ความครบถ้วนของใบอนุญาตวิชาชีพ% ที่มีใบอนุญาต + ใกล้หมดอายุ
3. ทักษะ (Competencies)ทักษะที่จำเป็นตาม Unit Requirementsจำนวนคนที่มีทักษะครบ
4. OT & ความเสี่ยงการทำงานเกินเวลา, ควบเวร, Burnout Riskจำนวน High Risk Nurses
5. การอบรม (Training)ชั่วโมงอบรมของพยาบาลชม.รวม + เฉลี่ย/คน

คะแนน Compliance:

  • แสดง Overall Score เป็น RingProgress (เขียว ≥ 80%, เหลือง ≥ 50%, แดง < 50%)
  • ป้าย "ผ่านเกณฑ์" / "ต้องปรับปรุง" / "ไม่ผ่านเกณฑ์"

กราฟและ Visualization:

  • BarChart — สัดส่วน RN % ต่อหน่วยงาน (เขียว/ส้ม/แดงตามเกณฑ์)
  • PieChart — สรุปความเสี่ยง (เกิน Weekly Limit / ควบเวร)
  • ตาราง High Risk Nurses — พยาบาลที่เวรเกิน 25 หรือดึกเกิน 6

💡 หมายเหตุ: รายงานนี้ใช้ข้อมูลจริงจากระบบทั้งหมด (ตารางเวร, ใบอนุญาต, ทักษะ, การอบรม) คำนวณอัตโนมัติ ช่วยเตรียมพร้อมสำหรับการตรวจประเมิน HA

8. การแจ้งเตือน

8.1 การแจ้งเตือนในระบบ (NotificationBell)

ตำแหน่ง: ไอคอนกระดิ่ง 🔔 ที่มุมขวาบนของ Header

วิธีใช้งาน:

  1. Badge สีแดง บนไอคอนกระดิ่ง = จำนวนแจ้งเตือนที่ยังไม่ได้อ่าน
  2. คลิกที่กระดิ่ง → เปิด Popover แสดงรายการแจ้งเตือน
  3. คลิกที่แจ้งเตือน → ระบบจะ:
    • ทำเครื่องหมายว่า "อ่านแล้ว"
    • Redirect ไปหน้าที่เกี่ยวข้อง
  4. คลิก "อ่านทั้งหมด" เพื่อทำเครื่องหมายอ่านแล้วทั้งหมด

ประเภทแจ้งเตือน 18 ประเภท:

ประเภทคำอธิบายสี
ตารางเวรใหม่เมื่อตารางเวรถูก Publish🔵 น้ำเงิน
คำขอแลกเวรเมื่อมีคนขอแลกเวรกับคุณ🟠 ส้ม
แลกเวรสำเร็จเมื่อคำขอแลกเวรถูกตอบรับ🟢 เขียว
แลกเวรถูกปฏิเสธเมื่อคำขอแลกเวรถูกปฏิเสธ🔴 แดง
คำขอลางานเมื่อมีคนส่งคำขอลา🟡 เหลือง
อนุมัติการลาเมื่อคำขอลาได้รับอนุมัติ🟢 เขียว
คำขอลาถูกปฏิเสธเมื่อคำขอลาถูกปฏิเสธ🔴 แดง
เวรว่างถูกรับเมื่อมีคนรับเวรว่าง🟢 เขียวเข้ม
คำขอยืมตัวเมื่อมีคำขอยืมตัวพยาบาล🔵 น้ำเงิน
อนุมัติยืมตัวเมื่อคำขอยืมตัวได้รับอนุมัติ🟢 เขียว
ปฏิเสธยืมตัวเมื่อคำขอยืมตัวถูกปฏิเสธ🔴 แดง
คำขอเปลี่ยนเวรเมื่อพยาบาลขอเปลี่ยนกะเวร🟠 ส้ม
เปลี่ยนเวรอนุมัติเมื่อคำขอเปลี่ยนเวรได้รับอนุมัติ🟢 เขียว
เปลี่ยนเวรถูกปฏิเสธเมื่อคำขอเปลี่ยนเวรถูกปฏิเสธ🔴 แดง
คำขอเวรใหม่เมื่อพยาบาลส่งคำขอเวร (Preference)🔵 น้ำเงิน
คำขอเวรถูกตรวจสอบเมื่อหัวหน้าตรวจสอบคำขอเวร🔵 น้ำเงิน
ชำระเงินสำเร็จเมื่อการชำระเงินได้รับการยืนยัน🟢 เขียว
ชำระเงินถูกปฏิเสธเมื่อการชำระเงินถูกปฏิเสธ🔴 แดง
แพ็คเกจใกล้หมดอายุ7 วันก่อนแพ็คเกจหมดอายุ🟠 ส้ม
ประกาศระบบประกาศจากผู้ดูแลระบบ🔵 น้ำเงิน

Real-time: แจ้งเตือนส่งทันทีผ่าน Socket.IO — ไม่ต้อง refresh หน้าจอ

8.2 การแจ้งเตือนอีเมล

ระบบส่งอีเมลอัตโนมัติ 17 ประเภท:

อีเมลTriggerผู้รับ
OTPสมัครสมาชิก/Loginผู้ใช้
OTP รีเซ็ตรหัสผ่านลืมรหัสผ่านผู้ใช้
ยินดีต้อนรับหลังยืนยัน OTPผู้ใช้
ชำระเงินสำเร็จทีมงานยืนยันชำระเงินผู้ดูแลระบบ รพ. (แนบ Receipt PDF)
ชำระเงินถูกปฏิเสธทีมงานปฏิเสธชำระเงินผู้ดูแลระบบ รพ.
เปิดใช้งาน Subscriptionหลังยืนยันชำระเงินผู้ดูแลระบบ รพ.
แพ็คเกจใกล้หมดอายุระบบตรวจสอบอัตโนมัติ (7 วันก่อนหมด)ผู้ดูแลระบบ รพ.
แพ็คเกจหมดอายุระบบตรวจสอบอัตโนมัติ (หมดอายุ)ผู้ดูแลระบบ รพ.
คำขอแลกเวรพยาบาลขอแลกเวรพยาบาลคู่แลก
ผลแลกเวรคู่แลกตอบรับ/ปฏิเสธพยาบาลผู้ขอแลกเวร
สถานะการลาอนุมัติ/ปฏิเสธลาพยาบาลผู้ขอ
คำขอยืมตัวหัวหน้าขอยืมตัวพยาบาลหัวหน้าหน่วยต้นสังกัด
ผลยืมตัวอนุมัติ/ปฏิเสธยืมตัวผู้ขอ + พยาบาล
คำขอเปลี่ยนเวรพยาบาลขอเปลี่ยนกะหัวหน้า/ผู้อนุมัติ
ผลเปลี่ยนเวรอนุมัติ/ปฏิเสธเปลี่ยนเวรพยาบาลผู้ขอ
คำขอเวรใหม่พยาบาลส่งคำขอเวร (Preference)หัวหน้า/ผู้อนุมัติ
คำขอเวรถูกตรวจสอบหัวหน้าตรวจสอบคำขอเวรพยาบาลผู้ขอ
ตารางเวรเผยแพร่Publish ตารางเวรพยาบาลทุกคนในหน่วยงาน
ระงับองค์กรSA ระงับ tenantผู้ดูแลระบบ รพ.

8.3 การแจ้งเตือน Telegram

การตั้งค่า: ผู้ดูแลแพลตฟอร์มตั้งค่า Bot Token และ Chat ID ในหน้าตั้งค่าระบบ

เหตุการณ์ที่ส่ง Telegram:

  • มีสลิปชำระเงินรอตรวจ
  • มีผู้สมัครสมาชิกใหม่
  • สรุปรายวัน (Daily Summary)
  • Burnout Risk Alert
  • Subscription ใกล้หมดอายุ

8.4 ตั้งค่าช่องทางแจ้งเตือนระดับหน่วยงาน

📍 หน้า: /settings/notifications 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: กำหนดว่าแต่ละหน่วยงาน (Unit) จะรับแจ้งเตือนผ่านช่องทางใดบ้าง แยกอิสระไม่ปนกัน

ช่องทางแจ้งเตือน 5 ช่องทาง:

ช่องทางคำอธิบายเงื่อนไข
In-Appแจ้งเตือนในระบบ (กระดิ่ง)พร้อมใช้งานเสมอ
อีเมลส่งอีเมลอัตโนมัติต้องตั้งค่า SMTP (ผู้ดูแลแพลตฟอร์ม)
SMSส่ง SMS ไปยังเบอร์โทรต้องตั้งค่า SMS Provider (ผู้ดูแลแพลตฟอร์ม)
Telegramส่งข้อความไปกลุ่ม Telegramต้องตั้งค่า Bot + Chat ID ของหน่วยงาน
LINEส่งข้อความผ่าน LINE OAต้องตั้งค่า Channel Access Token ของหน่วยงาน

ประเภทการแจ้งเตือนที่ตั้งค่าได้ 13 ประเภท:

ประเภทคำอธิบายค่าเริ่มต้น
ตารางเวรใหม่เมื่อเผยแพร่ตารางเวรประจำเดือนIn-App ✅ อีเมล ✅
คำขอแลกเวรเมื่อมีพยาบาลขอแลกเวรIn-App ✅ อีเมล ✅
ตอบรับแลกเวรเมื่อคำขอแลกเวรได้รับการตอบรับIn-App ✅ อีเมล ✅
ปฏิเสธแลกเวรเมื่อคำขอแลกเวรถูกปฏิเสธIn-App ✅ อีเมล ✅
คำขอลางานเมื่อมีพยาบาลขอลางานIn-App ✅
อนุมัติลาเมื่อคำขอลาได้รับอนุมัติIn-App ✅ อีเมล ✅
ปฏิเสธลาเมื่อคำขอลาถูกปฏิเสธIn-App ✅ อีเมล ✅
เวรว่างถูกรับเมื่อมีพยาบาลรับเวรว่างIn-App ✅
คำขอยืมตัวเมื่อมีหน่วยงานขอยืมตัวพยาบาลIn-App ✅ อีเมล ✅
อนุมัติยืมตัวเมื่อคำขอยืมตัวได้รับอนุมัติIn-App ✅ อีเมล ✅
ปฏิเสธยืมตัวเมื่อคำขอยืมตัวถูกปฏิเสธIn-App ✅ อีเมล ✅
คำขอเวรใหม่เมื่อพยาบาลส่งคำขอเวร (Preference)In-App ✅ อีเมล ✅
คำขอเวรถูกตรวจสอบเมื่อหัวหน้าตรวจสอบคำขอเวรIn-App ✅ อีเมล ✅

💡 หากหน่วยงานยังไม่ได้ตั้งค่า ระบบจะใช้ค่าเริ่มต้น (In-App + อีเมล เปิด, SMS + Telegram ปิด) ระบบทำงานเหมือนเดิมจนกว่าจะเข้าตั้งค่า

ขั้นตอนการตั้งค่า:

  1. ไปที่เมนู "การแจ้งเตือน" ในแถบด้านข้าง
  2. เลือกหน่วยงาน จาก Dropdown (HEAD_NURSE จะเห็นเฉพาะหน่วยงานตนเอง)
  3. ดูสถานะ Badge:
    • Telegram ตั้งค่าแล้ว / ยังไม่ตั้งค่า
    • SMS พร้อมใช้งาน / ยังไม่ตั้งค่า
  4. แท็บ "ช่องทางแจ้งเตือน" — ตาราง Matrix:
    • Desktop: ตาราง (แถว = ประเภทแจ้งเตือน, คอลัมน์ = ช่องทาง) พร้อมสวิตช์เปิด/ปิด
    • Mobile: Card view (1 การ์ด = 1 ประเภท, สวิตช์ 4 ช่องทาง)
    • ช่องทางที่ยังไม่ตั้งค่า (SMS/Telegram) จะ disabled พร้อม Tooltip แจ้งเตือน
  5. คลิก "บันทึกการตั้งค่า"

สิทธิ์:

  • HEAD_NURSE — แก้ไขได้เฉพาะหน่วยงานของตนเอง
  • NURSING_DIRECTOR / HOSPITAL_ADMIN — แก้ไขหน่วยงานใดก็ได้ภายใน Tenant

8.5 ตั้งค่า Telegram ระดับหน่วยงาน

📍 หน้า: /settings/notifications (แท็บ "Telegram") 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: ตั้งค่า Telegram Bot สำหรับแต่ละหน่วยงาน (แยกจาก Telegram ของผู้ดูแลแพลตฟอร์ม)

💡 แต่ละหน่วยงานสามารถมี Bot + กลุ่ม Telegram ของตนเอง

ขั้นตอนการตั้งค่า:

  1. เลือกหน่วยงาน → คลิกแท็บ "Telegram"
  2. กรอก Bot Token (จาก @BotFather)
  3. กรอก Chat ID ของกลุ่ม (เช่น -1001234567890)
  4. เปิดสวิตช์ "เปิดใช้งาน Telegram"
  5. คลิก "บันทึก"
  6. คลิก "ทดสอบ" เพื่อส่งข้อความทดสอบไปยังกลุ่ม

วิธีสร้าง Telegram Bot:

  1. ค้นหา @BotFather ใน Telegram แล้วพิมพ์ /newbot
  2. ตั้งชื่อ Bot และ username
  3. คัดลอก Bot Token มาวาง
  4. เพิ่ม Bot เข้าไปในกลุ่ม Telegram ของหน่วยงาน
  5. ดึง Chat ID ของกลุ่มมาวาง

8.6 ตั้งค่า SMS Provider (ผู้ดูแลแพลตฟอร์ม)

📍 หน้า: /super-admin/settings (แท็บ "การแจ้งเตือน") 👤 สิทธิ์: Super Admin เท่านั้น

วัตถุประสงค์: ตั้งค่า SMS Provider สำหรับทั้งแพลตฟอร์ม เพื่อให้หน่วยงานต่างๆ สามารถเปิดใช้ช่องทาง SMS ได้

Provider ที่รองรับ:

Providerคำอธิบาย
ThaiBulkSMSบริการส่ง SMS สำหรับธุรกิจในประเทศไทย
SMSMKTบริการส่ง SMS อีกทางเลือก

ขั้นตอนการตั้งค่า:

  1. ไปที่ ตั้งค่าระบบ → แท็บ "การแจ้งเตือน"
  2. เลื่อนไปที่ส่วน "ตั้งค่า SMS Provider"
  3. เลือก Provider (ThaiBulkSMS / SMSMKT)
  4. กรอก Sender Name (ชื่อผู้ส่งที่จะแสดงในข้อความ)
  5. กรอก API Key และ API Secret (จาก provider)
  6. คลิก "บันทึก"
  7. คลิก "ทดสอบ" → กรอกเบอร์โทร → ส่งข้อความทดสอบ

💡 เมื่อตั้งค่า SMS Provider แล้ว หน่วยงานทุกแห่งจะสามารถเปิดช่องทาง SMS ในหน้าตั้งค่าการแจ้งเตือนได้

8.7 แจ้งเตือนผ่าน LINE OA

📍 หน้า: /settings/notifications (แท็บ "LINE") 👤 สิทธิ์: HOSPITAL_ADMIN, NURSING_DIRECTOR, HEAD_NURSE

วัตถุประสงค์: เชื่อมต่อ LINE Official Account สำหรับแต่ละหน่วยงาน

ขั้นตอนการตั้งค่า:

  1. เลือกหน่วยงาน → คลิกแท็บ "LINE"
  2. กรอก Channel Access Token (Long-lived) จาก LINE Developers Console
  3. กรอก Channel Secret (ไม่บังคับ)
  4. เปิดสวิตช์ "เปิดใช้งาน LINE" → คลิก "บันทึก"
  5. คลิก "ทดสอบ" เพื่อส่ง broadcast ทดสอบ

วิธีสร้าง LINE OA:

  1. เข้า LINE Developers Console (developers.line.biz)
  2. สร้าง Provider → สร้าง Messaging API Channel
  3. คัดลอก Channel Access Token (Long-lived) มาวาง
  4. ให้พยาบาลในหน่วยงาน เพิ่มเพื่อน LINE OA — ระบบจะ broadcast ถึงทุกคนที่เป็นเพื่อน

⚠️ LINE OA ส่งแบบ broadcast (ถึงทุกคนที่เป็นเพื่อน) ไม่ใช่ push message ส่วนตัว

8.8 แชทภายในทีม (In-App Chat)

📍 หน้า: /chat 👤 สิทธิ์: ทุก Role

วัตถุประสงค์: สื่อสารภายในทีมผ่านห้องแชทแบบ Real-time

ประเภทห้องแชท 2 ประเภท:

ประเภทคำอธิบาย
Unit Chatห้องกลุ่มของหน่วยงาน — ทุกคนในหน่วยเห็นข้อความ
Direct Messageแชทส่วนตัว 1:1 ระหว่าง 2 คน

Unit Chat:

  1. เปิดเมนู "แชท" จาก Sidebar
  2. เลือกห้องแชทของหน่วยงาน → พิมพ์ข้อความ → Enter หรือคลิกปุ่มส่ง
  3. ข้อความแสดง Real-time ผ่าน Socket.IO

Direct Message:

  1. คลิกไอคอน ข้อความใหม่
  2. ค้นหาชื่อผู้ใช้ → คลิกเพื่อเปิดห้องแชทส่วนตัว
  3. พิมพ์ข้อความ → ส่ง

💡 Admin ที่ไม่มี Nurse Profile (HOSPITAL_ADMIN, NURSING_DIRECTOR) จะเห็นห้องแชทของทุกหน่วยงานใน Tenant

9. การชำระเงินและอัปเกรด

Flow การชำระเงิน (SAAS mode)

เลือกแพ็คเกจ → เลือกวิธีชำระ → ชำระเงิน → อัปโหลดสลิป → รอตรวจสอบ → เปิดใช้งาน

9.1 อัปเกรดแพ็คเกจ

📍 หน้า: /upgrade 👤 สิทธิ์: HOSPITAL_ADMIN (SAAS mode)

วัตถุประสงค์: เลือกและอัปเกรดแพ็คเกจบริการ

แพ็คเกจที่มี:

แพ็คเกจรายเดือน (฿)รายปี (฿)ประหยัด
ทดลองใช้งาน (Free Trial)ฟรี 30 วัน--
Starter9909,900~17%
Professional2,49024,900~17%
Enterprise5,99059,900~17%

ขั้นตอน:

  1. ดู แพ็คเกจปัจจุบัน และ วันหมดอายุ ที่ header
  2. สลับ รอบบิล (รายเดือน / รายปี) — รายปีประหยัด ~17%
  3. เลือก แพ็คเกจ ที่ต้องการ → คลิก "เลือก"
  4. เลือก วิธีชำระเงิน ในป๊อปอัพ

9.2 ชำระเงิน

วิธีชำระเงิน 2 วิธี:

1. พร้อมเพย์ (PromptPay):

  1. ระบบแสดง QR Code สำหรับสแกนจ่าย
  2. จ่ายเงินผ่านแอปธนาคาร
  3. กลับมาที่ระบบ → คลิก "อัปโหลดสลิป"

2. โอนเงิน (Bank Transfer):

  1. ระบบแสดง ข้อมูลบัญชีธนาคาร (ชื่อธนาคาร, เลขที่บัญชี, ชื่อบัญชี, สาขา)
  2. โอนเงินผ่านแอปธนาคาร
  3. กลับมาที่ระบบ → คลิก "อัปโหลดสลิป"

การอัปโหลดสลิป:

  1. คลิก "อัปโหลดสลิป"
  2. เลือก ไฟล์รูปสลิป
  3. กรอกข้อมูลเพิ่มเติม:
    • ชื่อธนาคาร ที่โอน
    • เลขอ้างอิงการโอน
    • วันเวลาที่โอน (CustomDatePicker datetime)
  4. คลิก "ส่ง"
  5. สถานะเปลี่ยนเป็น "รอตรวจสอบ" (REVIEWING)
  6. ทีมงานจะได้รับแจ้งเตือนทาง Telegram

9.3 ประวัติชำระเงิน

📍 หน้า: /payments 👤 สิทธิ์: HOSPITAL_ADMIN

วัตถุประสงค์: ดูประวัติการชำระเงินทั้งหมด

ขั้นตอน:

  1. กรองตาม สถานะ (รอดำเนินการ / รอตรวจสอบ / สำเร็จ / ปฏิเสธ)
  2. ดูรายการ:
    • รหัสอ้างอิง (PAY-YYYYMMDD-XXXXX)
    • แพ็คเกจ
    • วิธีชำระ
    • จำนวนเงิน (บาท)
    • สถานะ
    • วันที่
  3. คลิกที่รายการเพื่อดู รายละเอียด:
    • ข้อมูลการชำระเงิน
    • รูปสลิป (ถ้ามี)
    • เหตุผลที่ปฏิเสธ (ถ้ามี)
  4. ดาวน์โหลด ใบเสร็จรับเงิน (PDF) — เฉพาะรายการที่สำเร็จแล้ว

สถานะการชำระเงิน:

สถานะสีคำอธิบาย
รอดำเนินการ🟡 เหลืองสร้างรายการแล้ว ยังไม่ชำระ
รอส่งสลิป🟠 ส้มชำระแล้ว ยังไม่ส่งสลิป
รอตรวจสอบ🔵 น้ำเงินส่งสลิปแล้ว รอทีมงานตรวจ
สำเร็จ🟢 เขียวตรวจสอบแล้ว ยืนยันสำเร็จ
ปฏิเสธ🔴 แดงตรวจสอบแล้ว ถูกปฏิเสธ
ยกเลิก⚪ เทายกเลิกโดยผู้ใช้
หมดอายุ⚪ เทาหมดเวลาชำระ

10. ภาคผนวก

10.1 ตารางสิทธิ์ Role-Based Access (ครบทุกหน้า)

หน้าเส้นทางHANDHNSN
Landing/
เข้าสู่ระบบ/login
สมัครสมาชิก/register
ยืนยัน OTP/verify-email
แดชบอร์ด/dashboard
เวรของฉัน/my-schedule--
ตารางเวร/schedules
สร้างเวร AI/schedules/generate-
พยาบาล/nurses
เพิ่มพยาบาล/nurses/new--
แก้ไขพยาบาล/nurses/[id]--
จำแนกผู้ป่วย/patients/classification-
ภาระงาน/workload
แลกเวร/swap-requests
ลางาน/leave-requests
เวรว่าง/open-shifts
ยืมตัวพยาบาล/float-requests-
คำขอเวรล่วงหน้า/schedule-preferences
แชท/chat
รายงาน/reports/*-
HA Compliance Report/reports/ha-compliance-
ค่าตอบแทนเวร/my-compensation
ตั้งค่าค่าตอบแทน/settings/compensation--
โรงพยาบาล/settings/hospitals---
แผนก/settings/departments---
หน่วยงาน/settings/units---
ตั้งค่าการแจ้งเตือน/settings/notifications-
วันหยุดราชการ/settings/holidays---
ทักษะที่ต้องการ/settings/competencies--
โปรไฟล์/profile
อัปเกรด/upgrade---
ประวัติชำระเงิน/payments---

10.2 ประเภทกะเวร

กะรหัสเวลาเริ่มเวลาจบชั่วโมงสี
เช้าMORN07:0015:008🟡 เหลือง
บ่ายAFTER15:0023:008🟠 ส้ม
ดึกNIGHT23:0007:008🟣 ม่วง

10.2.1 สัญลักษณ์วันลาและวันหยุดในตารางเวร

ตารางเวรแสดง ทั้งเวรทำงานและวันหยุด/วันลา ในตารางเดียวกัน ตามแนวปฏิบัติมาตรฐานโรงพยาบาลไทย:

รหัสประเภทความหมายสี
Offวันหยุดวันที่ไม่มีเวรและไม่มีวันลา⬜ เทา
VVACATIONลาพักผ่อน (Vacation Leave)🩷 ชมพู
SSICKลาป่วย (Sick Leave)🩷 ชมพู
PPERSONALลากิจ (Personal Leave)🩷 ชมพู
TTRAININGลาอบรม (Training Leave)🩷 ชมพู
MMATERNITYลาคลอด (Maternity Leave)🩷 ชมพู
OORDINATIONลาอุปสมบท (Ordination Leave)🩷 ชมพู
MLMILITARYลาทหาร (Military Service)🩷 ชมพู
SZSTERILIZATIONลาทำหมัน (Sterilization Leave)🩷 ชมพู
SFSPOUSE_FOLLOWลาติดตามคู่สมรส (Spouse Follow)🩷 ชมพู
RREHABILITATIONลาฟื้นฟูสมรรถภาพ (Rehabilitation)🩷 ชมพู
SLSTUDY_LEAVEลาศึกษาต่อ (Study Leave)🩷 ชมพู

กฎ Priority การแสดงผล:

  1. มีเวร → แสดงกะเวรตามปกติ (เช้า/บ่าย/ดึก/ควบเวร)
  2. ไม่มีเวร + มีวันลาอนุมัติ → แสดงรหัสลา (V/S/P/T/M/O/ML/SZ/SF/R/SL)
  3. ไม่มีเวร + ไม่มีวันลา → แสดง Off

💡 สัญลักษณ์เหล่านี้แสดงในทุก output: หน้าจอตารางเวร, หน้ารายงาน, PDF, และ Excel

10.3 กฎการจัดเวร

กฎรหัสรายละเอียด
Forward RotationSC1เช้า → บ่าย → ดึก (ห้ามย้อนกลับ, ตั้งค่าได้)
Night → MorningHC3/HC13ห้ามเวรชิดกัน (ช่วงพักระหว่างกะ ≥ กำหนด)
NHPPD Coefficient13.47 ชม./ผู้ป่วย/วัน (มาตรฐาน POR 2010)
Staff Mix RatioRN ≥ 80% ต่อกะ
อัตราพยาบาล:ผู้ป่วย (วิกฤต)1:2
อัตราพยาบาล:ผู้ป่วย (ทั่วไป)1:4
ชั่วโมงทำงานสูงสุด/สัปดาห์HCกำหนดต่อ RuleSet (default 48 ชม.)
เวรดึกสูงสุด/เดือนHCกำหนดต่อ RuleSet (default 10 เวร)
Mandatory RestHC14หลังเวร ≥ 16 ชม. ต้องพักวันถัดไป
OT สูงสุด/วันHC15จำกัด OT ต่อวัน (default 4 ชม. = ทำงานสูงสุด 12 ชม./วัน)
Recovery CycleHC16หลังทำงานติดตามจำนวนสูงสุด → ต้องพักตามที่กำหนด
ทักษะเฉพาะทางHC-SkillMatchจับคู่ทักษะพยาบาลกับทักษะที่หน่วยงานต้องการ
ความเป็นธรรมวันหยุดSC12กระจายเวรวันหยุดราชการให้ทั่วถึง

10.4 ระดับพยาบาล

ระดับรหัสคำอธิบายสัดส่วนขั้นต่ำ
พยาบาลวิชาชีพRNRegistered Nurse≥ 80% ต่อกะ
พยาบาลเทคนิคPNPractical Nurseส่วนที่เหลือ
ผู้ช่วยพยาบาลNANurse Assistantส่วนที่เหลือ

10.5 สถานะคำขอต่างๆ

คำขอแลกเวร (Swap Request):

PENDING (รออนุมัติ) → ACCEPTED (ตอบรับ) / REJECTED (ปฏิเสธ)
                    → CANCELLED (ยกเลิกโดยผู้ขอ)

คำขอลางาน (Leave Request):

PENDING (รออนุมัติ) → APPROVED (อนุมัติ) / REJECTED (ปฏิเสธ)
                    → CANCELLED (ยกเลิกโดยผู้ขอ)

คำขอยืมตัวพยาบาล (Float Request):

PENDING (รออนุมัติ) → COMPLETED (เสร็จสิ้น — สร้างเวรอัตโนมัติ) / REJECTED (ปฏิเสธ)
                    → CANCELLED (ยกเลิกโดยผู้ขอ)

คำขอเวร (Schedule Preference):

PENDING (รอตรวจสอบ) → REVIEWED (ตรวจสอบแล้ว) → INCORPORATED (นำไปใช้แล้ว)

การชำระเงิน (Payment):

PENDING (รอดำเนินการ) → AWAITING_SLIP (รอส่งสลิป) → REVIEWING (รอตรวจสอบ)
                                                     → COMPLETED (สำเร็จ) / REJECTED (ปฏิเสธ)
PENDING → CANCELLED (ยกเลิก) / EXPIRED (หมดอายุ)

Subscription:

ACTIVE (ใช้งาน) → EXPIRED (หมดอายุ) / CANCELLED (ยกเลิก)

10.6 แพ็คเกจและราคา

แพ็คเกจรายเดือนรายปีประหยัดระยะเวลาทดลอง
Free Trialฟรี--30 วัน
Starter฿990฿9,900~17%-
Professional฿2,490฿24,900~17%-
Enterprise฿5,990฿59,900~17%-

ขีดจำกัดต่อแพ็คเกจ:

  • จำนวนผู้ใช้สูงสุด
  • จำนวนหน่วยงานสูงสุด
  • จำนวนพยาบาลต่อหน่วยสูงสุด

💡 ขีดจำกัดสามารถปรับได้โดยผู้ดูแลแพลตฟอร์ม

10.7 คำถามที่พบบ่อย (FAQ)

Q: ลืมรหัสผ่านทำอย่างไร? A: คลิก "ลืมรหัสผ่าน?" ที่หน้า Login → กรอกอีเมล → ระบบส่ง OTP → กรอก OTP + รหัสผ่านใหม่ที่หน้า Reset Password

Q: ไม่ได้รับอีเมล OTP? A: ตรวจสอบโฟลเดอร์ Spam/Junk → รอ 60 วินาที → คลิก "ส่งรหัสใหม่"

Q: ทำไมไม่เห็นเมนู "เวรของฉัน"? A: เมนูนี้แสดงเฉพาะบทบาท HEAD_NURSE และ STAFF_NURSE ที่มี Nurse Profile เท่านั้น

Q: ทำไมไม่สามารถแก้ไขเวรได้? A: เวรที่ถูก "ล็อก" แล้วไม่สามารถแก้ไขหรือลบได้ — ติดต่อผู้ดูแลระบบ

Q: AI สร้างเวรใช้เวลานานแค่ไหน? A: ขึ้นอยู่กับจำนวนพยาบาลและเงื่อนไข — ปกติไม่เกิน 1-2 นาที (ทำงานใน Background)

Q: สามารถดูเวรย้อนหลังได้หรือไม่? A: ได้ — เลือกเดือน/ปีที่ต้องการในหน้าตารางเวร

Q: แพ็คเกจทดลองใช้หมดอายุแล้วจะเกิดอะไร? A: ระบบจะแจ้งเตือน 7 วันก่อนหมดอายุ → หลังหมดอายุจะไม่สามารถใช้งานบางฟีเจอร์ได้ → อัปเกรดแพ็คเกจเพื่อใช้งานต่อ

Q: ชำระเงินแล้วรอตรวจสอบนานแค่ไหน? A: ทีมงานจะได้รับแจ้งเตือนทันที — ปกติภายใน 1 วันทำการ

Q: ระบบรองรับ Dark Mode หรือไม่? A: รองรับ — คลิกไอคอน 🌙/☀️ ที่มุมขวาบนเพื่อสลับโหมดมืด/สว่าง

Q: Timezone ของระบบคืออะไร? A: Asia/Bangkok (UTC+7) — ทุก layer ใช้ timezone เดียวกัน วันที่ในรายงาน/PDF แสดงเป็น พ.ศ.

Q: ส่งออกตารางเวรไปยัง Google Calendar ได้อย่างไร? A: ไปที่หน้า "เวรของฉัน" → คลิกปุ่ม "ส่งออก iCal" เพื่อดาวน์โหลดไฟล์ .ics แล้วนำไป Import ใน Google Calendar หรือคลิกไอคอน Google ที่รายการเวรเพื่อเพิ่มลง Google Calendar โดยตรง

Q: แชทภายในทีมใช้งานอย่างไร? A: เปิดเมนู "แชท" จาก Sidebar → เลือกห้องแชทหน่วยงาน (Unit Chat) หรือคลิกไอคอนข้อความใหม่เพื่อเปิด Direct Message กับผู้ใช้คนอื่น ข้อความจะแสดง Real-time ผ่าน Socket.IO

Q: ตั้งค่า LINE OA สำหรับแจ้งเตือนอย่างไร? A: ไปที่ "ตั้งค่าการแจ้งเตือน" → เลือกหน่วยงาน → แท็บ "LINE" → กรอก Channel Access Token จาก LINE Developers Console → เปิดสวิตช์ → บันทึก แล้วให้พยาบาลเพิ่มเพื่อน LINE OA เพื่อรับแจ้งเตือน

Q: คำขอเวรล่วงหน้าคืออะไร? A: เป็นระบบให้พยาบาลส่งความต้องการเวรล่วงหน้าเป็นรายเดือน ก่อนที่หัวหน้าจะสร้างตารางเวร AI รองรับทั้งเวรเดี่ยว (เช้า/บ่าย/ดึก/หยุด) และ ควบเวร (ชบ เช้า-บ่าย 16 ชม., บด บ่าย-ดึก 16 ชม., ชบด เช้า-บ่าย-ดึก 24 ชม.) ระบบจะแสดงจำนวนคนที่ขอแล้วเทียบกับจำนวนขั้นต่ำเพื่อเป็นแนวทาง (ไม่บล็อก) และแจ้งเตือนหัวหน้าอัตโนมัติเมื่อมีคำขอใหม่

Q: ทำไมส่งคำขอเวรได้แค่เดือนละครั้ง? A: คำขอเวร 1 รายการครอบคลุมทุกวันในเดือนนั้น (เลือกได้หลายวัน) หากต้องการเปลี่ยนแปลง ให้กดปุ่มแก้ไขในขณะที่สถานะยัง "รอตรวจสอบ"

Q: เวรเรียกตัว (On-call) คืออะไร? A: เป็นเวรฉุกเฉินที่กำหนดมือ (ไม่ผ่าน AI) ให้พยาบาลสำรองนอกเวลา ไม่นับ staffing/OT จะแสดง Badge "OC" สี teal ในระบบ และ * ในรายงาน PDF/Excel

Q: OT สูงสุด/วัน คืออะไร? A: กฎ HC15 จำกัด OT ต่อวัน — เช่น ตั้ง 4 ชม. หมายความว่าพยาบาล 1 คนทำงานได้สูงสุด 12 ชม./วัน (8 ชม. ปกติ + 4 ชม. OT) ตั้งค่าได้ที่หน้า ตั้งค่าหน่วยงาน → กฎการจัดเวร

Q: Recovery Cycle (วันพักหลังทำงานติด) คืออะไร? A: กฎ HC16 บังคับพักหลังทำงานต่อเนื่อง — เช่น ตั้ง maxConsecutiveDays=6, minRecoveryDays=2 หมายความว่าหลังทำงานติด 6 วัน ต้องพักอย่างน้อย 2 วัน ก่อน AI จะจัดเวรใหม่

Q: ต้องตั้งค่าระบบเวรอย่างไรเมื่อ unit ทำ 12 ชม.? A: ไปที่ ตั้งค่าหน่วยงาน → คลิกไอคอนนาฬิกา → เลือก Preset "12 ชม. กลางวัน-กลางคืน" → ระบบจะตั้งค่าเวลา 12/12 ชม. + ปิดกะบ่าย + ตั้งกฎ OT/Recovery ให้อัตโนมัติ

Q: Inline Edit คืออะไร? ทำไมคลิกแล้วไม่ขึ้น Select? A: Inline Edit ให้คลิกที่ช่องเวรเดี่ยว (เช้า/บ่าย/ดึก) บน Desktop เพื่อเปลี่ยนกะทันที ถ้าไม่ขึ้น อาจเป็นเพราะ: 1) เวรถูกล็อกแล้ว 2) เป็นเวรควบ (ชบ/บด/ชบด) 3) ไม่มีสิทธิ์ Manager 4) ใช้งานบน Mobile

Q: ลาก Drag & Drop เวรไม่ได้ทำอย่างไร? A: Drag & Drop ใช้ได้เฉพาะ Desktop เท่านั้น ต้องกดค้างแล้วลากอย่างน้อย 8 พิกเซล คลิกสั้นๆ จะเป็น Inline Edit แทน ตรวจสอบว่าคุณมีสิทธิ์ Manager (HEAD_NURSE ขึ้นไป)

Q: "เปลี่ยนเวร" ต่างจาก "แลกเวร" อย่างไร? A: แลกเวร = 2 คนสลับเวรกัน (ต้องมีคู่แลก), เปลี่ยนเวร = ขอเปลี่ยนกะของตัวเองคนเดียว (เช่น เช้า→บ่าย) ไม่ต้องหาคู่แลก รอหัวหน้าอนุมัติ

Q: ค่าตอบแทนเวรคำนวณอย่างไร? A: ระบบคำนวณอัตโนมัติจากตารางเวรจริง × อัตราค่าตอบแทนที่ตั้งไว้ โดยเพิ่มค่าเวรวันหยุด (วันหยุดราชการ + เสาร์-อาทิตย์) และค่าเวรเรียกตัว (On-call) แยกต่างหาก ดูผลลัพธ์ได้ที่หน้า "ค่าตอบแทนเวร"

Q: ทำไมประเภทลาบางอย่างไม่แสดงใน dropdown? A: ประเภทลาเพิ่มเติม (ลาอุปสมบท, ลาทหาร, ลาทำหมัน ฯลฯ) เปิดใช้งานเริ่มต้นเป็น "ปิด" — HOSPITAL_ADMIN สามารถเปิดใช้งานได้ที่หน้า "ตั้งค่า → ประเภทการลา"

Q: อัตราค่าตอบแทนเวรแต่ละ รพ. ไม่เหมือนกันได้ไหม? A: ได้ — แต่ละโรงพยาบาลตั้งค่าอัตราค่าตอบแทนเวรได้อิสระ ค่าเริ่มต้นอ้างอิงจากอัตราเฉลี่ย รพ.รัฐ กระทรวงสาธารณสุข

ข้อมูลลิขสิทธิ์

© 2569 AJ Software Dev. สงวนลิขสิทธิ์. Powered by AJ Software Dev.

Smart Nurse Rostering System — ระบบจัดตารางเวรพยาบาลอัจฉริยะ

Smart Nurse Rostering System v1.0 | คู่มือการใช้งาน

ดาวน์โหลด PDF