Đang nạp hệ thống...

Bản đồ dịch tễ tỉnh Lào Cai

Analytics V5.4 • Clinical & Lab Specialized Edition

Bảo mật đa lớp • Enterprise Ready

© EPIDEMIOLOGICAL ANALYTICS PRO V5.4 • SINCE 2026

Đang đồng bộ dữ liệu hệ thống...

Bản Đồ Phân Bố Dịch Tễ

-

Tích Lũy Ca Bệnh

{{ dashboardStats.totalCases }}

ca bệnh
Mắc mới (7 ngày): +{{ dashboardStats.newCases || 0 }}

Giám Sát Ổ Dịch

{{ dashboardStats.activeOutbreaks }}

đang diễn ra
Đã dập tắt: {{ dashboardStats.endedOutbreaks || 0 }} / {{ dashboardStats.totalOutbreaks || 0 }}

Bản Đồ Địa Bàn

{{ dashboardStats.totalCommunesWithOutbreak }}

xã có dịch
Xã an toàn: {{ dashboardStats.totalCommunesWithoutOutbreak || 0 }}

Tử Vong & CFR

{{ dashboardStats.totalDeaths }}

ca tử vong
Tỷ lệ tử vong (CFR): {{ dashboardStats.cfr || 0 }}%
Tỷ lệ mắc / 100.000 dân: {{ dashboardStats.incidenceRate || 0 }}
Tỷ lệ tử vong / 100.000 dân: {{ dashboardStats.mortalityRate || 0 }}
Tỷ lệ dương tính xét nghiệm: {{ dashboardStats.positiveRate || 0 }}%
Hiển thị bản đồ

Mật độ dịch tễ

Ổ dịch
Ổ an toàn

Tỷ Trọng Bệnh

Điểm Tin Dịch Tễ Chi Tiết

Không tìm thấy ổ dịch nào khớp với bộ lọc.

{{ ob.ten }}

Xã: {{ ob.xa || 'Lào Cai' }}
{{ ob.benh }}
{{ ob.so_ca_mac }} Ca

{{ currentView === 'case_form' ? 'Khai Báo Ca Bệnh Độc Lập' : 'Hồ Sơ Ổ Dịch' }} V5.4.16

Giới hạn Quyền Hạn

Vai trò (Quản lý) chỉ cho phép xem báo cáo. Bạn không có quyền khởi tạo hồ sơ.

Chọn Nhóm Bệnh Dịch & Địa Bàn

  • {{b.ten_benh}} ({{b.ma_benh}})
Không tìm thấy bệnh dịch này.

Ngưỡng báo động dịch quy định là: {{ selectedBenhThreshold }} ca liên tiếp.

Địa bàn quản lý mặc định

  • {{x.ten_xa}} ({{x.tinh || x.khu_vuc}})
Không tìm thấy địa bàn này.

Danh Xét Bệnh Nhân {{outbreakForm.ds_ca_benh.length}} CA MẮC

Tải file mẫu

Chưa có danh sách bệnh nhân

Vui lòng thêm ít nhất 1 bệnh nhân để khởi tạo hồ sơ.

STT Thông tin bệnh nhân Phân loại / Dân tộc Khởi phát Thao tác
{{idx + 1}}
{{cb.ho_ten}}
{{cb.gioi_tinh}} • {{cb.ngay_sinh}}
{{ getDiseaseNameById(cb.benh) || cb.benh }} {{ cb.ten_xa || cb.xa }}
{{cb.phan_loai_tt54}}
{{cb.dan_toc}} • {{cb.nghe_nghiep}}
{{ cb.ngay_khoi_phat }}

{{ currentView === 'case_form' ? 'Khai Báo Ca Bệnh Độc Lập' : 'Hồ Sơ Ổ Dịch' }} V5.4.16

Giới hạn Quyền Hạn

Vai trò (Quản lý) chỉ cho phép xem báo cáo. Bạn không có quyền khởi tạo hồ sơ.

Chọn Nhóm Bệnh Dịch & Địa Bàn

  • {{b.ten_benh}} ({{b.ma_benh}})
Không tìm thấy bệnh dịch này.

Ngưỡng báo động dịch quy định là: {{ selectedBenhThreshold }} ca liên tiếp.

Địa bàn quản lý mặc định

  • {{x.ten_xa}} ({{x.tinh || x.khu_vuc}})
Không tìm thấy địa bàn này.

Danh Xét Bệnh Nhân {{outbreakForm.ds_ca_benh.length}} CA MẮC

Tải file mẫu

Chưa có danh sách bệnh nhân

Vui lòng thêm ít nhất 1 bệnh nhân để khởi tạo hồ sơ.

STT Thông tin bệnh nhân Phân loại / Dân tộc Khởi phát Thao tác
{{idx + 1}}
{{cb.ho_ten}}
{{cb.gioi_tinh}} • {{cb.ngay_sinh}}
{{ getDiseaseNameById(cb.benh) || cb.benh }} {{ cb.ten_xa || cb.xa }}
{{cb.phan_loai_tt54}}
{{cb.dan_toc}} • {{cb.nghe_nghiep}}
{{ cb.ngay_khoi_phat }}

Quản Lý Hồ Sơ Ổ Dịch

Bản đồ dịch tễ tỉnh Lào Cai

-
Đang đồng bộ...

Trống dữ liệu

{{ ob.ten_o_dich }}

{{ ob.ma_o_dich }}
{{ ob.trang_thai }}
{{ ob.benh }}
{{ ob.xa }}
{{ ob.ngay_phat_hien }}
{{ ob.so_ca }} ca ({{ ob.so_mau_duong }}+ / {{ ob.so_am_tinh }}-)
Đang tải...
Không có ca bệnh nào liên kết.
Danh sách bệnh nhân (Chạm để sửa):
{{ c.ho_ten }}
{{ c.case_id }} • Khởi phát: {{ c.ngay_khoi_phat }}
{{ c.tinh_trang }}

Không có ca bệnh lẻ nào

{{ c.ho_ten }}

{{ c.case_id }} - {{ c.ma_bn || 'Chưa rõ mã' }}
{{ c.tinh_trang }}
{{ c.ten_benh }}
{{ c.ten_xa }}
Khởi phát: {{ c.ngay_khoi_phat }}

Quản lý Hồ sơ: {{editingOutbreak.ma_o_dich}}

Cơ chế quản lý V5.0

Phiên bản Pro Edition áp dụng cơ chế Auto-Thresholding. Hệ thống tự động phân tích mật độ tiếp xúc và số ca tích lũy để xác định trạng thái ổ dịch. Bạn chỉ cần cập nhật danh sách bệnh nhân chính xác, hệ thống sẽ thực thi logic cảnh báo còn lại.

Hồ Sơ Truy Vết Tiếp Xúc

Đang tải...
Mã Ca (Năm) Bệnh nhân Năm sinh Kết Quả XN Tiến triển Tác Vụ

Chưa có dữ liệu bệnh nhân liên kết

{{ c.ma_ca_benh }}
{{ c.ho_ten }}
{{ c.gioi_tinh }} • {{ c.sdt || 'CS KHÔNG SĐT' }}
{{ c.ngay_sinh }} Dương tính Âm tính Chưa có KQ
{{ c.ngay_khoi_phat }}
Khỏi: {{ c.ngay_khoi }}
Tử vong
Quá hạn

Bệnh Nhân Phát Sinh Mới

  • {{dt.ten_dan_toc}}
  • {{n.ten_nghe}}
  • {{ t }}
  • {{ x.ten_xa }} ({{ x.khu_vuc }})
Trễ báo cáo > 24h
Đúng thời hạn TT15

Điều trị (tiêm, uống vacxin) & Liều lượng

Xét nghiệm chẩn đoán

Bắt buộc nhập khi Loại xét nghiệm là "Loại khác"

Người liên hệ khẩn cấp (Người bảo hộ)

Liên Kết Ca Bệnh Lẻ Có Sẵn

Các ca bệnh dưới đây cùng loại bệnh và chưa thuộc bất kỳ ổ dịch nào. Chọn ca bệnh để gộp vào ổ dịch hiện tại:

Đang tìm ca bệnh lẻ...

Không có ca bệnh lẻ nào khả dụng

{{ c.ho_ten }}
{{ c.ma_ca_benh }} • {{ c.gioi_tinh }} • Ngày sinh: {{ c.ngay_sinh }}
Địa chỉ: {{ c.thon_ban }}, {{ getCommuneNameByCode(c.xa) }} • Phát bệnh: {{ c.ngay_khoi_phat }}

Kho Lưu Trữ & Báo Cáo

Tải Báo Cáo Định Kỳ

Trích xuất nhanh gọn toàn bộ dữ liệu Ổ Dịch và Ca Bệnh trên máy chủ dưới dạng file theo định dạng chuẩn (CSV & XLSX), không vỡ Font, độ tin cậy tuyệt đối.

Nhập Liệu Kỹ Thuật (Import)

Tự động kết nối, biên dịch và đẩy hàng vạn dòng của file `.xlsx`, `.csv` thẳng vào Database. Xin Hãy đảm bảo file nguồn được thiết kế đúng định dạng cột tiêu chuẩn.

{{ importStatusMessage }}

Nhận Diện Ổ Dịch Tự Động (Auto-Outbreak)

Hệ thống sẽ quét toàn bộ các ca bệnh độc lập hiện có và tự động nhóm, tạo ổ dịch mới nếu phát hiện số ca bùng phát cùng địa bàn vượt ngưỡng quy định.

Đồng bộ Dữ liệu Quốc gia (VADP ECDS)

Đồng bộ hai chiều dữ liệu ca bệnh của đơn vị bạn với Hệ thống Giám sát bệnh truyền nhiễm quốc gia (VADP).

Cấu hình tài khoản liên kết VADP của bạn

Thống Kê & Phân Tích Dịch Tễ

Phân tích tổng hợp theo thời gian, nhóm bệnh và địa bàn

→

Đang tổng hợp dữ liệu dịch tễ...

Chọn khoảng thời gian và nhấn "Phân Tích Ngay"

Hệ thống sẽ tổng hợp toàn bộ số liệu dịch tễ theo bộ lọc của bạn.

Quản Trị Danh Mục & Cấu Hình

Cấp tài khoản và thiết lập các thông số cơ sở cho hệ thống phần mềm.

Đang đồng bộ dữ liệu...

Danh sách {{ getAdminTabLabel() }}

Phát hiện: {{ adminData.auditAnomalies.length }} lỗi
Họ & Tên Tài Khoản Vai Trò Trạng Thái Thao Tác
{{ u.fullname }} {{ u.username }} {{ u.role }} {{ u.status }}
Kết quả lọc: {{ filteredWards.length }} xã phường
STT Tên Xã / Phường Tỉnh / Thành Phố Mã Hành Chính Tọa Độ Cảnh Báo (Lat, Lng) Trạng Thái Thao Tác
{{ idx + 1 }} {{ x.ten_xa }} {{ x.tinh || 'Chưa cấu hình' }} {{ x.ma_xa }} [{{ x.lat }}, {{ x.lng }}] Chưa có tọa độ {{ x.trang_thai }}
Không tìm thấy xã phường nào khớp với từ khóa tìm kiếm.
Tên Bệnh Truyền Nhiễm Mã Bệnh Nhóm Ngưỡng & Bảng Màu Hạn Báo Cáo (Giờ) Ngày Hết Dịch Trạng Thái Thao Tác
{{ b.ten_benh }}
Quy chuẩn BVTC
{{ b.ma_benh }} Nhóm {{ b.nhom_benh_group }} Chưa gán
{{ b.nguong_o_dich }} ca
{{ b.gio_bao_cao || 24 }}h {{ b.thoi_gian_canh_bao_het_dich }} Ngày {{ b.trang_thai }}
Tên Dân Tộc Mã Dân Tộc Thao Tác
{{ e.ten_dan_toc }} {{ e.ma_dan_toc }}
Tên Nghề Nghiệp Mã Nghề Thao Tác
{{ o.ten_nghe }} {{ o.ma_nghe }}

Thiết Lập Kỳ Chốt Sổ Mới

Mã Khóa Từ Ngày Đến Ngày Người Thực Hiện Trạng Thái Thao Tác
Hệ thống đang mở hoàn toàn. Chưa thiết lập khoảng thời gian khóa nào.
{{ lk.lock_id }} {{ new Date(lk.tu_ngay).toLocaleDateString('vi-VN') }} {{ new Date(lk.den_ngay).toLocaleDateString('vi-VN') }} {{ lk.nguoi_khoa }} {{ lk.trang_thai }}

Đường Dẫn Lưu Báo Cáo Tự Động (Google Drive)

Thiết lập thư mục Google Drive để lưu trữ tự động các file Báo Cáo Excel/PDF do người dùng tải về.

Mã mẫu Word/Doc dùng để xuất "Báo cáo trường hợp bệnh" tự động.

Tự Động Tạo Ổ Dịch (Auto Outbreak)

Hệ thống sẽ quét các trường Thôn/Bản, Nơi làm việc, Địa chỉ chi tiết để tìm các từ khóa này nhằm xác định xem các ca bệnh có cùng địa bàn hay không.

Trợ Lý Quét Ổ Dịch (Bot V4.1)

Tự động kết thúc ổ dịch ngầm lúc 2:00 sáng. Lưu ý: Chỉ cần Khởi tạo Bot 1 lần duy nhất cho toàn hệ thống.

Danh Mục Loại Xét Nghiệm

Mã loại Tên loại xét nghiệm Nhóm bệnh Trạng thái Ghi chú Thao tác
{{ xn.ma_loai }} {{ xn.ten_loai }} {{ getDiseaseNameById(xn.ma_benh) }} {{ xn.trang_thai }} {{ xn.ghi_chu }}

Dữ liệu hoàn hảo!

Bot không phát hiện bất kỳ sai sót logic nào tại thời điểm này.

Phân loại Đối tượng / Địa điểm Cảnh báo từ Bot AI Thao tác
{{ an.type === 'CA_BENH' ? '💉 CA BỆNH' : '🚨 Ổ DỊCH' }}
{{ an.name }}
{{ an.subInfo }}
Vị trí: {{ an.sheetName }} (Dòng {{ an.rowIndex }})
{{ an.warning }}
Vui lòng sửa trực tiếp trên Sheet
CHIỀU VỀ

Đồng bộ từ VADP

Tải các ca bệnh mới từ hệ thống Quốc gia về cơ sở dữ liệu local để vẽ bản đồ và quét ổ dịch.

CHIỀU ĐI

Đồng bộ lên VADP

Đẩy các ca bệnh mới khai báo tại địa phương lên cổng Quốc gia (yêu cầu đầy đủ ICD-10 và hành chính).

CONNECTED

Cổng VADP

Đường dẫn: https://gs.vadp.gov.vn
Tài khoản: TTYTKVVC
Vai trò: ADM_BVTINH
Đơn vị: TTYT Huyện Văn Chấn
Kết nối API hoạt động bình thường

Thống kê chiều đi (Đẩy lên Bộ Y tế)

Đẩy lên VADP Thành công

{{ vadpSyncStats.pushSuccess }} hồ sơ

Đã được Bộ Y tế xác nhận và liên kết mã số quốc gia.

Đẩy lên VADP Thất bại (Lỗi)

{{ vadpSyncStats.pushError }} trường hợp

Cần điều chỉnh thông tin hành chính/ICD-10 để đẩy lại.

Thống kê chiều về (Tải từ Bộ Y tế)

Tải từ VADP Thành công

{{ vadpSyncStats.pullSuccess }} hồ sơ

Các ca bệnh mới đã được tải về và đồng bộ vào hệ thống local.

Tải từ VADP Thất bại (Lỗi)

{{ vadpSyncStats.pullError }} trường hợp

Lỗi kết nối hoặc lỗi xác thực trong quá trình tải dữ liệu.

Lịch sử đồng bộ gần đây (SYNC_LOGS)

Thời gian Hướng Mã Local Mã VADP Trạng Thái Nội Dung / Lỗi
Không có nhật ký đồng bộ nào được tìm thấy.
{{ log.sync_time }} {{ log.direction }} {{ log.local_case_id || '-' }} {{ log.vadp_case_id || '-' }} {{ log.status }} {{ log.message }}

{{ adminModal.payload.rowIndex ? 'Sửa Loại Xét Nghiệm' : 'Thêm Loại Xét Nghiệm Mới' }}

Cấu Hình Ngưỡng & Màu Sắc Ổ Dịch: {{ colorScaleModal.tenBenh }}

Hướng dẫn: Thiết lập dải số ca bệnh để hệ thống tự động gán nhãn mức độ và hiển thị màu sắc tương ứng trên Bản Đồ Dịch Tễ.

Từ Ca Đến Ca Màu Hiển Thị Tên Mức Độ (Label) Xóa

{{ adminModal.payload.rowIndex ? 'Cập Nhật' : 'Thêm Mới' }} {{ adminModal.type === 'USER' ? 'Cán Bộ' : (adminModal.type === 'XA' ? 'Xã Phường' : (adminModal.type === 'BENH' ? 'Loại Bệnh' : (adminModal.type === 'ETHNICITY' ? 'Dân Tộc' : (adminModal.type === 'OCCUPATION' ? 'Nghề Nghiệp' : 'Dữ Liệu')))) }}

  • {{x.ten_xa}} ({{x.ma_xa}})
Không tìm thấy mã xã.
Chưa có mã Xã nào được gán. {{ getCommuneNameByCode(code) }} ({{code}})
  • {{x.ten_xa}} ({{x.ma_xa}})
Không tìm thấy mã xã.

Cấu hình kết nối VADP (Bộ Y Tế)

Trợ Lý Cắm Cờ Tọa Độ AI

{{ adminModal.payload.lat || '___' }}, {{ adminModal.payload.lng || '___' }}

Thay vì nhập số hóa tay, bạn có thể TÌM trên bản đồ và CLICK vào vị trí đích xác để hệ thống tự động bốc tọa độ cứu thương chuẩn nhất.

Tự Động Nhận Diện Ổ Dịch (Auto-Outbreak)

Cấu Hình Form Nhập Liệu (V5.1)

Trường Thông Tin
Tên Trường Hiện Bắt buộc
{{ f.name }} -
Danh mục Phân loại bệnh (Thông tư 15/2026/TT-BYT)
Giao diện sẽ dùng 3 loại mặc định của Thông tư 15/2026 nếu để trống.

📚 Cẩm Nang Hướng Dẫn Sử Dụng

Hướng dẫn vận hành từ đầu đến cuối cho cán bộ y tế các tuyến

Hệ thống Bản đồ dịch tễ hoạt động dựa trên cơ chế phân quyền 3 cấp (Role-Based Access Control) gắt gao nhằm bảo mật thông tin ca bệnh:

⭐ Cấp Tỉnh (Admin / Quản trị tỉnh)

  • Toàn quyền truy cập và cấu hình hệ thống.
  • Tạo mới, chỉnh sửa, khóa/mở tài khoản cán bộ.
  • Thiết lập các mốc thời gian khóa sổ báo cáo.
  • Xem bản đồ và báo cáo của toàn bộ tỉnh.

🏢 Cấp Huyện/Vùng (Quản lý - TTYT)

  • Xem bản đồ dịch tễ và thống kê báo cáo.
  • Chỉ xem được số liệu của các xã nằm trong phạm vi quản lý được phân công (cột khu_vuc_quan_ly).
  • Không có quyền tạo mới, chỉnh sửa ca bệnh hoặc ổ dịch.

🏥 Cấp Xã (User - Trạm Y tế)

  • Nhập liệu và khai báo ca bệnh lẻ cho xã phụ trách.
  • Chỉ xem được số liệu và bản đồ của xã được gán (cột ds_xa_phu_trach).
  • Bản đồ tự động khóa cứng, định vị phóng to về đúng tọa độ xã quản lý.

🛠 Cách Quản trị viên (Admin) tạo/quản lý tài khoản:

  1. Truy cập mục Quản Trị Hệ Thống từ menu bên trái.
  2. Bấm nút Thêm Cán Bộ.
  3. Nhập đầy đủ thông tin cán bộ, chọn Vai trò (Admin / Quản lý / User).
  4. Nếu là vai trò Quản lý hoặc User, bạn phải chọn khu vực xã phụ trách tương ứng. Mã xã sẽ tự động liên kết với dữ liệu bản đồ dịch tễ và khóa cứng góc nhìn cho cán bộ đó khi họ đăng nhập.

Cán bộ tuyến Trạm Y tế (User) có trách nhiệm cập nhật ca bệnh lên hệ thống thông qua hai hình thức:

👉 Cách 1: Khai báo ca bệnh lẻ bằng Form nhập liệu trực tuyến

  1. Truy cập mục Khai Báo Ca Bệnh ở menu bên trái.
  2. Điền đầy đủ thông tin ca bệnh:
    • Thông tin cá nhân: Họ tên, ngày sinh, giới tính, số điện thoại, CMND/CCCD, dân tộc, nghề nghiệp.
    • Thông tin dịch tễ: Chọn loại bệnh (ví dụ: Sởi, Sốt xuất huyết, Ho gà...), ngày khởi phát.
    • Địa bàn: Cột Xã sẽ tự động khóa cứng theo địa bàn quản lý của cán bộ, cán bộ chỉ chọn Thôn/Bản và nhập địa chỉ chi tiết.
    • Xét nghiệm: Chọn hình thức điều trị và kết quả xét nghiệm chung (Chưa có KQ / Dương tính / Âm tính).
  3. Bấm nút Ghi Nhận Ca Bệnh Lẻ để hoàn thành. Hệ thống sẽ cấp mã số ca bệnh duy nhất (CB-XXXXXX).

👉 Cách 2: Nhập ca bệnh hàng loạt bằng File Excel

  1. Truy cập mục Cài Đặt & Báo Cáo ở menu bên trái.
  2. Tìm đến phần Nhập Liệu Kỹ Thuật (Import).
  3. Tải file Excel mẫu bằng cách bấm vào đường dẫn Tải File Excel Mẫu. ⚠️ Quan trọng: Không được thay đổi cấu trúc, thứ tự hoặc tên các cột trong file Excel mẫu để tránh lỗi Import dữ liệu.
  4. Cán bộ điền thông tin ca bệnh vào file Excel rồi lưu lại.
  5. Nhấp vào khung tải file hoặc kéo thả file Excel vào vùng Import, hệ thống sẽ tự động quét, kiểm tra tính hợp lệ và bơm dữ liệu hàng loạt vào cơ sở dữ liệu.

🔥 Khai báo Ổ Dịch mới (Thủ công)

Khi có ổ dịch phát sinh đột xuất được xác định bởi cơ quan y tế dự phòng, cán bộ truy cập mục Hồ Sơ Ổ Dịch để tiến hành khai báo:

  • Đặt tên ổ dịch (ví dụ: Ổ dịch Sởi thôn Bản Lóng).
  • Chọn bệnh cảnh dịch bệnh, địa bàn xã xảy ra ổ dịch.
  • Bấm vào bản đồ nhỏ phía dưới để **cắm cờ tọa độ** chính xác cho ổ dịch (dữ liệu này sẽ trực quan hóa sóng nhiệt lây nhiễm).
  • Khai báo danh sách ca bệnh F0 đầu tiên thuộc ổ dịch và bấm Ghi Nhận & Đóng Hồ Sơ.

📂 Quản lý danh sách ca bệnh & Liên kết ca bệnh lẻ

Để quản lý và hiệu chỉnh ca bệnh, truy cập mục Quản Lý Danh Sách:

  • Liên kết ca bệnh lẻ vào ổ dịch: Nếu một ca bệnh độc lập được phát hiện thuộc một ổ dịch đã có sẵn, cán bộ nhấp chọn ổ dịch, bấm nút Liên kết ca bệnh và chọn ca bệnh lẻ tương ứng để gộp vào ổ dịch.
  • Cập nhật trạng thái khỏi bệnh: Nhấp vào ca bệnh đang điều trị và chọn cập nhật trạng thái (Khỏi / Đang điều trị / Tử vong).
  • Xóa ca bệnh: Cho phép xóa các ca bệnh nhập sai sót hoặc trùng lặp (nếu khoảng thời gian báo cáo chưa bị khóa sổ).

Hệ thống tích hợp trí tuệ nhân tạo giám sát tự động (Auto-Scan Engine) nhằm phát hiện sớm các chùm ca bệnh độc lập có dấu hiệu lây nhiễm chéo để hình thành ổ dịch tự động.

⚙️ Nguyên lý hoạt động của thuật toán quét cụm ca bệnh:

  1. Quét ca bệnh lẻ: Hệ thống chỉ lọc quét các ca bệnh độc lập chưa được gán vào bất kỳ ổ dịch nào (outbreak_id = "").
  2. Gom nhóm theo Địa bàn & Loại bệnh: Các ca bệnh sẽ được gom nhóm dựa trên địa giới hành chính của từng loại bệnh cụ thể. Ví dụ:
    • Đối với bệnh Sởi: Quét gom nhóm theo cấp Thôn / Bản.
    • Đối với bệnh Sốt xuất huyết: Quét gom nhóm theo cấp Xã / Phường.
  3. Tính lũy kế thời gian phát bệnh (Time-Window): Hệ thống sắp xếp các ca bệnh trong cùng địa bàn theo thứ tự ngày khởi phát tăng dần và tìm chùm ca bệnh có khoảng cách phát bệnh giữa 2 ca liên tiếp nhỏ hơn hoặc bằng 14 ngày.
  4. Kích hoạt Ngưỡng (Threshold): If số lượng ca bệnh trong một cụm đạt từ 3 ca trở lên (hoặc theo ngưỡng cấu hình của từng loại bệnh trong danh mục), hệ thống sẽ **tự động tạo ổ dịch mới** có mã OD-XXXXXX, gán toàn bộ tọa độ các ca bệnh vào tâm xã đó và liên kết tự động toàn bộ chùm ca bệnh này vào ổ dịch mới tạo.

💡 Cán bộ quản lý có thể kích hoạt tiến trình quét tự động thủ công bất kỳ lúc nào bằng cách bấm nút Quét ổ dịch tự động trong mục Cài đặt & Báo cáo.

Hệ thống cho phép đồng bộ hai chiều trực tiếp với Hệ thống Quản lý giám sát bệnh truyền nhiễm Quốc gia (eCDS) của Bộ Y tế tại địa chỉ gs.vadp.gov.vn.

Step 1: Cấu hình kết nối tài khoản VADP

  1. Truy cập mục Quản Trị Hệ Thống (hoặc biểu tượng tài khoản cá nhân).
  2. Chọn cán bộ cần cấu hình, tìm tới phần Cấu hình kết nối VADP (Bộ Y tế) ở phía cuối Form thông tin.
  3. Nhập chính xác 3 thông tin do Cục Y tế dự phòng hoặc CDC cấp cho đơn vị của bạn:
    • Tài khoản VADP (Ví dụ: TTYTKVVC)
    • Mật khẩu VADP
    • Mã đơn vị VADP (Ví dụ: TTYTVC)
  4. Bấm Xác Nhận Lưu để lưu cấu hình.

Step 2: Thực hiện Đồng bộ hai chiều

Quản trị viên hoặc cán bộ được phân quyền truy cập mục Quản Trị Hệ Thống -> chọn tab Đồng bộ VADP:

  • PULL (Tải ca bệnh về): Bấm nút Đồng bộ Tải ca bệnh từ VADP. Hệ thống sẽ kết nối qua API VADP, tải toàn bộ ca bệnh được ghi nhận trên hệ thống quốc gia về và nạp tự động vào SQLite/Google Sheets của tỉnh.
  • PUSH (Đẩy ca bệnh lên): Bấm nút Đẩy dữ liệu ca bệnh lên VADP. Toàn bộ ca bệnh lẻ khai báo thủ công ở trạm của tỉnh sẽ được đẩy trực tiếp lên hệ thống quốc gia VADP của Bộ Y tế.
  • Xem lịch sử đồng bộ: Nhật ký kết nối (đăng nhập thành công/thất bại, số ca đồng bộ thành công, chi tiết lỗi Captcha...) sẽ hiển thị trực tiếp ở bảng nhật ký phía dưới để tiện giám sát.

⚡ Tích Hợp Hệ Thống HIS Bệnh Viện

Thông số kết nối API đồng bộ ca bệnh tự động dành cho các nhà cung cấp HIS

1. Thông số kết nối API

API URL (Đường dẫn kết nối) {{ windowOrigin }}/api/his/push-case
Method (Phương thức) POST
HTTP Header Xác thực (API Key) x-api-key: {{ hisApiKey || 'Đang tải...' }}
Content-Type application/json

2. Quản lý Mã khóa bảo mật HIS (Dành cho Quản trị viên)

Mã khóa này được dùng để xác thực hệ thống HIS bệnh viện khi đẩy ca bệnh sang. Bạn có thể tạo ngẫu nhiên mã khóa mới và bấm lưu lại.

3. Cấu trúc dữ liệu yêu cầu (Request Body - JSON)

Trường dữ liệu Kiểu dữ liệu Bắt buộc Mô tả / Ví dụ
ho_ten String Có Họ và tên bệnh nhân (Ví dụ: "Nguyễn Văn A")
ngay_sinh String Có Ngày sinh bệnh nhân (Ví dụ: "1995-10-15")
gioi_tinh String Có Giới tính bệnh nhân: "Nam" hoặc "Nữ"
benh String Có Mã bệnh ICD-10 (ví dụ: "B05") hoặc tên bệnh ("Sởi")
ngay_khoi_phat String Có Ngày khởi phát bệnh (định dạng YYYY-MM-DD). Ví dụ: "2026-08-28"
xa String Có Mã địa giới hành chính xã/phường (theo DM_XA). Ví dụ: "XA1058"
thon_ban String Không Thôn/Bản cư trú. Ví dụ: "Thôn Bản Lóng"
dia_chi_chi_tiet String Không Địa chỉ số nhà, ngõ ngách chi tiết
sdt String Không Số điện thoại liên lạc của bệnh nhân

4. Ví dụ Code kết nối (cURL & Python)

Ví dụ cURL Command
curl -X POST {{ windowOrigin }}/api/his/push-case \
  -H "Content-Type: application/json" \
  -H "x-api-key: {{ hisApiKey || 'HIS_SECRET_TOKEN_2026' }}" \
  -d '{
    "ho_ten": "Nguyễn Văn A",
    "ngay_sinh": "1990-05-20",
    "gioi_tinh": "Nam",
    "benh": "Sởi",
    "ngay_khoi_phat": "2026-08-25",
    "xa": "XA1058"
  }'
Ví dụ Python Requests
import requests
import json

url = "{{ windowOrigin }}/api/his/push-case"
headers = {
    'Content-Type': 'application/json',
    'x-api-key': '{{ hisApiKey || "HIS_SECRET_TOKEN_2026" }}'
}
payload = {
    "ho_ten": "Nguyễn Văn A",
    "ngay_sinh": "1990-05-20",
    "gioi_tinh": "Nam",
    "benh": "Sởi",
    "ngay_khoi_phat": "2026-08-25",
    "xa": "XA1058"
}

response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.json())

5. Nhật ký giám sát liên thông HIS (Lịch sử kết nối)

Chưa có lịch sử kết nối nào được ghi nhận.
Thời gian Mã Đơn Vị Bệnh nhân Bệnh Trạng thái Thông điệp phản hồi Payload
{{ new Date(log.timestamp).toLocaleString('vi-VN') }} {{ log.ma_don_vi || '-' }} {{ log.ho_ten || '-' }} {{ log.benh || '-' }} {{ log.status === 'success' ? 'THÀNH CÔNG' : 'LỖI' }} {{ log.message }}

Chi tiết JSON Payload

{{ JSON.stringify(JSON.parse(selectedPayloadLog.request_body), null, 2) }}

Thông Tin Bệnh Nhân

  • {{dt.ten_dan_toc}}
  • {{n.ten_nghe}}
  • {{ t }}
  • {{ x.ten_xa }} ({{ x.khu_vuc }})
  • {{ b.ten_benh }} ({{ b.ma_benh }})
Trễ báo cáo > 24h
Đúng thời hạn TT15

Tự động liên kết theo danh mục

Bệnh này không phân cấp độ (nhập tự do)

Điều trị (tiêm, uống vacxin) & Liều lượng

Xét nghiệm chẩn đoán

Bắt buộc nhập khi Loại xét nghiệm là "Loại khác"

Người liên hệ khẩn cấp (Người bảo hộ)

📋

Chi Tiết Ổ Dịch & Ca Bệnh

📍 Địa bàn: {{ selectedOutbreakForDetail.xa }}

{{ selectedOutbreakForDetail.ten }}

Bệnh cảnh: {{ selectedOutbreakForDetail.benh }} • Địa chỉ: {{ selectedOutbreakForDetail.nguon_lay || 'Chưa rõ nguồn lây' }}
{{ outbreakDetailCases.length === Number(selectedOutbreakForDetail.so_ca_mac) ? outbreakDetailCases.length : outbreakDetailCases.length + ' / ' + (selectedOutbreakForDetail.so_ca_mac || outbreakDetailCases.length) }} Ca bệnh {{ selectedOutbreakForDetail.trang_thai }}
👥 Danh Sách Bệnh Nhân Ghi Nhận

Đang tải danh sách ca bệnh...

📥

Chưa có ca bệnh nào được liên kết vào ổ dịch này.

Mã BN Họ & Tên Năm sinh / Giới tính Khởi phát Thôn bản Kết Quả XN Tình Trạng
{{ c.ma_ca_benh || c.case_id }} {{ c.c_an_danh === 'Có' || c.c_an_danh === 'true' || c.c_an_danh === true ? 'Bệnh nhân ẩn danh' : c.ho_ten }} {{ c.ngay_sinh ? c.ngay_sinh.substring(0, 4) : 'Chưa rõ' }} / {{ c.gioi_tinh }} {{ c.ngay_khoi_phat }} {{ c.thon_ban || 'Chưa rõ' }} {{ c.ket_qua_xet_nghiem }} {{ c.tinh_trang }}