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

Tình trạng quá tải, thời gian chờ đợi kéo dài và quy trình thủ tục đăng ký rườm rà tại các cơ sở y tế ở Việt Nam là thực trạng tồn đọng nhiều năm, gây mệt mỏi và bức xúc cho bệnh nhân cũng như áp lực lớn cho đội ngũ y bác sĩ. Nhằm giải quyết vấn đề này, đề tài "Thiết kế hệ thống lấy số khám bệnh từ xa – My Hospital" được thực hiện bởi nhóm sinh viên Đinh Za Huấn và Ngô Bá Trình dưới sự hướng dẫn của TS. Võ Minh Huân tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh.

Khảo sát thực tế tại thời điểm nghiên cứu cho thấy đã có một số giải pháp lấy số từ xa được triển khai:

  • Ứng dụng Lucky Telecom (triển khai tại Bệnh viện Hòa Hảo): Chủ yếu hỗ trợ đặt số khám qua tin nhắn SMS thông thường; giải pháp trên ứng dụng di động chưa hoàn chỉnh.
  • Ứng dụng UMC-Đăng ký khám bệnh online (triển khai tại Bệnh viện Đại học Y Dược TP.HCM): Cung cấp nhiều tính năng nhưng người bệnh vẫn ở thế bị động, chưa nắm bắt được trạng thái diễn biến khám thực tế tại từng phòng khám và chưa có cơ chế ước lượng thời gian khám cụ thể.

Từ các hạn chế trên, đề tài xác định mục tiêu chung là "Giảm thời gian đợi khám và tạo ra sự thân thiện" cho người bệnh. Để hoàn thành mục tiêu này, hệ thống đặt ra các nhiệm vụ nghiên cứu cụ thể:

  1. Xây dựng tính năng lấy số khám bệnh từ xa qua ứng dụng di động Android "My Hospital".
  2. Thiết lập chức năng theo dõi trạng thái hoạt động của các phòng khám theo thời gian thực.
  3. Xây dựng giải thuật tính toán và ước lượng thời gian khám bệnh (ULTGK) cho từng bệnh nhân.
  4. Hiển thị danh mục lịch khám trong ngày hiện tại và các ngày trong tương lai.
  5. Đảm bảo tính đồng bộ thời gian thực (Realtime) giữa ứng dụng di động và thiết bị phần cứng.
  6. Xây dựng hệ thống quản lý thông tin bệnh nhân: Đăng ký/đăng nhập tài khoản, tạo mã QR định danh thay thế sổ khám bệnh và thẻ từ, lưu trữ hồ sơ bệnh án (chẩn đoán, triệu chứng, chỉ dẫn, toa thuốc), cập nhật thông tin và theo dõi lịch sử đăng ký khám.
  7. Xây dựng cơ chế khóa quyền đặt số đối với tài khoản vắng mặt quá 3 lần và cấp quyền cho quản trị viên kiểm tra, kích hoạt lại.

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

  • Đối tượng nghiên cứu: Ứng dụng di động Android viết bằng ngôn ngữ Java; nền tảng đám mây Google Firebase (Authentication, Realtime Database, Cloud Storage); vi điều khiển NodeMCU ESP8266; phần cứng nút nhấn cơ học và còi báo Buzzer.
  • Phạm vi nghiên cứu: Hệ thống phục vụ 3 nhóm đối tượng (Bệnh nhân, Bác sĩ, Quản trị viên) kết hợp với các bộ phần cứng hỗ trợ cấp số tại quầy và gọi số tại phòng khám. Thời gian thực hiện từ ngày 04/03/2019 đến ngày 08/07/2019 trong khuôn khổ Đồ án tốt nghiệp ngành Công nghệ Kỹ thuật Máy tính (SKL 005468).

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

Đề tài kết hợp nghiên cứu lý thuyết kỹ thuật phần mềm di động, cơ sở dữ liệu phi quan hệ, truyền thông không dây và hệ thống nhúng:

  • Mã phản hồi nhanh (QR Code - Quick Response Code): Công nghệ mã hai chiều do Denso Wave phát minh năm 1994, được sử dụng để số hóa định danh bệnh nhân và định danh phòng khám nhằm truy xuất dữ liệu tức thời.
  • Nền tảng Google Firebase:
    • Firebase Realtime Database: Cơ sở dữ liệu NoSQL lưu trữ dưới dạng cây JSON, hỗ trợ đồng bộ hóa hai chiều theo thời gian thực giữa ứng dụng di động và mạch phần cứng nhúng mà không cần cập nhật ứng dụng.
    • Firebase Authentication: Hệ thống xác thực người dùng bằng Email và Mật khẩu, cung cấp các hàm chức năng: Reset password (khôi phục mật khẩu qua email), Get User's Information (truy xuất trạng thái xác thực) và Verify Email (gửi liên kết xác nhận tài khoản có giới hạn thời gian hiệu lực).
    • Firebase Cloud Storage: Dịch vụ lưu trữ đối tượng đám mây dùng để lưu trữ và phân phối hình ảnh mã QR định danh của người dùng và phòng khám; kết hợp với thư viện Picasso trên Android để tải ảnh.
  • Chuẩn mạng không dây Wi-Fi: Chuẩn kết nối IEEE 802.11n, hoạt động ở băng tần 2.4 GHz với tốc độ truyền tải lý thuyết đạt tối đa 300 Mbps, tích hợp giao thức mạng TCP/IP.
  • Vi điều khiển NodeMCU ESP8266: Kit phát triển IoT dựa trên vi điều khiển SoC ESP8266 tích hợp chip nạp tự động CP2102, bộ nhớ Flash 4MB, hỗ trợ bảo mật WPA/WPA2, dùng làm bộ xử lý trung tâm cho khối phần cứng.
  • Linh kiện ngoại vi: Nút nhấn 2 chân phục vụ kích hoạt ngắt mạch/đóng mạch và còi Buzzer phát tín hiệu âm thanh báo hiệu trạng thái.
Thông số kỹ thuật Giá trị cấu hình NodeMCU ESP8266
Chuẩn Wi-Fi 2.4 GHz, hỗ trợ IEEE 802.11 b/g/n
Điện áp hoạt động 3.3V
Điện áp ngõ vào 5V thông qua cổng Micro-USB
Số chân I/O số 11 chân
Số chân ngõ vào Analog 1 chân (điện áp vào tối đa 3.3V)
Dung lượng bộ nhớ Flash 4 MB
Giao tiếp nạp/truyền dữ liệu Cáp Micro-USB (Chip cầu nạp CP2102)
Phương thức bảo mật WPA / WPA2
Giao thức mạng tích hợp TCP / IP
Ngôn ngữ lập trình hỗ trợ C/C++, MicroPython, Arduino IDE
Định dạng dữ liệu Dung lượng lưu trữ tối đa của QR Code
Dữ liệu số (Numeric) Tối đa 7.089 ký tự
Dữ liệu chữ và số (Alphanumeric) Tối đa 4.296 ký tự
Dữ liệu nhị phân (Binary / 8-bit) Tối đa 2.953 byte
Dữ liệu chữ Hán (Kanji) Tối đa 1.817 ký tự

Phương pháp nghiên cứu: Tác giả áp dụng phương pháp thiết kế hệ thống kỹ thuật kết hợp: lập trình phần mềm Android hướng đối tượng bằng Java, thiết kế cấu trúc dữ liệu NoSQL dạng cây JSON trên Firebase, lập trình nhúng C/C++ cho kit ESP8266 qua Arduino IDE, và tiến hành kiểm nghiệm thực nghiệm trên mô hình thực tế.


Thiết kế và triển khai

Hệ thống "My Hospital" được thiết kế tích hợp giữa hạ tầng phần mềm di động, cơ sở dữ liệu thời gian thực và thiết bị phần cứng chuyên dụng.

Kiến trúc tổng thể hệ thống

Hệ thống bao gồm 4 khối chức năng chính:

  1. Khối Firebase: Quản lý tập trung toàn bộ dữ liệu người dùng, xác thực tài khoản qua email, lưu trữ tệp tin hình ảnh mã QR và duy trì tính năng đồng bộ dữ liệu Realtime tại các Node JSON.
  2. Khối Ứng dụng Android My Hospital: Cung cấp giao diện tương tác độc lập cho Bệnh nhân, Bác sĩ và Quản trị viên; đảm nhiệm các tác vụ tính toán thời gian khám và quét mã QR.
  3. Khối Phần cứng hỗ trợ: Gồm bộ vi điều khiển NodeMCU kết nối Wi-Fi, bộ nút nhấn lấy số tại quầy tiếp nhận và bộ nút nhấn tăng số (Next) của bác sĩ tại phòng khám.
  4. Khối Nguồn: Cung cấp nguồn điện 5V định mức cho các vi điều khiển và mạch ngoại vi hoạt động.

Thiết kế cơ sở dữ liệu Firebase Realtime Database

Toàn bộ dữ liệu được tổ chức dưới dạng cấu trúc cây JSON phân cấp:

Tên Node chính Các trường dữ liệu con / Thuộc tính Mục đích và chức năng
ROOM nextroom, soluong, các node phòng (1, 2...): check_number, doctor, flag, n, sophong, total_number, w_checknum, w_hour, w_minute, w_wait Quản lý trạng thái vận hành của các phòng khám tiếp nhận, hiển thị thời gian thực và phục vụ thuật toán ước lượng thời gian khám (ULTGK).
SCHEDULE date, nextroom, soluong, node ngày (VD: 8-5-2019): total_number, danh sách số thứ tự gắn với email bệnh nhân Lưu trữ danh sách bệnh nhân đã đặt trước số khám theo từng ngày cụ thể; cập nhật số lượng đặt khám mỗi ngày.
USERS dob_signup, email_signup, gender_signup, ident_signup, name_signup, password_signup, quyen, benh_an, schedule Lưu trữ hồ sơ toàn bộ người dùng; phân quyền qua thuộc tính quyen (0: Bệnh nhân, 1: Quản trị, 2: Bác sĩ); lưu lịch sử khám và toa thuốc.
date Giá trị ngày tháng năm hiện tại Làm mốc thời gian để ứng dụng và bộ phần cứng đồng bộ lịch đặt khám vào đầu ngày làm việc.
specialist Danh sách phòng chuyên khoa (VD: Sieuam): check_number, doctor, sophong, total_number, danh sách ngày khám Quản lý danh sách bệnh nhân và số thứ tự chuyển tiếp vào các phòng khám chuyên khoa.

Quy trình phân quyền và giải thuật vận hành phần mềm

Ứng dụng Android phân quyền truy cập thông qua giá trị của trường quyen:

  • Giao diện Bệnh nhân (quyen = 0): Đăng ký tài khoản (tự động tạo mã QR lưu vào Cloud Storage với tên tệp chuẩn hóa từ email, ví dụ huanhuanzazagmail), nhận email xác thực tài khoản; đăng nhập; tra cứu trạng thái hoạt động của các phòng khám; đặt số thứ tự khám bệnh; theo dõi thời gian ước lượng khám; tra cứu kết quả chẩn đoán, toa thuốc và lịch sử khám. Nếu bệnh nhân vắng mặt quá 3 lần khi đến lượt khám, hệ thống sẽ tạm khóa tính năng đặt số từ xa.
  • Giao diện Bác sĩ (quyen = 2): Quy trình làm việc được thiết lập theo máy trạng thái nghiêm ngặt để tránh lỗi dữ liệu rỗng (Null):
    1. Ban đầu, toàn bộ chức năng bị vô hiệu hóa, chỉ cho phép nhấn nút Scan QR phòng khám.
    2. Bác sĩ quét mã QR của phòng khám để xác định đường dẫn dữ liệu ROOM/{số_phòng}, cập nhật tên bác sĩ phụ trách. Sau đó hệ thống kích hoạt nút Scan QR bệnh nhân và nút Next.
    3. Bác sĩ quét mã QR cá nhân của bệnh nhân để lấy đường dẫn USERS/{email_bệnh_nhân}, kích hoạt các nút Write Status, Medical File và Specialist Clinic để ghi chẩn đoán, xem bệnh án hoặc chuyển tuyến chuyên khoa.
    4. Bác sĩ nhấn nút Next (trên ứng dụng hoặc trên hộp nút nhấn vật lý) để gọi bệnh nhân tiếp theo: hệ thống tự động tăng check_number, tính toán lại thời gian chờ khám trung bình w_wait, sau đó vô hiệu hóa lại các nút bệnh án để chờ lượt quét bệnh nhân kế tiếp.
  • Giao diện Quản trị viên (quyen = 1): Thực hiện khởi tạo tài khoản Bác sĩ và Quản trị viên đồng cấp; thêm/xóa phòng khám tiếp nhận; thêm phòng khám chuyên khoa (tạo mã QR phòng lưu lên Firebase Storage); tra cứu danh sách các tài khoản bệnh nhân bị khóa và kích hoạt lại quyền đặt số.

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

Chương 1: Tổng quan

Trình bày tính cấp thiết của đề tài xuất phát từ tình trạng quá tải và thời gian chờ đợi lâu tại các bệnh viện Việt Nam. Đánh giá ưu và nhược điểm của hai hệ thống tiền nhiệm là Lucky Telecom (Bệnh viện Hòa Hảo) và UMC-Đăng ký khám bệnh online (Bệnh viện Đại học Y Dược TP.HCM). Xác định rõ mục tiêu giảm thời gian chờ thông qua 7 giải pháp kỹ thuật, phạm vi ứng dụng công nghệ Java Android, Firebase và phần cứng NodeMCU ESP8266, cùng cấu trúc đồ án gồm 5 chương.

Chương 2: Cơ sở lý thuyết

Cung cấp cơ sở lý thuyết chi tiết về các công nghệ được áp dụng: cấu trúc và dung lượng lưu trữ của mã QR (Bảng 2.1); hệ sinh thái đám mây Google Firebase bao gồm cơ chế cây NoSQL JSON của Realtime Database, quy trình xác thực Email của Firebase Authentication, phương thức tải/lưu ảnh của Cloud Storage; nguyên lý kết nối Wi-Fi 802.11n tần số 2.4 GHz; thông số kỹ thuật chi tiết của kit phát triển NodeMCU ESP8266 (Bảng 2.2); nguyên lý hoạt động đóng ngắt của nút nhấn cơ 2 chân và mạch phát tín hiệu còi Buzzer.

Chương 3: Thiết kế và xây dựng hệ thống

Trình bày chi tiết sơ đồ khối hệ thống và chức năng của từng thành phần. Thiết kế mô hình cơ sở dữ liệu Firebase Realtime Database với 5 nhánh chính (ROOM, SCHEDULE, USERS, date, specialist). Trình bày giải thuật và lưu đồ hoạt động của ứng dụng di động Android phân cấp theo 3 đối tượng người dùng (Quản trị viên, Bác sĩ, Bệnh nhân). Mô tả thiết kế mạch nguyên lý phần cứng của Bộ cấp số tiếp nhận và Bộ nút nhấn Next của bác sĩ sử dụng vi điều khiển NodeMCU, cùng các lưu đồ giải thuật ước lượng thời gian khám (ULTGK) và đồng bộ lịch khám đầu ngày.

Chương 4: Kết quả và thực nghiệm

Công bố các hình ảnh và thông số của sản phẩm hoàn thiện sau quá trình thi công: hộp phần cứng Bộ cấp số khám bệnh và Bộ tăng số thứ tự; hệ thống cây JSON hoàn chỉnh trên Firebase Console; trọn bộ giao diện chức năng của ứng dụng My Hospital trên thiết bị di động Android; kèm theo các bảng dữ liệu thực nghiệm kiểm chứng khả năng đọc/ghi dữ liệu của phần mềm và phần cứng.

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

Đánh giá mức độ hoàn thành toàn bộ các mục tiêu thiết kế ban đầu; chỉ ra các hạn chế kỹ thuật còn tồn đọng và đề xuất các định hướng nâng cấp hệ thống trong tương lai.


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

Kết quả kỹ thuật đạt được

  • Phần mềm di động: Xây dựng hoàn chỉnh ứng dụng Android "My Hospital" hỗ trợ đầy đủ 3 phân hệ người dùng (Bệnh nhân, Bác sĩ, Quản trị viên). Tích hợp chức năng tạo và đọc mã QR định danh cá nhân và phòng khám; hỗ trợ gửi email xác thực tài khoản; hiển thị trực quan trạng thái từng phòng khám và kết quả ước lượng thời gian vào khám.
  • Cơ sở dữ liệu đám mây: Thiết lập hệ thống cơ sở dữ liệu Firebase Realtime Database phân tầng logic, đồng bộ hóa tức thời mọi biến động dữ liệu giữa ứng dụng di động và thiết bị nhúng.
  • Thiết bị phần cứng: Chế tạo thành công 02 bộ thiết bị phần cứng độc lập sử dụng NodeMCU ESP8266 giao tiếp Wi-Fi:
    • Bộ cấp số khám: Cho phép nhân viên tiếp nhận cấp số thứ tự tại chỗ cho bệnh nhân không sử dụng smartphone, tự động đồng bộ tăng total_number lên Firebase.
    • Bộ tăng số thứ tự (Next): Cho phép bác sĩ chuyển lượt khám bệnh nhân bằng nút bấm cơ học, phát tín hiệu âm thanh qua còi Buzzer và cập nhật check_number thời gian thực lên hệ thống.
  • Cơ chế quản lý vận hành: Hiện thực hóa tính năng khóa quyền đặt số đối với bệnh nhân vắng mặt quá 3 lần và giao diện mở khóa dành riêng cho Quản trị viên.

Đóng góp so với các nghiên cứu trước

  • Khắc phục hạn chế của hệ thống Lucky Telecom bằng việc chuyển đổi hoàn toàn từ hình thức đặt số qua tin nhắn SMS sang ứng dụng di động có giao diện đồ họa đầy đủ, hỗ trợ quản lý hồ sơ bệnh án số hóa.
  • Cải tiến tính năng so với ứng dụng UMC bằng việc bổ sung màn hình theo dõi trạng thái phòng khám trực tiếp theo thời gian thực và thuật toán dự đoán/ước lượng thời gian khám bệnh, giúp người bệnh hoàn toàn chủ động thời gian di chuyển.

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

Hạn chế của hệ thống

  • Hệ thống chưa tích hợp cổng thanh toán trực tuyến qua tài khoản ngân hàng để bệnh nhân chi trả viện phí và phí đặt số khám bệnh từ xa (do đó nhóm phải áp dụng giải pháp thay thế là cơ chế khóa tài khoản khi vắng mặt quá 3 lần).
  • Trong quá trình truy xuất cơ sở dữ liệu Firebase, trường hợp dữ liệu rỗng (Null) vẫn có thể phát sinh nếu địa chỉ Node chưa đồng bộ, đòi hỏi phần mềm phải luôn kiểm tra sự tồn tại qua hàm exist() trước khi xử lý.

Hướng nghiên cứu tiếp

  • Tích hợp cổng thanh toán điện tử liên kết với tài khoản ngân hàng để thu viện phí và phí đặt lịch trực tiếp trên ứng dụng.
  • Hoàn thiện thuật toán điều phối thông minh trong việc phân bổ bệnh nhân sang các phòng khám chuyên khoa cận lâm sàng.
  • Nâng cấp phần cứng: Tích hợp thêm màn hình LCD/LED hiển thị số thứ tự và máy in nhiệt để in phiếu số tại chỗ cho người bệnh vãng lai.

Giá trị tham khảo

Tài liệu đồ án là nguồn tham khảo hữu ích cho:

  • Sinh viên và giảng viên ngành Công nghệ Kỹ thuật Máy tính, Công nghệ Thông tin, Kỹ thuật Điện - Điện tử: Tham khảo mô hình tích hợp hệ thống IoT kết hợp ứng dụng di động và dịch vụ đám mây Backend-as-a-Service (Google Firebase).
  • Lập trình viên phát triển ứng dụng di động Android: Tham khảo phương pháp xây dựng cây cơ sở dữ liệu NoSQL JSON trên Firebase Realtime Database, kỹ thuật quét và sinh mã QR bằng thư viện ngoài, cùng cơ chế xác thực người dùng qua Firebase Authentication.
  • Kỹ sư phát triển hệ thống nhúng IoT: Tham khảo cách lập trình vi điều khiển ESP8266 kết nối Wi-Fi, đọc/ghi dữ liệu trực tiếp với Firebase Realtime Database và điều khiển thiết bị ngoại vi qua ngắt nút nhấn và còi báo Buzzer.
  • Các nhà phát triển hệ thống quản lý bệnh viện: Tham khảo mô hình quy trình phân quyền khám bệnh thông minh và phương pháp giảm tải hàng đợi tại các cơ sở y tế công cộng.

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

1. Hệ thống My Hospital phân quyền người dùng như thế nào trong cơ sở dữ liệu?
Hệ thống phân chia 3 nhóm đối tượng sử dụng thông qua trường dữ liệu quyen nằm trong Node USERS: Bệnh nhân (quyen = 0), Quản trị viên (quyen = 1) và Bác sĩ (quyen = 2). Mỗi quyền truy cập sẽ dẫn đến một giao diện làm việc và tập quyền hạn chức năng riêng biệt trên ứng dụng Android.

2. Trình tự thao tác trên giao diện Bác sĩ được kiểm soát như thế nào để đảm bảo an toàn dữ liệu?
Giao diện Bác sĩ được thiết kế theo quy trình nghiêm ngặt: Khi khởi động, toàn bộ nút chức năng đều bị vô hiệu hóa ngoại trừ nút Scan QR phòng khám. Sau khi quét mã QR phòng, nút Next và nút Scan QR bệnh nhân mới được kích hoạt. Sau khi quét tiếp mã QR của bệnh nhân, các nút ghi bệnh án (Write Status), xem bệnh án (Medical File) và chuyển phòng chuyên khoa (Specialist Clinic) mới mở quyền thao tác. Khi nhấn nút Next, các nút bệnh án lập tức bị khóa lại để chờ lượt khám tiếp theo.

3. Mã QR Code được sử dụng cho những mục đích gì trong hệ thống?
Mã QR được sử dụng cho hai mục đích chính: (1) Thay thế thẻ từ và sổ khám bệnh giấy bằng cách mã hóa định danh email của bệnh nhân thành mã QR lưu trữ trên Firebase Cloud Storage; (2) Dán tại cửa các phòng khám để bác sĩ quét và xác định chính xác địa chỉ Node dữ liệu của phòng khám đó trên Firebase Realtime Database.

4. Khối phần cứng hỗ trợ sử dụng loại vi điều khiển nào và có chức năng gì?
Phần cứng sử dụng kit vi điều khiển NodeMCU ESP8266 (bộ nhớ Flash 4MB, tích hợp Wi-Fi 2.4 GHz) kết hợp nút nhấn và còi Buzzer. Phần cứng chia làm 2 bộ: Bộ cấp số đặt tại quầy tiếp nhận giúp nhân viên cấp số cho bệnh nhân không dùng smartphone và Bộ nút nhấn Next đặt tại bàn khám giúp bác sĩ gọi số thứ tự kế tiếp và phát âm thanh thông báo.

5. Giải pháp xử lý đối với trường hợp bệnh nhân đặt số nhưng không đến khám là gì?
Do chưa tích hợp tính năng thanh toán viện phí qua tài khoản ngân hàng, hệ thống áp dụng cơ chế quản lý kỷ luật: Nếu một bệnh nhân vắng mặt quá 3 lần khi đến lượt khám, hệ thống sẽ tự động khóa tính năng đặt số từ xa của tài khoản đó. Bệnh nhân muốn sử dụng lại phải liên hệ Quản trị viên để được kiểm tra và kích hoạt lại trên hệ thống.


Kết luận

Đồ án tốt nghiệp "Thiết kế hệ thống lấy số khám bệnh từ xa – My Hospital" do sinh viên Đinh Za Huấn và Ngô Bá Trình thực hiện đã hoàn thành việc thiết kế và chế tạo một hệ sinh thái đồng bộ kết hợp giữa ứng dụng di động Android, nền tảng cơ sở dữ liệu thời gian thực Firebase và thiết bị nhúng NodeMCU ESP8266. Hệ thống giải quyết hiệu quả bài toán quá tải tại các cơ sở khám chữa bệnh thông qua các tính năng lấy số từ xa, số hóa định danh bằng mã QR, theo dõi trạng thái phòng khám và ước lượng thời gian khám bệnh theo thời gian thực. Đây là công trình nghiên cứu có tính ứng dụng thực tiễn cao trong lĩnh vực y tế thông minh, đồng thời cung cấp tài liệu kỹ thuật hoàn chỉnh cho các đề tài nghiên cứu tích hợp IoT và di động tiếp theo.