De Novo Orthopedics
"Offline-First" Không Phải Là "Tạm Dùng Được Lúc Mất Mạng" — xGrid Vận Hành Thế Nào Khi Không Có Internet
Blog/

"Offline-First" Không Phải Là "Tạm Dùng Được Lúc Mất Mạng" — xGrid Vận Hành Thế Nào Khi Không Có Internet

Ở hầu hết hệ thống, chế độ ngoại tuyến là một sự suy giảm. Ở xGrid, đó là trạng thái bình thường. Tại hiện trường thảm họa không có trạm phát sóng, không có mạng, không có nhân viên IT, khác biệt này quyết định hệ thống có dùng được hay không.

Một thí nghiệm tư duy

Hãy chuyển điện thoại sang chế độ máy bay, rồi mở ứng dụng bạn dùng nhiều nhất.

Một số ứng dụng lập tức hiện màn hình trắng. Một số hiển thị được dữ liệu cũ đã lưu trong bộ nhớ đệm nhưng không thao tác được gì thêm. Một số khác cho phép bạn tiếp tục làm việc, rồi tự đồng bộ khi có mạng trở lại.

Loại thứ ba, đa số gọi là "tạm dùng được lúc mất mạng". Cách gọi này ngầm định rằng rồi bạn sẽ quay lại trực tuyến, còn ngoại tuyến chỉ là một bất tiện nhất thời.

xGrid không vận hành theo kiểu đó. Trạng thái mặc định của xGrid chính là ngoại tuyến. Nó không chờ mạng quay lại, vì ở những nơi nó được triển khai, mạng có khi sẽ chẳng bao giờ đến.

Đây không phải là chế độ suy giảm. Đây là chế độ bình thường.

Toàn bộ hệ thống thông tin y tế, gọn trong một thiết bị

Lõi của xGrid là một thiết bị điện toán biên (edge computing) chuyên dụng, chỉ to bằng lòng bàn tay, chạy được bằng pin sạc dự phòng.

Trên cùng một thiết bị này, ba hệ thống chạy song song:

  • xGrid Community Grid (Mạng Kiên Cường Cộng Đồng) — đăng ký bệnh nhân, phân loại, bàn giao lâm sàng, kê đơn
  • xGrid Medical Grid (Mạng Kiên Cường Y Tế) — quản lý kho, ngân hàng máu, theo dõi phẫu thuật, cấp phát thuốc tại dược
  • xGrid READY — kiểm kê vật tư cơ sở và theo dõi năng lực kiên cường

Ba hệ thống hoàn toàn độc lập, mỗi hệ thống có cơ sở dữ liệu riêng. Thiết bị khởi động xong, mọi dịch vụ sẽ tự động chạy theo; hễ dịch vụ nào gặp trục trặc, nó sẽ tự khởi động lại chỉ trong vài giây.

Sau đó, chính thiết bị này phát ra một điểm phát WiFi riêng.

Điều dưỡng, bác sĩ, dược sĩ chỉ cần lấy điện thoại ra, kết nối vào WiFi đó, mở trình duyệt lên là bắt đầu làm việc được ngay. Không cần router. Không cần trạm phát sóng. Không cần bất kỳ dịch vụ đám mây nào.

Bản thân thiết bị chính là hạ tầng.

Nếu điện thoại ra khỏi vùng phủ WiFi thì sao?

Một điều dưỡng đi ra lều phân loại cách đó 50 mét, điện thoại mất kết nối WiFi. Ngay trước đó cô vừa phân loại xong một nạn nhân trên điện thoại. Vậy dữ liệu này có mất không?

Không. Hệ thống trên điện thoại sẽ lưu tạm thao tác đó ngay trên máy, rồi tự động đồng bộ khi cô quay lại vùng phủ sóng.

Và việc lưu tạm này không xếp hàng vô tội vạ — hệ thống chia thao tác thành ba mức ưu tiên:

Mức độ ưu tiênLoạiVí dụ
Cao nhất: thao tác lâm sàngPhân loại, y lệnh, dấu hiệu sinh tồn, thuốc cấp cứuGiữ 7 ngày, không bao giờ tự động xóa
Trung bình: thao tác vận hànhBiến động kho, cấp phát thuốc, thao tác ngân hàng máuGiữ 3 ngày
Thấp nhất: nhật ký hệ thốngLượt xem màn hình, lịch sử thao tác chạmXóa ngay sau khi đồng bộ

Khi có mạng trở lại, thao tác lâm sàng được đồng bộ trước tiên. Nếu băng thông không đủ, nhật ký hệ thống có thể bị bỏ qua mà không ảnh hưởng đến bất kỳ dữ liệu bệnh nhân nào.

Riêng những thao tác then chốt cho việc kiểm toán — như quyền truy cập khẩn cấp (break-glass), hồ sơ truyền máu, cấp phát thuốc kiểm soát đặc biệt — thì dù thế nào cũng không bị tự động xóa; chúng được giữ lại cho đến khi xác nhận đã đồng bộ xong.

Bốn lớp phòng vệ đồng bộ tự động

Sau khi điện thoại có mạng trở lại, hệ thống biết khi nào cần đồng bộ? Nó không dựa vào một cơ chế duy nhất, mà dùng bốn điều kiện kích hoạt độc lập với nhau:

  1. Khi quay lại màn hình — điều dưỡng chuyển từ ứng dụng khác về lại hệ thống, đồng bộ được thử ngay lập tức
  2. Khi phát hiện có mạng — ngay khoảnh khắc điện thoại bắt được WiFi, đồng bộ lập tức diễn ra
  3. Kiểm tra định kỳ — cứ 30 giây hệ thống tự kiểm tra một lần, còn dữ liệu chờ đồng bộ thì gửi đi ngay
  4. Trước khi đóng trang — một lần thử cuối cùng, để dữ liệu không mất chỉ vì tắt trình duyệt

Bốn lớp phòng vệ, chỉ cần một lớp kích hoạt là đủ. Trong thực tế đo đạc, độ trễ đồng bộ dữ liệu ngoại tuyến thường chỉ tính bằng giây, trường hợp xấu nhất cũng chỉ đến vài phút.

Đồng hồ đếm ngược thời gian ngoại tuyến

Phía trên màn hình trạm điều dưỡng có một dải băng trạng thái, dùng màu sắc báo cho bạn biết đã ngoại tuyến bao lâu:

An toàn
Trên 4 giờ
Chú ý
1–4 giờ
Cảnh báo
15 phút
Nguy cấp
Điện thoại rung cảnh báo

Đây không phải để dọa người dùng. Nó cho người vận hành đủ thời gian để tự quyết định: quay lại vùng phủ WiFi để đồng bộ, hay tiếp tục làm việc ở chế độ ngoại tuyến. Ngoại tuyến càng lâu, khoảng cách giữa dữ liệu trên điện thoại và cơ sở dữ liệu trung tâm càng lớn. Đồng hồ đếm ngược khiến khoảng cách đó trở nên nhìn thấy được.

Vì sao không dùng đám mây?

Không phải là không dùng được. Mà là không nên phụ thuộc vào nó.

Ở hiện trường triển khai y tế thảm họa:

  • Trạm phát sóng có thể đã sập, không có mạng di động
  • Điện lưới không ổn định, thiết bị phải chạy bằng pin dự phòng
  • Không có nhân viên IT, người vận hành là điều dưỡng và bác sĩ
  • Không có thời gian để cài đặt, mở hộp ra là phải dùng được ngay

Trong những điều kiện đó, bất kỳ hệ thống nào lệ thuộc vào đám mây cũng mắc phải một nhược điểm chí mạng: đúng lúc bạn cần nó nhất lại là lúc bạn khó kết nối được với nó nhất.

Cách xGrid giải quyết là mang "đám mây" theo người. Một thiết bị, cộng một pin dự phòng, cộng vài chiếc điện thoại — bằng một hệ thống thông tin y tế hoàn chỉnh. Từ lúc bật máy đến khi sẵn sàng dùng: 30 giây.

"Offline-First" thực sự nghĩa là gì?

Không phải là "chúng tôi có một chế độ ngoại tuyến."

Mà là "hệ thống của chúng tôi, dù hoàn toàn không có bất kỳ phụ thuộc bên ngoài nào, vẫn hoàn thành được mọi chức năng cốt lõi."

Mọi quyết định thiết kế đều xuất phát từ tiền đề này: chọn cơ sở dữ liệu nhúng thay vì loại cần một máy chủ riêng; chọn ứng dụng chạy trên trình duyệt thay vì app gốc cần tải qua kho ứng dụng; chọn xếp hàng sự kiện thay vì đồng bộ tức thời; chọn điểm phát WiFi thay vì VPN cần quản trị viên mạng cấu hình.

Mỗi lựa chọn đó đều trả lời cho cùng một câu hỏi: nếu chỉ có một thiết bị và vài chiếc điện thoại, chức năng này còn dùng được không?

Nếu câu trả lời là "không," chúng tôi thiết kế lại — cho đến khi câu trả lời trở thành "có."


Bài liên quan: Khi bức tường bị chọc thủng — Safety-II đã thay đổi cách chúng ta thiết kế hệ thống y tế như thế nào