150 lines
13 KiB
HTML
150 lines
13 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="vi">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>Tính cỡ mẫu cho Xét nghiệm Chẩn đoán (Diagnostic Test)</title>
|
||
|
||
<!-- MathJax config -->
|
||
<script>
|
||
window.MathJax = {
|
||
tex: {
|
||
inlineMath: [['$', '$'], ['\\(', '\\)']],
|
||
displayMath: [['$$', '$$'], ['\\[', '\\]']]
|
||
},
|
||
svg: { fontCache: 'global' }
|
||
};
|
||
</script>
|
||
|
||
<script id="MathJax-script" async
|
||
src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js">
|
||
</script>
|
||
|
||
<style>
|
||
.sample-size-guide {
|
||
font-family: Arial, sans-serif;
|
||
line-height: 1.65;
|
||
color: #222;
|
||
max-width: 980px;
|
||
margin: 24px auto;
|
||
padding: 20px;
|
||
}
|
||
.sample-size-guide h2 { color: #0056b3; border-bottom: 2px solid #eee; padding-bottom: 6px; }
|
||
.sample-size-guide h3 { color: #1a73e8; margin-top: 18px; }
|
||
.sample-size-guide code { font-family: "Courier New", monospace; background:#f7f7f7; padding:2px 6px; border-radius:4px; }
|
||
.sample-size-guide ul { margin-left: 20px; }
|
||
.sample-size-guide li { margin-bottom: 8px; }
|
||
.note { background:#f1f8ff; border-left:4px solid #1a73e8; padding:10px 12px; margin:12px 0; }
|
||
p[style*="text-align: center"] { margin:14px 0; }
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="sample-size-guide">
|
||
<h2>Tính cỡ mẫu cho Xét nghiệm Chẩn đoán — Hướng tới Y tế Công cộng</h2>
|
||
|
||
<p>
|
||
Mục tiêu của việc tính cỡ mẫu cho một xét nghiệm chẩn đoán là ước lượng hoặc kiểm chứng
|
||
<strong>độ nhạy (sensitivity)</strong>, <strong>độ đặc hiệu (specificity)</strong>, và các chỉ số liên quan
|
||
(PPV, NPV) với độ chính xác/công suất mong muốn. Trong bối cảnh y tế công cộng, điều này rất quan trọng
|
||
để đảm bảo xét nghiệm đủ tin cậy trước khi triển khai quy mô lớn.
|
||
</p>
|
||
|
||
<h3>1. Thuật ngữ nhanh</h3>
|
||
<ul>
|
||
<li><strong>Sensitivity (Se)</strong>: xác suất xét nghiệm dương khi bệnh thật sự có mặt.</li>
|
||
<li><strong>Specificity (Sp)</strong>: xác suất xét nghiệm âm khi bệnh thật sự không có.</li>
|
||
<li><strong>Prevalence (Prev)</strong>: tỉ lệ bệnh trong dân số mục tiêu.</li>
|
||
<li><strong>Positive Predictive Value (PPV)</strong> và <strong>NPV</strong>: phụ thuộc vào prevalence.</li>
|
||
</ul>
|
||
|
||
<h3>2. Mục tiêu tính cỡ mẫu phổ biến</h3>
|
||
<ol>
|
||
<li>Ước lượng một chỉ số (Se hoặc Sp) với độ chính xác ±d (khoảng tin cậy mong muốn).</li>
|
||
<li>So sánh một chỉ số với một giá trị mục tiêu (ví dụ Se ≥ 0.90).</li>
|
||
<li>So sánh hai xét nghiệm (Se1 vs Se2 hoặc Sp1 vs Sp2).</li>
|
||
</ol>
|
||
|
||
<h3>3. Công thức ước lượng Se hoặc Sp với độ chính xác mong muốn (Buderer, 1996)</h3>
|
||
<p>Đầu tiên ước tính <strong>số người có sự kiện (bệnh)</strong> cần để ước lượng Sensitivity với khoảng sai số ±d:</p>
|
||
|
||
<p style="text-align:center; font-size:1.05em;">
|
||
$$n_{disease} = \frac{Z_{1-\alpha/2}^2 \, Se(1-Se)}{d^2}$$
|
||
</p>
|
||
|
||
<p>Và tổng cỡ mẫu cần (ước tính) là:</p>
|
||
<p style="text-align:center; font-size:1.05em;">
|
||
$$N \approx \frac{n_{disease}}{\text{Prev}}$$
|
||
</p>
|
||
|
||
<p>Tương tự, để ước lượng <strong>Specificity</strong>, ta cần số người <em>không bệnh</em>:</p>
|
||
<p style="text-align:center; font-size:1.05em;">
|
||
$$n_{non-disease} = \frac{Z_{1-\alpha/2}^2 \, Sp(1-Sp)}{d^2}, \qquad
|
||
N \approx \frac{n_{non-disease}}{1-\text{Prev}}$$
|
||
</p>
|
||
|
||
<div class="note">
|
||
<strong>Ghi chú:</strong> Công thức trên tính trực tiếp số cá thể có (hoặc không có) bệnh cần kiểm tra.
|
||
Nếu prevalence rất nhỏ (ví dụ < 5%), tổng cỡ mẫu có thể trở nên rất lớn.
|
||
</div>
|
||
|
||
<h3>4. Ví dụ (ước lượng Sensitivity với d = 0.05)</h3>
|
||
<p>Giả sử bạn muốn ước lượng độ nhạy $Se=0.85$ với sai số chấp nhận được $d=0.05$, $\alpha=0.05$ (Z=1.96), và prevalence = 10%:</p>
|
||
|
||
<p style="text-align:center;">
|
||
$$n_{disease} = \frac{1.96^2 \times 0.85 \times (1-0.85)}{0.05^2} \approx 196$$
|
||
<br>
|
||
$$N \approx \frac{196}{0.10} \approx 1959$$
|
||
</p>
|
||
|
||
<p>Vậy bạn cần khoảng <strong>196 bệnh nhân có biến cố</strong> quan sát được, tức khoảng <strong>1,960 người tổng cộng</strong> nếu prevalence là 10%.</p>
|
||
|
||
<h3>5. Kiểm định độ nhạy so với một mức mục tiêu (một mẫu)</h3>
|
||
<p>Nếu muốn kiểm tra giả thuyết:</p>
|
||
<p style="text-align:center;">$H_0: Se \le Se_0 \quad$ vs $\quad H_1: Se = Se_1 (>Se_0)$</p>
|
||
<p>một xấp xỉ thường dùng (khi số mẫu lớn) cho số cá thể có bệnh là:</p>
|
||
|
||
<p style="text-align:center;">
|
||
$$n_{disease} \approx
|
||
\frac{\big(Z_{1-\alpha}\sqrt{Se_0(1-Se_0)} + Z_{1-\beta}\sqrt{Se_1(1-Se_1)}\big)^2}
|
||
{(Se_1 - Se_0)^2}$$
|
||
</p>
|
||
|
||
<p>Tiếp tục chia cho prevalence để ước tính tổng $N$.</p>
|
||
|
||
<h3>6. So sánh hai tỉ lệ (Se1 vs Se2) — mẫu cho hai nhóm độc lập</h3>
|
||
<p>Để so sánh hai độ nhạy (hoặc hai độ đặc hiệu) dùng công thức ước lượng cho hai tỉ lệ:</p>
|
||
<p style="text-align:center;">
|
||
$$n_{per\ group} \approx
|
||
\frac{\Big(Z_{1-\alpha/2}\sqrt{2\bar p(1-\bar p)} + Z_{1-\beta}\sqrt{p_1(1-p_1)+p_2(1-p_2)}\Big)^2}
|
||
{(p_1-p_2)^2}$$
|
||
</p>
|
||
<p>với $\bar p=(p_1+p_2)/2$. Ở đây $n_{per\ group}$ là số <em>bệnh</em> cần trong mỗi nhóm nếu so sánh trên mẫu bệnh, rồi chia cho prevalence nhóm tương ứng để ra tổng N.</p>
|
||
|
||
<h3>7. Vấn đề thực tiễn và khuyến nghị cho Y tế công cộng</h3>
|
||
<ul>
|
||
<li><strong>Chuẩn vàng (gold standard):</strong> cỡ mẫu phải đủ lớn để so sánh kết quả xét nghiệm với gold standard đáng tin cậy — sai lệch gold standard làm lệch ước lượng Se/Sp.</li>
|
||
<li><strong>Phân tầng (stratification):</strong> nếu prevalence khác nhau giữa vùng/nhóm, hãy stratify và tính cỡ mẫu cho từng stratum hoặc lấy mẫu theo tầng.</li>
|
||
<li><strong>Thiếu (missing) và rút lui:</strong> cộng thêm an toàn ~10–20% nếu có khả năng mất follow-up hoặc kết quả không hợp lệ.</li>
|
||
<li><strong>Pre-study pilot:</strong> thực hiện mẫu thăm dò nhỏ để ước lượng prelim prevalence và Se/Sp dự kiến — giảm sai sót khi thiết kế chính.</li>
|
||
<li><strong>Khi prevalence rất thấp:</strong> cân nhắc thiết kế tiếp cận theo nhóm (enrichment) hoặc tuyển trực tiếp số bệnh nhân (case-enriched study) thay vì lấy mẫu ngẫu nhiên trong cộng đồng.</li>
|
||
</ul>
|
||
|
||
<h3>8. Công cụ & tham khảo (tóm tắt)</h3>
|
||
<ul>
|
||
<li>R packages: <code>epiR</code> (ước lượng khoảng CI & cỡ mẫu), <code>powerMediation</code>, <code>pROC</code> (ROC/AUC related).</li>
|
||
<li>Tài liệu tham khảo kinh điển: Buderer (1996) — sample size for estimating sensitivity and specificity; sách và bài hướng dẫn về diagnostic studies.</li>
|
||
</ul>
|
||
|
||
<hr>
|
||
|
||
</div>
|
||
|
||
<script>
|
||
document.addEventListener("DOMContentLoaded", () => {
|
||
if (window.MathJax && window.MathJax.typesetPromise) {
|
||
MathJax.typesetPromise();
|
||
}
|
||
});
|
||
</script>
|
||
</body>
|
||
</html>
|