ð āļĢāļ°āļāļ 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
-
āđāļ§āļĨāļēāļāļģāļāļēāļĢ: 08:00–16:30
-
āļ§ัāļāļāļģāļāļēāļ: āļัāļāļāļĢ์–āļĻุāļāļĢ์
-
āļ§ัāļāļŦāļĒุāļāļัāļāļัāļāļĪāļāļĐ์: āļั้āļāļ่āļēāđāļ้āđāļ APIConfig.PUBLIC_HOLIDAYS
ð° 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
-
āđāļ้ SSL Certificates āļี่āļāļāļāđāļāļĒ CA
-
āđāļิāļāđāļ้āļāļēāļ Client Certificate Authentication āđāļื่āļāļāļĢāļ§āļāļŠāļāļāļัāļ§āļāļāļāļāļāđāļāļĢื่āļāļāļี่āđāļื่āļāļĄāļ่āļ
āļัāļ§āļāļĒ่āļēāļāđāļāļĨāļ§์āļāļēāļĢāđāļื่āļāļĄāļ่āļāļāļēāļāļāļāļāļŠāļāļēāļāļี่
-
āđāļ้āļēāļŦāļ้āļēāļี่āđāļิāļ 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