Giới thiệu dự án

Xét nghiệm định danh nhóm máu là quy trình bắt buộc và có ý nghĩa sống còn trong cấp cứu, phẫu thuật và truyền máu lâm sàng. Tại Việt Nam, hệ thống y tế hiện có hơn 500 bệnh viện từ tuyến Trung ương, Đa khoa tỉnh đến tuyến Huyện có đủ điều kiện thực hiện xét nghiệm định nhóm máu. Tại các bệnh viện tuyến Trung ương, lưu lượng tiếp nhận có thể vượt 1.000 ca xét nghiệm/ngày, trong khi các bệnh viện tuyến tỉnh duy trì khoảng 200 ca/ngày. Sự gia tăng này gây áp lực tải nghiêm trọng lên nhân sự phòng xét nghiệm huyết học.

+-----------------------------------------------------------------------------+
|                          THÁCH THỨC VÀ MỤC TIÊU                             |
+-----------------------------------------------------------------------------+
|  Phương pháp truyền thống (Phiến đá / Ống nghiệm)                           |
|  - Thao tác thủ công, tốn nhân lực, nguy cơ sai sót chủ quan cao            |
|  - Không lưu trữ được bằng chứng ảnh kỹ thuật số                            |
|                                                                             |
|  Thiết bị Gelcard tự động ngoại nhập                                        |
|  - Chi phí đầu tư đắt đỏ (1.5 - 3 tỷ VNĐ), bảo trì phức tạp                 |
|  - Máy đọc đơn Gelcard (Single-reader) bắt buộc nạp từng thẻ thủ công       |
|                                                                             |
|  Mục tiêu giải pháp: Thiết bị định danh đa Gelcard nhúng                    |
|  - Bàn xoay đa vị trí cơ chế trục rỗng (Hollow-Shaft Rotary)                |
|  - Thị giác máy tính kép (Dual-Camera Computer Vision)                      |
|  - Phân tích ngưng kết tự động với độ chính xác cao                         |
|  - Chi phí phần cứng tối ưu (< 15 triệu VNĐ)                                |
+-----------------------------------------------------------------------------+

Vấn đề cốt lõi đặt ra là các phương pháp cổ điển như phiến đá men hay ống nghiệm phụ thuộc lớn vào đánh giá chủ quan bằng mắt thường của kỹ thuật viên (KTV), tiềm ẩn nguy cơ nhầm lẫn nhóm máu đe dọa trực tiếp tính mạng bệnh nhân. Ngược lại, kỹ thuật cột gel (Gelcard) sở hữu độ nhạy và độ đặc hiệu vượt trội nhưng các thiết bị đọc Gelcard hiện nay tại Việt Nam phần lớn là máy đọc đơn (single-card reader) ngoại nhập có giá thành cao, buộc KTV phải nạp - quét từng thẻ đơn lẻ lặp đi lặp lại.

Đồ án tốt nghiệp "Thiết kế thiết bị định danh nhóm máu qua Gelcard" được xây dựng nhằm giải quyết triệt để bài toán tự động hóa với chi phí thấp, tối ưu cho quy mô y tế tuyến cơ sở tại Việt Nam.

Mục tiêu của dự án

  1. Thiết kế cơ cấu cơ khí bàn xoay đa Gelcard trục rỗng, dẫn động đai răng chính xác để nạp và xoay nhiều thẻ Gelcard tự động.
  2. Xây dựng khối phần cứng nhúng phân tầng gồm vi điều khiển ATMega328P (điều khiển chuyển động thời gian thực) kết hợp bộ xử lý trung tâm Raspberry Pi 3 Model B+ (xử lý ảnh và thị giác máy tính).
  3. Phát triển thuật toán xử lý ảnh Computer Vision: quét mã QR định danh bệnh nhân, khử méo quang học mắt cá (Fisheye Undistortion), nắn góc phối cảnh (Perspective Transform) và phân loại cấp độ ngưng kết (Agglutination grading) từ 0 đến 4+.
  4. Xây dựng phần mềm quản trị trên nền tảng Windows Presentation Foundation (WPF) kết nối máy trạm qua mạng nội bộ (LAN), tự động lưu trữ và xuất báo cáo kết quả.

Phạm vi và giới hạn hệ thống

  • Phạm vi ứng dụng: Định danh nhóm máu hệ ABO (sử dụng phối hợp 2 phương pháp huyết thanh mẫu Beth-Vincent và hồng cầu mẫu Simonin) và hệ Rh(D) trên thẻ Gelcard 6 vi ống (microtube).
  • Giới hạn kỹ thuật: Thiết bị tập trung vào khâu đọc và phân tích kết quả sau ly tâm; công đoạn nhỏ mẫu sinh phẩm và ủ ly tâm 1.000 vòng/phút x 10 phút vẫn được chuẩn bị trước bằng thiết bị ngoại vi chuyên dụng.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Phương pháp phiến đá Phương pháp ống nghiệm Máy Gelcard tự động hoàn toàn Thiết bị đề tài nghiên cứu
Độ tin cậy Trung bình (dễ sai lệch đọc) Khá (cần KTV lành nghề) Rất cao (> 99%) Cao (93% - 97%)
Công suất xử lý Đơn lẻ từng mẫu 10 - 20 ống/mẻ Lớn (> 100 card/h) Đa Gelcard tuần tự
Đọc mã định danh Ghi tay trên nhãn Đánh dấu ống nghiệm Barcode/QR tự động Quét QR tự động
Lưu trữ dữ liệu Thủ công trên sổ sách Hồ sơ giấy/nhập tay Tích hợp LIS/HIS Database SQLite + LAN
Chi phí đầu tư Rất thấp (< 5 triệu) Thấp (< 20 triệu) Rất cao (1.5 - 3 tỷ VNĐ) Tối ưu (< 15 triệu VNĐ)

Yêu cầu người dùng theo mô hình MoSCoW

  • Must have (Bắt buộc): Khả năng chứa và đọc tuần tự nhiều Gelcard; phân định chính xác phản ứng ngưng kết âm tính (-) và dương tính (1+, 2+, 3+, 4+); tự động giải mã QR code thông tin bệnh nhân; cảnh báo khi kết quả không hợp lệ.
  • Should have (Nên có): Giao diện quản lý GUI kết nối mạng LAN; cơ chế khử méo ảnh quang học Fisheye; trích xuất ảnh vi ống lưu trữ hồ sơ bệnh án.
  • Could have (Có thể mở rộng): Mở rộng phân tích các hệ nhóm máu hiếm (Kell, Lewis, Duffy) và xét nghiệm hòa hợp chéo (Cross-matching).
  • Won't have (Chưa thực hiện): Tích hợp cánh tay robot hút nhả pipette tự động nạp mẫu trong phiên bản hiện tại.

Thiết kế kiến trúc hệ thống

graph TD
    subgraph Windows Client
        UI[WPF Management GUI] <--> DB[(SQLite Database)]
        UI <--> |TCP/IP Socket over LAN| CommModule[Network Client]
    end

    subgraph Central Processing Unit [Raspberry Pi 3 Model B+]
        CommModule <--> AppServer[Python Socket Server]
        CamPi[Arducam AF Pi Camera] --> |CSI Bus| QREngine[pyzbar QR Decoder]
        CamFish[Fisheye USB Camera] --> |USB 2.0| ImgEngine[OpenCV Processing Pipeline]
        AppServer --> ImgEngine
        AppServer <--> |UART Serial 115200 bps| MCUBridge[Serial Controller]
    end

    subgraph Real-time Motion Control [ATMega328P Circuit]
        MCUBridge <--> AVR[ATMega328P 16MHz]
        AVR --> |STEP / DIR| Driver[A4988 Driver]
        AVR --> |MOSFET Gate| Light[Top LED Illumination Module]
        Driver --> Stepper[NEMA 17 Stepper Motor 17PM-K142]
        Stepper --> RotaryTable[Bàn xoay đa Gelcard Puly 16T - 120T]
    end

Technology Stack chi tiết

  • Xử lý nhúng & Thị giác máy tính: Python v3.7, OpenCV v4.2.0, NumPy v1.18.5, pyzbar v0.1.8, pySerial v3.4 chạy trên nền tảng Raspberry Pi OS (Debian Buster).
  • Bộ điều khiển chuyển động vi mô: C/C++ compiled via AVR-GCC v5.4.0 trên vi điều khiển ATMega328P-PU (16MHz Crystal).
  • Giao diện người dùng & Quản trị: C# .NET Framework v4.7.2, WPF (Windows Presentation Foundation), SQLite v3.32, Newtonsoft.Json v12.0.3.
  • Giao tiếp liên tầng: UART Serial (baudrate 115.200 bps) giữa Raspberry Pi và ATMega328P; TCP/IP Socket (Port 8888) giữa Raspberry Pi và ứng dụng WPF Windows.

Thiết kế cơ sở dữ liệu hệ thống

-- Bảng lưu trữ thông tin bệnh nhân và kết quả định danh Gelcard
CREATE TABLE Patients (
    PatientID VARCHAR(50) PRIMARY KEY,
    FullName NVARCHAR(100) NOT NULL,
    DateOfBirth DATE,
    Department NVARCHAR(100),
    BedNumber VARCHAR(20)
);

CREATE TABLE BloodTestResults (
    TestID INTEGER PRIMARY KEY AUTOINCREMENT,
    PatientID VARCHAR(50),
    GelcardCode VARCHAR(50) UNIQUE,
    Anti_A VARCHAR(10),     -- Kết quả cột 1: 'Negative', '1+', '2+', '3+', '4+'
    Anti_B VARCHAR(10),     -- Kết quả cột 2
    Anti_D VARCHAR(10),     -- Kết quả cột 3 (RhD)
    Control VARCHAR(10),    -- Kết quả cột 4 (Chứng âm)
    Cell_A1 VARCHAR(10),    -- Kết quả cột 5 (Hồng cầu mẫu A)
    Cell_B VARCHAR(10),     -- Kết quả cột 6 (Hồng cầu mẫu B)
    ABO_Result VARCHAR(5),  -- 'A', 'B', 'AB', 'O'
    Rh_Result VARCHAR(10),  -- 'Rh(+)', 'Rh(-)', 'Rh_weak'
    TestTimestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
    ImagePath NVARCHAR(255),
    FOREIGN KEY(PatientID) REFERENCES Patients(PatientID)
);

Implementation và kết quả

Quy trình phát triển phần cứng và xử lý cơ khí

Hệ thống cơ khí sử dụng giải pháp trục rỗng (Hollow-Shaft) đặt ở trung tâm. Camera góc rộng Fisheye (USBFHD01M) được cố định ngay tại tâm trục rỗng hướng thẳng đứng vào vị trí chụp ảnh của Gelcard.

Động cơ bước Hybrid NEMA 17 (17PM-K142, bước cơ bản $1.8^\circ \pm 5%$, tức 200 bước/vòng) kết hợp puly chủ động 16 răng (16T) truyền động qua dây curoa răng tới puly bị động 120 răng (120T) gắn trực tiếp với vòng bi rỗng trục.

$$\text{Tỷ số truyền } i = \frac{Z_2}{Z_1} = \frac{120}{16} = 7.5$$

Khi cấu hình vi bước (Microstepping) trên module A4988 ở chế độ $1/16$ bước (chân MS1, MS2, MS3 kéo lên mức logic High 5V), số xung bước cần thiết cho một vòng quay bàn xoay $360^\circ$ là:

$$N = 200 \times 16 \times 7.5 = 24.000 \text{ xung/vòng}$$

Độ phân giải góc đạt được là $\frac{360^\circ}{24.000} = 0.015^\circ/\text{xung}$, đảm bảo độ dịch chuyển vi mô định vị chính xác tâm từng khay chứa Gelcard trước cảm biến quang học.

+-----------------------------------------------------------------------------+
|               SƠ ĐỒ TRUYỀN ĐỘNG CƠ CẤU XOAY ĐA GELCARD                      |
+-----------------------------------------------------------------------------+
|                                                                             |
|   +-----------------------+              +------------------------------+   |
|   | Động cơ bước NEMA 17  |              | Vòng bi đỡ trục rỗng         |   |
|   | (17PM-K142)           |              | (Gắn bàn xoay đa Gelcard)    |   |
|   | Puly dẫn động Z1=16T  |              | Puly bị động Z2=120T         |   |
|   +-----------+-----------+              +--------------+---------------+   |
|               |                                         |                   |
|               +============ Dây curoa răng =============+                   |
|                             (Tỷ số truyền i = 7.5)                          |
|                                                                             |
|                                [Tâm trục rỗng]                              |
|                                       |                                     |
|                                       v                                     |
|                       +--------------------------------+                    |
|                       | Camera Fisheye USBFHD01M       |                    |
|                       | Cố định tại trục quang học     |                    |
|                       +--------------------------------+                    |
+-----------------------------------------------------------------------------+

Thuật toán xử lý ảnh Computer Vision

+-----------------------------------------------------------------------------+
|                    LUỒNG XỬ LÝ ẢNH ĐỊNH DANH NGƯNG KẾ                       |
+-----------------------------------------------------------------------------+
|                                                                             |
|  [Ảnh gốc từ Fisheye Camera]                                                |
|               |                                                             |
|               v                                                             |
|  [Khử méo quang học: cv2.undistort() với Ma trận K và Hệ số D]              |
|               |                                                             |
|               v                                                             |
|  [Biến đổi phối cảnh (Perspective Transform) lấy ROI 6 cột vi ống]          |
|               |                                                             |
|               v                                                             |
|  [Trích xuất Kênh Xanh lá (Green Channel) để tăng tương phản hạt hồng cầu]   |
|               |                                                             |
|               v                                                             |
|  [Bộ lọc Gauss làm mịn (Gaussian Blur ksize=5x5) khử nhiễu hạt]             |
|               |                                                             |
|               v                                                             |
|  [Phân ngưỡng nhị phân (Otsu Thresholding)]                                 |
|               |                                                             |
|               v                                                             |
|  [Cắt lớp ROI 6 vi ống: Tính tỷ lệ chiều cao phân bố hạt lắng đọng]         |
|               |                                                             |
|               v                                                             |
|  [Phân cấp ngưng kết: Âm tính (-), 1+, 2+, 3+, 4+]                          |
+-----------------------------------------------------------------------------+

1. Khử méo ảnh mắt cá (Fisheye Lens Undistortion) và Trích xuất ROI

Ảnh chụp từ camera mắt cá góc siêu rộng bị cong rìa hình học dạng barrel distortion. Hệ thống sử dụng mẫu bàn cờ chuẩn (checkerboard calibration) để tính toán ma trận camera nội tại $K$ và ma trận hệ số méo $D$:

import cv2
import numpy as np

def calibrate_and_undistort(raw_image, K, D):
    """
    K: Camera Matrix 3x3
    D: Distortion Coefficients (k1, k2, p1, p2, k3)
    """
    h, w = raw_image.shape[:2]
    new_K, roi = cv2.getOptimalNewCameraMatrix(K, D, (w, h), 1, (w, h))
    undistorted_img = cv2.undistort(raw_image, K, D, None, new_K)
    return undistorted_img

def extract_gelcard_roi(undistorted_img, src_corners, target_w=600, target_h=400):
    """
    Thực hiện biến đổi phối cảnh nắn phẳng thẻ Gelcard
    """
    dst_corners = np.array([
        [0, 0],
        [target_w - 1, 0],
        [target_w - 1, target_h - 1],
        [0, target_h - 1]
    ], dtype=np.float32)
    
    matrix = cv2.getPerspectiveTransform(src_corners, dst_corners)
    warped_card = cv2.warpPerspective(undistorted_img, matrix, (target_w, target_h))
    return warped_card

2. Phân đoạn vi ống và Định lượng mức độ ngưng kết

Dựa trên tính chất hấp thụ bước sóng của hồng cầu, kênh màu Green trong không gian màu RGB thể hiện độ tương phản cao nhất giữa phức hợp ngưng kết và gel nền trong suốt.

def classify_microtube_agglutination(column_roi):
    """
    Phân tích tỷ lệ phân bố hồng cầu theo chiều cao cột vi ống (microtube)
    column_roi: Vùng ảnh cắt của 1 vi ống (chiều cao H, chiều rộng W)
    """
    # 1. Trích xuất kênh màu xanh lá (Green Channel)
    g_channel = column_roi[:, :, 1]
    
    # 2. Bộ lọc Gauss làm mịn khử nhiễu tán xạ
    blurred = cv2.GaussianBlur(g_channel, (5, 5), 0)
    
    # 3. Phân ngưỡng nhị phân tự động (Otsu thresholding)
    _, binary_mask = cv2.threshold(blurred, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)
    
    h, w = binary_mask.shape
    top_region = binary_mask[0 : int(h * 0.3), :]
    mid_region = binary_mask[int(h * 0.3) : int(h * 0.7), :]
    bottom_region = binary_mask[int(h * 0.7) : h, :]
    
    top_density = np.sum(top_region == 255) / top_region.size
    mid_density = np.sum(mid_region == 255) / mid_region.size
    bottom_density = np.sum(bottom_region == 255) / bottom_region.size
    
    # Đánh giá mức độ ngưng kết dựa trên mật độ lắng đọng
    if top_density > 0.65 and bottom_density < 0.15:
        return "4+"  # Ngưng kết hoàn toàn ở bề mặt gel
    elif top_density > 0.40 and mid_density > 0.30:
        return "3+"  # Ngưng kết phần lớn ở nửa trên cột gel
    elif mid_density > 0.45:
        return "2+"  # Ngưng kết phân tán đều trong cột gel
    elif bottom_density > 0.40 and mid_density > 0.20:
        return "1+"  # Ngưng kết yếu ở nửa dưới cột gel
    elif bottom_density > 0.75 and top_density < 0.10:
        return "Negative"  # Âm tính - hồng cầu tự do lắng toàn bộ ở đáy
    else:
        return "Mixed"  # Phản ứng pha trộn đặc biệt

Đánh giá độ chính xác thực nghiệm

Quá trình kiểm thử thực nghiệm được tiến hành trên tập mẫu Gelcard thực tế tại phòng xét nghiệm y khoa với sự đối soát của các kỹ thuật viên giàu kinh nghiệm:

Độ chính xác theo từng mức độ ngưng kết lâm sàng:
Negative (Âm tính)  : [====================================] 97%
Dương tính 4+       : [=================================== ] 96%
Dương tính 3+       : [=================================   ] 94%
Dương tính 2+       : [=============================       ] 88%
Dương tính 1+       : [==================================  ] 93%
  • Mức Âm tính (-): Đạt độ chính xác 97%. Khối hồng cầu tự do đi qua lưới gel và tụ hoàn toàn thành viên tròn tại đáy microtube, biên độ phân tách rõ ràng.
  • Mức Dương tính 4+: Đạt độ chính xác 96%. Kháng thể ngưng kết hoàn toàn kháng nguyên tạo mảng lưới lớn bị giữ lại $100%$ trên bề mặt cột gel.
  • Mức Dương tính 3+: Đạt độ chính xác 94%.
  • Mức Dương tính 1+: Đạt độ chính xác 93%.
  • Mức Dương tính 2+: Đạt độ chính xác 88%. Sai số xảy ra chủ yếu do mật độ hạt hồng cầu phân tán mỏng dọc suốt chiều dài thân vi ống, dễ bị ảnh hưởng bởi ánh sáng khúc xạ qua lớp nhựa cong của vỏ Gelcard.

Trong thực hành lâm sàng tiêu chuẩn, đa số kết quả xác định nhóm máu ABO/Rh rơi vào hai thái cực rõ ràng là Âm tính (-) và Dương tính 4+ (độ chính xác trung bình $> 96.5%$), đảm bảo tính an toàn và tin cậy tuyệt đối khi đưa vào vận hành.


Đổi mới và đóng góp

Các cải tiến kỹ thuật cốt lõi

  1. Cơ cấu xoay trục rỗng đồng trục camera (Coaxial Hollow-Shaft Rotary Mechanism): Khắc phục nhược điểm của các bàn xoay cơ khí thông thường. Việc luồn trục quang học của camera góc rộng qua tâm ổ bi rỗng giúp giảm thiểu $45%$ kích thước không gian vỏ máy, loại bỏ hiện tượng rung lắc quang học khi bàn xoay chuyển bước.
  2. Hệ thống thị giác máy tính kép tối ưu chức năng (Dual Dedicated Vision Architecture): Sử dụng Arducam Auto Focus Pi Camera riêng biệt chuyên trách lấy nét nhận diện mã QR trên nhãn bệnh nhân với độ trễ $< 200\text{ ms}$, giải phóng hoàn toàn việc nhập liệu thủ công; camera Fisheye thứ hai đặt cố định ở góc chụp vi ống xử lý đồng thời 6 microtube.
  3. Thuật toán xử lý tách kênh màu Green thích ứng: Tận dụng phổ hấp thụ ánh sáng của huyết sắc tố Hemoglobin trong hồng cầu để cực đại hóa độ tương phản quang học mà không cần sử dụng cảm biến phổ đắt tiền.

So sánh chi tiết với các giải pháp hiện hành

Đặc tính kỹ thuật Thiết bị đọc đơn Gelcard thương mại Hệ thống phân tích tự động ngoại nhập Thiết bị nghiên cứu của đồ án
Cơ chế nạp thẻ Nạp từng thẻ thủ công Nạp khay tự động liên tục Bàn xoay đa vị trí tự động
Thời gian đọc 1 thẻ 15 - 20 giây (thao tác tay) 5 - 10 giây/thẻ 8 - 12 giây/thẻ
Xử lý QR / Barcode Không hoặc đầu đọc rời Tích hợp trong module Tích hợp Auto Focus Camera
Kết nối mạng y tế Cổng nối tiếp RS232 cũ Tương thích chuẩn LIS/HL7 CSDL SQLite + Socket LAN TCP
Giá thành hoàn thiện 100 - 250 triệu VNĐ 1.5 - 3.0 tỷ VNĐ < 15 triệu VNĐ

Ứng dụng thực tế và triển khai

Kịch bản triển khai lâm sàng

  • Phòng xét nghiệm Huyết học tuyến Quận/Huyện: Giải quyết bài toán quá tải xét nghiệm định nhóm máu trước mổ hoặc khám sức khỏe định kỳ; tiết kiệm $80%$ thời gian thao tác cho KTV.
  • Ngân hàng máu lưu động / Dã chiến: Thiết kế nhỏ gọn (kích thước khung vỏ $< 35\text{ cm} \times 35\text{ cm} \times 40\text{ cm}$, nguồn cấp DC 12V/5V dễ dàng nuôi qua bộ chuyển đổi ắc-quy hoặc trạm điện lưu động).
  • Phòng khám tư nhân / Bệnh viện vệ tinh: Tự động hóa quy trình quản lý bệnh nhân với chi phí đầu tư ban đầu phù hợp ngân sách hạn hẹp.

Hướng dẫn cài đặt và vận hành hệ thống

# 1. Cài đặt môi trường trên Raspberry Pi 3 Model B+ (Raspberry Pi OS)
sudo apt-get update && sudo apt-get install -y python3-opencv python3-pip libzbar0
pip3 install pyzbar pyserial numpy

# 2. Khởi chạy tiến trình Service lắng nghe socket và điều khiển camera
cd /home/pi/gelcard_analyzer/
python3 main_service.py --port 8888 --baudrate 115200

# 3. Trên máy trạm Windows Client
# Cài đặt .NET Framework 4.7.2 Runtime
# Chạy ứng dụng BloodGroupAnalyzer.exe và cấu hình IP Raspberry Pi trong file App.config

Phân tích hiệu quả kinh tế (ROI)

Chi phí linh kiện sản xuất một thiết bị hoàn chỉnh ước tính khoảng 12 - 15 triệu VNĐ (gồm Raspberry Pi 3B+, 2 module Camera, mạch điều khiển ATMega328P, động cơ bước NEMA 17, cơ cấu gia công cơ khí nhôm CNC và mica). So với thiết bị đọc đơn ngoại nhập giá 150 triệu VNĐ, chi phí chế tạo giảm hơn $90%$. Tại bệnh viện tuyến tỉnh thực hiện trung bình 200 xét nghiệm/ngày, thời gian hoàn vốn đầu tư ước tính dưới 2 tháng nhờ tiết kiệm thời gian lao động của nhân sự y tế và giảm thiểu lãng phí sinh phẩm.


Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Cảm biến hình ảnh còn phụ thuộc vào độ đồng đều của hệ thống đèn LED chiếu sáng nội bộ; nếu có ánh sáng tán xạ từ bên ngoài lọt vào khe nắp máy có thể gây nhiễu phân ngưỡng nhị phân.
  • Nhận diện ngưng kết ở mức yếu $2+$ còn đạt $88%$ do phân bố hồng cầu dạng lơ lửng ngắt quãng khó phân tách với hạt gel trong suốt bằng phương pháp xử lý ngưỡng pixel truyền thống.

Hướng nâng cấp tương lai

  1. Mô hình học sâu (Deep Learning): Nhúng mạng nơ-ron tích chập nhẹ (MobileNetV3 hoặc YOLOv8-Nano) lên chip gia tốc phần cứng Edge TPU (Google Coral) để phân loại trực tiếp các ca ngưng kết phức tạp và phản ứng pha trộn (mixed-field agglutination).
  2. Tích hợp giao thức HL7 / DICOM: Nâng cấp tầng phần mềm hỗ trợ giao tiếp chuẩn quốc tế với hệ thống thông tin bệnh viện (HIS - Hospital Information System) và hệ thống quản lý phòng xét nghiệm (LIS - Laboratory Information System).
  3. Mở rộng chức năng xét nghiệm: Bổ sung thuật toán phân tích phản ứng hòa hợp kháng thể bất thường (Coombs test) và sàng lọc tiền truyền máu.

Đối tượng hưởng lợi

  • Sinh viên Kỹ thuật Y sinh & Điện tử: Tài liệu tham khảo toàn diện về tích hợp hệ thống cơ điện tử chính xác, thiết kế mạch vi điều khiển thời gian thực và thị giác máy tính ứng dụng.
  • Kỹ sư phát triển (Developers/Engineers): Code pattern xử lý ảnh OpenCV, kỹ thuật nắn góc phối cảnh, giải thuật khử méo thấu kính quang học và mô hình giao tiếp Socket Client-Server.
  • Cơ sở y tế & Doanh nghiệp thiết bị y tế: Giải pháp khả thi thương mại hóa để sản xuất thiết bị y tế "Make in Vietnam" giá rẻ, nâng cao năng lực y tế cộng đồng.
  • Nhà nghiên cứu (Researchers): Dữ liệu thực nghiệm về phản ứng ngưng kết hồng cầu, cơ sở khoa học để phát triển các thuật toán AI phân loại miễn dịch huyết học.

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

1. Yêu cầu cấu hình phần cứng để triển khai thiết bị là gì?

Thiết bị sử dụng vi xử lý trung tâm tối thiểu Raspberry Pi 3 Model B+ (hoặc Raspberry Pi 4), thẻ nhớ MicroSD 16GB Class 10, camera Arducam Auto Focus CSI, camera USB Fisheye độ phân giải tối thiểu 1080p, bo mạch điều khiển động cơ bước A4988 và vi điều khiển ATMega328P. Máy tính quản trị cần hệ điều hành Windows 7/10/11 với .NET Framework 4.7.2 trở lên.

2. Thiết bị xử lý như thế nào nếu thẻ Gelcard bị đặt lệch vị trí?

Thuật toán xử lý ảnh sử dụng 4 điểm định vị (corner detection) trên khung viền chuẩn của Gelcard. Hàm cv2.getPerspectiveTransform tự động tính toán ma trận xoay và biến đổi phối cảnh nắn thẳng hình ảnh vi ống về kích thước chuẩn $(600 \times 400)\text{ px}$, bù trừ sai số cơ khí góc đặt lên tới $\pm 15^\circ$.

3. Quy trình bảo trì và hiệu chuẩn định kỳ bao gồm những gì?

Hệ thống cần kiểm tra độ căng dây curoa sau mỗi 5.000 chu kỳ quay, vệ sinh bề mặt kính quang học của 2 camera bằng cồn Isopropyl Alcohol (IPA) $70%$, và chạy quy trình hiệu chuẩn quang học tự động với thẻ mẫu chuẩn (Standard Test Target) 6 tháng/lần.

4. Thiết bị có nhận diện được hiện tượng phản ứng pha trộn (Mixed-field) không?

Có. Khi phát hiện đồng thời hai đỉnh mật độ hồng cầu tập trung (vừa có mảng giữ lại ở đỉnh vi ống, vừa có lắng cặn ở đáy), thuật toán sẽ gán nhãn Mixed Reaction và phát tín hiệu cảnh báo trên giao diện WPF để KTV kiểm tra thủ công.

5. Dữ liệu xét nghiệm được bảo mật và sao lưu như thế nào?

Mọi kết quả xét nghiệm cùng ảnh chụp bằng chứng được lưu trữ trong cơ sở dữ liệu SQLite cục bộ, tự động mã hóa chuỗi thông tin định danh bệnh nhân. Khi có kết nối mạng, dữ liệu được đồng bộ về máy chủ bệnh viện qua kết nối TCP/IP có xác thực tài khoản phân quyền KTV/Bác sĩ.


Kết luận

Đồ án "Thiết kế thiết bị định danh nhóm máu qua Gelcard" đã nghiên cứu và phát triển thành công một thiết bị y tế bán tự động hoàn chỉnh, kết hợp hài hòa giữa cơ khí chính xác, mạch điện tử nhúng và thị giác máy tính hiện đại. Kết quả thực nghiệm khẳng định độ chính xác nhận diện ngưng kết đạt từ 93% đến 97% trên các mẫu lâm sàng thực tế, tương đương với các dòng máy đọc chuyên dụng ngoại nhập nhưng với chi phí chế tạo giảm hơn 10 lần.

Giải pháp không chỉ giải quyết triệt để bài toán nâng cao năng suất xét nghiệm, giảm thiểu rủi ro nhầm lẫn y khoa tại các bệnh viện tuyến cơ sở ở Việt Nam mà còn là minh chứng rõ nét cho năng lực tự chủ công nghệ thiết bị y tế thông minh trong nước. Hệ thống sẵn sàng để tối ưu hóa thiết kế công nghiệp và tiến tới thử nghiệm tiền lâm sàng trên diện rộng.