90 lines
8.6 KiB
Markdown
90 lines
8.6 KiB
Markdown
# 🌿 Thai Traditional Massage Queue Management System (TTMQMS Enterprise)
|
|
**ระบบบริหารจัดการคิวนวดแผนไทยและเวชระเบียนอิเล็กทรอนิกส์ระดับองค์กร (Enterprise Production Grade)**
|
|
*ศูนย์เวชกรรมแผนไทยและสปาเพื่อสุขภาพ – รองรับการเชื่อมต่อ HOSxP, JHCIS, Smart Card, ESC/POS Thermal Printer และ MOPH FHIR R4*
|
|
|
|
---
|
|
|
|
## 🚀 Executive Summary & Core Architecture
|
|
TTMQMS Enterprise เป็นนวัตกรรมระบบบริการทางการแพทย์แผนไทยที่ถูกออกแบบขึ้นเพื่อแก้ปัญหาความแออัดในโรงพยาบาลและการกระจายภาระงานของหมอนวด (Therapist Workload Imbalance) อย่างเป็นธรรม พัฒนาด้วยสถาปัตยกรรม **Clean Architecture (PSR-12)** และ **Progressive Web App (PWA)** ภายใต้ดีไซน์ **Healthcare Glassmorphism** อันทันสมัย
|
|
|
|
```mermaid
|
|
graph LR
|
|
PWA[PWA Mobile & Desktop<br/>TailwindCSS / AlpineJS] <-->|HTTPS REST API / JWT 2FA| API[PHP 8.1 API Gateway<br/>FastRoute & Middleware]
|
|
API <-->|PDO Prepared| DB[(MySQL 8.0 / InnoDB<br/>Stored Procedures)]
|
|
API <-->|In-Memory| REDIS[(Redis Cache<br/>Session & SLA)]
|
|
API <-->|WebUSB / PCSC| HW[Smart Card Reader &<br/>ESC/POS 80mm Printer]
|
|
API <-->|mTLS / REST| HIS[HOSxP / JHCIS &<br/>HL7 FHIR R4 Server]
|
|
```
|
|
|
|
---
|
|
|
|
## 💎 Key Features & Technology Stack
|
|
|
|
### 🔹 1. Frontend & PWA (Glassmorphism UI)
|
|
- **HTML5, TailwindCSS & AlpineJS:** น้ำหนักเบา (Lightweight Reactive State) โหลดเร็วในเสี้ยววินาที รองรับ Mobile-first & Touchscreen
|
|
- **Progressive Web App (PWA):** ติดตั้งบนหน้าจอมือถือและแท็บเล็ตได้ทันที พร้อม Service Worker รองรับการทำงานออฟไลน์ชั่วคราว
|
|
- **Responsive Dark/Light Mode:** ออกแบบตามหลักสรีรศาสตร์ทางการแพทย์ (WCAG 2.1 AA Accessibility)
|
|
|
|
### 🔹 2. Backend & Security (OWASP Top 10 Compliant)
|
|
- **PHP 8.1 / PDO MySQL 8.0:** เชื่อมต่อฐานข้อมูลผ่าน Prepared Statements ป้องกัน SQL Injection 100%
|
|
- **Argon2id & 2FA TOTP:** เข้ารหัสรหัสผ่านด้วยอัลกอริทึมขั้นสูง พร้อมบังคับใช้ Google Authenticator 2-Factor Authentication
|
|
- **Bearer JWT Access Token:** โทเค็นอายุ 60 นาที พร้อมระบบ Rate Limiter ป้องกันการโจมตี DDoS
|
|
|
|
### 🔹 3. Enterprise Modules & Hardware Interoperability
|
|
- **AI Smart Queue Allocator (`sp_assign_smart_queue`):** คำนวณ Workload Balance ของหมอนวดและสถานะห้องว่างอัตโนมัติใน < 50ms
|
|
- **Clinical SOAP Note & Digital Signature:** เวชระเบียนแผนไทย พร้อมแถบประเมินความปวด VAS Score (0-10), ROM Goniometer และลายมือชื่อดิจิทัล (HTML5 Canvas)
|
|
- **Smart TV Display & TTS Audio:** หน้าจอเรียกคิวขึ้นทีวี Fullscreen พร้อมเสียงเรียกคิวอัตโนมัติไทย/อังกฤษ (HTML5 SpeechSynthesis)
|
|
- **POS Billing & PromptPay QR:** คิดค่าบริการ ออกใบเสร็จ พร้อมจำลอง QR Code พร้อมเพย์มาตรฐาน EMVCo
|
|
- **Hardware Integration:** อ่านบัตรประชาชนไทยผ่าน WebUSB/PCSC และส่งคำสั่งพิมพ์ใบคิว/ใบเสร็จออกเครื่องพิมพ์ความร้อน ESC/POS 80mm
|
|
- **HL7 FHIR R4 Interop:** สร้างและแลกเปลี่ยนข้อมูลสุขภาพ JSON Bundle (Encounter + Observation) กับระบบ HOSxP/JHCIS ผ่าน REST mTLS
|
|
|
|
---
|
|
|
|
## 📚 Enterprise Documentation Suite (ดัชนีคู่มือ 8 ฉบับ)
|
|
เอกสารทั้งหมดถูกจัดเก็บอยู่ในโฟลเดอร์ `/docs` ของโครงการ:
|
|
1. [01_System_Analysis.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/01_System_Analysis.md): System Analysis, Context Diagram, DFD Level 0/1 และ Flowcharts
|
|
2. [02_SRS_SDD.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/02_SRS_SDD.md): Software Requirement Spec (IEEE 830) & System Design Document
|
|
3. [03_Database_Design.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/03_Database_Design.md): Database Architecture, ER Diagram และ Comprehensive Data Dictionary 13 ตาราง
|
|
4. [04_API_Documentation.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/04_API_Documentation.md): REST API Specification และ [OpenAPI 3.0 Spec File](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/public/api-docs/openapi.json) พร้อม [Swagger UI Console](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/public/api-docs/index.html)
|
|
5. [05_Installation_Deployment_Guide.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/05_Installation_Deployment_Guide.md): คู่มือการติดตั้งบน Hospital DMZ ด้วย Docker Compose, Nginx SSL และ CI/CD Pipeline
|
|
6. [06_User_Manuals.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/06_User_Manuals.md): คู่มือการใช้งานครบทั้ง 5 บทบาท (Reception, Therapist, Cashier, Admin, Patient)
|
|
7. [07_Developer_Security_Guide.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/07_Developer_Security_Guide.md): Developer Guide (PSR-12), OWASP Top 10 Mitigation และ Troubleshooting Guide
|
|
8. [08_Backup_Maintenance_Roadmap.md](file:///Users/porawit/Documents/Antigravity Project/บริหารจัดการคิวนวดแผนไทย/docs/08_Backup_Maintenance_Roadmap.md): แผนสำรองข้อมูลอัตโนมัติ (AES-256), แผนบำรุงรักษา, Roadmap อนาคต และ Production Ready Checklist
|
|
|
|
---
|
|
|
|
## ⚡ Quick Start (Docker Deployment in 3 Minutes)
|
|
|
|
```bash
|
|
# 1. Clone Repository & Setup Environment
|
|
git clone https://github.com/hospital-it/ttmqms-enterprise.git
|
|
cd ttmqms-enterprise
|
|
cp .env.example .env
|
|
|
|
# 2. Launch Production Stack (PHP 8.1, Nginx, MySQL 8.0, Redis)
|
|
docker compose up -d --build
|
|
|
|
# 3. Initialize Database Schema & Stored Procedures
|
|
docker exec -i ttmqms-mysql mysql -u root -pSuperSecretRootPassword@2026 ttmqms_db < database/schema.sql
|
|
```
|
|
|
|
### 🌐 Accessing the Applications:
|
|
- **Web PWA Application:** `http://localhost:8000` (หรือ `https://ttmqms.hospital.go.th`)
|
|
- **Smart TV Queue Display:** `http://localhost:8000/display/tv`
|
|
- **Swagger API Console:** `http://localhost:8000/api-docs/index.html`
|
|
|
|
---
|
|
|
|
## 🧪 Automated Testing & Quality Assurance
|
|
โครงการมาพร้อมชุดทดสอบอัตโนมัติตามมาตรฐานวิศวกรรมซอฟต์แวร์:
|
|
```bash
|
|
# รัน PHPUnit Unit & Integration Tests (SmartQueue AI, 2FA TOTP, REST Endpoints)
|
|
./vendor/bin/phpunit --testsuite=Unit,Integration
|
|
|
|
# รัน k6 Performance & Load Testing (500 Concurrent Users, Latency < 200ms)
|
|
k6 run tests/Performance/load_test.js
|
|
```
|
|
|
|
---
|
|
**License & Copyright:** © 2026 TTMQMS Enterprise Engineering Team. All Rights Reserved. Designed for Healthcare Production Environments.
|