ðĨ āļĢāļ°āļāļ SMAST-HOS OPD
ð SERVICE OPD NEW
āļĢāļ°āļāļāđāļื่āļāļĄāļ่āļāļุāļāļāļĢāļ์āļāļēāļāļāļēāļĢāđāļāļāļĒ์āļัāļāļāļĢิāļĒāļ° āļŠู่ HIS āļāļĒ่āļēāļāļāļĢāļāļ§āļāļāļĢ
ð āļ āļēāļāļĢāļ§āļĄāļĢāļ°āļāļ
(Enhanced Medical Device Integration WebApp)
āļืāļāļĢāļ°āļāļāļี่āļāļāļāđāļāļāļĄāļēāđāļื่āļāđāļื่āļāļĄāļ่āļāļุāļāļāļĢāļ์āļāļēāļāļāļēāļĢāđāļāļāļĒ์āļŦāļĨāļēāļāļŦāļĨāļēāļĒāļāļĢāļ°āđāļ āļ āļ่āļēāļ RS232/COM, Bluetooth (BLE) āđāļĨāļ° āđāļāļĢื่āļāļāļ่āļēāļāļัāļāļĢāļŠāļĄāļēāļĢ์āļāļāļēāļĢ์āļ (USB)
āļĢāļ°āļāļāļŠāļēāļĄāļēāļĢāļāļĢāļ§āļāļĢāļ§āļĄāļ่āļēāļāļēāļĢāļ§ัāļ (Vital Signs) āđāļĨāļ°āļŠ่āļāđāļ้āļēāļŠู่ HIS āđāļ้āļāļēāļĄ Workflow āļี่āļāļģāļŦāļāļ āļĢāļāļāļĢัāļāļั้āļ:
-
✅ āļāļēāļĢāļāļģāļāļēāļāđāļāļāļāļāļāđāļĨāļ์
-
✅ āļāļēāļĢāļāļģāļāļēāļāđāļāļāļāļāļāđāļĨāļ์ (āļ§ัāļāļāļāļāļŠāļāļēāļāļี่āđāļĨ้āļ§āļāļĨัāļāļĄāļēāļŠ่āļāļ้āļāļĄูāļĨāļ āļēāļĒāļŦāļĨัāļ)
1️⃣ āļุāļāļāļĢāļ์āļี่āļĢāļāļāļĢัāļ
ðĨ 1.1 āļāļāļĢ์āļ COM (RS232 / Serial)
āļĢāļāļāļĢัāļāļุāļāļāļĢāļ์āļāļēāļāļāļēāļĢāđāļāļāļĒ์āļŦāļĨāļēāļāļŦāļĨāļēāļĒ āđāļ่āļ:
-
āđāļāļĢื่āļāļāļ§ัāļāļāļ§āļēāļĄāļัāļ (Blood Pressure)
AND 2567P, AND TM2655P, HBP9030, Omron-BP9020, BIO-BP320 āļŊāļĨāļŊ -
āđāļāļĢื่āļāļāļั่āļāļ้āļģāļŦāļัāļ / āļ§ัāļāļŠ่āļ§āļāļŠูāļ
-
āđāļāļĢื่āļāļāļ§ัāļāļุāļāļŦāļ ูāļĄิ (Temperature – Serial)
-
āđāļāļĢื่āļāļāļ§ัāļāļ้āļģāļāļēāļĨ (Glucose – Serial)
āļāļĢิāļŦāļēāļĢāļัāļāļāļēāļĢāļ่āļēāļāļĢāļ°āļāļ SerialDeviceManager
-
āļัāļāļึāļāļāļēāļĢāđāļื่āļāļĄāļ่āļ (Saved Devices)
-
Auto-Reconnect āļัāļāđāļāļĄัāļิ
ðķ 1.2 Bluetooth (BLE)
āļĢāļāļāļĢัāļāļุāļāļāļĢāļ์ BLE āđāļ่āļ:
-
Yuwell BP-YE680B (āļāļ§āļēāļĄāļัāļ)
-
Yuwell SpO2 (āļāļāļāļิāđāļāļāđāļāđāļĨืāļāļ)
-
Yuwell Temp (āļุāļāļŦāļ ูāļĄิ)
-
Jumper Temperature
-
Bluetooth Glucose
āļŠāļēāļĄāļēāļĢāļāļัāļāļึāļāļี่āļāļĒู่ BLE āđāļĨāļ°āđāļื่āļāļĄāļ่āļāļัāļāđāļāļĄัāļิāđāļ้
ðŠŠ 1.3 āđāļāļĢื่āļāļāļ่āļēāļāļัāļāļĢāļāļĢāļ°āļāļēāļāļ (Smart Card)
-
āļ่āļēāļāļัāļāļĢāļ่āļēāļ USB (Smart Card API / pyscard)
-
āļ่āļēāļ CID āđāļĨāļ°āļ้āļāļĄูāļĨāļู้āļ่āļ§āļĒ
-
āļĢāļāļāļĢัāļ Visit Creation Flow
(āļŠāļĢ้āļēāļ Visit āļ่āļāļāļŠ่āļ Vital Signs)
2️⃣ āļ้āļāļĄูāļĨāļี่āļ§ัāļāđāļ้ (Vital Signs)
āļĢāļ°āļāļāļŠāļēāļĄāļēāļĢāļāļัāļāļึāļāļ้āļāļĄูāļĨāļัāļāļี้:
-
āļāļ§āļēāļĄāļัāļ (Systolic / Diastolic)
-
āļีāļāļāļĢ (Pulse)
-
āļ้āļģāļŦāļัāļ (Weight)
-
āļŠ่āļ§āļāļŠูāļ (Height)
-
BMI
-
āļุāļāļŦāļ ูāļĄิ (Temperature)
-
SpO₂
-
āļ้āļģāļāļēāļĨ (Glucose)
āļ้āļāļĄูāļĨāļั้āļāļŦāļĄāļāļāļ°āļูāļāļัāļāđāļ็āļāđāļāļĢāļ°āļāļāđāļื่āļāļĢāļāļāļēāļĢāļŠ่āļāļāļēāļĄ Workflow āļี่āļāļģāļŦāļāļ
3️⃣ Workflow āļāļēāļĢāļ§ัāļāđāļĨāļ°āļŠ่āļāļ้āļāļĄูāļĨ
āļĢāļ°āļāļāļĢāļāļāļĢัāļāļŦāļĨāļēāļĒāļĢูāļāđāļāļāļāļēāļĢāļāļģāļāļēāļ āđāļ่āļ:
| Workflow | āļĢāļēāļĒāļĨāļ°āđāļีāļĒāļ |
|---|---|
| Workflow 1 | BP + āļ้āļģāļŦāļัāļ/āļŠ่āļ§āļāļŠูāļ → āļŠ่āļāđāļĄื่āļāļāļĢāļ |
| Workflow 2 | āđāļāļāļēāļ° BP (āļĢāļ§āļĄ Temp/SpO2 āļ้āļēāļĄี) |
| Workflow 3 | āđāļāļāļēāļ°āļ้āļģāļŦāļัāļ/āļŠ่āļ§āļāļŠูāļ |
| Workflow 4 | āđāļ้āļ่āļēāđāļāļ่āļāļāļŠ่āļāļัāļāļี (āđāļĄ่āđāļāļĨีāļĒāļĢ์āļāļāļāļ§่āļēāļāļ°āļāļāļāļัāļāļĢ) |
| Workflow 5 | BP + āļุāļāļŦāļ ูāļĄิ |
āļีāđāļāļāļĢ์āđāļิ่āļĄāđāļิāļĄ:
-
Auto Send HL7
-
āđāļ้āļāđāļืāļāļāđāļĄื่āļāļĒัāļāđāļĄ่āļŠāđāļāļāļัāļāļĢ (No-CID Countdown)
-
āđāļŠีāļĒāļāđāļ้āļāđāļืāļāļāļāļēāļĄ Workflow (āļāļĢัāļāđāļ่āļāđāļ้)
-
āđāļ้āļāđāļืāļāļāļāļĢāļีāļāļ§āļēāļĄāļัāļāļŠูāļ (āļั้āļ Threshold āđāļ้)
4️⃣ āđāļŦāļĄāļāļāļēāļĢāļŠ่āļāļ้āļāļĄูāļĨāđāļ้āļēāļŠู่ HIS
āļĢāļ°āļāļāļĢāļāļāļĢัāļāļŦāļĨāļēāļĒāđāļŦāļĄāļāļāļēāļĢāđāļื่āļāļĄāļ่āļ:
| āđāļŦāļĄāļ | āļ§ิāļีāļŠ่āļ | āđāļ้āļāļēāļāļ้āļāļĄูāļĨ |
|---|---|---|
| HL7 | āļŠ่āļ HL7 Message | ❌ |
| BMS | REST API | ❌ |
| JHCIS | UPDATE āļāļĢāļēāļ | ✅ |
| HOME | UPDATE āļāļĢāļēāļ | ✅ |
| PCU | UPDATE āļāļĢāļēāļ | ✅ |
| HIS HI | UPDATE āļāļĢāļēāļ | ✅ |
āđāļŦāļĄāļāļี่āđāļ้āļāļēāļāļ้āļāļĄูāļĨ āļāļ°āđāļ้ Database Configuration āļุāļāđāļีāļĒāļ§āļัāļ
āļŠāļēāļĄāļēāļĢāļāļั้āļāļ่āļēāđāļ้āđāļāđāļĄāļู Data Transmission Settings
5️⃣ āļĢāļ°āļāļ Auto-Retry āđāļĨāļ°āļĢāļāļŠ่āļāļ้āļ§āļĒāļĄืāļ
ð Auto-Retry āļัāļāđāļāļĄัāļิ
-
āđāļิāļ/āļิāļāđāļ้āđāļ Settings
-
āļŠ่āļāđāļāļāļēāļ°āļ้āļāļĄูāļĨ “āļ āļēāļĒāđāļāļ§ัāļāļี้”
-
āļāļģāļัāļ 5 āļĢāļēāļĒāļāļēāļĢāļ่āļāļĢāļāļ
-
Timeout 60 āļ§ิāļāļēāļี
-
Exponential Backoff
-
āļŠูāļāļŠุāļ 20 āļāļĢั้āļ
-
āđāļĄ่āļĢāļāļāļ§āļāļู้āđāļ้āļāļēāļ (āļāļģāļāļēāļāđāļีāļĒāļ)
āļŦāļēāļāđāļิāļ 20 āļāļĢั้āļ āļŦāļĢืāļāđāļ็āļ Permanent Failure
→ āļĢāļ°āļāļāļāļ°āļĒ้āļēāļĒāđāļāļŠāļāļēāļāļ° “āļĢāļāļŠ่āļāļ้āļ§āļĒāļĄืāļ (Skipped)”
✋ āļĢāļāļŠ่āļāļ้āļ§āļĒāļĄืāļ (Manual Send)
āđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢัāļāļāļĢāļี:
-
āđāļิāļ 20 āļāļĢั้āļ
-
āļ§ัāļāļāļāļāļŠāļāļēāļāļี่ (Offline Mode)
āļŠāļēāļĄāļēāļĢāļ:
-
āļŠ่āļāļีāļĨāļ°āļĢāļēāļĒāļāļēāļĢ
-
āđāļĨืāļāļāļŦāļĨāļēāļĒāļĢāļēāļĒāļāļēāļĢāđāļĨ้āļ§āļāļ “āļŠ่āļāļี่āđāļĨืāļāļ”
-
āđāļĨืāļāļāļั้āļāļŦāļĄāļ / āļĒāļāđāļĨิāļāđāļĨืāļāļ
-
āļĨāļāļĢāļēāļĒāļāļēāļĢāđāļ้
6️⃣ āļŦāļ้āļēāļāļāļĢāļ°āļāļāļŦāļĨัāļ
-
/gui→ āļŦāļ้āļēāđāļ้āļāļēāļāļŦāļĨัāļ -
/dashboard→ Dashboard āđāļŠāļāļāļ้āļāļĄูāļĨāļู้āļ่āļ§āļĒ -
/measurements→ āļĢāļēāļĒāļāļēāļ + āļĢāļēāļĒāļāļēāļĢāļŠ่āļāđāļĄ่āļŠāļģāđāļĢ็āļ -
/settings→ āļั้āļāļ่āļēāļĢāļ°āļāļ -
/workflow_manager→ āļัāļāļāļēāļĢ Workflow -
/debug→ āļāļāļŠāļāļāđāļĨāļ°āļีāļัāļ
7️⃣ API āļŠāļģāļŦāļĢัāļāļัāļāļัāļāļāļē
āļĢāļ°āļāļāļĄี REST API āļāļĢāļāļāļāļĨุāļĄ:
-
āļัāļāļāļēāļĢāļุāļāļāļĢāļ์
-
āļ่āļēāļāļัāļāļĢ
-
āļŠ่āļāļ้āļāļĄูāļĨ
-
āļัāļāļāļēāļĢ Failed / Skipped
-
āļั้āļāļ่āļē Workflow
-
āļāļģāļĨāļāļāļāļēāļĢāļŠ่āļāļ้āļāļĄูāļĨ
-
āļāļĢāļ§āļāļŠāļāļ License
āđāļŦāļĄāļēāļ°āļŠāļģāļŦāļĢัāļāļāļēāļĢāđāļื่āļāļĄāļ่āļāļĢāļ°āļāļāļ āļēāļĒāļāļāļ āļŦāļĢืāļāļāļĒāļēāļĒāļĢāļ°āļāļāđāļāļāļāļēāļāļ
8️⃣ āļีāđāļāļāļĢ์āđāļŠāļĢิāļĄāđāļĨāļ°āļāļ§āļēāļĄāļāļĨāļāļāļ ัāļĒ
-
ð License Management
-
ð āđāļ้āļēāļĢāļŦัāļŠ Database Configuration
-
ðĪ Login āļŠāļģāļŦāļĢัāļ Settings (āđāļิāļ/āļิāļāđāļ้)
-
ðĻ āđāļāļĨี่āļĒāļāļีāļĄāđāļĨāļ°āļื้āļāļŦāļĨัāļ
-
ð Workflow Sounds āļāļĢัāļāđāļ่āļāđāļ้
-
⚙ Service Mode (āđāļĄ่āđāļิāļ Browser āļัāļāđāļāļĄัāļิ)
-
ð Auto-Connect āļุāļāļāļĢāļ์
9️⃣ āđāļāļāđāļāđāļĨāļĒีāļี่āđāļ้
Backend
-
Python
-
Flask
-
Flask-SocketIO
Frontend
-
HTML (Jinja2)
-
JavaScript
-
Bootstrap
-
Socket.IO
Device Integration
-
PySerial (COM)
-
Bleak (Bluetooth BLE)
-
pyscard (Smart Card)
Database
-
SQLite (āļ āļēāļĒāđāļāļĢāļ°āļāļ)
-
MySQL / PostgreSQL (āļāļēāļĄ HIS)
ð āļŠāļĢุāļāļāļēāļĢāđāļ้āļāļēāļāđāļāļāļŠั้āļāļี่āļŠุāļ
1️⃣ āļ§ัāļ → āļ่āļēāļāļ่āļēāļāļēāļ COM / Bluetooth / āļัāļāļĢ
2️⃣ āļĢāļ§āļĄāļ้āļāļĄูāļĨāļāļēāļĄ Workflow
3️⃣ āļŠ่āļāđāļ้āļē HIS āļāļēāļĄāđāļŦāļĄāļāļี่āļั้āļāđāļ§้
4️⃣ āļ้āļēāļŠ่āļāđāļĄ่āļŠāļģāđāļĢ็āļ → āđāļ้āļē Auto-Retry
5️⃣ āđāļิāļāļāļģāļŦāļāļ → āļĒ้āļēāļĒāđāļ “āļĢāļāļŠ่āļāļ้āļ§āļĒāļĄืāļ”
6️⃣ āļĢāļāļāļĢัāļ Offline → āļ§ัāļāļāļāļāļŠāļāļēāļāļี่āđāļĨ้āļ§āļāļĨัāļāļĄāļēāļŠ่āļāđāļ้
ðŊ āļุāļāđāļ่āļāļāļāļ SERVICE_OPD_NEW
-
āļĢāļ§āļĄāļุāļāļāļĢāļ์āļŦāļĨāļēāļĒāļāļĢāļ°āđāļ āļāđāļāļĢāļ°āļāļāđāļีāļĒāļ§
-
āļĢāļāļāļĢัāļ HIS āļŦāļĨāļēāļĒāļ่āļēāļĒ
-
āļĄีāļĢāļ°āļāļāļัāļāļāļēāļĢ Error āđāļĨāļ° Retry āļัāļāļāļĢิāļĒāļ°
-
āļĢāļāļāļĢัāļāļāļēāļāļ āļēāļāļŠāļāļēāļĄ (Offline Mode)
-
āļāļĢัāļāđāļ่āļ Workflow āđāļ้āļāļēāļĄāļŦāļ่āļ§āļĒāļāļēāļ
āļ้āļēāļ้āļāļāļāļēāļĢ āļāļĄāļŠāļēāļĄāļēāļĢāļāļัāļāđāļ§āļāļĢ์āļัāļ “āđāļāļ§āļāļēāļĢāļāļĨāļēāļāļŠāļģāļŦāļĢัāļāļู้āļāļĢิāļŦāļēāļĢ” āļŦāļĢืāļ “āđ
ð āļĢāļ°āļāļāļāļ§āļēāļĄāļāļĨāļāļāļ ัāļĒ (Security System)
-
āđāļĄ่āđāļ็āļāļ้āļāļĄูāļĨāļŠ่āļ§āļāļุāļāļāļĨāļāļ → āļāļĨāļāļāļ ัāļĒāļ่āļāļ้āļāļĄูāļĨāļู้āļ่āļ§āļĒ
-
āļāļēāļĢāđāļ้āļēāļĢāļŦัāļŠāđāļ็āļĄāļĢูāļāđāļāļ (SSL/TLS, AES-256) → āļ้āļāļāļัāļāļāļēāļĢāļูāļāļัāļāļัāļ
-
Secure by Design → āļĄี Obfuscation + Hardening Code āļ้āļāļāļัāļāļāļēāļĢāđāļāļēāļ°āļĢāļ°āļāļ
ðĐš āļีāđāļāļāļĢ์āđāļŠāļĢิāļĄ Smart OPD + IoT Integration
| āļีāđāļāļāļĢ์ | āļĢāļēāļĒāļĨāļ°āđāļีāļĒāļ |
|---|---|
| ✅ Smart OPD Auto | āļĢāļāļāļĢัāļāļāļēāļĢāļ่āļēāļāļ่āļēāļีāļ§āļ§ัāļāļุāļัāļāđāļāļĄัāļิ (BP, āļ้āļģāļŦāļัāļ, āļŠ่āļ§āļāļŠูāļ, SpO2) āļāļēāļāļุāļāļāļĢāļ์ RS232, HL7, Bluetooth |
| ✅ HL7 & FHIR Support | āļĢāļāļāļĢัāļāļĄāļēāļāļĢāļāļēāļ HL7 v2/v3, FHIR, JSON, REST API āđāļื่āļāđāļื่āļāļĄāļัāļ HIS āđāļ้āļ่āļēāļĒ |
| ✅ IoT Sensor Network | āđāļื่āļāļĄāļ่āļ āļุāļāļāļĢāļ์ IoT āđāļ่āļ āđāļāļĢื่āļāļāļ§ัāļāļีāļāļāļĢ, āļุāļāļāļĢāļ์āļŠāļ§āļĄāđāļŠ่ (Wearable), āđāļāļāđāļāļāļĢ์āļāļĢāļ§āļāļŠุāļāļ āļēāļāļĢāļ°āļĒāļ°āđāļāļĨ |
| ✅ Embedded AI | āđāļ้ āļŠāļĄāļāļāļāļĨāļัāļāļัāļ§ (Edge AI/ML) āļŠāļģāļŦāļĢัāļāļ§ิāđāļāļĢāļēāļ°āļŦ์āđāļื้āļāļāļ้āļ āđāļ่āļ āļāļĢāļ§āļāļัāļāļŠัāļāļāļēāļāļีāļ |
| ✅ Cloud Integration | āļ้āļāļĄูāļĨ Vital Signs āđāļĨāļ°āļิāļ§āļูāļāđāļ็āļāđāļ Cloud/Private Cloud → Dashboard, Monitoring, Analytics |
| ✅ Auto Security Update | āļĢāļāļāļĢัāļāļāļēāļĢāļัāļāđāļāļāđāļāļāļ์āļāļ§āļēāļĄāļāļĨāļāļāļ ัāļĒāļัāļāđāļāļĄัāļิ āđāļāļĒāđāļĄ่āļāļĢāļ°āļāļāļāļēāļĢāđāļ้āļāļēāļ |
ð āļŠāļāļēāļัāļāļĒāļāļĢāļĢāļĄ IoT + Cloud āļāļāļāļĢāļ°āļāļ
-
Device Layer (Sensor/Embedded)
-
āđāļāļĢื่āļāļāļ§ัāļāļีāļ§āļ§ัāļāļุ (BP Monitor, Scale, SpO2, ECG)
-
āļุāļāļāļĢāļ์ IoT (ESP32, Raspberry Pi, LoRa, BLE)
-
-
Gateway Layer (Edge Computing)
-
āļĢāļ§āļāļĢāļ§āļĄāļ้āļāļĄูāļĨāļāļēāļāļุāļāļāļĢāļ์ → āđāļāļĨāļāđāļ็āļ HL7/FHIR/JSON
-
āļāļģāļāļēāļāđāļ้āđāļĄ้ āļāļāļāđāļĨāļ์ (Offline Mode)
-
āļŠ่āļāļ้āļāļĄูāļĨāļ่āļēāļ MQTT/HTTPS āđāļāļĒัāļ Cloud
-
-
Cloud / HIS Integration Layer
-
āđāļ็āļāļ้āļāļĄูāļĨāđāļ Time-series DB
-
āļึāļāđāļ้āļēāļĢāļ°āļāļ HIS āļ้āļ§āļĒ FHIR API/HL7
-
āļāļģ Dashboard + Analytics
-
ð āļŠāļĢุāļāļุāļāļŠāļĄāļัāļิāđāļ่āļ
-
āļĢāļāļāļĢัāļ āļŦāļĨāļēāļĒ HIS → JHCIS, HOME PCU HI
-
āļĢāļāļāļĢัāļāļุāļāļāļĢāļ์ Vital Signs → RS232, HL7, Bluetooth, IoT
-
āļāļ§āļēāļĄāļāļĨāļāļāļ ัāļĒāļŠูāļ → āđāļĄ่āđāļ็āļāļ้āļāļĄูāļĨ, āđāļ้āļēāļĢāļŦัāļŠ, āļัāļāļāļēāļĢāđāļāļ°āļĢāļ°āļāļ
-
āļĢāļāļāļĢัāļ IoT Sensor + Embedded AI + Cloud Analytics
ð āļŠāļāđāļāļŦāļĢืāļāļ้āļāļāļāļēāļĢāļŠāļēāļิāļāļĢāļ°āļāļ
āļิāļāļ่āļ: [āļĻัāļāļ์]
āđāļāļĢ: [087-787-5854]
āļีāđāļĄāļĨ: [pongsakxroot@gmail.com]
āđāļ§็āļāđāļāļ์: [https://projectxshop.blogspot.com/]
āđāļ้āļัāļ MINIPC X10










