Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp kỹ sư ngành Truyền thông và Mạng máy tính của tác giả Phạm Huy Hoàng (Khoa Mạng máy tính và Truyền thông, Trường Đại học Công nghệ Thông tin – Đại học Quốc gia TP. Hồ Chí Minh, thực hiện năm 2021 dưới sự hướng dẫn của PGS.TS. Lê Trung Quân) tập trung vào đề tài "Phát triển ứng dụng chăm sóc sức khỏe thông minh" (Development of Smart eHealthcare Application).

Lý do chọn đề tài xuất phát trực tiếp từ bối cảnh bùng phát phức tạp của đại dịch COVID-19, gây ra tình trạng quá tải nghiêm trọng tại các cơ sở y tế trong và ngoài nước. Tình trạng khan hiếm giường bệnh và thiếu hụt nhân lực y tế trực tiếp chăm sóc bệnh nhân trở nên phổ biến, trong khi sự tiếp xúc trực tiếp giữa nhân viên y tế và người bệnh tiềm ẩn nguy cơ lây nhiễm chéo rất cao. Đồng thời, sự phát triển nhanh chóng của công nghệ mạng viễn thông thế hệ thứ năm (5G) và sự bùng nổ của mạng lưới vạn vật kết nối Internet (IoT) – với thống kê từ IoT Analytics đạt 11,7 tỷ thiết bị kết nối vào năm 2020 và ước tính chạm mốc 30 tỷ kết nối vào năm 2025 – đã tạo tiền đề công nghệ vững chắc cho việc chuyển đổi số ngành y tế. Do đó, việc nghiên cứu và triển khai hệ sinh thái y tế điện tử (eHealth) có khả năng tự động hóa quy trình thu thập dữ liệu sinh tồn, phân tích và đưa ra cảnh báo sớm mà không cần sự hiện diện liên tục của y bác sĩ là một nhu cầu cấp thiết.

Hệ thống IoT eHealth lấy bệnh nhân làm trung tâm đòi hỏi một kiến trúc nhiều lớp bao gồm: tầng thiết bị (end devices), tầng tính toán sương mù/tính toán biên (fog/edge computing) và tầng điện toán đám mây (cloud computing) nhằm giải quyết khối lượng dữ liệu phức tạp về tốc độ, tính đa dạng và độ trễ.

Mục tiêu nghiên cứu của đề tài được tác giả xác định rõ thành các nhiệm vụ cụ thể:

  1. Phát triển cơ chế thu thập và đọc dữ liệu cảm biến sinh tồn từ bộ công cụ phần cứng chuyên dụng được cung cấp.
  2. Lưu trữ dữ liệu thu được vào hệ thống cơ sở dữ liệu và hiển thị kết quả trực quan theo thời gian thực thông qua ứng dụng di động dành cho bệnh nhân và giao diện web dành cho nhân viên y tế.
  3. Tự động kích hoạt các cảnh báo khi phát hiện các chỉ số sức khỏe của bệnh nhân rơi vào trạng thái nguy hiểm hoặc bất thường so với tiêu chuẩn y tế.
  4. Tích hợp mô hình học máy (Machine Learning) để nhận diện, đánh giá cảm xúc và mức độ hài lòng của bệnh nhân dựa trên hình ảnh khuôn mặt.

Phạm vi và đối tượng nghiên cứu:

  • Đối tượng nghiên cứu: Bộ thiết bị phần cứng y tế MySignals; quy trình tiếp nhận, lưu trữ và đọc dữ liệu sức khỏe trên cơ sở dữ liệu phân tán; các thuật toán học máy thị giác máy tính nhằm đánh giá cảm xúc khuôn mặt; các công nghệ đóng gói và điều phối dịch vụ tại biên mạng.
  • Phạm vi nghiên cứu: Hệ thống tập trung vào việc đọc hai chỉ số sinh tồn chính là nhịp tim (BPM) và nồng độ oxy bão hòa trong máu (SpO2) từ cảm biến phần cứng; dữ liệu cảm biến kết hợp với tập dữ liệu hình ảnh khuôn mặt FER2013 được tiền xử lý và huấn luyện trên nền tảng đám mây, sau đó đóng gói mô hình để triển khai phục vụ suy luận trực tiếp tại thiết bị biên (Raspberry Pi) phục vụ quy mô phòng bệnh nội trú.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng trên nền tảng lý thuyết kết hợp giữa kỹ thuật mạng máy tính, hệ thống nhúng IoT, điện toán biên và thị giác máy tính:

  • Khái niệm eHealth và IoT: Thuật ngữ y tế điện tử (e-Health) xuất hiện từ khoảng năm 1999, bao quát toàn bộ việc ứng dụng tin học, viễn thông và Internet vào dịch vụ y tế (hồ sơ y tế điện tử, điều trị từ xa telemedicine, y tế di động m-health...). IoT đóng vai trò thu thập dữ liệu thời gian thực từ các cảm biến gắn trên cơ thể bệnh nhân.
  • Điện toán cận biên (Edge Computing) và Điện toán sương mù (Fog Computing): Tác giả làm rõ ranh giới kỹ thuật: Edge Computing xử lý dữ liệu trực tiếp tại rìa mạng – ngay trên thiết bị điều khiển gần nguồn dữ liệu để giảm thiểu tối đa băng thông truyền tải lên đám mây và tối ưu độ trễ xử lý; trong khi Fog Computing đưa dữ liệu lên mạng cục bộ (LAN) và xử lý tập trung hơn tại các nút sương mù (fog node).
  • Nền tảng phần cứng:
    • MySignals: Nền tảng phát triển thiết bị y tế của Libelium, hỗ trợ kết nối hơn 15 loại cảm biến sinh học (ngáy ngủ, nhiệt độ, điện da GSR, điện tâm đồ ECG, điện cơ đồ EMG, phế dung kế Spirometer, nhịp tim/SpO2, huyết áp, máy đo đường huyết Glucometer, luồng khí thở Airflow, vị trí cơ thể Body Position, cân nặng, nút bấm khẩn cấp Alarm Button). Trong phạm vi đề tài, tác giả sử dụng cảm biến đo nhịp tim và oxy trong máu (Bpm/Spo2).
    • Arduino và Arduino IDE: Đóng vai trò vi điều khiển trung gian đọc tín hiệu từ phần cứng MySignals.
    • Module WiFi ESP8266 ESP-01: Hoạt động ở chuẩn WiFi 2.4 GHz, điện áp 3.3V, hỗ trợ giao tiếp nối tiếp UART (tốc độ baud mặc định 9600 hoặc 115200) thông qua tập lệnh AT (AT commands) với các giao thức TCP/UDP, vận hành ở 3 chế độ (Client, Access Point, Both Client and Access Point).
    • Raspberry Pi và hệ điều hành Raspbian: Thiết bị máy tính nhúng kích thước nhỏ chạy bản phân phối Linux nền Debian (Raspbian), đóng vai trò thiết bị biên (Edge device) điều phối toàn bộ dịch vụ xử lý cục bộ.
  • Nền tảng đám mây và Trí tuệ nhân tạo (AI):
    • Google Cloud Platform (GCP) và Firebase Firestore: Sử dụng cơ sở dữ liệu NoSQL Firestore Database trên Firebase để đồng bộ và lưu trữ tài liệu về bệnh nhân.
    • AutoML Vision và kỹ thuật NAS (Neural Architecture Search): Kỹ thuật tự động hóa thiết kế kiến trúc mạng nơ-ron gồm 3 thành phần chính: không gian tìm kiếm (Search space), chiến lược tìm kiếm (Search strategy) và chiến lược ước tính hiệu suất (Performance estimation strategy).
    • TensorFlow Serving (TFX): Hệ sinh thái triển khai mô hình học máy gồm 4 khối chức năng: Source (kiểm soát phiên bản mô hình trên đĩa), Loader (chứa siêu dữ liệu và cấu hình model), Manager (quản lý vòng đời nạp, dỡ và phục vụ mô hình) và Servable (tiếp nhận yêu cầu suy luận từ client).
    • Bộ dữ liệu FER2013: Do Pierre-Luc Carrier và Aaron Courville xây dựng, bao gồm các ảnh khuôn mặt thang độ xám kích thước 48x48 pixel được căn giữa, gán nhãn theo 7 trạng thái cảm xúc: 0 = Giận dữ (Angry), 1 = Chán ghét (Disgusted), 2 = Sợ hãi (Fearful), 3 = Hạnh phúc (Happy), 4 = Buồn (Sad), 5 = Ngạc nhiên (Surprised), 6 = Bình thường (Neutral).
  • Công nghệ ảo hóa và phần mềm:
    • Docker và Docker Hub: Đóng gói ứng dụng thành các container độc lập theo kiến trúc client-server (Docker Client tương tác với Docker Daemon qua socket hoặc RESTful API).
    • Kubernetes (K8s) và K3s: K3s là bản phân phối Kubernetes rút gọn (slim) do Rancher phát triển, đóng gói toàn bộ trong một file nhị phân dung lượng dưới 100MB, thời gian khởi động khoảng 30 giây, loại bỏ các thành phần dư thừa của K8s bản đầy đủ để tối ưu hóa riêng cho môi trường tài nguyên hạn chế như IoT và thiết bị biên.
    • React Native và ReactJS: Xây dựng giao diện ứng dụng di động cho bệnh nhân và web quản trị cho bác sĩ.
    • NodeJS và ExpressJS: Xây dựng dịch vụ điều phối trung gian (Controller Server) nhờ mô hình bất đồng bộ hướng sự kiện (Event Loop).
Tiêu chí NodeJS ExpressJS
Bản chất Môi trường thực thi JavaScript đa nền tảng Framework back-end chạy trên nền NodeJS
Ngôn ngữ phát triển JavaScript, C, C++ JavaScript
Vị trí hoạt động Hỗ trợ cả phía client và phía máy chủ Chuyên biệt cho phía máy chủ (server-side)
Cài đặt Cài đặt trực tiếp trên hệ điều hành Cài đặt thông qua trình quản lý gói của NodeJS
Tính năng cốt lõi Cung cấp nhân thực thi và các module hệ thống cấp thấp Cung cấp hệ thống định tuyến (routing) và middleware
Ngôn ngữ hỗ trợ kèm theo TypeScript, CoffeeScript, Ruby... Thuần JavaScript

Phương pháp nghiên cứu thực tế là phương pháp thiết kế và thực nghiệm hệ thống kỹ thuật: tác giả thiết lập đường ống thu nhận dữ liệu phần cứng qua lệnh AT, thiết kế mô hình kiến trúc phân tán 3 lớp, huấn luyện mô hình học máy trên điện toán đám mây bằng AutoML Vision, đóng gói container và triển khai dịch vụ cục bộ trên vi máy tính Raspberry Pi.

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc phân tầng hoàn chỉnh, phân chia nhiệm vụ rõ ràng giữa thiết bị đầu cuối, tầng tính toán cận biên và tầng đám mây.

+------------------------------------------------------------------------+
|                              CLOUD LAYER                               |
|                         [Firebase Firestore]                           |
+------------------------------------------------------------------------+
                               ^          ^
                               |          |
+------------------------------|----------|------------------------------+
| EDGE LAYER (Raspberry Pi)    |          |                              |
|                              v          |                              |
|                    [Controller Server] -+                              |
|                             ^  | (Port 3000/3001)                      |
|                             |  v                                       |
|                  [Emotion Detect Server]                               |
|                     (TensorFlow Serving)                               |
+------------------------------------------------------------------------+
       ^                         ^                         ^
       | HTTP POST (JSON)        | Socket/HTTP             | Real-time Read
       |                         |                         |
+------v-------------------------v-------------------------v-------------+
| END DEVICES                    |                         |             |
| [MySignals + Arduino + ESP-01] | [Patient App (Mobile)]  | [Admin Web] |
+------------------------------------------------------------------------+

1. Phân tầng kiến trúc hệ thống

Ngữ cảnh triển khai thực tế được thiết lập theo quy mô phòng bệnh: mỗi phòng gồm nhiều giường bệnh phân biệt bằng định danh bedId. Mỗi giường gắn một bộ thiết bị đo MySignals tương ứng:

  • Tầng thiết bị đầu cuối (End Devices):
    • Hệ thống MySignals: Kết nối với Arduino và module ESP8266 ESP-01. ESP-01 được cấu hình chuyển đổi giữa các chân UART để đọc tín hiệu từ cảm biến BPM/SpO2 và gửi gói tin HTTP POST chứa chuỗi JSON {"bedId": "01", "spo2": "...", "bpm": "..."} đến địa chỉ IP của Controller Server tại biên qua cổng 3000.
    • Ứng dụng bệnh nhân (Patient App): Viết bằng React Native, gồm màn hình nhập thông tin (tên, tuổi, IP máy chủ, bedId) và màn hình hiển thị dữ liệu nhận qua giao thức WebSocket. Ứng dụng tích hợp thư viện ImagePicker để chụp ảnh khuôn mặt bệnh nhân, cắt và nén về kích thước chuẩn 48x48 pixel, chuyển đổi sang chuỗi nhị phân mã hóa Base64 cùng định dạng MIME (image/jpeg) rồi gửi về máy chủ.
    • Ứng dụng quản trị (Admin Web App): Viết bằng ReactJS, cung cấp chức năng đăng nhập, đăng ký và trang tổng quan theo dõi danh sách bệnh nhân theo thời gian thực.
  • Tầng tính toán cận biên (Edge Layer): Triển khai trực tiếp trên Raspberry Pi, bao gồm hai dịch vụ container hóa:
    • Controller Server: Phát triển bằng NodeJS/ExpressJS, tiếp nhận dữ liệu cảm biến từ MySignals, duy trì kết nối WebSocket hai chiều với Patient App, chuyển tiếp yêu cầu chẩn đoán ảnh sang Emotion Detect Server và đồng bộ dữ liệu lên Firebase Firestore.
    • Emotion Detect Server: Tiếp nhận dữ liệu ảnh Base64 từ Controller Server, nạp vào mô hình thị giác máy tính đã được tối ưu hóa để phân loại cảm xúc khuôn mặt và phản hồi kết quả về Controller.
  • Tầng đám mây (Cloud Layer): Sử dụng Firebase Firestore lưu trữ cơ sở dữ liệu phi quan hệ (NoSQL) với cấu trúc bộ sưu tập patients. Mỗi bản ghi tài liệu gắn với một bedId chứa các trường: mảng lịch sử bpm và spo2 (lưu kèm mốc thời gian cập nhật date), độ tuổi age, chuỗi ảnh imageBase64, kiểu ảnh imageMime, kết quả cảm xúc emotion, và họ tên bệnh nhân name.

2. Tiêu chuẩn y tế và cơ chế cảnh báo tự động

Hệ thống sử dụng bảng thông số tiêu chuẩn sinh lý của Liên đoàn các Hiệp hội Bác sĩ gây mê Thế giới (WFSA - World Federation of Societies of Anaesthesiologists) để làm căn cứ lập trình thuật toán kích hoạt cảnh báo:

Nhóm tuổi Nhịp tim bình thường (BPM) Nồng độ oxy trong máu bình thường (SpO2)
Sơ sinh - 3 tháng tuổi 85 – 200 $\ge 95%$
3 tháng - 2 tuổi 100 – 180 $\ge 95%$
2 - 10 tuổi 60 – 140 $\ge 95%$
Trên 10 tuổi 50 – 100 $\ge 95%$
Người trưởng thành 50 – 100 $\ge 95%$

Khi dữ liệu nhịp tim hoặc SpO2 vượt ra ngoài khoảng giá trị an toàn theo độ tuổi của bệnh nhân:

  • Patient App lập tức hiển thị hộp thoại cảnh báo (Alert) trên màn hình thiết bị của người bệnh.
  • Trên giao diện Web Admin, trạng thái của giường bệnh tương ứng sẽ tự động chuyển từ chỉ thị màu xanh (chỉ số bình thường) sang chỉ thị màu đỏ (chỉ số không ổn định/bất thường).
  • Controller Server tự động kích hoạt dịch vụ EmailJS gửi thư điện tử cảnh báo trực tiếp đến hòm thư của bác sĩ hoặc chuyên viên y tế phụ trách, nêu rõ định danh giường bệnh (bedId) có diễn biến xấu.

3. Huấn luyện mô hình và đóng gói phần mềm

Quá trình xây dựng mô hình trí tuệ nhân tạo nhận diện cảm xúc khuôn mặt:

  • Tác giả nén và tải các tệp ảnh đã phân loại từ bộ dữ liệu FER2013 lên Google Cloud Storage (gồm các tệp angry.zip, disgusted.zip, fearful.zip, happy.zip, neutral.zip, sad.zip, surprised.zip).
  • Nền tảng Google Cloud Vision ghi nhận tổng cộng 27.473 ảnh (trong đó 27.434 ảnh được gắn nhãn hợp lệ phân bố cụ thể: 3.833 ảnh giận dữ, 379 ảnh chán ghét, 3.885 ảnh sợ hãi, 6.834 ảnh hạnh phúc, 4.867 ảnh bình thường, 4.716 ảnh buồn, 2.669 ảnh ngạc nhiên; và 39 ảnh không gắn nhãn).
  • Mô hình được thiết lập huấn luyện dưới dạng phân loại đơn nhãn (Single-Label Classification) thông qua cơ chế NAS với ngân sách thời gian nút tính toán (budget) là 187 node hours, sau đó được xuất (export) dưới dạng gói TensorFlow Package để chạy ngoại tuyến tại thiết bị biên.
  • Để triển khai tại biên, tác giả thiết lập môi trường WSL2 trên hệ điều hành máy tính nhằm tránh lỗi đường dẫn ký tự khi cài đặt Google Cloud SDK.
  • Do kiến trúc vi xử lý của máy tính phát triển (x86_64) khác biệt với vi xử lý của Raspberry Pi (kiến trúc ARM), tác giả gặp phải lỗi không tương thích hệ điều hành/kiến trúc (OS/Arch incompatibility). Vấn đề này được khắc phục bằng công cụ docker buildx để xây dựng ảnh vùng chứa đa kiến trúc (multi-arch images) trước khi đẩy lên Docker Hub và kéo về chạy ổn định trên Raspberry Pi.
  • Kiểm tra hiệu năng bằng công cụ quản lý tiến trình PM2 cho thấy dịch vụ Controller Server vận hành rất nhẹ, chỉ tiêu tốn 24.9 MB bộ nhớ RAM trên thiết bị Raspberry Pi.

Nội dung chính theo từng chương

Bố cục của khóa luận được phân chia thành các chương chuyên biệt phản ánh quá trình nghiên cứu và thực nghiệm:

Chương 1: Lí do chọn đề tài và mục đích

Chương mở đầu phân tích sâu sắc tác động tiêu cực của đại dịch COVID-19 đối với hệ thống y tế toàn cầu và Việt Nam. Tác giả đặt vấn đề về sự quá tải bệnh viện, nguy cơ lây nhiễm trong công tác điều trị, từ đó xác định mục đích chế tạo một hệ sinh thái giám sát bệnh nhân từ xa dựa trên IoT và điện toán biên. Chương này công bố chính xác các mục tiêu kỹ thuật, phân định đối tượng nghiên cứu (MySignals, CSDL, thuật toán học máy thị giác) và phạm vi nghiên cứu (đọc nhịp tim, SpO2, nhận diện 7 trạng thái cảm xúc khuôn mặt theo bộ dữ liệu FER2013).

Chương 2: Tổng quan về eHealth, IoT, Edge computing

Chương 2 đóng vai trò xây dựng khung lý thuyết toàn diện cho đồ án:

  • Hệ thống hóa định nghĩa và các loại hình y tế điện tử (eHealth, telemedicine, m-health...).
  • Trình bày tổng quan về thị trường IoT, đối chiếu sự khác biệt bản chất giữa kiến trúc điện toán biên (Edge Computing) và điện toán sương mù (Fog Computing).
  • Thuyết minh chi tiết thông số kỹ thuật của bộ công cụ MySignals cùng hơn 15 cảm biến y tế đi kèm; giới thiệu vi điều khiển Arduino và module WiFi ESP8266 ESP-01 (sơ đồ chân, giao tiếp UART, tập lệnh AT).
  • Phân tích vai trò của máy tính nhúng Raspberry Pi chạy hệ điều hành Raspbian trong kiến trúc Edge.
  • Trình bày các dịch vụ cốt lõi trên Google Cloud Platform, giải thích nguyên lý hoạt động của kỹ thuật tìm kiếm kiến trúc mạng nơ-ron tự động (NAS) và kiến trúc 4 khối của TensorFlow Serving (TFX).
  • Phân tích cơ chế hoạt động của Docker, Docker Hub, hệ thống điều phối container Kubernetes (K8s) và giải pháp K3s siêu nhẹ (dung lượng nhị phân dưới 100MB) dành riêng cho môi trường IoT.
  • So sánh chi tiết các công nghệ lập trình phần mềm: ReactJS, React Native, NodeJS và ExpressJS.

Chương 3: Hiện thực, triển khai hệ thống

Đây là chương nội dung kỹ thuật trọng tâm của khóa luận, mô tả tường minh từng bước xây dựng và tích hợp hệ thống:

  • Trình bày sơ đồ tổng thể và ngữ cảnh hoạt động của hệ thống tại các phòng bệnh thông qua định danh bedId.
  • Hướng dẫn thiết lập cơ sở dữ liệu Firebase Firestore NoSQL và cấu trúc các trường lưu trữ hồ sơ bệnh nhân.
  • Trình bày mã nguồn lập trình vi điều khiển Arduino điều khiển ESP-01 gửi lệnh AT (AT, AT+CWMODE, AT+CWJAP, AT+CIPSTART) và gửi dữ liệu cảm biến đo nhịp tim/SpO2 qua yêu cầu HTTP POST.
  • Xây dựng Patient App trên React Native với chức năng kết nối socket, cập nhật chỉ số, chụp ảnh khuôn mặt nén 48x48 Base64 và cơ chế cảnh báo vượt ngưỡng theo tiêu chuẩn WFSA.
  • Xây dựng Web Admin trên ReactJS hiển thị trạng thái bệnh nhân theo mã màu (xanh/đỏ) thời gian thực và tích hợp module EmailJS tự động gửi email cảnh báo cho nhân viên y tế.
  • Triển khai Controller Server trên NodeJS (lắng nghe cổng 3000/3001, chiếm dụng 24.9 MB RAM đo bởi PM2).
  • Quy trình huấn luyện mô hình cảm xúc trên Google Cloud Vision với bộ dữ liệu FER2013 (27.434 ảnh được gắn nhãn), đóng gói mô hình, xử lý lỗi kiến trúc CPU ARM bằng docker buildx và cấu hình triển khai tệp YAML.

Chương 4: Kết luận và hướng phát triển

Chương tổng kết đánh giá mức độ hoàn thành so với các mục tiêu nghiên cứu ban đầu được đề ra ở Chương 1. Tác giả khẳng định hệ thống đã vận hành thành công mô hình tích hợp hoàn chỉnh từ phần cứng cảm biến, thiết bị biên xử lý cục bộ đến ứng dụng người dùng và điện toán đám mây. Đồng thời, chương này chỉ ra các hạn chế cố hữu về mặt phần cứng lẫn phần mềm và vạch ra các hướng mở rộng nghiên cứu trong tương lai.

Kết quả và đóng góp

Khóa luận đạt được các kết quả kỹ thuật cụ thể và đóng góp thực tiễn sau:

  • Xây dựng thành công hệ sinh thái giám sát y tế đa tầng: Kết nối đồng bộ phần cứng MySignals (đo nhịp tim BPM và SpO2), vi điều khiển Arduino, module truyền thông ESP8266 ESP-01 với máy chủ biên Raspberry Pi và cơ sở dữ liệu đám mây Firebase Firestore.
  • Tối ưu hóa tài nguyên tại biên: Dịch vụ Controller Server phát triển trên NodeJS/ExpressJS hoạt động ổn định và tối ưu, chỉ chiếm dụng 24.9 MB bộ nhớ RAM trên thiết bị Raspberry Pi (đo lường qua công cụ PM2), chứng minh tính khả thi cao khi vận hành dịch vụ trên các phần cứng nhúng chi phí thấp.
  • Tích hợp mô hình AI đánh giá cảm xúc: Huấn luyện thành công mô hình phân loại cảm xúc khuôn mặt từ 27.434 ảnh gán nhãn thuộc tập FER2013 thông qua công nghệ AutoML Vision (tiêu tốn 187 node hours), sau đó xuất gói TensorFlow và đóng gói vào container Docker để suy luận trực tiếp tại biên, giúp đánh giá trạng thái tâm lý và độ hài lòng của bệnh nhân nội trú mà không làm lộ dữ liệu hình ảnh lên đám mây công cộng.
  • Cơ chế cảnh báo 2 cấp độ theo tiêu chuẩn quốc tế: Áp dụng thành công bảng ngưỡng sinh lý của WFSA để tự động phát cảnh báo tức thời trên ứng dụng di động của người bệnh, đồng thời trực quan hóa trạng thái bằng màu sắc trên Web Admin và kích hoạt email tự động qua EmailJS gửi trực tiếp tới đội ngũ bác sĩ khi chỉ số chuyển biến xấu.
  • Đóng góp về mặt kỹ thuật triển khai: Giải quyết triệt để sự cố không tương thích kiến trúc bộ vi xử lý giữa môi trường phát triển x86_64 và thiết bị nhúng ARM của Raspberry Pi bằng cách áp dụng công cụ docker buildx để biên dịch ảnh container đa kiến trúc (multi-arch), tạo tài liệu thực nghiệm hữu ích cho các dự án triển khai Docker trên phần cứng IoT.

Hạn chế và hướng nghiên cứu tiếp

Dựa trên nội dung văn bản và phạm vi kỹ thuật của đồ án, các hạn chế và hướng phát triển được xác định như sau:

  • Hạn chế:
    • Hệ thống mới dừng lại ở mức độ thử nghiệm mô phỏng trên một số giường bệnh nội trú (bedId) xác định trong môi trường mạng cục bộ, chưa tiến hành thử nghiệm lâm sàng diện rộng tại các bệnh viện thực tế.
    • Về dữ liệu cảm biến, khóa luận mới chỉ khai thác cảm biến nhịp tim và oxy trong máu (Bpm/Spo2), chưa tích hợp toàn diện các cảm biến sinh học quan trọng khác sẵn có trên bộ MySignals (như điện tâm đồ ECG, huyết áp, nhiệt độ hay luồng khí thở).
    • Tập dữ liệu FER2013 sử dụng ảnh thang độ xám độ phân giải thấp (48x48 pixel) với các nhãn cảm xúc xã hội tổng quát, chưa phản ánh đặc thù các biểu cảm lâm sàng đặc thù của người bệnh khi đau đớn hoặc mệt mỏi.
  • Hướng nghiên cứu tiếp:
    • Mở rộng tích hợp các cảm biến y tế còn lại của bộ kit MySignals (nhiệt độ cơ thể, điện tâm đồ, huyết áp, máy đo phế dung) để tạo thành hồ sơ sức khỏe toàn diện.
    • Triển khai hoàn chỉnh cụm điều phối K3s đa nút (multi-node cluster) trên nhiều thiết bị Raspberry Pi để nâng cao khả năng chịu lỗi, cân bằng tải và tính sẵn sàng cao của hệ thống biên.
    • Nâng cấp mô hình thị giác máy tính với tập dữ liệu hình ảnh bệnh nhân chuyên biệt và tối ưu hóa sâu hơn để chạy mượt mà trên các chip gia tốc AI biên chuyên dụng.

Giá trị tham khảo

Tài liệu khóa luận tốt nghiệp này mang lại giá trị tham khảo chuyên môn thiết thực cho nhiều nhóm đối tượng:

  • Sinh viên và nghiên cứu sinh ngành Mạng máy tính, Hệ thống nhúng và IoT: Khóa luận cung cấp tài liệu hướng dẫn thực hành chi tiết về việc kết nối và lập trình module ESP8266 ESP-01 bằng tập lệnh AT thông qua Arduino IDE để giao tiếp mạng, truyền dữ liệu qua các giao thức HTTP và WebSocket.
  • Kỹ sư phát triển phần mềm và DevOps: Phần triển khai hệ thống là tài liệu tham khảo giá trị về kỹ thuật đóng gói container Docker trên phần cứng nhúng, đặc biệt là phương pháp sử dụng docker buildx để xử lý xung đột đa kiến trúc (multi-arch) giữa nền tảng máy tính thông thường (x86_64) và vi xử lý máy tính nhúng (ARM).
  • Nhà nghiên cứu hệ thống y tế thông minh (Smart Healthcare): Đồ án cung cấp một kiến trúc tham chiếu mẫu về mô hình phân tầng eHealth (End Devices - Edge - Cloud), minh họa rõ ràng cách thức tích hợp chuẩn y tế WFSA vào thuật toán cảnh báo tự động và ứng dụng CSDL NoSQL Firebase Firestore trong việc quản lý hồ sơ bệnh án theo thời gian thực.

Câu hỏi thường gặp

1. Khóa luận sử dụng những chỉ số sinh tồn nào để theo dõi sức khỏe bệnh nhân và dựa trên tiêu chuẩn nào để cảnh báo?
Khóa luận sử dụng hai chỉ số sinh tồn chính là nhịp tim (BPM) và nồng độ oxy bão hòa trong máu (SpO2) được thu thập từ cảm biến của bộ kit MySignals. Hệ thống căn cứ vào bảng thông số nhịp tim và oxy trong máu theo từng độ tuổi do Liên đoàn các Hiệp hội Bác sĩ gây mê Thế giới (WFSA) ban hành để lập trình thuật toán phát hiện bất thường.

2. Vai trò cụ thể của Raspberry Pi trong kiến trúc hệ thống là gì?
Raspberry Pi (chạy hệ điều hành Raspbian) đóng vai trò là thiết bị tính toán cận biên (Edge device). Thiết bị này trực tiếp vận hành hai máy chủ container hóa: Controller Server (tiếp nhận dữ liệu, quản lý kết nối socket, điều phối luồng dữ liệu) và Emotion Detect Server (thực hiện suy luận AI nhận diện cảm xúc từ ảnh khuôn mặt), giúp giảm tải băng thông truyền dữ liệu lên đám mây và tối ưu độ trễ xử lý.

3. Tác giả đã huấn luyện mô hình nhận diện cảm xúc khuôn mặt bằng công cụ và tập dữ liệu nào?
Tác giả sử dụng tập dữ liệu FER2013 gồm các ảnh khuôn mặt kích thước 48x48 pixel với 7 nhãn cảm xúc. Quá trình huấn luyện được thực hiện trên nền tảng Google Cloud Vision sử dụng kỹ thuật tìm kiếm kiến trúc mạng nơ-ron tự động NAS (Neural Architecture Search) với ngân sách thời gian tính toán là 187 node hours, dựa trên 27.434 ảnh được gắn nhãn hợp lệ, sau đó xuất ra gói TensorFlow Package để triển khai ngoại tuyến tại biên.

4. Khóa luận đã giải quyết vấn đề không tương thích kiến trúc khi chạy Docker trên Raspberry Pi như thế nào?
Khi xây dựng Docker image trên môi trường máy tính x86 thông thường và chuyển sang chạy trên chip vi xử lý kiến trúc ARM của Raspberry Pi, hệ thống phát sinh lỗi không tương thích hệ điều hành/kiến trúc (OS/Arch incompatibility). Tác giả đã giải quyết triệt để lỗi này bằng cách cài đặt môi trường WSL2 kết hợp với công cụ docker buildx để biên dịch các container image đa kiến trúc (multi-arch), cho phép ứng dụng chạy tương thích hoàn toàn trên nền tảng ARM của Raspberry Pi.

5. Mức tiêu thụ tài nguyên của dịch vụ máy chủ điều phối (Controller Server) tại thiết bị biên là bao nhiêu?
Theo kết quả kiểm tra thực tế bằng công cụ quản lý tiến trình PM2 được trình bày trong Chương 3 của khóa luận, dịch vụ Controller Server viết bằng NodeJS và ExpressJS chỉ tiêu tốn 24.9 MB bộ nhớ RAM khi vận hành trên thiết bị Raspberry Pi.

Kết luận

Khóa luận tốt nghiệp của tác giả Phạm Huy Hoàng đã giải quyết trọn vẹn bài toán xây dựng hệ thống chăm sóc sức khỏe thông minh ứng phó với bối cảnh quá tải y tế thời kỳ dịch bệnh. Bằng cách kết hợp linh hoạt phần cứng y tế MySignals, vi điều khiển nhúng, công nghệ ảo hóa container và trí tuệ nhân tạo nhận diện cảm xúc tại biên mạng (Edge Computing), đồ án đã thiết lập thành công quy trình tự động hóa từ khâu đo chỉ số sinh tồn đến cảnh báo y tế theo thời gian thực. Công trình không chỉ đạt hiệu quả kỹ thuật với mức chiếm dụng tài nguyên phần cứng tối ưu mà còn cung cấp một kiến trúc hệ thống mẫu có tính ứng dụng cao cho lĩnh vực y tế điện tử hiện đại.