Nguyễn Đức Tuấn, Quách Đồng Thắng
Trung tâm Ứng dụng GIS TP.HCM
TÓM TẮT: Các phần mềm thống kê, phần mềm GIS và mô hình hóa ngày càng trở thành những công cụ hỗ trợ đắc lực, không thể thiếu cho các nhà nghiên cứu dịch tễ học và y tế công cộng. Bên cạnh các phần mềm thương mại, phần mềm mã nguồn mở là một lựa chọn thích hợp nhằm tiết kiệm chi phí đầu tư và nâng cao tính chủ động về công nghệ. Bài viết giới thiệu giải pháp sử dụng phần mềm mã nguồn mở hỗ trợ công tác giám sát dịch bệnh nguy hiểm, cũng như trong nghiên cứu dịch tễ học nói chung.
Từ khóa: Y tế công cộng, dịch tễ học, dịch bệnh, thống kê, hệ thống thông tin địa lý, mô hình tác nhân, R, GAMA, gvSIG.
1 GIỚI THIỆU
Vào năm 1854, trận dịch tả lớn bùng phát ở London đã cướp đi sinh mạng 1/8 dân số của thành phố khi bác sĩ John Snow (1813 – 1858), bằng cách biểu diễn mỗi ca bệnh là một điểm trên bản đồ vẽ tay, đã phát hiện ra nguồn gốc của dịch bệnh là từ các trụ bơm cung cấp nước sinh hoạt bị nhiễm khuẩn trên đường Broad Street. Ông đã đưa ra giải pháp cho ngưng hoạt động các trụ bơm bị nhiễm khuẩn, và đã ngăn được dịch bệnh bùng phát.
Với việc thu thập, vẽ bản đồ, phân tích số liệu và chứng minh rằng nguồn nước bị nhiễm khuẩn chính là nguồn gốc của sự bùng phát dịch tả ở London - chứ không phải do nguyên nhân “khí độc” như quan niệm của các quan chức y tế thời đó, John Snow được xem như cha đẻ của ngành dịch tễ học thực địa và ngành phân tích không gian.
Ngày nay, dịch bệnh ngày càng diễn biến phức tạp và nguy hiểm. Việc nghiên cứu, giám sát và kiểm soát dịch bệnh là rất quan trọng và đòi hỏi kiến thức chuyên môn của các nhà dịch tễ học. Ngoài ra, công tác nghiên cứu dịch tễ học nói chung và giám sát dịch bệnh nguy hiểm nói riêng đòi hỏi có sự hỗ trợ của phần mềm máy tính như phần mềm thống kê, phần mềm GIS và phần mềm mô hình hóa. Sử dụng các công cụ này giúp các nhà nghiên cứu dễ dàng trong việc thu thập, phân tích, thống kê số liệu, thực hiện các phép phân tích không gian, mô hình hóa và mô phỏng dịch bệnh, hỗ trợ công tác giám sát và dự báo tình hình dịch bệnh nhằm đưa ra những biện pháp ứng phó kịp thời và hiệu quả.
2 CÁC PHẦN MỀM MÃ NGUỒN MỞ HỖ TRỢ NGHIÊN CỨU DỊCH TỄ HỌC
2.1 Phần mềm thống kê
R là phần mềm mã nguồn mở hỗ trợ phân tích thống kê và hiển thị đồ họa mạnh mẽ. Ngoài các chức năng thống kê nói chung, R hỗ trợ các gói thư viện (package) được xây dựng sẵn để làm việc với dữ liệu dịch tễ nhưsurveilance, R0, RladyBug, EpiEstim, mem, epinet, flubase.
RStudio: Là một môi trường cung cấp giao diện đồ họa giúp người dùng làm việc dễ dàng hơn với R.
Ngoài ra còn có các phần mềm chuyên dụng cho dịch tễ học như:
- Epi Info.
- OpenEpi.
2.2 Phần mềm mô hình hóa
Mô hình hóa giúp đánh giá tình hình dịch bệnh theo các kịch bản khác nhau, từ đó đưa ra những dự báo và hỗ trợ công tác kiểm soát, ứng phó với tình hình dịch bệnh. Có nhiều phương pháp mô hình hóa trong nghiên cứu dịch tễ học (nói cách khác là mô hình hóa sự lây lan dịch bệnh trên một dân số nhất định). Bài viết trình bày 02 cách tiếp cận mô hình hóa dịch bệnh: mô hình toán (mathematical model) và mô hình tác nhân (agent-based model).
2.2.1 Mô hình toán SIR
Một dạng mô hình toán thông dụng là mô hình chia ngăn tất định (Deterministic compartmental models). Mô hình này chia dân số ra thành các lớp (ngăn) biểu diễn các giai đoạn/ trạng thái khác nhau của dịch bệnh.
Mô hình chia ngăn tất định tiêu biểu là mô hình SIR (Suscceptible – Infectious – Recover/ immune/ expired) được Kermack và McKendrick đề xuất vào năm 1927.
Mô hình SIR giả sử rằng tất cả các cá thể trong cộng đồng đều có khả năng bị nhiễm bệnh như nhau và hoàn toàn miễn dịch sau giai đoạn bị lây nhiễm. Dân số được chia thành 3 lớp riêng biệt: S – người có khả năng bị nhiễm bệnh, I – người đã bị lây nhiễm và có thể lây cho người khác, R – người đã từng bị nhiễm và hiện tại miễn nhiễm (hồi phục hoặc tử vong).
Cho S(t), I(t) và R(t) lần lượt là số lượng người có khả năng bị nhiễm, người bị nhiễm và người miễn nhiễm tại thời điểm t và N là cỡ dân số:
N = S(t) + I(t) + R(t)
Giả sử tốc độ người khỏe mạnh mắc bệnh khi tiếp xúc với người bị nhiễm là α, và người bị nhiễm sẽ được miễn nhiễm với tốc độ là β. Mô hình SIR được biểu diễn dưới dạng các phương trình vi phân sau:
Ngoài ra còn có các biến thể từ mô hình SIR như mô hình SI, SIS, SIRS, SEIR (Susceptible – Exposed – Infectious –Recovered), MSEIR (Immunized – Susceptible – Exposed – Infectious – Recovered). Tuy nhiên, các mô hình toán học có nhược điểm là không tính đến yếu tố thay đổi theo không gian và thời gian như sự thay đổi cấu trúc dân số và tính tương tác giữa các cá thể.
2.2.2 Mô hình tác nhân
Phần mềm mô hình hóa, đặc biệt là mô hình tác nhân Agent-based Modeling (ABM) được ứng dụng trong rất nhiều lĩnh vực, trong đó có xây dựng mô hình và mô phỏng dịch bệnh. Trong khi mô hình chia ngăn không thể cài đặt các hành vi phức tạp như tính di động và tính tương tác giữa các cá thể, mô hình tác nhân có thể khắc phục nhược điểm này bằng cách cài đặt các hành vi đặc trưng của từng cá thể - đóng vai trò là một tác nhân trong mô hình. Ví dụ như người nhiễm bệnh có các mối quan hệ xã hội, giao tiếp với người ở khu vực địa lý nào, từ đó có thể dự báo tình hình lây lan dịch bệnh thông qua các hành vi của từng ca bệnh.
Một số phần mềm mô hình tác nhân mã nguồn mở thông dụng:
- GAMA
- NetLogo
2.3 Phần mềm GIS
Các ca bệnh luôn gắn với một vị trí không gian trong mối tương quan với các đối tượng khác, và là một yếu tố quan trọng trong các nghiên cứu dịch tễ. Với sự hỗ trợ của GIS, đặc biệt là các phép phân tích không gian, các nhà dịch tễ học sẽ có công cụ hữu hiệu trong điều tra, thu thập, hiển thị dữ liệu và kiểm soát dịch bệnh.
Một số khái niệm:
- Geographical Information System (GIS): Hệ thống thu thập, lưu trữ, xử lý và kết xuất dữ liệu không gian.
- Dữ liệu không gian: Thông tin về vị trí, hình dạng và các thuộc tính mô tả của đối tượng.
- Luật Tobler 1 về địa lý: “Mọi vật đều có quan hệ với những vật khác, tuy nhiên những vật gần nhau có quan hệ nhiều hơn những vật xa nhau.” (“Everything is related to everything else, but near things are more related than distant things.’’ – Tobler, 1970). Luật Tobler 1 rất có ý nghĩa trong nghiên cứu dịch tễ học.
Nguồn dữ liệu GIS hỗ trợ các phân tích dịch tễ học:
- Dữ liệu dân số trong mối tương quan với các vấn đề kinh tế - xã hội.
- Dữ liệu môi trường, sinh thái: tình trạng ô nhiễm, thực phủ (từ ảnh viễn thám).
- Dữ liệu địa hình, thủy văn, khí hậu.
- Dữ liệu sử dụng đất và cơ sở hạ tầng kỹ thuật: giao thông, trường học, hệ thống cấp thoát nước.
- Dữ liệu cơ sở y tế và dữ liệu dịch tễ học: các ca nhiễm bệnh, các ca tử vong,…
- Phân bố dịch bệnh và mạng lưới các cơ sở y tế.
- Các nguồn dữ liệu hỗ trợ khác: ảnh viễn thám, GPS (phục vụ thu thập dữ liệu về vị trí các ca bệnh tại thực địa).
3 GIỚI THIỆU GIẢI PHÁP CỦA TRUNG TÂM ỨNG DỤNG GIS TP.HCM
3.1 Sử dụng phần mềm mã nguồn mở
- Phần mềm GIS: gvSIG, gvSIG mobile, Quantum GIS: thu thập, lưu trữ, phân tích, kết xuất dữ liệu không gian như bản đồ phân bố dịch bệnh, hệ thống giao thông, ranh giới hành chính,…
- Phần mềm mô hình hóa tác nhân: GAMA được dùng để xây dựng mô hình và mô phỏng dịch bệnh, có thể tích hợp dữ liệu GIS.
- Hệ quản trị CSDL: PostgreSQL/ PostGIS để quản lý cơ sở dữ liệu khi triển khai hệ thống đa người dùng.
- Dữ liệu GIS: CSDL GIS nền TP.HCM do Trung tâm Ứng dụng GIS xây dựng và cập nhật, gồm các lớp ranh giới hành chính, giao thông, thủy hệ, thửa đất,...
Các hình sau minh họa bản đồ dịch tả của John Snow đã được số hóa trong gvSIG và Quantum GIS: các trụ nước và ca bệnh tả được số hóa dưới dạng điểm trên nền lớp dữ liệu giao thông.
Hình 3: Bản đồ phân bố dịch bệnh tả của John Snow trên gvSIG
Với sự hỗ trợ của các phép phân tích không gian trong phần mềm GIS, việc phân tích dữ liệu dịch tễ được thực hiện dễ dàng, trực quan và chính xác. Ví dụ sau cho thấy biểu đồ Voronoi được xây dựng để phân hoạch “vùng ảnh hưởng” của từng trụ bơm nước. Khi lớp “vùng ảnh hưởng” này được chồng lên vị trí các ca bệnh sẽ cho phép xác định nhanh chóng các ca bệnh nào gần trụ bơm nước nào nhất (do đó có khả năng bị “ảnh hưởng” từ trụ nước đó nhất).
3.2 Thử nghiệm xây dựng mô hình SIR bằng phần mềm GAMA
GAMA là phần mềm mã nguồn mở được phát triển trên nền Java, được ứng dụng trong rất nhiều lĩnh vực, trong đó có lĩnh vực nghiên cứu dịch tễ học và mô phỏng dịch bệnh. Người dùng có thể tự xây dựng, định nghĩa hành vi của các tác nhân trong mô hình và mô phỏng (chạy mô hình) thông qua ngôn ngữ mô hình hóa GAML trong môi trường Eclipse IDE. GAMA hỗ trợ làm việc với dữ liệu GIS dạng shapefile, giúp người dùng có thể đưa các dữ liệu thực tế vào mô hình như hệ thống giao thông, sông hồ, ranh giới hành chính, bản đồ phân bố dịch bệnh,…
GAMA giúp các nhà nghiên cứu dễ dàng trong việc:
- Mô hình hóa các hệ thống phức tạp một cách trực quan và linh hoạt.
- Mô phỏng (chạy mô hình).
- Phân tích mô hình và các kết quả mô phỏng.
- Thao tác dữ liệu GIS một cách đơn giản, dễ dàng chuyển dữ liệu GIS thành các tác nhân trong mô hình
- Có thể kế thừa các mô hình khác đã được xây dựng sẵn.
Phần sau trình bày cách mô hình hóa mô hình toán học SIR trong phần mềm GAMA như là một cách giới thiệu cách sử dụng GAMA trong việc xây dựng các mô hình, mô phỏng, dự báo tình hình dịch bệnh.
Trong GAMA, mô hình được xây dựng bằng ngôn ngữ GAML (file *.gaml). Cấu trúc một GAMA project gồm các thư mục như doc, images, includes và models.
Cấu trúc một mô hình (file*.gaml) được xây dựng trong GAMA gồm:
- Global: Định nghĩa các biến dùng chung, các hàm khởi tạo khi chạy mô hình.
- Environment: Định nghĩa phạm vi khung nhìn của mô hình – hữu dụng khi tích hợp dữ liệu GIS vào mô hình.
- Entities: Định nghĩa các tác nhân trong mô hình qua từ khóa species.
- Experiment: Định nghĩa các hiển thị khi chạy mô hình.
Thử nghiệm xây dựng mô hình và mô phỏng SIR bằng cách tạo file SIR.gaml định nghĩa các nhóm S, I, R, các màn hình hiển thị kết quả mô phỏng và các tham số của mô hình. Các tham số có thể hiệu chỉnh khi chạy mô hình là:
- Number of agents: Cỡ dân số.
- Number of Infected: Số ca nhiễm.
- Hệ số α, β.
Kết quả chạy mô hình SIR trong GAMA
Đây là một ví dụ rất đơn giản về cách sử dụng GAMA để xây dựng mô hình và mô phỏng dịch bệnh. Trong thực tế, để xây dựng mô hình một cách hiệu quả và gần với thế giới thực, cần kết hợp sử dụng các nguồn dữ liệu GIS như vị trí các ca bệnh được thu thập bằng GPS và số hóa thành dữ liệu GIS, sử dụng thành thạo công cụ GAMA để có thể định nghĩa các tác nhân tham gia vào mô hình, cũng như thực hiện các kịch bản mô phỏng và phân tích kết quả mô phỏng.
Hình sau cho thấy việc tích hợp dữ liệu GIS vào mô hình SIR trong GAMA để mô phỏng lây lan dịch bệnh trong một khu vực địa lý nhất định.
4 KẾT LUẬN
Ứng dụng các phần mềm, đặc biệt là các phần mềm mã nguồn mở thống kê, GIS và mô hình hóa trong nghiên cứu dịch tễ học là rất cần thiết nhằm tiết kiệm thời gian (thực hiện các phép tính thống kê, chạy mô hình) và tiết kiệm chi phí đầu tư.
Bài viết đã giới thiệu một số phần mềm mã nguồn mở hữu ích, đã được sử dụng rất rộng rãi trong nhiều lĩnh vực, trong đó có lĩnh vực nghiên cứu dịch tễ học và giám sát dịch bệnh.
Việc kết hợp mô hình tác nhân và dữ liệu GIS giúp việc mô hình hóa dịch bệnh mang tính trực quan và tính thực tiễn. Bên cạnh các kiến thức chuyên môn về dịch tễ học, nhà nghiên cứu dịch tễ cần đầu tư các nghiên cứu sâu hơn về các phần mềm mã nguồn mở được đề xuất trong bài viết như tìm hiểu ngôn ngữ GAML trong phần mềm mô hình tác nhân GAMA, sử dụng các phần mềm gvSIG/ gvSIG Mobile/ Quantum GIS, các kỹ thuật cải thiện tốc độ mô hình hóa và mô phỏng với một khối lượng dữ liệu lớn.
5 TÀI LIỆU THAM KHẢO
1) al., A. D. (n.d.). GAMA platform. Retrieved from http://code.google.com/p/gama-platform/
2) Boulos, M. N. Geographic Informatics in Health. Bath BA2 7AY, UK.
3) Dionne C.G. Law, Rachel A. Wilfert. FOCUS on Field epidemiology. North Carolina Center for Public Health Preparedness.
4) Enrique Frías-Martínez, G. W.-M. An Agent-Based Model of Epidemic Spread using Human Mobility and Social Network Information.
5) Greenley, B. An Agent-Based Model of Recurring Epidemics in a Population with Quarantine Capabilities .
6) Iannelli, M. The mathematicalmodeling of epidemics.
7) JJ Allaire, Joe Cheng, Josh Paulson, Paul DiCristina. (n.d.). RStudio. Retrieved from http://rstudio.org/
8) Khaled M. Khalil, M. Abdel-Aziz, Taymour T. Nazmy, Abdel-Badeeh M. Salem. An Agent-Based Modeling for Pandemic Influenza in Egypt.
9) Peter Dawson, Alex Skvortsov, Russell Connell, Ralph Gailis. (2007). Epidemic Spread Modelling: Alignment of Agent-based Simulation with a SIR Mathematical Model.
10) Russell Connell, Peter Dawson and Alex Skvortsov. Comparison of an Agent-based Model of Disease.
11) Tassier, T. (2005). SIR Model of Epidemics.
12) Wu, J. T. (2010). Basic epidemic theory.