Software Requirements Specification (SRS)
ระบบการเงิน (Financial Management System)
เวอร์ชัน: 1.0
วันที่: 8 ตุลาคม 2568
การปรับปรุง: ใหม่ - ครอบคลุมการจัดการการเงินและการชำระเงินครบวงจร
สารบัญ
- บทนำ
- คำอธิบายโดยรวม
- ความต้องการเฉพาะ
- ความต้องการภายนอก
- คุณลักษณะของระบบ
- ความต้องการที่ไม่ใช่ฟังก์ชัน
- การเชื่อมโยงกับระบบอื่น
1. บทนำ
1.1 วัตถุประสงค์
เอกสารนี้มีวัตถุประสงค์เพื่อกำหนดความต้องการซอฟต์แวร์สำหรับระบบการเงิน (Financial Management System) ของโรงพยาบาลค่ายธนรัชน์ ซึ่งจะทำหน้าที่เป็นศูนย์กลางในการจัดการการเงิน การรับชำระเงิน การออกใบเสร็จ และการบริหารจัดการสิทธิการรักษาพยาบาลทางการเงิน
1.2 ขอบเขต (Scope)
ระบบการเงินจะดำเนินการ: - ✅ การจัดการข้อมูลสิทธิการรักษาทางการเงิน และการกำหนดผังการคิดค่าบริการ - ✅ การรับชำระเงินครบวงจร รองรับหลายสิทธิและหลายรูปแบบการชำระ - ✅ การออกใบเสร็จและเอกสารทางการเงิน ครบถ้วนตามมาตรฐาน - ✅ การจัดการการยกเว้นและลดหย่อน ค่ารักษาพยาบาล - ✅ การบริหารจัดการค้างชำระและเงินรับฝาก แบบครบวงจร - ✅ การยกเลิกและแก้ไขใบเสร็จ พร้อม Audit Trail - ✅ การปิดรอบการเงินและรายงานสรุป ตามช่วงเวลาต่างๆ - ✅ การเชื่อมโยงกับระบบตรวจสอบสิทธิ และระบบอื่นๆ ใน HIS
1.2.1 🚫 Out of Scope
- ❌ การจัดการบัญชีขั้นสูง (งบการเงิน, งบดุล) → ระบบบัญชี (นอกขอบเขต HIS)
- ❌ การจัดการเงินเดือนและบุคลากร → ระบบ HR (นอกขอบเขต HIS)
- ❌ การตรวจสอบสิทธิออนไลน์ → ระบบตรวจสอบสิทธิ (1.2.15)
- ❌ การจัดการคลังยาและพัสดุ → ระบบเภสัชกรรม (1.2.13)
1.3 คำจำกัดความ และตัวย่อ
| คำศัพท์ | คำอธิบาย |
|---|---|
| HN | Hospital Number - หมายเลขประจำตัวผู้ป่วย |
| AN | Admission Number - หมายเลขการรับเข้าผู้ป่วยใน |
| OPD | Out Patient Department - แผนกผู้ป่วยนอก |
| IPD | In Patient Department - แผนกผู้ป่วยใน |
| UC | Universal Coverage - หลักประกันสุขภาพถ้วนหน้า |
| SSS | Social Security Scheme - ประกันสังคม |
| CGD | Comptroller General's Department - กรมบัญชีกลาง |
| Receipt | ใบเสร็จรับเงิน - เอกสารยืนยันการรับชำระเงิน |
| Invoice | ใบแจ้งหนี้ - เอกสารแจ้งค่าใช้จ่าย |
| Copayment | ค่าใช้จ่ายส่วนตัว - จำนวนเงินที่ผู้ป่วยต้องจ่ายเอง |
| Deductible | ค่าเสียหายที่หักได้ - จำนวนเงินที่หักจากสิทธิได้ |
| DRG | Diagnosis Related Group - การจัดกลุ่มการวินิจฉัย |
| Global Budget | งบประมาณรวม - การจ่ายเงินแบบรวม |
| Fee for Service | ค่าบริการตามรายการ - การจ่ายเงินตามการให้บริการ |
1.4 เอกสารอ้างอิง
- TOR ระบบการเงิน โรงพยาบาลค่ายธนรัชน์
- TOR ฉบับเต็ม (ระบบทั้งหมด 24 ระบบ)
- SRS ระบบตรวจสอบสิทธิ (1.2.15)
- SRS ระบบเวชระเบียน (1.2.1)
- มาตรฐานการจัดการการเงินของกระทรวงสาธารณสุข
- พระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล พ.ศ. 2562
- มาตรฐาน ICD-10-TM และ ICD-9-CM
1.5 ภาพรวมของเอกสาร
เอกสารนี้แบ่งออกเป็น 7 ส่วนหลัก โดยครอบคลุมตั้งแต่บทนำ คำอธิบายโดยรวมของระบบ ความต้องการเฉพาะของแต่ละฟังก์ชัน ความต้องการภายนอก คุณลักษณะของระบบ ความต้องการที่ไม่ใช่ฟังก์ชัน และการเชื่อมโยงกับระบบอื่น
2. คำอธิบายโดยรวม
2.1 มุมมองของผลิตภัณฑ์
ระบบการเงินเป็นส่วนหนึ่งของระบบสารสนเทศโรงพยาบาล (HIS) ที่ทำหน้าที่เป็นศูนย์กลางการจัดการการเงินและการชำระเงิน โดยจะเชื่อมโยงกับระบบอื่นๆ ดังนี้:
graph TD
FINANCE["💰 ระบบการเงิน<br/>Financial System"]
%% Core Medical Systems
MED["📋 ระบบเวชระเบียน<br/>1.2.1"]
HIST["🗣️ ระบบซักประวัติ<br/>1.2.2"]
EXAM["🏥 ระบบห้องตรวจ<br/>1.2.3"]
EMERG["🚨 ระบบห้องฉุกเฉิน<br/>1.2.4"]
DENT["🦷 ระบบทันตกรรม<br/>1.2.5"]
%% Specialized Systems
LAB["🔬 ระบบชันสูตร<br/>1.2.7"]
RAD["📷 ระบบรังสีวิทยา<br/>1.2.8"]
PHARM["💊 ระบบเภสัชกรรม<br/>1.2.13"]
RIGHTS["🆔 ระบบตรวจสอบสิทธิ<br/>1.2.15"]
%% Admission Systems
ADM["🛏️ ระบบ Admission<br/>1.2.16"]
IPD["🏥 ระบบผู้ป่วยใน<br/>1.2.17"]
OR["⚕️ ระบบห้องผ่าตัด<br/>1.2.18"]
%% External Systems
NHSO["🏛️ ระบบ สปสช.<br/>NHSO"]
SSO["🏛️ ระบบ สนย.<br/>SSO"]
CGD["🏛️ ระบบ กรมบัญชีกลาง<br/>CGD"]
%% Connections - Receive Charges
MED --> FINANCE
HIST --> FINANCE
EXAM --> FINANCE
EMERG --> FINANCE
DENT --> FINANCE
LAB --> FINANCE
RAD --> FINANCE
PHARM --> FINANCE
ADM --> FINANCE
IPD --> FINANCE
OR --> FINANCE
%% Rights Integration
RIGHTS --> FINANCE
FINANCE --> RIGHTS
%% External Integration
FINANCE --> NHSO
FINANCE --> SSO
FINANCE --> CGD
%% Styling
style FINANCE fill:#ff9800,stroke:#f57c00,color:#fff
style RIGHTS fill:#4caf50,stroke:#388e3c,color:#fff
style MED fill:#2196f3,stroke:#1976d2,color:#fff
style IPD fill:#9c27b0,stroke:#7b1fa2,color:#fff
style NHSO fill:#607d8b,stroke:#455a64,color:#fff
style SSO fill:#607d8b,stroke:#455a64,color:#fff
style CGD fill:#607d8b,stroke:#455a64,color:#fff
2.2 ฟังก์ชันของผลิตภัณฑ์
ระบบจะประกอบด้วยฟังก์ชันหลักดังนี้:
2.2.1 กลุ่มฟังก์ชัน Financial Master Data Management
- การจัดการข้อมูลสิทธิการรักษาพยาบาล - กำหนดสิทธิ ประเภทการชำระ และผังการคิดค่าบริการ
- การจัดการส่วนลดและยกเว้น - กำหนดเงื่อนไขการลดหย่อนค่ารักษา
- การกำหนดหมวดค่ารักษา - จัดประเภทค่าใช้จ่ายทางการแพทย์
- การจัดการจุดรับชำระเงิน - กำหนดจุดและวิธีการรับชำระ
2.2.2 กลุ่มฟังก์ชัน Payment Processing
- การรับชำระเงินผู้ป่วยนอก (OPD) - รับชำระค่ารักษาแบบรายการ
- การรับชำระเงินผู้ป่วยใน (IPD) - รับชำระค่ารักษาแบบรวม
- การรับชำระหลายสิทธิ - รองรับการใช้สิทธิผสมผสาน
- การจัดการเงินรับฝาก (Deposit) - จัดการเงินมัดจำ
2.2.3 กลุ่มฟังก์ชัน Document Management
- การออกใบเสร็จรับเงิน - ออกเอกสารยืนยันการชำระ
- การออกใบแจ้งหนี้ - ออกเอกสารแจ้งค่าใช้จ่าย
- การพิมพ์เอกสารทางการเงิน - เอกสารต่างๆ ที่เกี่ยวข้อง
- การยกเลิกและแก้ไขใบเสร็จ - จัดการเอกสารที่ต้องแก้ไข
2.2.4 กลุ่มฟังก์ชัน Outstanding Management
- การจัดการค้างชำระ - ติดตามและแจ้งเตือนหนี้ค้างชำระ
- การอนุมัติลดหย่อน - ระบบขออนุมัติการลดหย่อน
- การยกเว้นค่ารักษา - จัดการการยกเว้นเป็นพิเศษ
2.2.5 กลุ่มฟังก์ชัน Financial Reporting & Closing
- การปิดรอบการเงิน - ปิดยอดรายวัน รายเดือน รายปี
- รายงานการเงิน - รายงานสรุปและวิเคราะห์ทางการเงิน
- การจัดการเงินสด - นับเงิน นำส่งเงิน และยอดคงเหลือ
2.3 คลาสผู้ใช้และลักษณะเฉพาะ
2.3.1 เจ้าหน้าที่การเงิน (Finance Staff)
- ลักษณะ: ผู้ปฏิบัติงานด้านการเงินโดยตรง
- หน้าที่:
- รับชำระเงินจากผู้ป่วยและญาติ
- ออกใบเสร็จและเอกสารทางการเงิน
- จัดการเงินรับฝากและค้างชำระ
- นับเงินและปิดยอดรายวัน
- ระดับทักษะ: ปานกลาง - มีความรู้ด้านการเงินพื้นฐาน
2.3.2 หัวหน้าการเงิน (Finance Supervisor)
- ลักษณะ: ผู้ดูแลและควบคุมงานการเงิน
- หน้าที่:
- อนุมัติการลดหย่อนและยกเว้น
- ตรวจสอบยอดเงินและการปิดรอบ
- จัดการผู้ใช้งานในแผนกการเงิน
- ดูรายงานการเงินและวิเคราะห์
- ระดับทักษะ: สูง - มีความรู้ด้านการเงินและการบริหาร
2.3.3 เจ้าหน้าที่ลงทะเบียน (Registration Staff)
- ลักษณะ: ผู้ที่ดูแลการลงทะเบียนและข้อมูลสิทธิ
- หน้าที่:
- เรียกดูข้อมูลสิทธิและค่าใช้จ่าย
- แจ้งค่ารักษาเบื้องต้นให้ผู้ป่วย
- ประสานงานกับแผนกการเงิน
- ระดับทักษะ: พื้นฐาน - เน้นการใช้งานเบื้องต้น
2.3.4 แพทย์และพยาบาล (Medical Staff)
- ลักษณะ: บุคลากรทางการแพทย์ที่ต้องดูข้อมูลการเงิน
- หน้าที่:
- ดูข้อมูลสิทธิและค่าใช้จ่ายของผู้ป่วย
- บันทึกค่าใช้จ่ายจากการให้บริการ
- ตรวจสอบสถานะการชำระเงิน
- ระดับทักษะ: พื้นฐาน - ใช้งานเฉพาะที่จำเป็น
2.3.5 ผู้ดูแลระบบการเงิน (Finance System Admin)
- ลักษณะ: ผู้ดูแลระบบการเงินเฉพาะด้าน
- หน้าที่:
- ตั้งค่าสิทธิและผังการคิดค่าบริการ
- จัดการจุดรับชำระเงินและอุปกรณ์
- ดูแลการเชื่อมโยงกับระบบภายนอก
- แก้ไขปัญหาระบบการเงิน
- ระดับทักษะ: สูง - มีความรู้ทั้งการเงินและเทคนิค
2.4 สภาพแวดล้อมการดำเนินงาน
2.4.1 สภาพแวดล้อมฮาร์ดแวร์
- เซิร์ฟเวอร์: Windows Server 2019+ หรือ Linux (CentOS/Ubuntu)
- ฐานข้อมูล: SQL Server 2019+ หรือ MySQL 8.0+ หรือ PostgreSQL 13+
- หน่วยความจำ: RAM ขั้นต่ำ 16 GB, แนะนำ 32 GB+
- พื้นที่จัดเก็บ: SSD ขั้นต่ำ 1 TB สำหรับระบบ, 5+ TB สำหรับข้อมูล
- เครือข่าย: Gigabit Ethernet, เชื่อมต่อ Internet สำหรับ API ภายนอก
2.4.2 อุปกรณ์ประกอบ
- เครื่องพิมพ์ใบเสร็จ: Thermal Printer 80mm สำหรับใบเสร็จ
- เครื่องพิมพ์เอกสาร: Laser Printer A4 สำหรับเอกสารทางการเงิน
- เครื่องอ่านบัตรเครดิต: EDC Terminal สำหรับการชำระด้วยบัตร
- เครื่องนับเงิน: Money Counter สำหรับนับเงินสด
- เครื่องตรวจเงินปลอม: UV Detector สำหรับตรวจสอบธนบัตร
- ลิ้นชักเก็บเงิน: Cash Drawer ที่เชื่อมต่อกับเครื่องพิมพ์
2.4.3 สภาพแวดล้อมซอฟต์แวร์
- เว็บเซิร์ฟเวอร์: Apache 2.4+ หรือ Nginx 1.18+ หรือ IIS 10+
- ภาษาโปรแกรม: PHP 8.0+, .NET Core 6+, หรือ Java 11+
- เว็บเบราว์เซอร์: Chrome 90+, Firefox 85+, Edge 90+
- SSL/TLS: ใบรับรอง SSL สำหรับการเข้ารหัสการสื่อสาร
- API Integration: REST API สำหรับเชื่อมต่อระบบภายนอก
2.4.4 การรักษาความปลอดภัย
- Firewall: การป้องกันระดับเครือข่าย
- Encryption: การเข้ารหัสข้อมูลทางการเงิน AES-256
- Backup System: ระบบสำรองข้อมูลอัตโนมัติ
- Audit System: บันทึกการใช้งานทุกรายการ
2.5 ข้อจำกัดในการออกแบบและการดำเนินงาน
2.5.1 ข้อจำกัดด้านประสิทธิภาพ
- ระบบต้องทำงานได้ 24/7 โดยมี uptime ไม่น้อยกว่า 99.9%
- เวลาตอบสนองสำหรับการรับชำระเงินไม่เกิน 3 วินาที
- การออกใบเสร็จต้องไม่เกิน 5 วินาที
- รองรับผู้ใช้งานพร้อมกัน: อย่างน้อย 200 คน
- การปิดรอบรายวันต้องเสร็จภายใน 30 นาที
2.5.2 ข้อจำกัดด้านความปลอดภัย
- ปฏิบัติตาม PDPA และกฎหมายคุ้มครองข้อมูลส่วนบุคคล
- การเข้ารหัสข้อมูลทางการเงินด้วย AES-256
- เก็บ Audit Logs การทำรายการไม่น้อยกว่า 7 ปี
- การควบคุมการเข้าถึงข้อมูลตาม Role-based Access Control
- การตรวจสอบ Digital Signature สำหรับเอกสารสำคัญ
2.5.3 ข้อจำกัดด้านกฎหมายและมาตรฐาน
- ปฏิบัติตามมาตรฐานการบัญชีของกระทรวงสาธารณสุข
- รองรับการส่งข้อมูลตาม 43 แฟ้มของ สปสช.
- เป็นไปตามมาตรฐาน ICD-10-TM และ ICD-9-CM
- รองรับการตรวจสอบจากหน่วยงานภายนอก
2.5.4 ข้อจำกัดด้านการใช้งาน
- รองรับภาษาไทยและอังกฤษ
- การออกแบบต้องเป็น Responsive Design
- รองรับการใช้งานบนอุปกรณ์ Tablet สำหรับจุดรับชำระเงินเคลื่อนที่
- Interface ต้องใช้งานง่ายและรวดเร็ว เหมาะกับสภาพการทำงาน
2.6 สมมติฐานและการพึ่งพาอาศัย
2.6.1 สมมติฐาน
- เจ้าหน้าที่การเงินมีความรู้เบื้องต้นด้านการเงินและการบัญชี
- มีการฝึกอบรมการใช้งานระบบก่อนเริ่มใช้งานจริง
- มีทีม IT Support สำหรับการแก้ไขปัญหาเร่งด่วน 24/7
- มีระบบสำรองไฟฟ้า (UPS) และ Generator สำหรับการทำงานต่อเนื่อง
- อุปกรณ์การเงิน (เครื่องพิมพ์, เครื่องนับเงิน) มีการบำรุงรักษาสม่ำเสมอ
2.6.2 การพึ่งพาอาศัย
- ระบบต้องเชื่อมต่อกับระบบตรวจสอบสิทธิ (1.2.15) เพื่อดึงข้อมูลสิทธิ
- ต้องมี Internet connection เสถียรสำหรับ API ระบบภายนอก (สปสช., สนย.)
- ต้องมีระบบ Backup storage (NAS หรือ Cloud) สำหรับสำรองข้อมูลทางการเงิน
- ต้องมีระบบ Email Server สำหรับส่งรายงานการเงินอัตโนมัติ
- ต้องมีการเชื่อมต่อกับระบบธนาคารสำหรับการชำระเงินผ่านบัตรเครดิต
3. ความต้องการเฉพาะ
3.1 กลุ่มฟังก์ชัน Financial Master Data Management
3.1.1 การจัดการข้อมูลสิทธิการรักษาพยาบาล (FR-01)
3.1.1.1 การกำหนดข้อมูลสิทธิพื้นฐาน
คำอธิบาย: ระบบต้องสามารถจัดการข้อมูลสิทธิการรักษาพยาบาลทางการเงินได้อย่างครบถ้วน
Input: - ข้อมูลสิทธิหลัก: รหัสสิทธิ, ชื่อสิทธิ, คำอธิบายสิทธิ - ประเภทการชำระเงิน: เงินสด, บัตรเครดิต, เงินโอน, หักบัญชีสิทธิ - รหัสสิทธิ สนย.: รหัสตาม 43 แฟ้มของ สปสช. - ชื่อสิทธิมาตรฐาน สปสช.: ชื่อที่ใช้ในการส่งข้อมูล - ค่าธรรมเนียมสิทธิ: จำนวนเงินที่ผู้ป่วยต้องชำระเอง (Copayment)
Process: - ตรวจสอบความซ้ำซ้อนของรหัสสิทธิ - เชื่อมโยงกับระบบตรวจสอบสิทธิ (1.2.15) - สร้างความสัมพันธ์ระหว่างสิทธิกับผังการคิดค่าบริการ - บันทึก timestamp และ user ที่ทำรายการ
Output: - ข้อมูลสิทธิที่บันทึกในระบบ - การเชื่อมโยงกับตารางการคิดค่าบริการ - ข้อความยืนยันการบันทึกข้อมูล
3.1.1.2 การกำหนดผังการคิดค่าบริการ
คำอธิบาย: ระบบต้องสามารถกำหนดวิธีการคำนวณค่าบริการสำหรับแต่ละสิทธิได้
ประเภทการคิดค่าบริการ:
1. Fee for Service (ตามรายการ)
- คิดตามการใช้บริการจริง
- มีการกำหนดราคาแต่ละรายการ
2. DRG (Diagnosis Related Group)
- คิดตามกลุ่มโรค
- ราคาคงที่ตามการวินิจฉัย
3. Global Budget (งบประมาณรวม)
- จ่ายเป็นยอดรวม
- ไม่ต้องคิดรายการ
4. Capitation (จ่ายตามหัว)
- จ่ายตามจำนวนประชากร
- ไม่ขึ้นกับการใช้บริการ
5. Mixed Payment (ผสมผสาน)
- รวมหลายวิธีการ
- ตามเงื่อนไขที่กำหนด
การตั้งค่าผังการคิดค่าบริการ: - กำหนดสูตรการคำนวณสำหรับแต่ละสิทธิ - กำหนดข้อยกเว้นและเงื่อนไขพิเศษ - กำหนดการปัดเศษและการคำนวณค่าภาษี - กำหนดวันที่เริ่มใช้และวันหมดอายุ
3.1.1.3 การกำหนดส่วนลดตามหมวดค่ารักษา
คำอธิบาย: ระบบต้องสามารถกำหนดส่วนลดเป็นเปอร์เซ็นต์ในหมวดค่ารักษาพยาบาลต่างๆ ได้
หมวดค่ารักษาพยาบาล:
OPD_Categories:
- ค่าตรวจรักษา: "examination_fee"
- ค่ายา: "medication_fee"
- ค่าตรวจทางห้องปฏิบัติการ: "laboratory_fee"
- ค่าตรวจเอกซเรย์: "radiology_fee"
- ค่าหัตถการ: "procedure_fee"
- ค่าบริการพิเศษ: "special_service_fee"
IPD_Categories:
- ค่าห้องและอาหาร: "room_board_fee"
- ค่าการพยาบาล: "nursing_fee"
- ค่าแพทย์: "doctor_fee"
- ค่ายาและเวชภัณฑ์: "medication_supply_fee"
- ค่าตรวจทางห้องปฏิบัติการ: "laboratory_fee"
- ค่าตรวจเอกซเรย์: "radiology_fee"
- ค่าห้องผ่าตัด: "operation_room_fee"
- ค่าหัตถการ: "procedure_fee"
- ค่าบริการอื่นๆ: "other_service_fee"
การกำหนดส่วนลด:
Input:
- สิทธิการรักษา
- หมวดค่ารักษา
- เปอร์เซ็นต์ส่วนลด (0-100%)
- เงื่อนไขการใช้ (ถ้ามี)
- วันที่เริ่มใช้และวันหมดอายุ
Process:
- ตรวจสอบความถูกต้องของเปอร์เซ็นต์
- บันทึกการตั้งค่าส่วนลด
- เชื่อมโยงกับตารางการคิดค่าบริการ
Output:
- ตารางส่วนลดตามสิทธิและหมวดค่ารักษา
- การแสดงผลส่วนลดในระบบรับชำระเงิน
3.1.2 การจัดการการยกเว้นและลดหย่อน (FR-02)
3.1.2.1 การกำหนดประเภทการยกเว้น
คำอธิบาย: ระบบต้องรองรับการยกเว้นค่ารักษาพยาบาลตามนโยบายของโรงพยาบาล
ประเภทการยกเว้น:
1. การยกเว้นแบบเต็มจำนวน (Full Exemption)
- ยกเว้น 100% ของค่ารักษา
- สำหรับกรณีพิเศษ (ภัยพิบัติ, การกุศล)
2. การยกเว้นแบบบางส่วน (Partial Exemption)
- ยกเว้นเฉพาะหมวดค่ารักษาที่กำหนด
- ยกเว้นตามเปอร์เซ็นต์ที่กำหนด
3. การยกเว้นตามเงื่อนไข (Conditional Exemption)
- ยกเว้นตามสถานะผู้ป่วย (ยากไร้, ผู้สูงอายุ)
- ยกเว้นตามประเภทการรักษา (ฉุกเฉิน, โรคเรื้อรัง)
4. การยกเว้นพนักงาน (Staff Exemption)
- ยกเว้นสำหรับพนักงานและครอบครัว
- ยกเว้นตามสวัสดิการที่กำหนด
การขออนุมัติยกเว้น:
Input:
- HN ผู้ป่วย
- ประเภทการยกเว้น
- เหตุผลการขอยกเว้น
- หลักฐานประกอบ (ถ้ามี)
- ผู้ขออนุมัติ
Process:
- ตรวจสอบสิทธิ์ในการขออนุมัติ
- ส่งคำขอไปยังผู้มีอำนาจ
- บันทึกประวัติการขออนุมัติ
- แจ้งผลการอนุมัติ
Output:
- สถานะการอนุมัติ (อนุมัติ/ไม่อนุมัติ/รอพิจารณา)
- เอกสารการอนุมัติ
- การปรับยอดค่ารักษาตามการอนุมัติ
3.1.2.2 การกำหนดประเภทการลดหย่อน
คำอธิบาย: ระบบต้องรองรับการลดหย่อนค่ารักษาพยาบาลที่ได้รับอนุมัติ
ประเภทการลดหย่อน:
1. ลดหย่อนตามเปอร์เซ็นต์ (Percentage Discount)
- ลด 10%, 20%, 50% ตามที่อนุมัติ
- สามารถกำหนดเพดานการลด
2. ลดหย่อนแบบยอดเงิน (Fixed Amount Discount)
- ลดเป็นจำนวนเงินคงที่
- เช่น ลด 500 บาท, 1,000 บาท
3. ลดหย่อนตามหมวดค่ารักษา (Category-based Discount)
- ลดเฉพาะค่ายา หรือค่าตรวจ
- ลดหย่อนแบบเลือกสรร
4. ลดหย่อนพิเศษ (Special Discount)
- ลดหย่อนตามโครงการ CSR
- ลดหย่อนสำหรับกรณีพิเศษ
การขออนุมัติลดหย่อน:
Input:
- HN ผู้ป่วย
- ประเภทและจำนวนการลดหย่อน
- เหตุผลการขอลดหย่อน
- ผู้ขออนุมัติ
- ระดับการอนุมัติที่ต้องการ
Process:
- ตรวจสอบสิทธิ์ในการขออนุมัติ
- ส่งคำขอตาม Workflow ที่กำหนด
- บันทึกประวัติการขออนุมัติ
- คำนวณยอดหลังลดหย่อน
Output:
- สถานะการอนุมัติ
- ยอดเงินหลังลดหย่อน
- เอกสารการอนุมัติลดหย่อน
3.1.3 การจัดการจุดรับชำระเงิน (FR-03)
3.1.3.1 การกำหนดจุดรับชำระเงิน
คำอธิบาย: ระบบต้องสามารถจัดการจุดรับชำระเงินหลายจุดได้
ประเภทจุดรับชำระเงิน:
1. จุดรับชำระหลัก (Main Cashier)
- จุดรับชำระหลักของโรงพยาบาล
- รับชำระเงินทุกประเภท
2. จุดรับชำระแผนก (Department Cashier)
- จุดรับชำระในแผนกต่างๆ
- รับชำระเฉพาะบริการของแผนก
3. จุดรับชำระฉุกเฉิน (Emergency Cashier)
- จุดรับชำระในห้องฉุกเฉิน
- เปิดบริการ 24 ชั่วโมง
4. จุดรับชำระเคลื่อนที่ (Mobile Cashier)
- จุดรับชำระด้วยอุปกรณ์เคลื่อนที่
- สำหรับบริการนอกสถานที่
การตั้งค่าจุดรับชำระเงิน:
Input:
- รหัสจุดรับชำระเงิน
- ชื่อจุดรับชำระเงิน
- ที่ตั้ง/แผนก
- ประเภทการรับชำระที่รองรับ
- เวลาทำการ
- ผู้รับผิดชอบ
Process:
- สร้างข้อมูลจุดรับชำระเงิน
- กำหนดสิทธิ์การใช้งาน
- เชื่อมโยงกับอุปกรณ์ (เครื่องพิมพ์, ลิ้นชัก)
- ตั้งค่าการปิดรอบรายวัน
Output:
- ข้อมูลจุดรับชำระเงินในระบบ
- การเชื่อมโยงกับผู้ใช้งาน
- การตั้งค่าอุปกรณ์ประกอบ
3.2 กลุ่มฟังก์ชัน Payment Processing
3.2.1 การรับชำระเงินผู้ป่วยนอก (FR-04)
3.2.1.1 การแสดงรายการค่ารักษา
คำอธิบาย: ระบบต้องแสดงรายการค่ารักษาพยาบาลของผู้ป่วยนอกแบบครบถ้วน
การดึงข้อมูลค่ารักษา:
Input: HN ผู้ป่วย, วันที่ที่ต้องการ
Process:
1. ดึงข้อมูลการส่งตรวจจากระบบต่างๆ
- ระบบห้องตรวจแพทย์ (1.2.3)
- ระบบชันสูตร (1.2.7)
- ระบบรังสีวิทยา (1.2.8)
- ระบบเภสัชกรรม (1.2.13)
2. รวมรายการค่าใช้จ่ายทั้งหมด
3. คำนวณตามสิทธิและส่วนลด
4. แสดงผลรายการแยกตามหมวด
Output: รายการค่ารักษาแยกตามหมวดพร้อมยอดรวม
รายการที่แสดง:
ข้อมูลผู้ป่วย:
- HN: หมายเลขผู้ป่วย
- ชื่อ-สกุล: ชื่อผู้ป่วย
- สิทธิการรักษา: สิทธิที่ใช้
- วันที่มารับบริการ: วันที่ล่าสุด
รายการค่ารักษา:
ค่าตรวจรักษา:
- จำนวน: จำนวนครั้ง
- ราคาต่อหน่วย: ราคาที่กำหนด
- ยอดรวม: จำนวน × ราคา
- ส่วนลด: เปอร์เซ็นต์ลด
- ยอดสุทธิ: ยอดหลังหักส่วนลด
ค่ายา:
- รายการยา: ชื่อยาและจำนวน
- ราคายา: ราคาตามรายการ
- ส่วนลดยา: ส่วนลดสำหรับยา
ค่าตรวจทางห้องปฏิบัติการ:
- รายการตรวจ: ชื่อการตรวจ
- ราคาตรวจ: ราคาแต่ละรายการ
ค่าตรวจเอกซเรย์:
- รายการเอกซเรย์: ชื่อการถ่าย
- ราคาถ่าย: ราคาแต่ละรายการ
สรุปยอดเงิน:
- ยอดรวมทั้งหมด: ยอดก่อนหักส่วนลด
- ยอดส่วนลด: ยอดรวมส่วนลดทั้งหมด
- ยอดที่ต้องชำระเอง (เบิกได้): ยอดที่ผู้ป่วยจ่าย แต่สามารถเบิกจากสิทธิได้
- ยอดที่ต้องชำระเอง (เบิกไม่ได้): ยอดที่ผู้ป่วยต้องจ่ายเองจริงๆ
- ยอดลูกหนี้สิทธิ: ยอดที่สิทธิจะจ่ายให้
- ยอดค้างชำระ: ยอดค้างจากครั้งก่อน
- ยอดรวมที่ต้องชำระทั้งสิ้น: ยอดสุดท้ายที่ต้องจ่าย
3.2.1.2 การรองรับการใช้หลายสิทธิ
คำอธิบาย: ระบบต้องรองรับให้ผู้ป่วย 1 รายใช้สิทธิได้มากกว่า 1 สิทธิต่อการมา visit 1 ครั้ง
การเลือกใช้หลายสิทธิ:
Scenario: ผู้ป่วยมีทั้งสิทธิ UC และ สิทธิข้าราชการ
Input:
- สิทธิหลัก: UC (30 บาท)
- สิทธิรอง: ข้าราชการ (จ่ายเต็ม แล้วเบิกคืน)
Process:
1. แยกรายการค่ารักษาตามประเภท
2. คำนวณแต่ละสิทธิตามผังการคิดค่าบริการ
3. เลือกการใช้สิทธิที่คุ้มค่าที่สุด
4. หรือให้ผู้ป่วยเลือกการใช้สิทธิเอง
Output:
- การแบ่งค่ารักษาตามสิทธิ
- ยอดเงินที่ต้องชำระแยกตามสิทธิ
- ใบเสร็จแยกตามสิทธิ (ถ้าจำเป็น)
ตัวอย่างการใช้หลายสิทธิ:
ค่ารักษารวม: 2,500 บาท
├── ใช้สิทธิ UC: 1,500 บาท (จ่าย 30 บาท)
├── ใช้สิทธิข้าราชการ: 1,000 บาท (จ่ายเต็ม แล้วเบิกคืน)
└── ยอดที่ผู้ป่วยจ่าย: 1,030 บาท
3.2.1.3 การรับชำระเงินหลายรูปแบบ
คำอธิบาย: ระบบต้องรองรับการรับชำระเงินหลายรูปแบบ (Payment Method)
รูปแบบการชำระเงิน:
เงินสด (Cash):
- รับชำระด้วยเงินสด
- คำนวณเงินทอนอัตโนมัติ
- ตรวจสอบธนบัตรปลอม
บัตรเครดิต/เดบิต (Credit/Debit Card):
- เชื่อมต่อกับ EDC Terminal
- รองรับ Visa, MasterCard, JCB
- มีการตรวจสอบ PIN
เงินโอน (Bank Transfer):
- ตรวจสอบสลิปการโอนเงิน
- เชื่อมต่อกับระบบธนาคาร (API)
- บันทึกข้อมูลการโอน
QR Code Payment:
- รองรับ PromptPay
- รองรับ True Money Wallet
- รองรับ Rabbit LINE Pay
เงินรับฝาก (Deposit):
- หักจากเงินมัดจำที่มีอยู่
- แสดงยอดคงเหลือหลังหัก
หักบัญชีสิทธิ (Rights Deduction):
- หักจากสิทธิโดยตรง (เช่น สิทธิ UC)
- ไม่มีการรับเงินสด
การรับชำระแบบผสม (Mixed Payment):
ตัวอย่าง: ยอดที่ต้องชำระ 1,500 บาท
├── เงินสด: 1,000 บาท
├── บัตรเครดิต: 500 บาท
└── รวม: 1,500 บาท
การบันทึก:
- บันทึกการรับชำระแยกตามประเภท
- ออกใบเสร็จรวม 1 ใบ
- ระบุวิธีการชำระในใบเสร็จ
3.2.2 การรับชำระเงินผู้ป่วยใน (FR-05)
3.2.2.1 การจัดการเงินรับฝาก (Deposit)
คำอธิบาย: ระบบต้องรองรับเงินรับฝากจากผู้ป่วยได้
การรับฝากเงิน:
Input:
- HN ผู้ป่วยใน (AN)
- วันที่รับฝากเงิน
- เวลาที่รับฝากเงิน
- ชื่อผู้ฝากเงิน (อาจไม่ใช่ผู้ป่วย)
- จำนวนเงินที่ฝาก
- วิธีการฝากเงิน (เงินสด/โอน)
- หมายเหตุ
Process:
- บันทึกข้อมูลการรับฝากเงิน
- ออกใบรับฝากเงิน (มัดจำ)
- อัพเดทยอดเงินรับฝากของผู้ป่วย
- บันทึก Log การทำรายการ
Output:
- ใบรับฝากเงิน (มัดจำ)
- ยอดเงินรับฝากปัจจุบัน
- ประวัติการรับฝากเงิน
การใช้เงินรับฝาก:
Input:
- HN ผู้ป่วยใน
- ยอดค่ารักษาที่ต้องหัก
- ประเภทค่ารักษา
Process:
- ตรวจสอบยอดเงินรับฝากคงเหลือ
- หักเงินจากยอดรับฝาก
- บันทึกรายการการใช้เงิน
- อัพเดทยอดคงเหลือ
Output:
- ยอดที่หักจากเงินรับฝาก
- ยอดเงินรับฝากคงเหลือ
- รายการการใช้เงินรับฝาก
3.2.2.2 การแจ้งเรียกเก็บเงิน (Billing)
คำอธิบาย: ระบบต้องสามารถออกใบแจ้งเรียกเก็บเงินสำหรับผู้ป่วยใน
การสร้างใบแจ้งเรียกเก็บเงิน:
Input:
- AN ผู้ป่วยใน
- ช่วงวันที่ต้องการ
- ประเภทการแจ้งเรียกเก็บ (รายวัน/รายสัปดาห์/จำหน่าย)
Process:
1. รวบรวมค่ารักษาจากระบบต่างๆ
- ค่าห้องและอาหาร (รายวัน)
- ค่าการพยาบาล
- ค่าแพทย์
- ค่ายาและเวชภัณฑ์
- ค่าตรวจทางห้องปฏิบัติการ
- ค่าตรวจเอกซเรย์
- ค่าห้องผ่าตัด
- ค่าหัตถการ
- ค่าบริการอื่นๆ
2. คำนวณตามสิทธิและส่วนลด
3. หักเงินรับฝาก (ถ้ามี)
4. คำนวณยอดคงเหลือที่ต้องชำระ
Output:
- ใบแจ้งเรียกเก็บเงิน (ภาษาไทย/อังกฤษ)
- รายการค่าใช้จ่ายโดยละเอียด
- ยอดเงินรับฝากที่ใช้
- ยอดที่ต้องชำระเพิ่ม
3.2.2.3 การปิดบิลผู้ป่วยใน (Discharge Billing)
คำอธิบาย: ระบบต้องสามารถปิดบิลและรับชำระเงินขั้นสุดท้ายเมื่อผู้ป่วยจำหน่าย
การปิดบิลผู้ป่วยใน:
Input:
- AN ผู้ป่วยใน
- วันที่จำหน่าย
- เวลาจำหน่าย
Process:
1. รวบรวมค่ารักษาทั้งหมด (วันแรกเข้า-วันจำหน่าย)
2. คำนวณค่าห้องตามเวลาจำหน่าย
3. รวมค่ายาและเวชภัณฑ์ที่ใช้
4. รวมค่าตรวจและหัตถการทั้งหมด
5. คำนวณตามสิทธิและส่วนลด
6. หักเงินรับฝากทั้งหมด
7. คำนวณยอดสุดท้ายที่ต้องชำระ/คืน
Output:
- ใบสรุปหน้างบ (Final Bill)
- ใบรายการค่าใช้จ่ายทั้งหมด
- ยอดเงินที่ต้องชำระเพิ่ม หรือ ยอดเงินที่ต้องคืน
- ใบเสร็จรับเงินขั้นสุดท้าย
3.3 กลุ่มฟังก์ชัน Document Management
3.3.1 การออกใบเสร็จรับเงิน (FR-06)
3.3.1.1 การออกใบเสร็จรับเงิน
คำอธิบาย: ระบบต้องสามารถออกใบเสร็จรับเงินตามรูปแบบที่โรงพยาบาลกำหนด
ข้อมูลในใบเสร็จรับเงิน:
Header:
- ชื่อโรงพยาบาล: โรงพยาบาลค่ายธนรัชน์
- ที่อยู่โรงพยาบาล: ที่อยู่ครบถ้วน
- เลขประจำตัวผู้เสียภาษี: เลขที่ของโรงพยาบาล
- เลขที่ใบเสร็จ: เลขรันนิ่งอัตโนมัติ
- วันที่-เวลา: วันเวลาที่ออกใบเสร็จ
ข้อมูลผู้ป่วย:
- HN: หมายเลขผู้ป่วย
- ชื่อ-สกุล: ชื่อผู้ป่วย
- สิทธิการรักษา: สิทธิที่ใช้
- เลขที่บัตรสิทธิ: เลขบัตรทอง/ประกันสังคม (ถ้ามี)
รายการค่ารักษา:
- รายการค่าใช้จ่าย: รายละเอียดแต่ละหมวด
- จำนวน: จำนวนครั้ง/หน่วย
- ราคาต่อหน่วย: ราคาที่กำหนด
- ยอดรวม: จำนวน × ราคา
- ส่วนลด: ส่วนลดที่ได้รับ
- ยอดสุทธิ: ยอดหลังหักส่วนลด
การชำระเงิน:
- วิธีการชำระ: เงินสด/บัตร/โอน
- ยอดที่รับ: จำนวนเงินที่ได้รับ
- เงินทอน: เงินทอน (ถ้ามี)
Footer:
- ลายเซ็นผู้รับเงิน: ลายเซ็นเจ้าหน้าที่
- จุดรับชำระเงิน: จุดที่รับชำระ
- เครื่องพิมพ์: เครื่องที่พิมพ์ใบเสร็จ
3.3.1.2 การควบคุมเลขที่ใบเสร็จ
คำอธิบาย: ระบบต้องสามารถกำหนดและควบคุมรูปแบบการออกเลขที่ใบเสร็จอัตโนมัติ
รูปแบบเลขที่ใบเสร็จ:
รูปแบบที่ 1: YYYY-MM-DD-NNNNNN
ตัวอย่าง: 2568-10-08-000001
รูปแบบที่ 2: CC-YYYY-NNNNNN
ตัวอย่าง: 01-2568-000001 (CC = รหัสจุดรับชำระ)
รูปแบบที่ 3: YYYY-CC-NNNNNN
ตัวอย่าง: 2568-01-000001
การตั้งค่า:
- กำหนดรูปแบบตามต้องการ
- กำหนดจำนวนหลักของ Running Number
- กำหนดการรีเซ็ตรายวัน/รายเดือน/รายปี
- กำหนดเลขเริ่มต้น
การควบคุมการออกเลขที่:
Input: การขอออกเลขที่ใบเสร็จใหม่
Process:
1. ตรวจสอบรูปแบบที่กำหนด
2. ดึง Running Number ล่าสุด
3. เพิ่มหมายเลขถัดไป
4. ตรวจสอบความซ้ำซ้อน
5. ล็อคเลขที่เพื่อป้องกันการซ้ำ
6. อัพเดท Running Number
Output:
- เลขที่ใบเสร็จที่ได้รับมอบหมาย
- การบันทึกการใช้เลขที่
- ประวัติการออกเลขที่
3.3.2 การออกใบแจ้งหนี้ (FR-07)
3.3.2.1 การออกใบแจ้งหนี้
คำอธิบาย: ระบบต้องสามารถออกใบแจ้งหนี้ (Invoice) สำหรับค่ารักษาพยาบาล
ประเภทใบแจ้งหนี้:
1. ใบแจ้งหนี้ผู้ป่วยนอก (OPD Invoice)
- แจ้งหนี้สำหรับค่ารักษาผู้ป่วยนอก
- รายการตามการใช้บริการ
2. ใบแจ้งหนี้ผู้ป่วยใน (IPD Invoice)
- แจ้งหนี้สำหรับค่ารักษาผู้ป่วยใน
- รายการรวมตั้งแต่เข้า-จำหน่าย
3. ใบแจ้งหนี้สิทธิ (Rights Invoice)
- แจ้งหนี้ไปยังหน่วยงานที่จ่ายสิทธิ
- เช่น สปสช., สนย., กรมบัญชีกลาง
4. ใบแจ้งหนี้บริษัทประกัน (Insurance Invoice)
- แจ้งหนี้ไปยังบริษัทประกันภัย
- สำหรับผู้ป่วยที่มีประกันเพิ่มเติม
การออกใบแจ้งหนี้:
Input:
- ประเภทใบแจ้งหนี้
- ข้อมูลผู้เรียกเก็บ (ผู้ป่วย/สิทธิ/บริษัท)
- รายการค่ารักษา
- ช่วงวันที่
Process:
1. รวบรวมรายการค่ารักษา
2. คำนวณตามเงื่อนไขของแต่ละประเภท
3. จัดรูปแบบใบแจ้งหนี้
4. สร้างเลขที่ใบแจ้งหนี้
5. บันทึกประวัติการออกใบแจ้งหนี้
Output:
- ใบแจ้งหนี้ตามรูปแบบที่กำหนด
- เลขที่ใบแจ้งหนี้
- สถานะการแจ้งหนี้ (ออกแล้ว/รอชำระ/ชำระแล้ว)
3.3.3 การพิมพ์เอกสารอื่นๆ (FR-08)
3.3.3.1 การพิมพ์ใบสั่งยา
คำอธิบาย: ระบบต้องสามารถพิมพ์ใบสั่งยาในรูปแบบภาษาไทยและภาษาอังกฤษ
ข้อมูลในใบสั่งยา:
Header:
- ชื่อโรงพยาบาล
- แผนกที่สั่งยา
- วันที่-เวลาที่สั่ง
ข้อมูลผู้ป่วย:
- HN และ ชื่อ-สกุล
- อายุ และ น้ำหนัก
- สิทธิการรักษา
- แพทย์ผู้สั่งยา
รายการยา:
- ลำดับที่
- ชื่อยา (ภาษาไทย/อังกฤษ)
- ความแรง (Strength)
- จำนวน (Quantity)
- วิธีใช้ (Direction)
- ราคา (ถ้าต้องการ)
Footer:
- ลายเซ็นแพทย์ผู้สั่ง
- ลายเซ็นเภสัชกร
- หมายเหตุพิเศษ
3.3.3.2 การพิมพ์เอกสารทางการเงิน
คำอธิบาย: ระบบต้องสามารถพิมพ์เอกสารทางการเงินต่างๆ
เอกสารที่รองรับ:
1. ใบรับฝากเงิน (Deposit Receipt)
- ใบรับเงินมัดจำ
- แสดงยอดเงินรับฝาก
2. ใบสรุปหน้างบ (Summary Bill)
- สรุปค่ารักษาผู้ป่วยใน
- แสดงรายการละเอียด
3. ใบรายการค่าใช้จ่ายทั้งหมด (Detailed Bill)
- รายการค่าใช้จ่ายครบถ้วน
- แยกตามวันที่และประเภท
4. ใบนำส่งเงินรายได้ (Daily Collection)
- สรุปเงินรายได้รายวัน
- แยกตามจุดรับชำระเงิน
5. ใบยกเลิกใบเสร็จ (Void Receipt)
- เอกสารยกเลิกใบเสร็จ
- ระบุเหตุผลการยกเลิก
จะทำต่อในส่วนถัดไป...
3.4 กลุ่มฟังก์ชัน Outstanding Management
3.4.1 การจัดการค้างชำระ (FR-09)
3.4.1.1 การบันทึกยอดค้างชำระ
คำอธิบาย: ระบบต้องรองรับการบันทึกยอดค้างชำระได้
การสร้างยอดค้างชำระ:
Input:
- HN ผู้ป่วย
- ยอดเงินที่ค้างชำระ
- ประเภทการค้างชำระ:
* ค้างชำระปกติ (ผู้ป่วยขาดเงิน)
* ค้างชำระเพื่อรอเอกสาร (รอใบรับรองแพทย์)
* ค้างชำระเพื่อรอการอนุมัติ (รออนุมัติลดหย่อน)
- เหตุผลการค้างชำระ
- วันที่ครบกำหนดชำระ
Process:
1. บันทึกข้อมูลการค้างชำระ
2. กำหนดสถานะการค้างชำระ
3. ตั้งค่าการแจ้งเตือน
4. ออกเอกสารการค้างชำระ
Output:
- รายการค้างชำระในระบบ
- ใบแจ้งการค้างชำระ
- การตั้งค่าการแจ้งเตือน
3.4.1.2 การแจ้งเตือนค้างชำระ
คำอธิบาย: ระบบต้องแจ้งเตือนเมื่อผู้ป่วยที่ค้างชำระมารับบริการครั้งต่อไป
การแจ้งเตือนอัตโนมัติ:
Trigger: ผู้ป่วยที่มียอดค้างชำระมาลงทะเบียนใหม่
Process:
1. ตรวจสอบยอดค้างชำระจาก HN
2. แสดง Pop-up แจ้งเตือนในระบบลงทะเบียน
3. แสดงรายละเอียดการค้างชำระ:
- วันที่ค้างชำระ
- ยอดเงินที่ค้าง
- เหตุผลการค้างชำระ
- จำนวนวันที่ค้าง
4. ตัวเลือกการดำเนินการ:
- รับชำระเงินทันที
- ผ่อนผันการชำระ
- ส่งต่อแผนกการเงิน
Alert Message:
"⚠️ ผู้ป่วยท่านนี้มียอดค้างชำระ 1,500 บาท
วันที่ค้าง: 25 ก.ย. 2568 (ค้างมาแล้ว 13 วัน)
เหตุผล: รอเอกสารเบิกจากสิทธิ UC"
3.4.1.3 การรับชำระหนี้ค้าง
คำอธิบาย: ระบบต้องรองรับการรับชำระเงินหลังจากที่ได้รับอนุมัติยกเว้นหรือลดหย่อนแล้ว
การรับชำระหนี้ค้าง:
Input:
- HN ผู้ป่วย
- รายการค้างชำระที่ต้องการชำระ
- ยอดเงินที่รับชำระ
- วิธีการชำระเงิน
Process:
1. แสดงรายการค้างชำระทั้งหมด
2. เลือกรายการที่ต้องการชำระ
3. คำนวณยอดหลังลดหย่อน (ถ้ามี)
4. รับชำระเงิน
5. อัพเดทสถานะการค้างชำระ
6. ออกใบเสร็จรับเงิน
Output:
- ใบเสร็จรับเงินค้างชำระ
- อัพเดทยอดค้างชำระคงเหลือ
- ประวัติการรับชำระหนี้ค้าง
3.4.2 การขออนุมัติลดหย่อนและยกเว้น (FR-10)
3.4.2.1 ระบบ Workflow การขออนุมัติ
คำอธิบาย: ระบบต้องมี Workflow สำหรับการขออนุมัติลดหย่อนและยกเว้นค่ารักษา
ระดับการอนุมัติ:
ระดับ 1 - หัวหน้าแผนกการเงิน:
สามารถอนุมัติ:
- ลดหย่อน 10-30%
- ยอดไม่เกิน 5,000 บาท
- ยกเว้นค่าธรรมเนียมเล็กน้อย
ระดับ 2 - รองผู้อำนวยการ:
สามารถอนุมัติ:
- ลดหย่อน 30-50%
- ยอดไม่เกิน 20,000 บาท
- ยกเว้นบางหมวดค่ารักษา
ระดับ 3 - ผู้อำนวยการ:
สามารถอนุมัติ:
- ลดหย่อน 50-100%
- ยอดเท่าไรก็ได้
- ยกเว้นค่ารักษาทั้งหมด
กรณีพิเศษ - คณะกรรมการ:
สำหรับกรณีที่:
- ยอดสูงมาก (เกิน 100,000 บาท)
- กรณีประชาสัมพันธ์
- กรณีภัยพิบัติ
การส่งคำขออนุมัติ:
Input:
- HN ผู้ป่วย
- ยอดเงินที่ขอลดหย่อน/ยกเว้น
- เหตุผลการขอลดหย่อน
- หลักฐานประกอบ (ถ้ามี)
- ผู้ขออนุมัติ
Process:
1. ตรวจสอบสิทธิ์ในการขออนุมัติ
2. กำหนดระดับการอนุมัติตามยอดเงิน
3. ส่งคำขอไปยังผู้มีอำนาจ
4. แจ้งเตือนผู้อนุมัติทาง Email/SMS
5. ติดตามสถานะการอนุมัติ
Output:
- เลขที่คำขออนุมัติ
- สถานะการอนุมัติ (รอพิจารณา/อนุมัติ/ไม่อนุมัติ)
- ประวัติการขออนุมัติ
3.4.2.2 การอนุมัติและปฏิเสธ
คำอธิบาย: ระบบต้องรองรับการอนุมัติและปฏิเสธคำขอลดหย่อน
การอนุมัติคำขอ:
Input:
- เลขที่คำขออนุมัติ
- ผลการพิจารณา (อนุมัติ/ไม่อนุมัติ/อนุมัติบางส่วน)
- ยอดที่อนุมัติ (กรณีอนุมัติบางส่วน)
- หมายเหตุของผู้อนุมัติ
Process:
1. บันทึกผลการอนุมัติ
2. อัพเดทยอดค่ารักษาตามการอนุมัติ
3. แจ้งผลกลับไปยังผู้ขออนุมัติ
4. สร้างเอกสารการอนุมัติ
5. อัพเดทสถานะการค้างชำระ (ถ้ามี)
Output:
- เอกสารการอนุมัติ
- การปรับยอดค่ารักษา
- การแจ้งผลไปยังผู้เกี่ยวข้อง
3.5 กลุ่มฟังก์ชัน Document Cancellation & Correction
3.5.1 การยกเลิกการรับชำระเงิน (FR-11)
3.5.1.1 การยกเลิกใบเสร็จรับเงิน
คำอธิบาย: ระบบต้องสามารถยกเลิกใบเสร็จรับเงินโดยระบุสาเหตุของการยกเลิกได้
เหตุผลการยกเลิก:
1. ผิดพลาดในการบันทึกข้อมูล
- ผิดยอดเงิน
- ผิดรายการค่ารักษา
- ผิดชื่อผู้ป่วย
2. ผู้ป่วยขอเปลี่ยนวิธีการชำระเงิน
- เปลี่ยนจากเงินสดเป็นบัตรเครดิต
- เปลี่ยนจากบัตรเป็นเงินโอน
3. มีการปรับลดค่ารักษาภายหลัง
- ได้รับอนุมัติลดหย่อน
- พบข้อผิดพลาดในการคิดราคา
4. เหตุผลอื่นๆ
- ผู้ป่วยไม่มารับยา
- การยกเลิกการรักษา
การยกเลิกใบเสร็จ:
Input:
- เลขที่ใบเสร็จที่ต้องการยกเลิก
- เหตุผลการยกเลิก
- หลักฐานประกอบ (ถ้าจำเป็น)
- ผู้ขออนุมัติยกเลิก
Process:
1. ตรวจสอบสิทธิ์ในการยกเลิก
2. ตรวจสอบสถานะใบเสร็จ (ยกเลิกได้/ไม่ได้)
3. บันทึกข้อมูลการยกเลิก:
- วันที่ยกเลิก
- เวลาที่ยกเลิก
- HN และชื่อ-สกุลผู้ป่วย
- เลขที่ใบเสร็จที่ยกเลิก
- จำนวนเงินที่ยกเลิก
- เจ้าหน้าที่ที่ทำการยกเลิก
- สาเหตุของการยกเลิก
4. สร้างเอกสารยกเลิก
5. อัพเดทสถานะใบเสร็จ
Output:
- ใบยกเลิกใบเสร็จ
- การคืนเงินให้ผู้ป่วย (ถ้าจำเป็น)
- บันทึกประวัติการยกเลิก
3.5.1.2 การสร้างเอกสารใหม่หลังยกเลิก
คำอธิบาย: กรณีมีการยกเลิกใบเสร็จ ระบบต้องสามารถสร้างเลขที่เอกสารใหม่และเก็บเป็นประวัติอ้างอิงได้
การสร้างเอกสารใหม่:
Input:
- ข้อมูลใบเสร็จที่ถูกยกเลิก
- ข้อมูลที่แก้ไขใหม่
- เหตุผลการสร้างใหม่
Process:
1. สร้างเลขที่ใบเสร็จใหม่
2. บันทึกข้อมูลที่แก้ไขแล้ว
3. เชื่อมโยงระหว่างเอกสารเก่าและใหม่:
- ใบเสร็จเก่า: 2568-10-08-000001 (ยกเลิก)
- ใบเสร็จใหม่: 2568-10-08-000025 (แทนที่ 000001)
4. บันทึกประวัติการเชื่อมโยง
5. ออกใบเสร็จใหม่
Output:
- ใบเสร็จที่มีเลขที่ใหม่
- การเชื่อมโยงระหว่างเอกสารเก่า-ใหม่
- ประวัติการแก้ไข
3.5.1.3 การสอบถามประวัติใบเสร็จ
คำอธิบาย: ระบบต้องสามารถสอบถามได้ว่าใบเสร็จถูกพิมพ์ออกจากจุดรับชำระเงินใดและใครเป็นผู้ทำรายการ
การสอบถามประวัติ:
Input:
- เลขที่ใบเสร็จ
- ช่วงวันที่ (ถ้าต้องการ)
- จุดรับชำระเงิน (ถ้าต้องการ)
Process:
1. ค้นหาข้อมูลใบเสร็จจากฐานข้อมูล
2. ดึงข้อมูลประวัติการทำรายการ
Output:
├── ข้อมูลใบเสร็จ:
│ ├── เลขที่ใบเสร็จ
│ ├── วันที่-เวลาที่ออกใบเสร็จ
│ ├── ชื่อผู้ป่วย
│ └── ยอดเงิน
├── ข้อมูลการทำรายการ:
│ ├── จุดรับชำระเงิน
│ ├── เจ้าหน้าที่ที่ทำรายการ
│ ├── เครื่องคอมพิวเตอร์ที่ใช้
│ └── เครื่องพิมพ์ที่ใช้
└── ประวัติการเปลี่ยนแปลง:
├── การยกเลิก (ถ้ามี)
├── การแก้ไข (ถ้ามี)
└── การเชื่อมโยงเอกสาร (ถ้ามี)
3.6 กลุ่มฟังก์ชัน Financial Closing & Reporting
3.6.1 การปิดรอบการเงิน (FR-12)
3.6.1.1 การปิดยอดรายวัน
คำอธิบาย: ระบบต้องสามารถทำการปิดยอดรายการที่เกิดขึ้นและประมวลผลเพื่อสรุปยอดเงินตามช่วงเวลา
การปิดยอดรายวัน:
Input:
- วันที่ที่ต้องการปิดยอด
- จุดรับชำระเงิน (เฉพาะจุด/ทุกจุด)
- ผู้ทำการปิดยอด
Process:
1. รวบรวมรายการรับชำระเงินทั้งหมดในวัน
2. แยกตามประเภทการรับชำระเงิน:
- เงินสด
- บัตรเครดิต/เดบิต
- เงินโอน
- QR Code Payment
- เงินรับฝาก
- หักบัญชีสิทธิ
3. คำนวณยอดรวมแต่ละประเภท
4. ตรวจสอบยอดเงินสดที่นับได้กับยอดในระบบ
5. บันทึกผลต่างเงินสด (ถ้ามี)
6. สร้างรายงานสรุปยอดรายวัน
Output:
- รายงานสรุปยอดรายวัน
- ใบนำส่งเงินรายได้
- บันทึกผลต่างเงินสด
- การล็อคข้อมูลรายวัน (ไม่สามารถแก้ไขได้)
รายงานสรุปยอดรายวัน:
Header:
- วันที่ปิดยอด: 8 ตุลาคม 2568
- จุดรับชำระเงิน: จุดรับชำระหลัก
- ผู้ทำการปิดยอด: นางสาวสมศรี ใจดี
- เวลาปิดยอด: 23:45 น.
รายได้แยกตามประเภทการรับชำระ:
เงินสด:
- จำนวนรายการ: 125 รายการ
- ยอดเงิน: 45,750 บาท
บัตรเครดิต/เดบิต:
- จำนวนรายการ: 87 รายการ
- ยอดเงิน: 156,840 บาท
เงินโอน:
- จำนวนรายการ: 23 รายการ
- ยอดเงิน: 34,200 บาท
QR Code Payment:
- จำนวนรายการ: 45 รายการ
- ยอดเงิน: 12,580 บาท
รายได้แยกตามหมวดค่ารักษา:
ค่าตรวจรักษา: 89,450 บาท
ค่ายา: 67,320 บาท
ค่าตรวจทางห้องปฏิบัติการ: 45,600 บาท
ค่าตรวจเอกซเรย์: 23,400 บาท
ค่าหัตถการ: 23,600 บาท
รายได้แยกตามสิทธิ:
สิทธิ UC: 156,780 บาท
สิทธิประกันสังคม: 89,450 บาท
สิทธิข้าราชการ: 34,560 บาท
สิทธิเบิกตนเอง: 15,480 บาท
การนับเงินสด:
- ยอดตามระบบ: 45,750 บาท
- ยอดที่นับได้: 45,720 บาท
- ผลต่าง: -30 บาท (ขาด)
สรุปรวม:
- ยอดรายได้รวม: 249,370 บาท
- จำนวนรายการรวม: 280 รายการ
- ยอดเงินสดนำส่ง: 45,720 บาท
3.6.1.2 การสอบถามสรุปยอดเงิน
คำอธิบาย: ระบบต้องสามารถสอบถามสรุปยอดเงินได้ตามเงื่อนไขต่างๆ
การสอบถามแบบหลายเงื่อนไข:
Input:
- ช่วงวันที่: จาก-ถึง
- จุดรับชำระเงิน: เฉพาะจุด/ทุกจุด
- ประเภทสิทธิการรักษา: เฉพาะสิทธิ/ทุกสิทธิ
- หน่วยงานที่ให้บริการ: เฉพาะแผนก/ทุกแผนก
- รายการค่ารักษา: เฉพาะหมวด/ทุกหมวด
Process:
1. ดึงข้อมูลตามเงื่อนไขที่กำหนด
2. จัดกลุ่มและสรุปข้อมูล
3. สร้างรายงานตามรูปแบบที่เลือก
Output:
- รายงานสรุปตามเงื่อนไข
- การเปรียบเทียบระหว่างช่วงเวลา
- กราฟแสดงแนวโน้ม (ถ้าต้องการ)
3.6.1.3 การสอบถามยอดรายบุคคล
คำอธิบาย: ระบบต้องสามารถสอบถามสรุปยอดค่ารักษาพยาบาลของผู้ป่วยเป็นรายบุคคลได้
การสอบถามรายบุคคล:
Input:
- HN ผู้ป่วย
- ช่วงวันที่ที่ต้องการ
- ประเภทการรับชำระเงิน
Process:
1. ดึงประวัติการรักษาของผู้ป่วย
2. รวบรวมค่ารักษาตามช่วงเวลา
3. แยกตามประเภทการรับชำระ
4. คำนวณยอดรวมและสรุป
Output:
├── ข้อมูลผู้ป่วย:
│ ├── HN: หมายเลขผู้ป่วย
│ ├── ชื่อ-สกุล: ชื่อผู้ป่วย
│ └── สิทธิหลัก: สิทธิที่ใช้บ่อย
├── สรุปการรักษา:
│ ├── จำนวนครั้งที่มารักษา
│ ├── ค่ารักษารวมทั้งหมด
│ └── ค่ารักษาเฉลี่ยต่อครั้ง
└── รายละเอียดตามวันที่:
├── วันที่ 1: รายการและยอดเงิน
├── วันที่ 2: รายการและยอดเงิน
└── ...
3.6.2 การรายงานการเงิน (FR-13)
3.6.2.1 รายงานสำหรับฝ่ายบริหาร
คำอธิบาย: ระบบต้องสร้างรายงานการเงินสำหรับฝ่ายบริหารได้
รายงานยอดรายได้รายวัน:
รายงานรายได้ประจำวัน:
วันที่: 8 ตุลาคม 2568
สรุปภาพรวม:
- รายได้รวม: 249,370 บาท
- จำนวนผู้ป่วย: 280 ราย
- รายได้เฉลี่ยต่อหัว: 891 บาท
- เปรียบเทียบเมื่อวาน: +12.5%
รายได้แยกตามแผนก:
- แผนกอายุรกรรม: 89,450 บาท (35.9%)
- แผนกศัลยกรรม: 67,320 บาท (27.0%)
- แผนกฉุกเฉิน: 45,600 บาท (18.3%)
- แผนกทันตกรรม: 23,400 บาท (9.4%)
- แผนกอื่นๆ: 23,600 บาท (9.5%)
รายได้แยกตามสิทธิ:
- สิทธิ UC: 156,780 บาท (62.9%)
- สิทธิประกันสังคม: 89,450 บาท (35.9%)
- สิทธิข้าราชการ: 3,140 บาท (1.3%)
แนวโน้ม 7 วันล่าสุด:
- วันนี้: 249,370 บาท
- เมื่อวาน: 221,580 บาท
- 2 วันก่อน: 234,120 บาท
- ...
รายงานค้างชำระ:
รายงานยอดค้างชำระ:
ณ วันที่: 8 ตุลาคม 2568
สรุปภาพรวม:
- ยอดค้างชำระรวม: 125,680 บาท
- จำนวนผู้ป่วยที่ค้าง: 45 ราย
- ยอดค้างเฉลี่ย: 2,793 บาท
แยกตามอายุหนี้:
- ค้าง 1-7 วัน: 45,680 บาท (23 ราย)
- ค้าง 8-30 วัน: 56,780 บาท (15 ราย)
- ค้าง 31-90 วัน: 18,220 บาท (5 ราย)
- ค้าง >90 วัน: 5,000 บาท (2 ราย)
แยกตามสาเหตุ:
- รอเอกสารเบิก: 78,450 บาท (62.4%)
- ขาดแคลนเงิน: 34,230 บาท (27.2%)
- รออนุมัติลดหย่อน: 13,000 บาท (10.3%)
3.6.2.2 รายงานสำหรับหน่วยงานภายนอก
คำอธิบาย: ระบบต้องสร้างรายงานส่งให้หน่วยงานภายนอกได้
รายงาน 43 แฟ้ม (สปสช.):
รายงานข้อมูลการรักษาตาม 43 แฟ้มของ สปสช.
ประจำเดือน ตุลาคม 2568
แฟ้มที่ 1: ข้อมูลหน่วยบริการ
- รหัสหน่วยบริการ: 11677
- ชื่อหน่วยบริการ: โรงพยาบาลค่ายธนรัชน์
- ระดับหน่วยบริการ: F2
แฟ้มที่ 2: ข้อมูลบุคลากร
- จำนวนแพทย์: 25 คน
- จำนวนพยาบาล: 85 คน
- จำนวนเภสัชกร: 3 คน
แฟ้มที่ 3: ข้อมูลผู้ป่วยนอก
- จำนวนผู้ป่วยนอก: 8,456 ราย
- จำนวน Visit: 12,340 ครั้ง
- ค่ารักษาเฉลี่ย: 891 บาท/ครั้ง
... (ข้อมูลครบ 43 แฟ้ม)
จะทำส่วนต่อไปในข้อความถัดไป...
4. ความต้องการภายนอก
4.1 ส่วนติดต่อผู้ใช้
4.1.1 ส่วนติดต่อกับผู้ใช้
- หน้าจอต้องมีการออกแบบที่ใช้งานง่าย เหมาะกับสภาพการทำงานของเจ้าหน้าที่การเงิน
- รองรับการใช้งานผ่านเว็บเบราว์เซอร์และแอปพลิเคชันเฉพาะ
- มีระบบแจ้งเตือนและ Pop-up สำหรับข้อมูลสำคัญ (ค้างชำระ, การอนุมัติ)
- รองรับการใช้งานด้วยแป้นพิมพ์, เมาส์, และ Touch Screen
- หน้าจอต้องปรับขนาดได้ตามความละเอียดของจอภาพ (1920x1080, 1366x768)
- รองรับการใช้งานภาษาไทยและอังกฤษ
4.1.2 ส่วนติดต่อกับฮาร์ดแวร์
- เครื่องพิมพ์ใบเสร็จ: Thermal Printer 80mm สำหรับพิมพ์ใบเสร็จรับเงิน
- เครื่องพิมพ์เอกสาร: Laser Printer A4 สำหรับพิมพ์รายงานและเอกสารทางการเงิน
- ลิ้นชักเก็บเงิน: Cash Drawer ที่เชื่อมต่อกับเครื่องพิมพ์ใบเสร็จ
- เครื่องอ่านบัตรเครดิต: EDC Terminal สำหรับการชำระด้วยบัตร
- เครื่องนับเงิน: Money Counter สำหรับนับเงินสดอัตโนมัติ
- เครื่องตรวจเงินปลอม: UV Detector และ Pen สำหรับตรวจสอบธนบัตร
- เครื่องสแกน QR Code: สำหรับรับชำระผ่าน PromptPay และ E-Wallet
- จอแสดงผลราคา: Customer Display สำหรับแสดงยอดเงินให้ผู้ป่วยเห็น
4.1.3 ส่วนติดต่อกับซอฟต์แวร์
- ระบบฐานข้อมูล: SQL Server 2019+, MySQL 8.0+, หรือ PostgreSQL 13+
- ระบบปฏิบัติการ: Windows Server 2019+, Windows 10+, หรือ Linux
- Web Server: IIS 10+, Apache 2.4+, หรือ Nginx 1.18+
- ระบบสำรองข้อมูล: Windows Backup, SQL Server Backup, หรือ Third-party Backup
- Antivirus Software: ซอฟต์แวร์ป้องกันไวรัสระดับเซิร์ฟเวอร์และ Client
- ระบบรายงาน: Crystal Reports, SQL Server Reporting Services, หรือ JasperReports
4.1.4 ส่วนติดต่อการสื่อสาร
- เชื่อมต่อกับระบบ HIS อื่นๆ: ผ่าน Web Services, REST API, หรือ Database Integration
- การส่งข้อมูลไปยังหน่วยงานภายนอก:
- สปสช. (NHSO) - ข้อมูล 43 แฟ้ม
- สนย. (SSO) - ข้อมูลประกันสังคม
- กรมบัญชีกลาง (CGD) - ข้อมูลข้าราชการ
- การแลกเปลี่ยนข้อมูลกับธนาคาร: API สำหรับตรวจสอบการชำระเงินและการโอนเงิน
- ระบบ Email: สำหรับส่งรายงานอัตโนมัติและการแจ้งเตือน
- ระบบ SMS: สำหรับแจ้งเตือนการค้างชำระและการอนุมัติ
4.2 ข้อกำหนดด้านประสิทธิภาพ
4.2.1 เวลาตอบสนอง
- การค้นหาข้อมูลผู้ป่วย: ไม่เกิน 2 วินาที
- การแสดงรายการค่ารักษา: ไม่เกิน 3 วินาที
- การรับชำระเงินและออกใบเสร็จ: ไม่เกิน 5 วินาที
- การพิมพ์ใบเสร็จ: ไม่เกิน 3 วินาทีหลังจากกดปุ่มพิมพ์
- การโหลดรายงาน: ไม่เกิน 10 วินาทีสำหรับรายงานรายวัน
- การปิดรอบรายวัน: ไม่เกิน 30 นาทีสำหรับข้อมูลทั้งวัน
4.2.2 ความจุการใช้งาน
- ผู้ใช้งานพร้อมกัน: อย่างน้อย 200 คน (จุดรับชำระหลายจุด)
- รายการรับชำระเงินต่อวัน: อย่างน้อย 2,000 รายการ
- จำนวนใบเสร็จต่อปี: อย่างน้อย 500,000 ใบ
- ข้อมูลผู้ป่วยในระบบ: อย่างน้อย 500,000 ราย
- ประวัติการทำรายการ: เก็บข้อมูลย้อนหลัง 10 ปี
4.2.3 ความพร้อมใช้งาน
- ระบบต้องทำงานได้: 99.9% ของเวลา (24x7x365)
- เวลาหยุดทำงานสำหรับบำรุงรักษา: ไม่เกิน 4 ชั่วโมงต่อเดือน
- การกู้คืนระบบหลังจากขัดข้อง: ภายใน 30 นาที
- การสำรองข้อมูล: อัตโนมัติทุกวันเวลา 02:00 น.
- การทดสอบระบบสำรอง: ทุกเดือน
4.3 ข้อกำหนดด้านความปลอดภัย
4.3.1 การควบคุมการเข้าถึง
- ระบบ Login: Username และ Password พร้อม Multi-Factor Authentication (MFA)
- การกำหนดสิทธิ์: Role-based Access Control ตามตำแหน่งหน้าที่
- การล็อกออกอัตโนมัติ: เมื่อไม่ใช้งานเกิน 15 นาที (สำหรับเจ้าหน้าที่การเงิน)
- การเข้ารหัสข้อมูล: AES-256 สำหรับข้อมูลทางการเงินและข้อมูลส่วนบุคคล
- การจำกัดการเข้าถึง: ตาม IP Address และ MAC Address
4.3.2 การป้องกันข้อมูล
- สำรองข้อมูลหลายระดับ: Local Backup, Network Backup, และ Cloud Backup
- การเก็บ Audit Logs: บันทึกการใช้งานและการแก้ไขข้อมูลทุกรายการ
- การป้องกันการเข้าถึงจากภายนอก: Firewall และ VPN
- การตรวจสอบความครบถ้วนของข้อมูล: Checksum และ Digital Signature
- การแจ้งเตือนความผิดปกติ: Real-time Monitoring และ Alert System
4.3.3 การปฏิบัติตามกฎหมาย
- PDPA Compliance: ปฏิบัติตามพระราชบัญญัติคุ้มครองข้อมูลส่วนบุคคล
- การเก็บข้อมูล: เก็บ Audit Logs และข้อมูลทางการเงินไม่น้อยกว่า 7 ปี
- สิทธิ์ของเจ้าของข้อมูล: รองรับการขอดู, แก้ไข, และลบข้อมูลส่วนบุคคล
- การแจ้งการละเมิดข้อมูล: ภายใน 72 ชั่วโมงหลังทราบเหตุ
5. คุณลักษณะของระบบ
5.1 การจัดการข้อมูลทางการเงิน
5.1.1 ความถูกต้องและครบถ้วนของข้อมูล
- การตรวจสอบความถูกต้อง: Validation Rules สำหรับข้อมูลทางการเงินทุกฟิลด์
- การป้องกันข้อมูลซ้ำซ้อน: ตรวจสอบเลขที่ใบเสร็จซ้ำและการรับชำระเงินซ้ำ
- การคำนวณอัตโนมัติ: คำนวณส่วนลด, ภาษี, และเงินทอนอัตโนมัติ
- การตรวจสอบยอดเงิน: Balance Checking ระหว่างยอดรับชำระกับยอดในระบบ
5.1.2 การจัดการข้อมูลย้อนหลัง
- เก็บประวัติการแก้ไข: Version Control สำหรับข้อมูลทางการเงินทุกรายการ
- การกู้คืนข้อมูล: สามารถกู้คืนข้อมูลจากวันที่ที่ระบุได้
- การตรวจสอบการเปลี่ยนแปลง: Track Changes ของข้อมูลทางการเงิน
- ไม่อนุญาตให้ลบข้อมูล: Soft Delete เท่านั้น พร้อมเหตุผลการลบ
5.1.3 การแจ้งเตือนและการเตือนล่วงหน้า
- แจ้งเตือนค้างชำระ: แสดง Alert เมื่อผู้ป่วยที่ค้างชำระมาลงทะเบียน
- เตือนขออนุมัติ: แจ้งเตือนเมื่อมีคำขออนุมัติลดหย่อนรอพิจารณา
- เตือนการปิดรอบ: แจ้งเตือนเมื่อถึงเวลาปิดรอบรายวัน
- เตือนผลต่างเงินสด: แจ้งเตือนเมื่อยอดเงินสดไม่ตรงกับยอดในระบบ
5.2 การเชื่อมโยงกับระบบอื่น
5.2.1 การรับข้อมูลจากระบบอื่น
- ระบบเวชระเบียน (1.2.1): ดึงข้อมูลผู้ป่วยและสิทธิการรักษา
- ระบบห้องตรวจ (1.2.3): ดึงค่าตรวจรักษาและค่าหัตถการ
- ระบบชันสูตร (1.2.7): ดึงค่าตรวจทางห้องปฏิบัติการ
- ระบบรังสีวิทยา (1.2.8): ดึงค่าตรวจเอกซเรย์และ CT/MRI
- ระบบเภสัชกรรม (1.2.13): ดึงค่ายาและเวชภัณฑ์
- ระบบตรวจสอบสิทธิ (1.2.15): ดึงข้อมูลสิทธิและการคำนวณส่วนลด
5.2.2 การส่งข้อมูลไปยังระบบอื่น
- ส่งสถานะการชำระเงิน: ไปยังระบบที่ส่งข้อมูลค่ารักษามา
- ส่งข้อมูลการรับชำระ: ไปยังระบบบัญชี (ถ้ามี)
- ส่งการแจ้งเตือน: ไปยังระบบผู้ดูแลระบบเมื่อมีปัญหา
- ส่งรายงาน: ไปยังระบบรายงานของผู้บริหาร
5.2.3 การซิงค์ข้อมูลแบบ Real-time
- การอัพเดทสถานะการชำระ: ทันทีหลังรับชำระเงิน
- การอัพเดทยอดค้างชำระ: ทันทีหลังบันทึกค้างชำระ
- การอัพเดทสิทธิ: ทันทีหลังมีการเปลี่ยนแปลงสิทธิ
- การอัพเดทราคา: ทันทีหลังมีการปรับราคาบริการ
5.3 การรองรับสถานการณ์พิเศษ
5.3.1 โหมดออฟไลน์ (Offline Mode)
- การทำงานขณะเครือข่ายขัดข้อง: สามารถรับชำระเงินและบันทึกไว้ใน Local
- การซิงค์ข้อมูลเมื่อเครือข่ายกลับมา: อัตโนมัติหลังจากระบบกลับมาปกติ
- การป้องกันการทำรายการซ้ำ: ระบบตรวจสอบรายการที่อาจซ้ำซ้อน
5.3.2 ภาวะฉุกเฉิน (Emergency Mode)
- การรับชำระแบบเร่งด่วน: สำหรับผู้ป่วยฉุกเฉิน
- การข้ามขั้นตอนบางส่วน: เพื่อความรวดเร็วในการช่วยชีวิต
- การบันทึกย้อนหลัง: เมื่อสถานการณ์กลับเข้าสู่ปกติ
5.3.3 การจัดการภัยพิบัติ (Disaster Recovery)
- การสำรองข้อมูลหลายจุด: Local, Offsite, และ Cloud
- การกู้คืนระบบ: สามารถกู้คืนและทำงานต่อได้ภายใน 4 ชั่วโมง
- การทำงานในสถานที่สำรอง: รองรับการย้ายไปทำงานที่อื่น
5.4 การปรับขนาดและการขยาย
5.4.1 การขยายจำนวนผู้ใช้งาน
- Architecture แบบ Scalable: รองรับการเพิ่มผู้ใช้งานได้ง่าย
- Load Balancing: กระจายภาระงานเมื่อมีผู้ใช้งานมาก
- Database Clustering: รองรับการทำงานของฐานข้อมูลแบบกลุ่ม
5.4.2 การเพิ่มจุดรับชำระเงิน
- การเพิ่มจุดใหม่: สามารถเพิ่มจุดรับชำระเงินได้โดยไม่กระทบระบบเดิม
- การกำหนดค่าจุดใหม่: ตั้งค่าและเชื่อมต่ออุปกรณ์ได้อัตโนมัติ
- การซิงค์ข้อมูล: ข้อมูลระหว่างจุดต่างๆ ซิงค์กันแบบ Real-time
6. ความต้องการที่ไม่ใช่ฟังก์ชัน
6.1 ความน่าเชื่อถือ (Reliability)
6.1.1 ความเสถียรของระบบ
- Mean Time Between Failures (MTBF): ไม่น้อยกว่า 720 ชั่วโมง (30 วัน)
- Mean Time To Recovery (MTTR): ไม่เกิน 30 นาที
- Error Rate: ไม่เกิน 0.1% ของการทำรายการทั้งหมด
- Data Corruption Rate: ไม่เกิน 0.01% ของข้อมูลที่บันทึก
6.1.2 การทำงานในสภาวะผิดปกติ
- Graceful Degradation: ระบบยังทำงานได้ถึงแม้จะมีส่วนประกอบบางส่วนขัดข้อง
- Failover: สลับไปใช้ระบบสำรองอัตโนมัติเมื่อระบบหลักขัดข้อง
- Error Handling: จัดการข้อผิดพลาดและแสดงข้อความที่เข้าใจง่าย
6.2 การใช้งาน (Usability)
6.2.1 ความง่ายในการใช้งาน
- Learning Curve: ผู้ใช้งานใหม่สามารถใช้งานพื้นฐานได้ภายใน 2 ชั่วโมง
- Task Completion Time: การรับชำระเงินรายการหนึ่งไม่เกิน 3 นาที
- Error Prevention: ป้องกันการผิดพลาดด้วย Validation และ Warning
- Help System: มีระบบช่วยเหลือและคู่มือการใช้งานที่ครบถ้วน
6.2.2 การออกแบบ User Interface
- Consistent Design: การออกแบบที่สม่ำเสมอทุกหน้าจอ
- Intuitive Navigation: การนำทางที่เข้าใจง่ายและสอดคล้องกับ Workflow
- Accessibility: รองรับผู้ใช้งานที่มีความต้องการพิเศษ
- Responsive Design: ปรับตัวตามขนาดหน้าจอได้
6.3 ประสิทธิภาพ (Performance)
6.3.1 เวลาตอบสนอง
- Response Time: ไม่เกินค่าที่กำหนดใน Section 4.2.1
- Throughput: รองรับการทำรายการได้อย่างน้อย 100 รายการต่อนาที
- Concurrent Users: รองรับผู้ใช้งานพร้อมกันตามที่กำหนดใน Section 4.2.2
- Resource Utilization: ใช้ทรัพยากรระบบอย่างมีประสิทธิภาพ
6.3.2 การปรับปรุงประสิทธิภาพ
- Caching: ใช้ Cache สำหรับข้อมูลที่เข้าถึงบ่อย
- Database Optimization: ปรับแต่งฐานข้อมูลให้ทำงานเร็วขึ้น
- Code Optimization: เขียนโค้ดที่มีประสิทธิภาพ
- Regular Performance Monitoring: ตรวจสอบประสิทธิภาพอย่างสม่ำเสมอ
6.4 การรักษาความปลอดภัย (Security)
6.4.1 การป้องกันข้อมูล
- Data Encryption: เข้ารหัสข้อมูลทางการเงินและข้อมูลส่วนบุคคล
- Access Control: ควบคุมการเข้าถึงตามสิทธิ์และบทบาท
- Audit Trail: บันทึกการใช้งานทุกรายการอย่างครบถ้วน
- Data Backup: สำรองข้อมูลอย่างปลอดภัยและสม่ำเสมอ
6.4.2 การป้องกันการโจมตี
- SQL Injection Protection: ป้องกันการโจมตีผ่าน SQL Injection
- Cross-Site Scripting (XSS) Protection: ป้องกันการโจมตีผ่าน XSS
- Cross-Site Request Forgery (CSRF) Protection: ป้องกันการโจมตีผ่าน CSRF
- Brute Force Protection: ป้องกันการทดลองรหัสผ่านแบบ Brute Force
6.5 การบำรุงรักษา (Maintainability)
6.5.1 ความง่ายในการบำรุงรักษา
- Modular Design: การออกแบบแบบโมดูลาร์ที่แก้ไขได้ง่าย
- Code Documentation: เอกสารประกอบโค้ดที่ครบถ้วน
- Error Logging: บันทึกข้อผิดพลาดอย่างละเอียด
- Configuration Management: จัดการการตั้งค่าแบบรวมศูนย์
6.5.2 การอัพเดทและการปรับปรุง
- Version Control: จัดการเวอร์ชันของระบบ
- Automated Testing: ทดสอบอัตโนมัติก่อนอัพเดท
- Rolling Updates: อัพเดทแบบไม่หยุดการทำงาน
- Rollback Capability: สามารถย้อนกลับเมื่อมีปัญหา
6.6 การพกพา (Portability)
6.6.1 ความเป็นอิสระจากแพลตฟอร์ม
- Cross-Platform: ทำงานได้บนระบบปฏิบัติการหลายแบบ
- Database Independence: ไม่ผูกมัดกับฐานข้อมูลชนิดใดชนิดหนึ่ง
- Browser Compatibility: ใช้งานได้กับเว็บเบราว์เซอร์หลายชนิด
- Standard Compliance: ปฏิบัติตามมาตรฐานสากล
7. การเชื่อมโยงกับระบบอื่น
7.1 การเชื่อมโยงกับระบบ HIS ภายใน
7.1.1 ระบบเวชระเบียน (1.2.1)
ประเภทการเชื่อมโยง: Two-way Integration
รับข้อมูลจากระบบเวชระเบียน:
- ข้อมูลผู้ป่วย: HN, ชื่อ-สกุล, วันเกิด, ที่อยู่
- สิทธิการรักษา: สิทธิหลัก, สิทธิรอง, วันหมดอายุ
- ประวัติการมารักษา: วันที่, เวลา, แผนกที่รักษา
ส่งข้อมูลไปยังระบบเวชระเบียน:
- สถานะการชำระเงิน: ชำระแล้ว/ค้างชำระ/ยกเว้น
- ประวัติการชำระเงิน: วันที่ชำระ, ยอดเงิน, วิธีการชำระ
- การค้างชำระ: ยอดค้าง, เหตุผล, วันครบกำหนด
API Endpoints:
- GET /api/patient/{hn}/info - ดึงข้อมูลผู้ป่วย
- GET /api/patient/{hn}/rights - ดึงข้อมูลสิทธิ
- POST /api/patient/{hn}/payment-status - อัพเดทสถานะการชำระ
7.1.2 ระบบตรวจสอบสิทธิ (1.2.15)
ประเภทการเชื่อมโยง: Primary Integration
รับข้อมูลจากระบบตรวจสอบสิทธิ:
- ข้อมูลสิทธิแบบ Real-time: สถานะสิทธิ, ขอบเขตการใช้งาน
- การคำนวณส่วนลด: ส่วนลดตามสิทธิ, เงื่อนไขการลด
- ข้อมูลการเบิกจ่าย: วงเงินคงเหลือ, ประวัติการเบิก
ส่งข้อมูลไปยังระบบตรวจสอบสิทธิ:
- การใช้สิทธิ: รายการที่ใช้สิทธิ, ยอดเงินที่เบิก
- ยืนยันการชำระ: ยืนยันการรับชำระตามสิทธิ
Integration Method:
- Real-time API calls
- Shared Database views
- Event-driven updates
API Endpoints:
- GET /api/rights/check/{hn}/{service} - ตรวจสอบสิทธิ
- POST /api/rights/claim - แจ้งการใช้สิทธิ
- GET /api/rights/remaining-limit/{hn} - ตรวจสอบวงเงินคงเหลือ
7.1.3 ระบบห้องตรวจแพทย์ (1.2.3)
ประเภทการเชื่อมโยง: Data Collection Integration
รับข้อมูลจากระบบห้องตรวจแพทย์:
- ค่าตรวจรักษา: ค่าตรวจโรค, ค่าการรักษา, ค่าหัตถการ
- รายการบริการ: รายการที่ผู้ป่วยได้รับ, จำนวน, ราคา
- ข้อมูลแพทย์: แพทย์ผู้รักษา, แผนกที่รักษา
การส่งข้อมูลค่ารักษา:
- Format: JSON หรือ XML
- Frequency: Real-time หลังจากเสร็จสิ้นการตรวจ
- Data Structure:
{
"hn": "123456",
"visit_date": "2568-10-08",
"doctor_code": "D001",
"department": "อายุรกรรม",
"services": [
{
"service_code": "S001",
"service_name": "การตรวจรักษาทั่วไป",
"quantity": 1,
"unit_price": 150,
"total_price": 150
}
]
}
7.1.4 ระบบเภสัชกรรม (1.2.13)
ประเภทการเชื่อมโยง: Data Collection Integration
รับข้อมูลจากระบบเภสัชกรรม:
- ค่ายา: ราคายาแต่ละรายการ, จำนวน, ส่วนลด
- ค่าเวชภัณฑ์: อุปกรณ์การแพทย์, วัสดุใช้แล้วทิ้ง
- ค่าบริการทางเภสัชกรรม: ค่าจ่ายยา, ค่าคำแนะนำ
การประมวลผลข้อมูลยา:
- รวมยอดค่ายาตามใบสั่งยา
- คำนวณส่วนลดยาตามสิทธิ
- ตรวจสอบเงื่อนไขการเบิกยา
API Integration:
- GET /api/pharmacy/prescription/{prescription_id} - ดึงข้อมูลใบสั่งยา
- GET /api/pharmacy/drug-cost/{hn}/{date} - ดึงค่ายารายวัน
7.1.5 ระบบชันสูตร (1.2.7) และระบบรังสีวิทยา (1.2.8)
ประเภทการเชื่อมโยง: Data Collection Integration
รับข้อมูลจากระบบชันสูตร:
- ค่าตรวจทางห้องปฏิบัติการ: ตรวจเลือด, ตรวจปัสสาวะ, ตรวจจุลชีพ
- ค่าบริการพิเศษ: ตรวจดีเอ็นเอ, ตรวจฮอร์โมน
- ค่าวัสดุการตรวจ: หลอดเลือด, สารเคมี
รับข้อมูลจากระบบรังสีวิทยา:
- ค่าตรวจเอกซเรย์: X-Ray ธรรมดา, X-Ray พิเศษ
- ค่าตรวจ CT Scan: CT หัว, CT ช่องท้อง
- ค่าตรวจ MRI: MRI สมอง, MRI กระดูก
- ค่าตรวจ Ultrasound: อัลตราซาวนด์ช่องท้อง, หัวใจ
การรวมรายการตรวจ:
- จัดกลุ่มตามประเภทการตรวจ
- คำนวณส่วนลดตามแพ็กเกจ (ถ้ามี)
- ตรวจสอบเงื่อนไขการเบิกตามสิทธิ
7.2 การเชื่อมโยงกับระบบภายนอก
7.2.1 ระบบสำนักงานหลักประกันสุขภาพแห่งชาติ (สปสช.)
ประเภทการเชื่อมโยง: Government API Integration
การส่งข้อมูล 43 แฟ้ม:
แฟ้มข้อมูลที่เกี่ยวข้องกับการเงิน:
- แฟ้มที่ 12: ข้อมูลการให้บริการผู้ป่วยนอก
- แฟ้มที่ 13: ข้อมูลการให้บริการผู้ป่วยใน
- แฟ้มที่ 14: ข้อมูลการใช้ยา
- แฟ้มที่ 15: ข้อมูลการตรวจทางห้องปฏิบัติการ
- แฟ้มที่ 16: ข้อมูลการรับชำระเงิน
ข้อมูลการเบิกจ่าย:
- ยอดเงินที่เบิกได้ตามสิทธิ UC
- รายการค่ารักษาที่ครอบคลุม
- เงื่อนไขและข้อจำกัดการเบิก
API Specification:
- Endpoint: https://api.nhso.go.th/claims
- Method: POST
- Authentication: Digital Certificate
- Data Format: XML ตามมาตรฐาน HL7
- Frequency: รายวัน หรือ Real-time
7.2.2 ระบบสำนักงานสวัสดิการและคุ้มครองแรงงาน (สนย.)
ประเภทการเชื่อมโยง: Government API Integration
การตรวจสอบสิทธิประกันสังคม:
- ตรวจสอบสถานะการมีสิทธิ
- ตรวจสอบวงเงินคงเหลือ
- ตรวจสอบข้อจำกัดการใช้สิทธิ
การเบิกจ่ายประกันสังคม:
- ส่งข้อมูลการรักษา
- ขอเบิกค่ารักษาพยาบาล
- ติดตามสถานะการเบิก
API Integration:
- Endpoint: https://api.sso.go.th/medical-claim
- Method: POST/GET
- Authentication: SSL Client Certificate
- Data Format: JSON
- Real-time Response: Yes
7.2.3 ระบบกรมบัญชีกลาง (สำหรับข้าราชการ)
ประเภทการเชื่อมโยง: Government API Integration
การตรวจสอบสิทธิข้าราชการ:
- ตรวจสอบสถานะการเป็นข้าราชการ
- ตรวจสอบสิทธิในการรักษา
- ตรวจสอบสิทธิครอบครัว
การเบิกจ่าย:
- เบิกค่ารักษาตามระเบียบข้าราชการ
- เบิกค่ารักษาครอบครัว
- เบิกค่ารักษาในกรณีพิเศษ
Data Exchange:
- Monthly Batch Processing
- Secure File Transfer (SFTP)
- Excel/CSV Format
- Digital Signature Required
7.2.4 ระบบธนาคาร (สำหรับการชำระเงิน)
ประเภทการเชื่อมโยง: Payment Gateway Integration
การชำระด้วยบัตรเครดิต/เดบิต:
- เชื่อมต่อกับ Payment Gateway
- รองรับ Visa, MasterCard, JCB, UnionPay
- การตรวจสอบ Real-time Authorization
- การจัดการ Chargeback และ Refund
การชำระผ่าน QR Code:
- PromptPay Integration
- Banking App QR Code
- E-Wallet Integration (TrueMoney, Rabbit LINE Pay)
API Integration:
Payment Gateway APIs:
- Authorization: POST /api/payment/authorize
- Capture: POST /api/payment/capture
- Refund: POST /api/payment/refund
- Status Check: GET /api/payment/status/{transaction_id}
Security Requirements:
- PCI DSS Compliance
- SSL/TLS Encryption
- Tokenization for Card Data
- 3D Secure Authentication
7.3 การจัดการข้อผิดพลาดในการเชื่อมโยง
7.3.1 Error Handling Strategy
Connection Errors:
- Timeout: 30 seconds for API calls
- Retry Logic: 3 attempts with exponential backoff
- Fallback: Use cached data or manual override
- Logging: Detailed error logs for troubleshooting
Data Validation Errors:
- Schema Validation: Check data format before sending
- Business Rule Validation: Check business constraints
- Error Response: Clear error messages for users
- Data Correction: Allow manual correction when needed
System Unavailability:
- Health Check: Regular monitoring of external systems
- Circuit Breaker: Prevent cascading failures
- Offline Mode: Continue critical operations offline
- Queue Management: Queue requests for later processing
7.3.2 Data Synchronization
Real-time Sync:
- Critical Data: Payment status, rights verification
- Method: Event-driven updates via webhooks
- Validation: Check data integrity after sync
- Rollback: Ability to rollback failed transactions
Batch Sync:
- Periodic Data: Daily/weekly reports
- Method: Scheduled batch jobs
- Reconciliation: Compare and fix data differences
- Monitoring: Track sync status and performance
Conflict Resolution:
- Last Writer Wins: For simple conflicts
- Manual Review: For complex conflicts
- Audit Trail: Track all changes and conflicts
- Notification: Alert administrators of conflicts
หมายเหตุ: เอกสารนี้จัดทำขึ้นสำหรับการพัฒนาระบบการเงินของโรงพยาบาลค่ายธนรัชน์ และจะมีการปรับปรุงเพิ่มเติมตามความต้องการที่เปลี่ยนแปลง การนำไปใช้งานจริงต้องผ่านการทดสอบและการอนุมัติจากผู้มีอำนาจตามระเบียบของโรงพยาบาล