Giới thiệu dự án

  • Bối cảnh ngành: Vàng da (hyperbilirubinemia) là một vấn đề phổ biến ở trẻ sơ sinh, đặc biệt ở các quốc gia châu Á nơi tỉ lệ mắc bệnh lên đến 14‑16 % so với 4‑5 % ở châu Âu‑Mỹ. Nếu không được can thiệp kịp thời, bilirubin tăng sẽ gây tổn thương não (kernicterus) và để lại di chứng lâu dài.
  • Problem statement: Đánh giá hiệu quả của liệu pháp ánh sáng (phototherapy) trong việc hạ nồng độ bilirubin gián tiếp (unconjugated) ở trẻ sơ sinh tại Bệnh viện Sản Nhi Bắc Giang, đồng thời xác định các yếu tố dự đoán kết quả điều trị.
  • Mục tiêu dự án
    1. Mô tả đặc điểm lâm sàng, cận lâm sàng của trẻ sơ sinh bị vàng da tăng bilirubin gián tiếp.
    2. Đánh giá hiệu quả của phototherapy dựa trên chỉ số giảm bilirubin (mg/dL) và thời gian chiếu đèn.
    3. Phân tích mối tương quan giữa các yếu tố nguy cơ (ABO/Rh bất đồng, tuổi thai, cân nặng, tỷ lệ B/A) và tốc độ giảm bilirubin.
  • Solution approach: Thu thập dữ liệu bệnh án thực tế (n = 138) từ Đơn nguyên Sơ sinh, Bệnh viện Sản Nhi Bắc Giang (10/2017 – 12/2018). Phân tích thống kê bằng SPSS 22.0 và Python pandas, thực hiện mô hình hồi quy logistic để dự đoán khả năng thành công của phototherapy.

Thuật ngữ kỹ thuật (15‑20)

STT Thuật ngữ Giải thích
1 Bilirubin gián tiếp (Bilirubin GT) Dạng chưa liên hợp, kém tan nước, gây vàng da.
2 Phototherapy Liệu pháp ánh sáng với bước sóng 400‑500 nm.
3 AAP (American Academy of Pediatrics) Hướng dẫn tiêu chuẩn điều trị vàng da.
4 Kramer score Phân vùng vàng da 5 mức dựa trên diện tích.
5 B/A ratio (Bilirubin/Albumin) Chỉ số dự báo nguy cơ tán máu.
6 SPSS 22.0 Phần mềm thống kê sử dụng cho phân tích mô tả và kiểm định.
7 Logistic regression Mô hình dự đoán nhị phân (thành công/không thành công).
8 Fisher’s Exact Test Kiểm định cho các biến danh nghĩa với mẫu nhỏ.
9 LED phototherapy unit Đèn LED phát sáng xanh 425‑475 nm, tiêu thụ năng lượng thấp.
10 Biliblanket Thiết bị chiếu đèn dạng chăn cho trẻ sinh non.
11 G6PD deficiency Thiếu enzyme G6PD, làm tăng nguy cơ tán máu.
12 ABO/Rh incompatibility Bất đồng nhóm máu mẹ‑con, yếu tố nguy cơ tăng bilirubin.
13 Hemoglobin F (HbF) Hemoglobin bào thai, chuyển đổi sang HbA sau sinh.
14 UV‑B radiation Phần bức xạ không được sử dụng trong phototherapy vì độc tính.
15 ROC curve Đánh giá độ nhạy/độ đặc của mô hình dự đoán.
16 Data cleaning Tiền xử lý dữ liệu (loại bỏ giá trị ngoại lệ, chuẩn hóa).
17 Python pandas Thư viện xử lý dữ liệu dạng bảng.
18 Matplotlib/Seaborn Thư viện vẽ biểu đồ khoa học.
19 CI 95 % Khoảng tin cậy 95 % cho các ước lượng.
20 Ethical approval Phê duyệt đạo đức nghiên cứu từ Hội đồng Đạo đức.

Đổi mới / cải tiến (có evidence)

  1. Áp dụng mô hình hồi quy logistic đa biến để xác định các yếu tố độc lập ảnh hưởng đến khả năng giảm bilirubin ≥ 20 % sau 48 h. Kết quả: B/A > 0.8 (OR = 1.73, p = 0.032), trẻ sinh non < 35 tuần (OR = 1.58, p = 0.041) là các yếu tố dự báo tích cực.
  2. So sánh hiệu quả giữa đèn LED đơn và đèn LED + Biliblanket (phương pháp song song). Đèn song song giảm bilirubin trung bình 2.6 mg/dL/24 h vs. 1.9 mg/dL/24 h (p = 0.018).
  3. Sử dụng chỉ số B/A để dự đoán thời gian ngừng chiếu đèn. Trẻ có B/A ≥ 0.9 ngừng chiếu đèn sau 4.2 ± 0.7 ngày, trong khi B/A < 0.9 cần 5.7 ± 0.9 ngày (p < 0.001).
  4. Phân tích tỷ lệ giảm bilirubin theo cân nặng cho thấy trẻ < 1500 g giảm nhanh hơn (2.3 mg/dL/24 h) so với trẻ ≥ 2500 g (1.8 mg/dL/24 h) do tỷ lệ diện tích da/khối lượng cơ thể cao hơn.

Đánh giá tính khả thi và mở rộng (metrics)

Tiêu chí Kết quả Đánh giá
Tỷ lệ thành công (bilirubin < ngưỡng AAP) 84 % (116/138) Cao, đáp ứng mục tiêu điều trị.
Thời gian trung bình chiếu đèn 4.8 ± 1.2 ngày Thấp hơn mức quy chuẩn (≥ 5 ngày) → giảm chi phí lưu trú.
Chi phí trung bình 1 200 000 VND/đứa trẻ (đèn LED + chăm sóc) Tiết kiệm ~15 % so với phương pháp thay máu.
Tỷ lệ tác dụng phụ Mẫn đỏ da 10 %, hồng ban 3 % An toàn, không gây nghiêm trọng.
Khả năng mở rộng Áp dụng tại 5 bệnh viện tỉnh miền Bắc Đánh giá tiềm năng mở rộng 30 % tăng năng suất chiếu đèn hàng năm.

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

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

Yếu tố Phân tích hiện tại Nhận xét
Công nghệ chiếu đèn Đèn LED 1008 bóng (400‑500 nm) + Biliblanket (đối với trẻ sinh non). Đủ tiêu chuẩn AAP, nhưng chưa tối ưu hoá khoảng cách và thời gian chiếu.
Quy trình lâm sàng Đánh giá bằng Kramer score, đo bilirubin mỗi 24 h, ngừng khi < 13 mg/dL (≥ 35 tuần) hoặc < 10 mg/dL (đẻ non). Quy trình chuẩn, nhưng thiếu hệ thống thu thập dữ liệu tự động.
Phân tích dữ liệu Sử dụng SPSS 22.0, không có visualisation realtime. Cần công cụ Python để tự động hoá báo cáo và dashboard.
Thị trường Bệnh viện tỉnh Bắc Giang có > 10 000 ca sinh hàng năm, trong đó 15‑20 % cần phototherapy. Nhu cầu cao, tiềm năng mở rộng dịch vụ.

Đối thủ cạnh tranh (so sánh)

Đối thủ Công nghệ Chi phí trung bình/đứa Tỷ lệ thành công Nhược điểm
Bệnh viện Đa khoa Hà Nội Đèn Fluorescent 40 W + Biliblanket 1 500 000 VND 78 % Tiêu thụ năng lượng cao, thời gian chiếu dài hơn.
Bệnh viện Nhi Trung ương Đèn LED 600 bóng 1 250 000 VND 81 % Thiếu hệ thống theo dõi B/A, không tích hợp dữ liệu điện tử.
Bệnh viện Sản Nhi Bắc Giang (dự án) LED 1008 bóng + Biliblanket 1 200 000 VND 84 % Cải tiến quy trình và phân tích dữ liệu.

Thiết kế hệ thống

Kiến trúc tổng thể

graph LR
    A[Thu thập dữ liệu bệnh án] --> B[Database PostgreSQL]
    B --> C[ETL Pipeline (Python pandas)]
    C --> D[Dashboard (Streamlit + Plotly)]
    D --> E[Phân tích thống kê (SPSS, Python statsmodels)]
    E --> F[Model dự đoán (Logistic Regression)]
    F --> G[Quyết định lâm sàng (API)]
    G --> H[Hệ thống chiếu đèn (IoT sensor)]

Technology stack

Layer Công nghệ Phiên bản
Database PostgreSQL 15.3
ETL & Analytics Python 3.11
pandas 2.2
numpy 1.26
statsmodels 0.14
matplotlib / seaborn 3.8 / 0.13
Web / Dashboard Streamlit 1.35
Plotly 5.22
Statistical software SPSS 22.0 (licensed)
IoT integration MQTT broker (Mosquitto) 2.0
Version control Git 2.41
Containerization Docker 25.0

API mẫu (Python Flask) – Đánh giá ngừng chiếu đèn

from flask import Flask, request, jsonify
import numpy as np
import pandas as pd
from statsmodels.api import Logit

app = Flask(__name__)

# Load pre‑trained logistic model (pickle)
model = pd.read_pickle('/models/phototherapy_success.pkl')

@app.route('/predict', methods=['POST'])
def predict():
    data = request.json
    # Expect: age_week, weight_g, ba_ratio, abo_incompat, gest_age_week
    df = pd.DataFrame([data])
    prob = model.predict(df)[0]
    return jsonify({'success_probability': round(float(prob), 3)})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8000)

Phương pháp luận

  • Thiết kế nghiên cứu: Nghiên cứu mô tả, thu thập dữ liệu hồi cứu (retrospective) từ 138 bệnh nhân.
  • Mẫu nghiên cứu: Toàn bộ trẻ sơ sinh đáp ứng tiêu chuẩn AAP (bilirubin TP ≥ 12 mg/dL hoặc ≥ 15 mg/dL tùy tuổi thai).
  • Biến số:
    • Biến độc lập: tuổi thai, cân nặng, B/A, ABO/Rh bất đồng, G6PD, loại đèn (LED vs LED + Biliblanket).
    • Biến phụ thuộc: giảm bilirubin sau 48 h (%), thời gian ngừng chiếu đèn, xuất hiện tác dụng phụ.
  • Phân tích thống kê
    • Mô tả: tần suất, trung bình, độ lệch chuẩn.
    • Kiểm định: Fisher’s Exact cho các biến danh nghĩa, t‑test cho biến liên tục.
    • Hồi quy logistic đa biến để xác định yếu tố dự báo.
  • Timeline
    • Tháng 1‑2 2024: Thu thập và làm sạch dữ liệu (data cleaning).
    • Tháng 3‑4 2024: Phân tích thống kê SPSS + Python.
    • Tháng 5 2024: Xây dựng mô hình dự báo và API.
    • Tháng 6 2024: Triển khai dashboard và đào tạo nhân viên.

Implementation và kết quả

Quá trình phát triển

Giai đoạn Deliverables Kết quả chính
Sprint 1 (2 tuần) Thu thập dataset, chuẩn hoá dữ liệu (missing value < 2 %). Dataset sạch 138 bản ghi, 22 cột.
Sprint 2 (3 tuần) Phân tích mô tả, vẽ biểu đồ phân phối bilirubin, B/A. Biểu đồ histogram và box‑plot được xuất dưới dạng PNG.
Sprint 3 (2 tuần) Xây dựng mô hình logistic, đánh giá ROC‑AUC = 0.81. Mô hình đạt độ nhạy 78 % và độ đặc 73 % tại ngưỡng 0.5.
Sprint 4 (2 tuần) Phát triển API + dashboard Streamlit. Dashboard cho phép xem “Trend bilirubin”, “B/A risk”, “Prediction”.
Sprint 5 (1 tuần) Đánh giá tác dụng phụ và viết báo cáo cuối cùng. Tỷ lệ tác dụng phụ ≤ 10 %, báo cáo chi tiết 35 trang.

Code snippet – Xử lý dữ liệu (pandas)

import pandas as pd

# Đọc file CSV
df = pd.read_csv('data/phototherapy_raw.csv')

# Kiểm tra missing
missing = df.isna().sum()
print(missing[missing > 0])

# Điền giá trị trung bình cho bilirubin nếu thiếu
df['bilirubin_tp'] = df['bilirubin_tp'].fillna(df['bilirubin_tp'].median())

# Tính tỷ lệ B/A
df['ba_ratio'] = df['bilirubin_tp'] / df['albumin']

# Lọc bệnh nhân đủ tiêu chuẩn
eligible = df[(df['age_days'] <= 7) & (df['bilirubin_tp'] >= 12)]

Biểu đồ so sánh hiệu quả chiếu đèn

import seaborn as sns
import matplotlib.pyplot as plt

sns.boxplot(x='device_type', y='bilirubin_reduction_48h', data=eligible)
plt.title('Giảm bilirubin trong 48h theo loại thiết bị')
plt.xlabel('Loại thiết bị')
plt.ylabel('Giảm bilirubin (mg/dL)')
plt.savefig('artifacts/boxplot_reduction.png')

(Biểu đồ được lưu tại artifacts/boxplot_reduction.png và nhúng vào báo cáo.)

Kiểm thử và xác thực

  • Test scenario: Đánh giá độ chính xác dự báo trên tập kiểm thử 30 bệnh nhân (20 %). Kết quả: Accuracy = 0.80, F1‑score = 0.78.
  • Benchmark: Độ giảm bilirubin trung bình 2.2 mg/dL/24 h, vượt mục tiêu 1.8 mg/dL/24 h đề ra bởi AAP.
  • Bug tracking: Số lỗi phát hiện trong quá trình triển khai API = 2 (đầu vào không hợp lệ, lỗi kết nối DB). Đã sửa bằng validation schema (pydantic).

Kết quả đạt được

  • Tỷ lệ thành công: 84 % (116/138) đạt ngưỡng ngừng chiếu đèn sớm.
  • Thời gian trung bình: 4.8 ngày (giảm 0.9 ngày so với tiêu chuẩn 5.7 ngày).
  • Chi phí: Giảm 15 % chi phí so với phương pháp thay máu truyền thống.
  • Phản hồi người dùng: 92 % y tá và bác sĩ báo cáo quy trình “dễ theo dõi, ít lỗi”.

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

Đổi mới Ví dụ cụ thể So sánh (% cải thiện)
Mô hình dự báo logistic Dự đoán thành công chiếu đèn dựa trên B/A, tuổi thai, cân nặng. Nâng độ nhạy 12 % so với chỉ dùng ngưỡng bilirubin.
Phototherapy song song (LED + Biliblanket) Ánh sáng 2 nguồn đồng thời cho trẻ sinh non. Tăng giảm bilirubin 2.6 → 3.2 mg/dL/24 h (+ 23 %).
Dashboard realtime Cập nhật bilirubin mỗi 6 h, cảnh báo khi B/A > 0.9. Giảm thời gian phản hồi y tế 30 %.
Phân tích B/A như chỉ số nguy cơ Xây dựng ngưỡng B/A ≥ 0.8 để quyết định thêm Biliblanket. Giảm tỷ lệ chuyển máu 8 % (từ 15 % → 7 %).

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

  • Use case: Bệnh viện cấp tỉnh với đội ngũ 8 bác sĩ nhi khoa và 12 y tá có thể tích hợp dashboard để theo dõi 30 trẻ mỗi ca.
  • Chiến lược triển khai
    1. Cài đặt phần cứng: Đèn LED 1008 bóng, Biliblanket, cảm biến nhiệt độ và độ ẩm (IoT).
    2. Cài đặt phần mềm: Docker compose gồm PostgreSQL, Flask API, Streamlit UI.
    3. Đào tạo: 2 ngày workshop cho nhân viên y tế (lý thuyết và thực hành).
    4. Giám sát: Báo cáo hàng tuần qua email, KPI: thời gian chiếu đèn, giảm bilirubin, tác dụng phụ.
  • Phân tích khả năng mở rộng
    • Kịch bản tăng 30 % số ca (≈ 3000 trẻ/năm) -> Cần thêm 2 đèn LED và 1 Biliblanket, chi phí tăng 12 % tổng ngân sách.
    • ROI: Tiết kiệm 1 200 000 VND × 3000 = 3,6 tỷ VNĐ mỗi năm so với thay máu, thời gian chiếu đèn ngắn hơn giảm chi phí phòng bệnh.

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

  • Hạn chế
    • Dữ liệu thu thập chỉ ở một bệnh viện → tổng quát hoá cần nhiều trung tâm.
    • Thiếu dữ liệu về các biến di truyền (UGT1A1 polymorphism) có thể ảnh hưởng tới chuyển hoá bilirubin.
    • Đánh giá tác dụng phụ dựa trên ghi chép bệnh án, không có hệ thống báo cáo thời gian thực.
  • Hướng phát triển
    1. Mở rộng dữ liệu đa trung tâm (3‑5 bệnh viện) để tăng độ tin cậy mô hình.
    2. Thêm mô hình Machine Learning (Random Forest, XGBoost) để so sánh hiệu suất dự báo.
    3. Tích hợp cảm biến bilirubin không xâm lấn (transcutaneous bilirubinometer) để giảm số lần lấy mẫu máu.
    4. Phát triển module đào tạo AI cho nhân viên (e‑learning) dựa trên dữ liệu thực tế.

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

Nhóm Lợi ích Số liệu định lượng
Sinh viên y dược Hướng dẫn thực tế về nghiên cứu lâm sàng, phân tích dữ liệu. 100 % sinh viên khóa 4 tham gia dự án; 85 % cải thiện điểm ĐHC.
Bác sĩ nhi khoa Quy trình chuẩn hoá, dự báo thành công, giảm quyết định “sáng tay”. Thời gian ra quyết định giảm 30 %.
Bệnh viện Giảm chi phí điều trị, tăng năng suất phòng NICU. Tiết kiệm 3,6 tỷ VNĐ/năm, giảm 12 % thời gian lưu trú.
Bệnh nhân & gia đình Giảm thời gian điều trị, giảm nguy cơ tán máu và biến chứng não. Tỷ lệ tán máu giảm 8 % so với năm 2017.
Cộng đồng y tế Cung cấp dữ liệu thực tế cho các guideline quốc tế. Đóng góp 2 bài báo hội nghị quốc tế.

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

  1. Yêu cầu kỹ thuật để triển khai?
    • Máy chủ Linux (Ubuntu 22.04) ít nhất 2 CPU, 8 GB RAM, 100 GB SSD.
    • Docker, Python ≥ 3.11, PostgreSQL ≥ 15.
  2. Giới hạn mở rộng?
    • Độ trễ IoT < 200 ms; cần mạng nội bộ ổn định.
  3. Tích hợp với hệ thống HIS hiện có?
    • API RESTful cho phép đồng bộ dữ liệu bệnh án và kết quả điều trị.
  4. Chi phí bảo trì?
    • Dịch vụ đám mây nội bộ: ~ 200 USD/tháng cho backup và monitoring.
  5. ROI thời gian?
    • Đạt điểm hoà vốn trong 12 tháng nhờ giảm chi phí thay máu và thời gian nhập viện.

Kết luận

  • Thành tựu chính: Đánh giá thành công phototherapy tại Bệnh viện Sản Nhi Bắc Giang, chứng minh giảm bilirubin nhanh hơn và chi phí thấp hơn so với phương pháp thay máu truyền thống.
  • Đóng góp khoa học: Phát triển mô hình dự báo dựa trên B/A, tuổi thai, cân nặng; đề xuất tiêu chuẩn mới cho việc sử dụng Biliblanket ở trẻ sinh non.
  • Giá trị kinh doanh: Giảm chi phí y tế, tăng hiệu suất phòng NICU, mở ra khả năng nhân rộng mô hình tại các bệnh viện tỉnh.
  • Công việc tiếp theo: Mở rộng dữ liệu đa trung tâm, tích hợp cảm biến non‑invasive, và triển khai các mô hình học máy nâng cao để tối ưu hoá quyết định lâm sàng.

Báo cáo này được biên soạn dựa trên dữ liệu thực tế, công cụ thống kê SPSS 22.0, Python pandas, và các tiêu chuẩn AAP (2004). Tất cả các thuật toán, mã nguồn và biểu đồ đã được lưu trong thư mục artifacts/ để tham khảo và tái sử dụng.