🚀 ระบบ API VISIT HIS & SMAST OPD & ปิดสิทธิ เชื่อมต่อทุกระบบการแพทย์อย่างไร้รอยต่อ
VISIT API Python - Complete System
Version: 1.0.0
Author: Development Team
Description: ระบบจัดการการรับบริการของผู้ป่วย (Hospital Visit Management System) แบบครบวงจร พร้อม GUI และ Web API
🔎 ภาพรวมระบบ
VISIT API Complete System ถูกออกแบบมาเพื่ออำนวยความสะดวกให้กับหน่วยบริการสาธารณสุขและโรงพยาบาล โดยมีทั้ง GUI Interface สำหรับเจ้าหน้าที่ และ Web API สำหรับเชื่อมต่อกับระบบ HIS รวมถึงการทำงานร่วมกับ NHSO API อย่างครบถ้วน
ระบบนี้เน้นความง่ายในการใช้งาน ความปลอดภัย และรองรับการทำงานหลายรูปแบบ ทั้งในสถานที่และนอกสถานที่
✨ คุณสมบัติเด่น (Features)
-
✅ GUI Interface ใช้งานง่ายด้วย Tkinter
-
✅ Web API รองรับการเรียกใช้งานผ่าน HTTP
-
✅ Database Support รองรับ MySQL, MariaDB และ PostgreSQL
-
✅ License System ระบบจัดการสิทธิ์การใช้งาน
-
✅ Key Generator สำหรับสร้าง License Key
-
✅ Multi-threading รองรับการทำงานพร้อมกันหลายคำสั่ง
-
✅ Settings Management บันทึกการตั้งค่าอัตโนมัติ
🌐 API Endpoints
1. เปิด Visit
GET /visit.php
Parameters:
-
cid (required) – เลขบัตรประชาชน
-
staff – รหัสเจ้าหน้าที่
-
department – แผนก
-
vital signs – rr, pulse, bw, height, temperature, bps, bpd, bmi, waist
-
อื่น ๆ เช่น hcode, hospmain, hospsub, icode ฯลฯ
Example:
2. ปิดสิทธิการรักษากับ สปสช
GET /endvisitAPI.php
Parameters:
Example:
3. ค้นหาข้อมูลผู้ป่วย
GET /patient
Parameters: hn หรือ cid
Example:
4. ค้นหาสิทธิติดตัวผู้ป่วย
GET /pttype
5. บันทึก/อัพเดท Vital Signs
GET /bp?vn=vn&pulse=pulse&bpd=bpd&=bps&bw=bw&temperature=temperature&height=height&cc=cc
รองรับการบันทึกค่าความดันโลหิต ชีพจร น้ำหนัก ส่วนสูง อุณหภูมิ และข้อร้องเรียน (cc)
6. Health Check
GET /health
ตรวจสอบสถานะระบบและฐานข้อมูล
📦 Response Format
Success Response:
Error Response:
🗄️ Database Configuration
-
Host: 127.0.0.1
-
Database: hosxp
-
User: admin
-
Password: ******
-
Charset: utf8mb4
⚙️ API Configuration
NHSO API
FDH API
🕒 Working Hours
💰 ICode Configuration
🛠️ ขั้นตอนการใช้งาน (Usage Instructions)
-
ตั้งค่าฐานข้อมูล
-
กำหนด API NHSO
-
ปรับค่าระบบ (Working hours, ICode)
-
ทดสอบการเชื่อมต่อทั้งหมด
-
กด Start Server (port 5000)
-
จัดการ License Key
🌍 Remote Access (การเชื่อมต่อจากนอกสถานที่)
ระบบ VISIT API Complete System รองรับการทำงานนอกสถานที่ เช่น การเปิด Visit ผ่าน Mobile, Tablet หรือ Laptop ของเจ้าหน้าที่ใน หน่วยบริการปฐมภูมิ, รพ.สต., จุดบริการนอกโรงพยาบาล โดยยังคงรักษาความปลอดภัยสูงสุด
วิธีการเชื่อมต่อจากภายนอก
-
VPN (Virtual Private Network)
-
เชื่อมต่อเข้าระบบโรงพยาบาลผ่าน SSL VPN / IPSec VPN
-
เข้ารหัสข้อมูลทั้งหมดระหว่างอุปกรณ์นอกสถานที่และเซิร์ฟเวอร์
-
รองรับทั้ง Mobile VPN Client และ Desktop VPN Client
-
Reverse Proxy / API Gateway
-
ใช้ Nginx / HAProxy / Kong ทำหน้าที่เป็นเกราะกลางก่อนเข้าถึง API
-
เพิ่มการตรวจสอบสิทธิ์ (Authentication) และการเข้ารหัส (TLS Offloading)
-
สามารถใช้ Rate Limit + Firewall Rules ป้องกันการโจมตี
-
Secure HTTPS with Mutual TLS
ตัวอย่างโฟลว์การเชื่อมต่อจากนอกสถานที่
-
เจ้าหน้าที่เปิด VPN Client → เชื่อมเข้าระบบเครือข่ายของโรงพยาบาล
-
เมื่อ VPN เชื่อมสำเร็จ → เรียกใช้ API ผ่าน HTTPS (TLS 1.2+)
-
ระบบ ตรวจสอบ API License Key
-
หากผ่าน → อนุญาตให้เปิด Visit, ปิดสิทธิ, หรือบันทึก Vital Signs ได้ตามสิทธิ์
🛡️ การป้องกันการโจมตี API (API Security)
-
Rate Limiting: จำกัดจำนวนการเรียก API ต่อวินาที/นาที เพื่อป้องกัน Brute-force
-
IP Whitelisting/Blacklisting: จำกัดการเข้าถึงเฉพาะ IP ที่อนุญาต
-
Input Validation: ตรวจสอบและ sanitize parameters เพื่อป้องกัน SQL Injection / XSS
-
CSRF Protection: เพิ่ม CSRF Token สำหรับ API ที่มีการเขียนข้อมูล
👉 ระบบ API VISIT HIS & SMAST OPD คือกุญแจสำคัญในการ ยกระดับบริการสาธารณสุข ให้ทันสมัย รวดเร็ว และพร้อมเชื่อมต่อกับเทคโนโลยีทุกแพลตฟอร์มในอนาคต
// ตัวอย่าง HL7 Message สำหรับส่งข้อมูลผู้ป่วย
MSH|^~\&|BPM01|SCK MED PLUS|HIS|SCK-HOSCS|20230922142041||ORU^R01|2701|P|2.4
PID|1|||1111111111119
PV1||O|||||||||||||||||
OBR|1|||||20230220093044||||||||20230220093044
// ตัวอย่าง HL7 Message สำหรับส่งข้อมูลการวัด Vital Signs และอื่นๆ
OBX|1|ST|WEIGHT||45.5|KG.|||||F|||20230220093044
OBX|2|ST|HEIGHT||155.0|CM.|||||F|||20230220093044
OBX|3|ST|BMI||24.1|Kg/m2|||||F|||20230220093044
OBX|4|ST|WAIST||90.0|CM.|||||F|||20230220093044
OBX|5|ST|TEMP||36.6|C|||||F|||20230220093044
OBX|6|ST|SYSTOLIC||123.0|mmHg|||||F|||20230220093044
OBX|7|ST|DIASTOLIC||85.0|mmHg|||||F|||20230220093044
OBX|8|ST|PULSE||76.0|bpm|||||F|||20230220093044
OBX|9|ST|O2SAT||111.0|%Spo2|||||F|||20230220093044
OBX|10|ST|RR||20.0|RM|||||F|||20230220093044