Phân tích tổng hợp mạng: So sánh đồng thời nhiều phương pháp điều trị
Network Meta-Analysis: Simultaneous Comparison of Multiple Treatments
Tóm tắt nội dung chuỗi bài viết
Chào mừng các bạn đến với một trong những lĩnh vực tiên tiến và mạnh mẽ nhất của nghiên cứu tổng hợp: Phân tích tổng hợp Mạng (Network Meta-Analysis – NMA). Trong các phân tích tổng hợp truyền thống, chúng ta thường chỉ so sánh hiệu quả của hai can thiệp, ví dụ như thuốc A so với giả dược. Nhưng trong thực tế, các bác sĩ và nhà hoạch định chính sách thường phải đối mặt với một câu hỏi phức tạp hơn nhiều: “Giữa các thuốc A, B, C, và D, phương pháp nào là tốt nhất?”. Hầu hết các thử nghiệm lâm sàng riêng lẻ chỉ thực hiện so sánh theo cặp (ví dụ: A vs B, hoặc C vs Giả dược), và hiếm khi có một nghiên cứu nào so sánh tất cả các phương pháp điều trị với nhau. Vậy làm thế nào để chúng ta có thể đưa ra một so sánh toàn diện?
Phân tích tổng hợp Mạng chính là câu trả lời. Nó là một sự mở rộng của phân tích tổng hợp truyền thống, cho phép chúng ta kết hợp thông tin từ cả các so sánh trực tiếp (từ các thử nghiệm đối đầu) và các so sánh gián tiếp (suy ra một cách logic thông qua một đối chứng chung) vào một mô hình phân tích duy nhất. Bằng cách xây dựng một “mạng lưới” bằng chứng, NMA cho phép chúng ta ước tính hiệu quả tương đối giữa bất kỳ hai phương pháp điều trị nào trong mạng lưới, ngay cả khi chúng chưa bao giờ được so sánh trực tiếp trong một thử nghiệm. Chuỗi bài viết này sẽ dẫn dắt bạn qua các khái niệm, phương pháp luận và các bước thực hành trên Stata để có thể tự mình thực hiện một phân tích tổng hợp mạng. Chúng ta sẽ học cách xây dựng và diễn giải các biểu đồ mạng, thực hiện phân tích, và quan trọng nhất là cách xếp hạng các phương pháp điều trị để tìm ra lựa chọn tối ưu nhất.
Cấu trúc chuỗi bài học
- Các khái niệm và công cụ trực quan trong NMATìm hiểu về bằng chứng trực tiếp, gián tiếp, các giả định nền tảng và cách vẽ biểu đồ mạng để hình dung cấu trúc bằng chứng.
- Thực hiện NMA theo phương pháp tần suất trong StataHướng dẫn chi tiết quy trình chuẩn bị dữ liệu và sử dụng bộ lệnh network của Stata để thực hiện một phân tích tổng hợp mạng.
- Diễn giải kết quả NMA – Xếp hạng và tính nhất quánHọc cách đọc các kết quả chính, xếp hạng các phương pháp điều trị và kiểm tra giả định quan trọng về tính nhất quán trong mạng lưới.
- Giới thiệu về NMA theo phương pháp BayesKhám phá các khái niệm và ưu điểm của cách tiếp cận Bayes trong NMA, một phương pháp rất mạnh mẽ trong lĩnh vực này.
- Bài tổng hợp: Tổng kết và các thách thức trong NMATổng kết toàn bộ quy trình, so sánh các phương pháp và thảo luận về các vấn đề nâng cao như tính không đồng nhất và không nhất quán.
Các kiến thức tiên quyết
Mục tiêu học tập
Sau khi hoàn thành chuỗi bài viết này, các bạn sẽ có khả năng:
- Giải thích được sự khác biệt giữa phân tích tổng hợp theo cặp và phân tích tổng hợp mạng.
- Phân biệt được bằng chứng trực tiếp và bằng chứng gián tiếp.
- Tạo và diễn giải một biểu đồ mạng để mô tả cấu trúc của bằng chứng.
- Thực hiện một phân tích tổng hợp mạng theo phương pháp tần suất bằng bộ lệnh `network` trong Stata.
- Xếp hạng các phương pháp điều trị dựa trên kết quả phân tích và diễn giải các chỉ số như SUCRA.
- Hiểu và kiểm tra được giả định về tính nhất quán trong mạng lưới.
Tài liệu tham khảo
- Nguồn chính: Chen, D. G., & Peace, K. E. (2021). Applied Meta-Analysis with R and Stata, Second Edition. Chapman and Hall/CRC. Chuỗi bài viết này được xây dựng và chuyển thể chủ yếu từ Chương 12 của cuốn sách này, với sự điều chỉnh và tập trung vào Stata cho đối tượng sinh viên Việt Nam.
- Tài liệu bổ sung: White, I. R. (2015). Network meta-analysis. The Stata Journal, 15(4), 951-977. Đây là bài báo giới thiệu về bộ lệnh `network` trong Stata.
Phụ lục: Dữ liệu thực hành cho chuỗi bài viết
Trong chuỗi bài học này, chúng ta sẽ sử dụng hai bộ dữ liệu. Để đảm bảo tất cả các bạn đều có thể thực hành, dưới đây là mã Stata để tạo ra hai bộ dữ liệu này.
1. Dữ liệu Thử nghiệm Lâm sàng Bệnh tiểu đường
Bộ dữ liệu này bao gồm 26 nghiên cứu so sánh 10 phương pháp điều trị khác nhau cho bệnh tiểu đường loại 2. Dữ liệu ở dạng “so sánh theo cặp” (contrast-based format). Hãy chạy đoạn mã sau để tạo tệp diabetes_data.dta.
* ==================================================
* MỤC ĐÍCH: Tạo bộ dữ liệu về bệnh tiểu đường cho NMA
* KẾT QUẢ: File diabetes_data.dta
* ==================================================
clear
input double(TE seTE) str13(treat1_long treat2_long) str4(treat1 treat2) str17 studlab
-1.9 0.1414 "Metformin" "Placebo" "metf" "plac" "DeFronzo1995"
-0.82 0.0992 "Metformin" "Placebo" "metf" "plac" "Lewin2007"
-0.2 0.3579 "Metformin" "Acarbose" "metf" "acar" "Willms1999"
-1.34 0.1435 "Rosiglitazone" "Placebo" "rosi" "plac" "Davidson2007"
-1.1 0.1141 "Rosiglitazone" "Placebo" "rosi" "plac" "Wolffenbuttel1999"
-1.3 0.1268 "Pioglitazone" "Placebo" "piog" "plac" "Kipnes2001"
-0.77 0.1078 "Rosiglitazone" "Placebo" "rosi" "plac" "Kerenyi2004"
0.16 0.0849 "Pioglitazone" "Metformin" "piog" "metf" "Hanefeld2004"
0.1 0.1831 "Pioglitazone" "Rosiglitazone" "piog" "rosi" "Derosa2004"
-1.3 0.1014 "Rosiglitazone" "Placebo" "rosi" "plac" "Baksi2004"
-1.09 0.2263 "Rosiglitazone" "Placebo" "rosi" "plac" "Rosenstock2008"
-1.5 0.1624 "Rosiglitazone" "Placebo" "rosi" "plac" "Zhu2003"
-0.14 0.2239 "Rosiglitazone" "Metformin" "rosi" "metf" "Yang2003"
-1.2 0.1436 "Rosiglitazone" "Sulfonylurea" "rosi" "sulf" "Vongthavaravat2002"
-0.4 0.1549 "Acarbose" "Sulfonylurea" "acar" "sulf" "Oyama2008"
-0.8 0.1432 "Acarbose" "Placebo" "acar" "plac" "Costa1997"
-0.57 0.1291 "Sitagliptin" "Placebo" "sita" "plac" "Hermansen2007"
-0.7 0.1273 "Vildagliptin" "Placebo" "vild" "plac" "Garber2008"
-0.37 0.1184 "Metformin" "Sulfonylurea" "metf" "sulf" "Alex1998"
-0.74 0.1839 "Miglitol" "Placebo" "migl" "plac" "Johnston1994"
-1.41 0.2235 "Miglitol" "Placebo" "migl" "plac" "Johnston1998a"
0 0.2339 "Rosiglitazone" "Metformin" "rosi" "metf" "Kim2007"
-0.68 0.2828 "Miglitol" "Placebo" "migl" "plac" "Johnston1998b"
-0.4 0.4356 "Metformin" "Placebo" "metf" "plac" "Gonzalez-Ortiz2004"
-0.23 0.3467 "Benfluorex" "Placebo" "benf" "plac" "Stucci1996"
-1.01 0.1366 "Benfluorex" "Placebo" "benf" "plac" "Moulin2006"
-1.2 0.3758 "Metformin" "Placebo" "metf" "plac" "Willms1999"
-1 0.4669 "Acarbose" "Placebo" "acar" "plac" "Willms1999"
end
compress
save "diabetes_data.dta", replace
2. Dữ liệu Thử nghiệm Lâm sàng Bệnh Parkinson
Bộ dữ liệu này bao gồm 7 thử nghiệm lâm sàng so sánh 5 phương pháp điều trị khác nhau. Dữ liệu ở dạng “theo nhánh điều trị” (arm-based format), mỗi hàng là một nhánh trong một nghiên cứu. Hãy chạy đoạn mã sau để tạo tệp parkinson_data.dta.
* ==================================================
* MỤC ĐÍCH: Tạo bộ dữ liệu về bệnh Parkinson cho NMA
* KẾT QUẢ: File parkinson_data.dta
* ==================================================
clear
input int study str13 treatment double(mean stddev samplesize)
0 "Placebo" -1.22 3.7 54
1 "Ropinirole" -1.53 4.28 95
2 "Placebo" -0.7 3.7 172
2 "Pramipexole" -2.4 3.4 173
3 "Placebo" -0.3 4.4 76
3 "Pramipexole" -2.6 4.3 71
3 "Bromocriptine" -1.2 4.3 81
4 "Ropinirole" -0.24 3 128
4 "Bromocriptine" -0.59 3 72
5 "Ropinirole" -0.73 3 80
5 "Bromocriptine" -0.18 3 46
6 "Bromocriptine" -2.2 2.31 137
6 "Cabergoline" -2.5 2.18 131
7 "Bromocriptine" -1.8 2.48 154
7 "Cabergoline" -2.1 2.99 143
end
compress
save "parkinson_data.dta", replace
📚 Bài tiếp theo: Các khái niệm và công cụ trực quan trong NMA
💡 Lưu ý: Hãy đảm bảo bạn đã chạy thành công hai đoạn mã Stata trên và tạo ra các tệp diabetes_data.dta và parkinson_data.dta trước khi bắt đầu bài học đầu tiên.