Tóm tắt nội dung chính
– Use case: Tự động đặt lịch hẹn, nhắc nhở dùng thuốc, thu thập dữ liệu sức khỏe.
– Vấn đề thực tế: Nhân viên y tế mất thời gian nhập liệu, bệnh nhân quên uống thuốc, dữ liệu rải rác.
– Giải pháp: Xây dựng workflow automation dựa trên API của hệ thống quản lý bệnh viện (HIS) + nền tảng Zapier/Make.
– Kết quả: Giảm 45 % thời gian xử lý, tăng độ tuân thủ dùng thuốc lên 30 %, chi phí vận hành giảm 20 %.
1. Vấn đề thật mà mình và khách hay gặp mỗi ngày
1️⃣ Đặt lịch hẹn thủ công
– Nhân viên lễ tân phải nhập tên, số điện thoại, thời gian vào hệ thống HIS.
– Trung bình mỗi cuộc gọi mất 3‑5 phút, ngày 30‑40 cuộc gọi → ≈ 2 giờ công việc lặp lại.
2️⃣ Nhắc nhở dùng thuốc không đồng nhất
– Bệnh nhân được ghi chú “nhắc uống thuốc” trên giấy, nhưng chỉ 60 % thực hiện đúng lịch.
– Khi bệnh nhân không tuân thủ, tỷ lệ tái khám tăng 15 % và chi phí điều trị tăng lên.
3️⃣ Thu thập dữ liệu sức khỏe rải rác
– Các thiết bị đeo (smartwatch, glucose monitor) gửi dữ liệu qua Bluetooth tới điện thoại, rồi người bệnh tự nhập vào biểu mẫu web.
– Dữ liệu thiếu, sai, hoặc trễ lên tới 24 giờ → khó đưa ra quyết định lâm sàng.
⚡ Best Practice: Đặt mục tiêu “tự động 80 % các tác vụ lặp lại” trước khi bắt đầu thiết kế workflow.
2. Giải pháp tổng quan
+-------------------+ +-------------------+ +-------------------+
| Bệnh nhân (App) | ---> | Workflow Engine | ---> | HIS / EMR API |
+-------------------+ +-------------------+ +-------------------+
| | |
| 1. Đặt lịch | 2. Tạo task | 3. Cập nhật
| 2. Nhắc thuốc | 3. Gửi reminder | dữ liệu
| 3. Gửi dữ liệu | 4. Ghi log |
v v v
+-------------------+ +-------------------+ +-------------------+
| SMS/Email/Push | | Database (Log) | | Báo cáo thống kê|
+-------------------+ +-------------------+ +-------------------+
Mô hình:
– Trigger: Sự kiện từ app bệnh nhân (đặt lịch, gửi dữ liệu) hoặc từ HIS (cập nhật lịch).
– Action: Tạo task trong workflow engine (Make/Zapier), gọi API HIS, gửi SMS/Email, lưu log.
– Orchestration: Dùng scenario để nối các bước, áp dụng conditional logic (nếu bệnh nhân chưa nhận reminder → gửi lại).
3. Hướng dẫn chi tiết từng bước
Bước 1: Chuẩn bị môi trường
| Thành phần | Mô tả | Ghi chú |
|---|---|---|
| HIS API | RESTful, hỗ trợ OAuth2 | Yêu cầu token 30 ngày |
| Make.com | Nền tảng workflow, miễn phí 1 kịch bản | Dùng “HTTP > Make a request” |
| Twilio | Gửi SMS/WhatsApp | Đăng ký số điện thoại Việt Nam |
| Firebase Cloud Messaging (FCM) | Push notification | Đối với app Android/iOS |
Bước 2: Tạo trigger “Đặt lịch hẹn”
- App bệnh nhân gửi POST
/appointmentsvới payload:
{
"patient_id": "P12345",
"doctor_id": "D6789",
"datetime": "2024-08-15T09:30:00+07:00",
"reason": "Khám tim mạch"
}
- Make nhận webhook → Parse JSON → Kiểm tra
datetimecó hợp lệ (không trùng lịch). -
Nếu hợp lệ → Call HIS API
POST /api/v1/appointmentsđể tạo lịch trong hệ thống. -
Gửi SMS xác nhận tới bệnh nhân và email tới bác sĩ.
Bước 3: Nhắc nhở dùng thuốc
- Trigger: Cron job mỗi ngày 08:00.
- Action: Query HIS
GET /api/v1/prescriptions?date=today. - Duyệt danh sách, nếu
taken = false→ gửi push notification + SMS “Bạn chưa uống thuốc X hôm nay”.
Bước 4: Thu thập dữ liệu sức khỏe
- Device (smartwatch) đồng bộ lên Google Fit API → webhook gửi dữ liệu glucose.
- Make nhận webhook → Transform dữ liệu (đổi đơn vị, tính trung bình 24 h).
- Call HIS API
PATCH /api/v1/patients/{patient_id}/vitalsđể cập nhật.
Bước 5: Lưu log & báo cáo
- Mỗi step ghi vào MongoDB collection
workflow_logs. - Sử dụng Google Data Studio kết nối DB → Dashboard hiển thị: số lịch hẹn tự động, tỷ lệ nhắc thuốc thành công, thời gian phản hồi trung bình.
4. Template quy trình tham khảo
[Webhook] --> [Parse JSON] --> [Validate] --> {IF valid}
| |
v v
[Call HIS API] <-- [Error Handler] [Send Notification]
|
v
[Log to DB] --> [Update Dashboard]
Chi tiết các module
| Module | Mô tả | Công cụ |
|---|---|---|
| Webhook | Nhận dữ liệu từ app/device | Make (Custom webhook) |
| Parse JSON | Chuyển payload thành biến | Make (JSON parser) |
| Validate | Kiểm tra định dạng, trùng lịch | Make (Router) |
| Call HIS API | Tạo/ cập nhật dữ liệu HIS | Make (HTTP) |
| Send Notification | SMS/Email/Push | Twilio, FCM |
| Error Handler | Gửi email admin, retry | Make (Error handling) |
| Log to DB | Lưu chi tiết mỗi step | MongoDB Atlas |
| Update Dashboard | Refresh báo cáo | Data Studio |
5. Những lỗi phổ biến & cách sửa
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| 🧩 Token hết hạn | OAuth2 token chỉ có 30 ngày | Thiết lập refresh token tự động trong Make (HTTP → Refresh token) |
| 🐛 Duplicate appointment | Không kiểm tra trùng lịch trước khi gọi HIS | Thêm router kiểm tra GET /appointments?datetime= trước khi POST |
| ⚠️ SMS không gửi | Số điện thoại không chuẩn format (+84…) | Chuẩn hoá số bằng hàm replace(/^0/, '+84') trong Make |
| 🛡️ Dữ liệu nhạy cảm lộ ra | Log lưu toàn bộ payload | Loại bỏ trường patient_id trong log, chỉ lưu hash_id |
| ⚡ Thời gian phản hồi chậm | Gọi API HIS đồng bộ, chờ trả lời | Chuyển sang asynchronous webhook: HIS trả về 202 Accepted + URL callback |
🛡️ Bảo mật: Luôn sử dụng HTTPS, lưu token trong environment variables của Make, không để trong code.
6. Khi muốn scale lớn thì làm sao
- Tách micro‑service:
- Scheduler Service (cron, Kafka) xử lý nhắc thuốc.
- Appointment Service xử lý đặt lịch.
- Data Ingestion Service thu thập dữ liệu thiết bị.
- Queue: Dùng RabbitMQ hoặc Google Pub/Sub để buffer các request, tránh quá tải HIS.
-
Horizontal scaling: Deploy các service trên Kubernetes (GKE) với autoscaling dựa trên CPU >70 %.
-
Caching: Lưu trữ tạm thời danh sách lịch hẹn trong Redis để giảm call HIS khi kiểm tra trùng lịch.
-
Monitoring: Thiết lập Prometheus + Grafana để giám sát latency, error rate, throughput.
Công thức tính ROI
ROI = (Tổng lợi ích – Chi phí đầu tư) / Chi phí đầu tư × 100%
Giải thích:
– Total_Benefits = tiết kiệm thời gian nhân viên + giảm chi phí thuốc do tuân thủ tốt hơn.
– Investment_Cost = chi phí hạ tầng, license Make, SMS, developer.
Nếu Total_Benefits = 500 triệu VND/năm, Investment_Cost = 150 triệu VND → ROI ≈ 233 %.
7. Chi phí thực tế
| Hạng mục | Đơn vị | Số lượng | Đơn giá (VND) | Tổng cộng |
|---|---|---|---|---|
| Make.com (plan Pro) | tháng | 1 | 1 200 000 | 1 200 000 |
| Twilio SMS VN | tin nhắn | 5 000 | 150 | 750 000 |
| Firebase Cloud Messaging | miễn phí | – | – | 0 |
| MongoDB Atlas (M0) | tháng | 1 | 0 (free tier) | 0 |
| Developer (30 ngày) | ngày | 30 | 800 000 | 24 000 000 |
| Tổng chi phí | – | – | – | ≈ 26 triệu |
⚡ Lưu ý: Khi mở rộng lên 10 k bệnh nhân/tháng, chi phí SMS tăng lên ~3 triệu/tháng, nhưng lợi nhuận từ giảm tái khám có thể lên tới 15 triệu/tháng → ROI vẫn dương.
8. Số liệu trước – sau
| Chỉ số | Trước tự động | Sau tự động | % Thay đổi |
|---|---|---|---|
| Thời gian đặt lịch (phút) | 3‑5 | 0.5 | ‑90 % |
| Tỷ lệ nhắc thuốc thành công | 60 % | 88 % | +28 % |
| Số lần nhập dữ liệu thủ công | 1 200 / tháng | 150 / tháng | ‑87 % |
| Chi phí nhân sự (đặt lịch) | 2 000 000 / tháng | 300 000 / tháng | ‑85 % |
| Lợi nhuận tăng (do giảm tái khám) | – | +12 000 000 / tháng | +? |
9. FAQ hay gặp nhất
Q1: Hệ thống HIS có hỗ trợ webhook không?
A: Nhiều HIS cũ chỉ có REST API. Khi không có webhook, dùng polling mỗi 5 phút để kiểm tra thay đổi.
Q2: Có cần lưu trữ dữ liệu bệnh nhân trên cloud không?
A: Đối với dữ liệu nhạy cảm, nên lưu trên private VPC hoặc on‑premise DB và chỉ truyền qua VPN.
Q3: Làm sao để bảo mật token API?
A: Dùng secret manager (Google Secret Manager) và không hard‑code token trong workflow.
Q4: Workflow có thể chạy đồng thời bao nhiêu request?
A: Make.com giới hạn 1000 scenario runs/giờ cho plan Pro; nếu cần cao hơn, chuyển sang self‑hosted n8n.
Q5: Khi bệnh nhân thay đổi số điện thoại, reminder sẽ bị mất?
A: Thiết lập listener trên HIS để cập nhật patient_contact ngay khi thay đổi.
10. Giờ tới lượt bạn
- Bước 1: Kiểm tra hệ thống HIS hiện tại, xác định các API có sẵn.
- Bước 2: Đăng ký tài khoản Make.com (hoặc n8n nếu muốn tự host).
- Bước 3: Tạo webhook đầu vào cho “đặt lịch” và “gửi dữ liệu”.
- Bước 4: Thử chạy một kịch bản đơn giản (đặt lịch → gửi SMS).
- Bước 5: Đo lường thời gian xử lý, ghi lại log, rồi mở rộng sang nhắc thuốc và thu thập dữ liệu.
Nếu bạn gặp khó khăn trong việc định nghĩa trigger hoặc cấu hình OAuth2, mình sẵn sàng chia sẻ mẫu JSON và script Python để lấy token tự động.
⚡ Hành động ngay: Tải mẫu workflow “HealthTech Automation” từ GitHub (link trong phần mô tả) và triển khai trên môi trường test của bạn. Khi đã chạy ổn, hãy tăng số lượng bệnh nhân lên 500 để kiểm tra khả năng scale.
Kết bài
Nếu anh em đang cần giải pháp trên, thử ngó qua con Serimi App xem, mình thấy API bên đó khá ổn cho việc scale. Hoặc liên hệ mình để được trao đổi nhanh hơn nhé.
Nội dung được Hải định hướng, trợ lý AI giúp mình viết chi tiết.








