オフラインファーストはフォールバックではない — xGridはいかにしてインターネットなしで稼働するか
Blog/

オフラインファーストはフォールバックではない — xGridはいかにしてインターネットなしで稼働するか

ほとんどのシステムにとって、オフラインモードは機能低下です。xGridにとって、オフラインモードは通常の状態です。基地局もネットワークもIT担当者もいない災害現場で、この違いがシステムを使えるかどうかを決めます。

ある思考実験

スマートフォンを機内モードにして、いちばんよく使うアプリを開いてみてください。

いきなり白い画面になるアプリもあります。古いキャッシュデータは見られても、何もできないアプリもあります。そのまま操作を続けられて、接続が戻ったときに同期してくれるアプリもあります。

多くの人は3つ目のふるまいを「オフライン対応」と呼びます。しかしこの呼び方は、「いずれオンラインに戻ることが前提で、オフラインはシステムが上手にやり過ごす一時的な不便にすぎない」という考え方を暗に含んでいます。

xGridはそのどれとも違います。xGridのデフォルトの状態は、オフラインです。ネットワークが戻ってくるのを待ちません。xGridが展開される現場では、ネットワークは二度と戻ってこないかもしれないからです。

これは機能が落ちたモードではありません。これが通常のモードです。

医療情報システムのすべてが、1台のデバイスに収まる

xGridの中核は、手のひらほどの大きさの専用エッジコンピューティングデバイスで、モバイルバッテリーだけで動作します。

このデバイスの上で、同時に3つのシステムが稼働しています。

  • xGrid Community Grid(コミュニティ・グリッド) — 患者登録、トリアージ、臨床申し送り、処方
  • xGrid Medical Grid(メディカル・グリッド) — 在庫管理、血液バンク、手術追跡、薬局調剤
  • xGrid READY — 施設の物資棚卸しとレジリエンス追跡

3つのシステムはそれぞれ独立しており、それぞれ専用のデータベースを持っています。デバイスが起動するとすべてのサービスが自動的に立ち上がり、いずれかのサービスに異常が生じても数秒以内に自動的に再起動します。

そして、このデバイス自身がWi-Fiホットスポットを立ち上げます。

看護師、医師、薬剤師はスマートフォンを取り出し、このWi-Fiに接続してブラウザを開くだけで作業を始められます。ルーターは要りません。基地局も要りません。クラウドサービスも一切必要ありません。

デバイスそのものが、インフラストラクチャなのです。

スマートフォンがWi-Fi圏外に出たらどうなるか

看護師が50メートル先のトリアージテントまで歩くと、スマートフォンのWi-Fi接続が切れます。それでも彼女は、1人の傷病者のトリアージをスマートフォン上で行います。このデータは消えてしまうのでしょうか。

消えません。スマートフォン側のシステムが操作をローカルに一時保存し、彼女がWi-Fi圏内に戻ると自動的に同期します。

しかも、この一時保存は先入れ先出しの単純な待ち行列ではありません。システムは操作を3段階の優先度に分けています。

優先度種類備考
最高:臨床操作トリアージ、指示、バイタルサイン、緊急薬剤7日間保持、自動削除なし
中等:運用操作在庫変動、薬剤払い出し、血液バンク操作3日間保持
最低:システムログ画面閲覧、クリック記録同期後は削除

接続が回復すると、臨床操作から優先的に同期されます。帯域幅が足りない場合は、システムログは破棄されても構いません——患者データには一切影響しません。

緊急時アクセス(Break-Glass)、輸血記録、規制薬物の払い出しなど、監査上とりわけ重要な操作は、状況を問わず自動削除されません——同期が確認されるまで、保持され続けます。

自動同期を支える4つの仕組み

スマートフォンの接続が回復したとき、システムはどうやって同期のタイミングを知るのでしょうか。単一の仕組みに頼るのではなく、4つの独立したトリガーを使います。

  1. 画面に戻ったとき — 看護師が他のアプリから切り替えて戻ってくると、すぐに同期を試みます
  2. ネットワークを検知したとき — スマートフォンがWi-Fiに接続した瞬間に同期します
  3. 定期チェック — 30秒ごとに自動でチェックし、未同期のデータがあれば送信します
  4. ページを閉じる直前 — 最後の試みとして、ブラウザを閉じたせいでデータが失われないようにします

4つの仕組みのうち、少なくとも1つは必ず作動します。実測では、オフラインデータの同期にかかる遅延はたいてい秒単位で、最悪でも分単位です。

オフラインカウントダウン

ナーシングステーションの画面上部には、「どれくらいの時間オフラインになっているか」を色で示すバナーがあります。

安全
4時間以上
注意
1〜4時間
警告
15分
危機的
スマートフォンが振動して知らせる

これは脅すためのものではありません。操作者が判断するための十分な時間を与えるものです——Wi-Fi圏内に戻って同期するか、それともオフラインのまま作業を続けるか。オフラインの時間が長くなるほど、手元のデータと中央データベースとの差は大きくなります。このカウントダウンは、その差を目に見える形にするものです。

なぜクラウドを使わないのか

使えないからではありません。頼るべきではないからです。

災害医療が展開される現場は、次のような環境です。

  • 基地局が倒壊し、携帯電話網が使えないかもしれない
  • 電力が不安定で、デバイスはモバイルバッテリーで動く
  • IT担当者はおらず、操作するのは看護師や医師
  • セットアップの時間はなく、箱から出してすぐ使える必要がある

こうした条件のもとでは、クラウドに依存するシステムには一つの致命的な弱点があります。いちばん必要なときに、いちばんつながりにくい。

xGridの答えは、「クラウド」を身につけて持ち歩くことです。デバイス1台+モバイルバッテリー1個+数台のスマートフォン=完全な医療情報システム。起動から使用可能になるまで、30秒です。

「オフラインファースト」が本当に意味すること

「オフラインモードもあります」という意味ではありません。

「外部への依存が一切ない状態でも、すべての中核機能をやり遂げられるシステムです」という意味です。

すべての設計判断は、この前提から出発しています。別のサーバーを必要とするデータベースではなく、組み込みデータベースを選びました。アプリストアを必要とするネイティブアプリではなく、ブラウザで動くアプリケーションを選びました。リアルタイム同期ではなく、イベントのキューイングを選びました。ネットワーク管理者による設定を必要とするVPNではなく、Wi-Fiホットスポットを選びました。

こうした一つひとつの選択は、すべて同じ問いに答えています。デバイス1台と数台のスマートフォンしかない状況でも、この機能は動くのか。

答えが「動かない」であれば、答えが「動く」に変わるまで、私たちは設計をやり直します。


関連記事: 壁が破られたとき — Safety-IIで医療システムを設計する