Giới thiệu dự án
Trong bối cảnh y tế dự phòng và kiểm soát sức khỏe cá nhân ngày càng được chú trọng, việc theo dõi các chỉ số sinh trắc học cơ bản như cân nặng, chiều cao và chỉ số khối cơ thể (Body Mass Index - BMI) đóng vai trò then chốt. Theo thống kê từ Tổ chức Y tế Thế giới (WHO), tỷ lệ thừa cân, béo phì cũng như các bệnh lý liên quan đến rối loạn chuyển hóa, tim mạch và tiểu đường đang gia tăng nhanh chóng tại các quốc gia đang phát triển. Tuy nhiên, quy trình đo đạc nhân trắc học truyền thống tại nhiều phòng khám, trường học hay trung tâm thể hình hiện nay vẫn dựa vào các thiết bị cơ học phân tán: thước đo cơ khí thủ công và cân lò xo/cân bàn rời rạc. Phương pháp này tồn tại nhiều nhược điểm như sai số do thị giác người đọc, thời gian thao tác kéo dài (trung bình 45–60 giây/người), không tự động hóa tính toán BMI và thiếu tính tương tác cảnh báo sức khỏe trực tiếp.
Đồ án tốt nghiệp "Thiết kế và thi công cân điện tử" (Ngành Công nghệ Kỹ thuật Điện tử Truyền thông – Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, thực hiện bởi sinh viên Trần Minh Đức dưới sự hướng dẫn của ThS. Phan Vân Hoàn) được nghiên cứu nhằm giải quyết triệt để các hạn chế trên thông qua một hệ sinh thái phần cứng nhúng tích hợp.
+-----------------------------------+
| KHỐI XỬ LÝ TRUNG TÂM |
| (ARM Cortex-M3 STM32) |
+-----------------+-----------------+
|
+-----------------+------------+------------+-----------------+
| | | |
v v v v
+---------+ +--------------+ +--------------+ +-----------+
| CẢM BIẾN | | ĐIỀU KHIỂN | | HIỂN THỊ | | ÂM THANH |
| LOADCELL| | ĐỘNG CƠ BƯỚC | | TFT-LCD | | VS1003 |
| + HX711 | | + L298N | | (ILI9325) | | + SD CARD |
+---------+ +--------------+ +--------------+ +-----------+
Mục tiêu cụ thể của dự án:
- Tự động hóa hoàn toàn quy trình đo lường: Thu thập đồng thời dữ liệu khối lượng cơ thể và chiều cao trong một chu trình duy nhất dưới 10 giây.
- Nâng cao độ chính xác đo lường: Sử dụng mạng cảm biến trọng lượng kết hợp bộ biến đổi tương tự - số (ADC) 24-bit chuyên dụng và cơ cấu trượt định vị sử dụng động cơ bước.
- Trực quan hóa và tương tác âm thanh: Hiển thị kết quả trên màn hình cảm ứng màu TFT-LCD 2.8 inch và phát âm thanh thông báo giọng nói tiếng Việt về chỉ số cân nặng, chiều cao, phân loại BMI cùng lời khuyên sức khỏe thông qua bộ giải mã phần cứng MP3.
- Tối ưu hóa chi phí sản xuất: Ứng dụng vi điều khiển 32-bit hiệu năng cao với giá thành hợp lý, phù hợp thương mại hóa quy mô vừa và nhỏ.
Phạm vi và giới hạn hệ thống:
- Dải đo khối lượng: $0 - 200,\text{kg}$ (độ phân giải hiển thị $0.1,\text{kg}$).
- Dải đo chiều cao: $0.5 - 2.0,\text{m}$ (độ chính xác $\pm 0.5,\text{cm}$).
- Yêu cầu vận hành: Bề mặt lắp đặt bằng phẳng, người đo giữ tư thế đứng thẳng tiếp xúc với thanh trượt cảm biến chạm hành trình.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Hiện nay trên thị trường có 3 nhóm giải pháp chính dùng trong kiểm tra thể lực:
| Tiêu chí | Cân cơ học & thước đo thủ công | Cân sức khỏe điện tử dân dụng | Hệ thống trạm đo nhúng STM32 tích hợp |
|---|---|---|---|
| Độ chính xác khối lượng | Thấp ($\pm 0.5 - 1.0,\text{kg}$) | Trung bình ($\pm 0.2,\text{kg}$) | Cao ($\pm 0.05,\text{kg}$ nhờ ADC 24-bit) |
| Đo chiều cao | Cơ học kéo tay, dễ lệch góc | Không tích hợp | Tự động hóa qua động cơ bước & vi bước |
| Tính toán & cảnh báo BMI | Tính thủ công bằng công thức | Một số dòng hỗ trợ qua LCD 7 đoạn | Tự động tính toán chuẩn WHO/IDI & phát âm thanh |
| Giao diện người dùng | Kim chỉ / Vạch chia | Màn hình LED/LCD đơn sắc | TFT-LCD 2.8" Graphic + Cảm ứng điện trở |
| Thời gian chu trình đo | $45 - 60,\text{giây}$ | $15 - 20,\text{giây}$ (chỉ cân) | $\le 8,\text{giây}$ (Cân + Đo + Phân tích + Đọc giọng nói) |
Ma trận phân loại yêu cầu hệ thống theo mô hình MoSCoW:
- Must have (Bắt buộc): Đo khối lượng bằng 4 cảm biến Loadcell kết hợp module HX711; đo chiều cao bằng cơ cấu thanh trượt động cơ bước qua driver L298N; hiển thị TFT-LCD; tính chỉ số BMI $= \frac{\text{Cân nặng (kg)}}{[\text{Chiều cao (m)}]^2}$.
- Should have (Nên có): Giải mã âm thanh giọng nói qua chip chuyên dụng VS1003 và thẻ nhớ SD Card; nút bấm công nghiệp chuyển đổi linh hoạt giữa chế độ đo và nghe nhạc thư giãn.
- Could have (Có thể mở rộng): Lưu lịch sử người dùng trên thẻ nhớ EEPROM ngoài; giao tiếp không dây Bluetooth gửi dữ liệu về smartphone.
- Won't have (Chưa thực hiện ở pha này): Tích hợp cảm biến đo điện trở sinh học (BIA) để phân tích % mỡ cơ thể và kết nối WiFi Cloud IoT.
Thiết kế hệ thống
+-------------------------------------------------------------------------------+
| KIẾN TRÚC PHẦN CỨNG |
+-------------------------------------------------------------------------------+
| [4x Loadcell 50kg (Cầu Wheatstone)] ---> [HX711 24-bit ADC] |
| | (2-wire Serial: PC14, PC15)|
| [Thanh trượt + Limit Switch] -------> [L298N Driver] <--> [Động cơ bước] |
| | (PA8..PA11, PA4) |
| v |
| +-------------------------------+ |
| | STM32F103RBT6 MCU | |
| | (ARM Cortex-M3 @ 72MHz, 128KB)| |
| +---------------+---------------+ |
| | |
| +--------------------------------+-------------------------------+ |
| | (16-bit Parallel / SPI) |SPI |
| v v |
| [TFT-LCD 2.8" ILI9325 + XPT2046] [VS1003B + SD + Loa] |
+-------------------------------------------------------------------------------+
- Khối xử lý trung tâm: Vi điều khiển STM32F103RBT6 (STMicroelectronics) dựa trên kiến trúc lõi ARM 32-bit Cortex-M3, tần số xung nhịp tối đa $72,\text{MHz}$, bộ nhớ $128,\text{KB}$ Flash, $20,\text{KB}$ SRAM, hỗ trợ đa dạng ngoại vi truyền thông: 2 bộ SPI, 3 bộ USART, 2 bộ I2C, USB 2.0 Full-Speed và bộ điều khiển quản lý xung nhịp nội/ngoại linh hoạt.
- Khối cảm biến trọng lượng:
- Sử dụng 4 cảm biến Loadcell $50,\text{kg}$ bố trí tại 4 góc chân đế, ghép nối thành mạch Cầu điện trở Wheatstone hoàn chỉnh để bù nhiệt và cân bằng tải trọng phân bố không đều (tổng tải định mức $200,\text{kg}$).
- Mạch chuyển đổi ADC 24-bit HX711 khuếch đại điện áp vi sai ngõ vào từ cảm biến (vốn chỉ đạt mức $1 - 3,\text{mV}$) với độ khuếch đại lập trình được (PGA = 128 ở Kênh A), tốc độ lấy mẫu đạt $10,\text{SPS}$ hoặc $80,\text{SPS}$, đảm bảo độ phân giải điện áp cực nhỏ: $$\text{Resolution} = \frac{V_{\text{REF}}}{2^{24}} = \frac{5,\text{V}}{16,777,216} \approx 0.000298,\text{mV} = 0.298,\mu\text{V}$$
- Khối đo chiều cao & truyền động:
- Động cơ bước 2 pha kết hợp trục vitme/dây curoa dẫn động đầu dò trượt tịnh tiến theo phương thẳng đứng.
- Mạch công suất cầu H đôi L298N (chịu dòng cực đại $2,\text{A}/\text{kênh}$) điều khiển cuộn dây động cơ theo chuỗi xung bước (Full-step hoặc Half-step).
- Công tắc hành trình (Limit switch) gắn tại đầu dò tiếp xúc đỉnh đầu, tạo tín hiệu ngắt báo điểm dừng và điểm gốc tham chiếu (Home Position).
- Khối hiển thị & giao tiếp âm thanh:
- Màn hình TFT-LCD 2.8 inch ($240 \times 320,\text{pixels}$, màu RGB 65K/262K, IC điều khiển ILI9325, tích hợp chip giải mã cảm biến chạm XPT2046).
- Module giải mã âm thanh phần cứng VS1003B (VLSI Solution) giao tiếp với vi điều khiển qua chuẩn truyền thông nối tiếp đồng bộ SPI (Serial Peripheral Interface) tốc độ cao, hỗ trợ giải mã trực tiếp định dạng MP3/WAV/WMA từ thẻ nhớ MicroSD lưu trữ cơ sở dữ liệu giọng nói số hóa.
Implementation và kết quả
Development Process & Core Algorithms
Dự án được xây dựng và biên dịch trên môi trường phát triển tích hợp Keil MDK-ARM uVision v5, tối ưu hóa cấu trúc chương trình theo các module hướng đối tượng bằng ngôn ngữ C nhúng tiêu chuẩn.
[Bắt đầu]
|
[Khởi tạo Hệ thống] (Clock 72MHz, GPIO, SPI, HX711, VS1003, TFT-LCD)
|
+-----------------------+
| |
v v
[Chế độ Rảnh] [Nhấn Nút ĐO]
- Phát nhạc MP3 nền |
- Chờ tương tác người dùng v
| [Đọc Loadcell qua HX711]
| - Lấy mẫu 24-bit (20 lần)
| - Lọc trung bình -> Cân nặng (W)
| |
| v
| [Kích hoạt Động cơ bước trượt xuống]
| - Đếm số xung bước n
| - Dừng khi chạm Limit Switch
| - Chiều cao H = H_gốc - (n * d_step)
| |
| v
| [Tính toán BMI = W / (H^2)]
| - Phân loại WHO/IDI
| |
| v
| [Xuất Dữ liệu ra TFT-LCD]
| [VS1003 Đọc file MP3 Voice tương ứng]
| |
+-----------------------+
1. Thuật toán đọc tín hiệu ADC 24-bit từ module HX711
Giao thức 2 dây (PD_SCK và DOUT) được thực thi bằng kỹ thuật định thời vi mô (bit-banging) chính xác:
#include "stm32f10x.h"
#define HX711_DT_PIN GPIO_Pin_14
#define HX711_DT_PORT GPIOC
#define HX711_SCK_PIN GPIO_Pin_15
#define HX711_SCK_PORT GPIOC
uint32_t HX711_ReadCount(void) {
uint32_t count = 0;
uint8_t i;
// Chờ chân DOUT chuyển xuống mức LOW (báo dữ liệu đã sẵn sàng)
GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN);
while (GPIO_ReadInputDataBit(HX711_DT_PORT, HX711_DT_PIN));
// Dịch 24 bit dữ liệu MSB First
for (i = 0; i < 24; i++) {
GPIO_SetBits(HX711_SCK_PORT, HX711_SCK_PIN);
count = count << 1;
GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN);
if (GPIO_ReadInputDataBit(HX711_DT_PORT, HX711_DT_PIN)) {
count++;
}
}
// Xung thứ 25 để thiết lập Gain = 128 cho kênh A ở chu kỳ tiếp theo
GPIO_SetBits(HX711_SCK_PORT, HX711_SCK_PIN);
count = count ^ 0x800000; // Đổi bù 2 sang số nguyên có dấu
GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN);
return count;
}
2. Thuật toán đo khoảng cách chiều cao và tính toán BMI
Hành trình thanh trượt di chuyển được lượng hóa bằng số bước xung phát ra: $$\text{Chiều cao người đo } H = H_{\text{Gốc}} - (N_{\text{xung}} \times \Delta h_{\text{step}})$$ Trong đó: $H_{\text{Gốc}} = 200.0,\text{cm}$; $\Delta h_{\text{step}}$ là độ dịch chuyển trên một bước của trục ren/dây đai ($0.05,\text{mm}/\text{bước}$).
typedef struct {
float weight; // Đơn vị: kg
float height; // Đơn vị: m
float bmi; // Đơn vị: kg/m^2
uint8_t category; // 0: Gầy, 1: Bình thường, 2: Thừa cân, 3: Béo phì
} HealthData_t;
void Calculate_BMI(HealthData_t *data) {
if (data->height > 0.5f) {
data->bmi = data->weight / (data->height * data->height);
// Phân loại theo tiêu chuẩn IDI & WPRO dành cho người châu Á
if (data->bmi < 18.5f) {
data->category = 0; // Cân nặng thấp (Gầy)
} else if (data->bmi >= 18.5f && data->bmi <= 22.9f) {
data->category = 1; // Thể trạng chuẩn (Bình thường)
} else if (data->bmi >= 23.0f && data->bmi <= 24.9f) {
data->category = 2; // Tiền béo phì (Thừa cân)
} else {
data->category = 3; // Béo phì độ I, II, III
}
}
}
Kết quả đo thử nghiệm và đánh giá thực nghiệm
Quá trình hiệu chuẩn hệ thống sử dụng quả cân chuẩn $10,\text{kg}, 20,\text{kg}, 50,\text{kg}$ và thước chuẩn laser kiểm tra chéo:
| STT | Mẫu thử nghiệm | Trọng lượng thực tế (kg) | Trọng lượng đo được (kg) | Chiều cao thực tế (cm) | Chiều cao đo được (cm) | BMI tính toán | Đánh giá sai số |
|---|---|---|---|---|---|---|---|
| 1 | Đối tượng A | 52.30 | 52.35 | 165.0 | 165.2 | 19.18 | $+0.09%$ (Rất nhỏ) |
| 2 | Đối tượng B | 68.50 | 68.40 | 172.0 | 171.8 | 23.18 | $-0.14%$ (Đạt chuẩn) |
| 3 | Đối tượng C | 81.20 | 81.30 | 168.5 | 168.4 | 28.67 | $+0.12%$ (Rất nhỏ) |
| 4 | Đối tượng D | 44.00 | 43.90 | 158.0 | 158.3 | 17.52 | $-0.22%$ (Đạt chuẩn) |
- Thời gian xử lý trung bình: $6.8,\text{giây}$ cho toàn bộ quy trình (ổn định trọng lượng $\rightarrow$ thanh trượt quét chiều cao $\rightarrow$ tính BMI $\rightarrow$ tổng hợp phát file âm thanh).
- Độ ổn định giao tiếp SPI: Tỷ lệ mất gói dữ liệu giữa STM32 và VS1003/SD Card là $0%$ ở tần số $9,\text{MHz}$.
Đổi mới và đóng góp
- Cơ cấu đo lường đồng bộ tích hợp (All-in-one Smart Kiosk): Khắc phục sự phân mảnh giữa cân nặng và chiều cao bằng cơ chế tự động hóa cơ - điện tử, loại bỏ hoàn toàn sai số chủ quan từ con người.
- Khả năng tương tác thông minh qua âm thanh: Tích hợp chip giải mã phần cứng VS1003B tạo sự thân thiện, hỗ trợ tối đa cho người khiếm thị hoặc người cao tuổi khó quan sát màn hình.
- Cải tiến hiệu suất với vi điều khiển ARM 32-bit: Nâng cấp vượt trội so với các họ vi điều khiển 8-bit truyền thống (như ATmega328P hay 8051) về khả năng xử lý đồ họa trên LCD màu TFT và đa nhiệm ngoại vi theo thời gian thực.
+-----------------------------------------+
| TỐC ĐỘ THAO TÁC TOÀN HỆ THỐNG |
+-----------------------------------------+
Phương pháp truyền thống [========================================] 60s
Hệ thống nhúng STM32 [====] 6.8s (Nhanh hơn 88.6%)
Ứng dụng thực tế và triển khai
Kịch bản triển khai ứng dụng:
- Cơ sở y tế & Trung tâm y tế dự phòng: Hỗ trợ phân loại thể lực bệnh nhân tại sảnh chờ, giảm tải áp lực đo lường ban đầu cho điều dưỡng.
- Trường học & Trung tâm thể thao (Gym, Fitness): Giám sát định kỳ sự phát triển thể chất của học sinh, sinh viên và hội viên luyện tập.
- Nhà thuốc thông minh: Lắp đặt trạm tự phục vụ (Self-service Health Station) thu hút khách hàng đến khám phá và nhận tư vấn sức khỏe.
Bảng phân tích chi phí phần cứng (BOM - Bill of Materials):
| STT | Tên linh kiện / Module | Quy cách kỹ thuật | Số lượng | Đơn giá ước tính (VND) | Thành tiền (VND) |
|---|---|---|---|---|---|
| 1 | KIT STM32F103RBT6 | ARM Cortex-M3 72MHz, 128KB Flash | 1 | 180,000 | 180,000 |
| 2 | Màn hình TFT-LCD 2.8" | 240x320, cảm ứng ILI9325/XPT2046 | 1 | 220,000 | 220,000 |
| 3 | Cảm biến Loadcell 50kg | Cảm biến cầu điện trở bán dẫn | 4 | 35,000 | 140,000 |
| 4 | Module ADC 24-bit HX711 | 2 kênh vi sai, PGA 128 | 1 | 25,000 | 25,000 |
| 5 | Module âm thanh VS1003B | Giải mã phần cứng MP3/WAV, SPI | 1 | 150,000 | 150,000 |
| 6 | Động cơ bước + Driver L298N | Động cơ 2 pha + Cầu H đôi 2A | 1 | 160,000 | 160,000 |
| 7 | Khung cơ khí, bộ trượt & phụ kiện | Nhôm định hình, công tắc hành trình, nguồn 5V/12V | 1 | 450,000 | 450,000 |
| TỔNG | Chi phí chế tạo phần cứng (BOM) | 1,325,000 VND |
Với chi phí phần cứng dưới $1,500,000,\text{VND}$, thiết bị có khả năng cạnh tranh vượt trội so với các trạm đo nhập khẩu (thường có giá từ 10 đến 25 triệu VND), mang lại thời gian hoàn vốn (ROI) dưới 6 tháng cho các cơ sở dịch vụ.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại:
- Cơ cấu tiếp xúc đỉnh đầu sử dụng công tắc hành trình cơ học cần đảm bảo lực chạm êm ái, tránh gây khó chịu cho người dùng.
- Hệ thống chưa hỗ trợ kết nối mạng không dây để đồng bộ dữ liệu vào hồ sơ bệnh án điện tử (EMR).
Hướng phát triển:
- Tích hợp cảm biến khoảng cách không tiếp xúc: Thay thế công tắc hành trình bằng cảm biến siêu âm (Ultrasonic) công nghiệp hoặc cảm biến quang học ToF (Time-of-Flight / LiDAR) có độ chính xác cỡ milimet.
- Nâng cấp kết nối IoT: Bổ sung module ESP32/Wi-Fi hoặc GSM/4G để tự động gửi thông tin đo lường về ứng dụng di động qua giao thức MQTT/HTTP RESTful API.
- Ứng dụng Trí tuệ nhân tạo (Edge AI): Đưa ra thực đơn dinh dưỡng và lộ trình tập luyện cá nhân hóa theo từng nhóm thể trạng BMI ngay trên màn hình.
Đối tượng hưởng lợi
- Sinh viên & Giảng viên ngành Kỹ thuật Điện tử - Viễn thông, Nhúng & IoT: Tài liệu tham khảo toàn diện về giao tiếp đa chuẩn (SPI, GPIO bit-banging, ADC 24-bit, điều khiển động cơ bước và giao tiếp màn hình màu).
- Kỹ sư phát triển sản phẩm: Cung cấp kiến trúc phần cứng và mã nguồn mẫu chuẩn hóa, dễ dàng tái sử dụng trong các hệ thống thiết bị đo y sinh.
- Cơ sở y tế & Doanh nghiệp: Giải pháp tự động hóa giúp tiết kiệm $85%$ nhân lực đo đạc thể lực ban đầu, tối ưu hóa quy trình khám sức khỏe định kỳ.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật cốt lõi để triển khai và nạp code cho hệ thống là gì?
Cần máy tính cài đặt môi trường Keil MDK-ARM v5 (hỗ trợ pack STM32F1xx), mạch nạp ST-Link V2 (hoặc J-Link) giao tiếp qua cổng SWD (Serial Wire Debug gồm 2 chân SWDIO và SWCLK), bộ nguồn tổ ong $12,\text{V}/3,\text{A}$ cho động cơ và hạ áp $5,\text{V}/3.3,\text{V}$ cho MCU cùng các cảm biến.
2. Làm thế nào để loại bỏ nhiễu và hiện tượng trôi điểm 0 (Zero Drift) của Loadcell?
Trong firmware, cần thực hiện quy trình tự động lấy mẫu định chuẩn điểm 0 (Tare) ngay khi khởi động: đọc trung bình 20 mẫu từ HX711 khi không tải để lưu giá trị Offset, kết hợp thuật toán lọc trung bình động (Moving Average Filter) để triệt tiêu rung động cơ học môi trường.
3. Tại sao chọn bộ giải mã phần cứng VS1003 thay vì phát âm thanh trực tiếp từ DAC của STM32?
VS1003 giải mã trực tiếp dữ liệu nén MP3 từ thẻ nhớ với bộ DAC chất lượng cao tích hợp sẵn, giúp giải phóng hoàn toàn tài nguyên CPU của STM32F103 (vốn không có bộ FPU phần cứng) để tập trung xử lý điều khiển động cơ và quét màn hình cảm ứng mượt mà.
4. Hệ thống có dễ bảo trì và thay thế linh kiện khi xảy ra lỗi không?
Thiết kế phần cứng được module hóa độc lập theo từng khối (Khối nguồn, Khối vi xử lý, Khối cảm biến, Khối công suất, Khối hiển thị). Khi có sự cố (ví dụ hỏng công tắc hành trình hoặc đứt dây Loadcell), kỹ thuật viên có thể kiểm tra riêng từng chân tín hiệu và thay thế nhanh chóng module tương đương.
5. Khả năng mở rộng dải đo cho các ứng dụng công nghiệp hoặc nhi khoa như thế nào?
Để mở rộng tải trọng lên $500,\text{kg} - 1,\text{tấn}$ cho công nghiệp, chỉ cần thay đổi 4 cảm biến Loadcell tương ứng và cấu hình lại hệ số tỉ lệ (Scale Factor) trong mã nguồn firmware mà không cần thay đổi kiến trúc xử lý trung tâm.
Kết luận
Đề tài tốt nghiệp "Thiết kế và thi công cân điện tử" đã hiện thực hóa thành công một hệ thống đo lường nhân trắc học và đánh giá sức khỏe tự động, kết hợp hài hòa giữa kỹ thuật vi xử lý ARM 32-bit, cảm biến lực chính xác cao 24-bit, cơ cấu truyền động cơ khí chính xác và giao diện tương tác nghe - nhìn trực quan. Kết quả thực nghiệm khẳng định độ chính xác vượt trội (sai số dưới $0.2%$), tốc độ xử lý nhanh chóng ($<7,\text{giây}$) và tiềm năng thương mại hóa cao trong đời sống. Đây là nền tảng vững chắc để tiếp tục mở rộng phát triển thành các trạm y tế thông minh (Smart Healthcare Stations) kết nối dữ liệu đám mây trong kỷ nguyên Y tế số 4.0.