WardBoard-OSS

病棟、備品、会議室など「場所とモノ」の今を可視化する。
個人情報を扱わない、軽量・セキュアなステータス管理ボード。

ホワイトボードの運用をそのままWebへ。複雑なシステム連携は不要です。

開発の背景と概要

医療現場では、今でもホワイトボードやマグネットを使ってベッドの空き状況を管理している場面が多くあります。しかし、これらには「現場に行かないと状況がわからない」「転記ミスが起きる」といった課題がありました。

WardBoard-OSS は、そのような「アナログなホワイトボード運用」をデジタルの力で補完するために生まれました。電子カルテのような大規模なシステムを導入することなく、ブラウザひとつでどこからでも状況を把握できます。

最大の特徴は、「患者の個人情報を一切持たない」という設計思想です。管理するのはあくまで「場所(ベッド・部屋)」の状態のみ。だからこそ、導入のハードルが低く、セキュアに運用できます。

本プロジェクトは 門王 (monou.jp) によって開発・メンテナンスされています。医療現場のDXを、シンプルかつセキュアに推進することを目指しています。

幅広い活用シーン
  • 病棟・外来のベッド・診察室管理
    ナースステーション、医局、受付でのリアルタイムな情報共有に。
  • 医療機器・ME機器の貸出管理
    人工呼吸器や輸液ポンプなどの所在とステータス(使用中・点検中)を把握。
  • 会議室・共有スペースの利用状況
    「空き」「予約あり」「清掃中」など、部屋の状況を可視化。
  • 公用車・共有車両の稼働管理
    車両ごとの貸出状況やメンテナンス予定の共有に。
  • イベント会場・健診センター
    各ブースや受付の混雑状況、進行状況のサイネージとして。

画面サンプル

ダッシュボード画面
メインボード画面

タイル形式で現在のステータスを一覧表示。クリックで素早く状態を変更できます。

管理画面
管理設定画面

エリア、部屋、ベッドの登録や、状態マスタのカスタマイズが可能です。

サイネージモード
閲覧専用(サイネージ)モード

30秒ごとの自動更新。大型モニターに表示して共有するのに最適です。

運用ログ
運用履歴ログ

「誰が・いつ・何を」変更したかを正確に記録。監査証跡としても有効です。

主な特徴

個人情報を扱わない

患者名や病名、IDなどは一切入力・保存しません。DBが盗難・流出したとしても個人情報漏洩のリスクはありません。

導入が極めて簡単

Python 3.7+ と SQLite があれば動作。CGI、WSGI環境に対応。Dockerなしでも数分でセットアップ完了します。

高いカスタマイズ性

「空き」「使用中」「清掃中」など、運用に合わせた状態マスタを自由に作成。色やアイコンも変更可能です。

運用を自動化

深夜の決まった時間に「清掃中」を「空き」に自動リセット。手動操作の手間を減らす仕組みを備えています。

詳細な機能

ボード表示と状態変更

エリア内の状況をタイル形式で一覧。クリック(タップ)するだけで状態を切り替えられます。確認ダイアログの有無も設定可能です。

表示専用・デジタルサイネージ

操作メニューを隠した閲覧専用URL。30秒ごとの自動更新機能を備え、大型モニターでの常時表示に最適です。

リアルタイム集計画面

全エリア、またはエリアごとの「空き」「使用中」等の数を自動集計。現在の稼働率を瞬時に把握できます。

運用ログと監査履歴

「いつ、誰が、どの項目を、何から何へ変更したか」を全て記録。過去90日分(設定可能)のログを保持します。

柔軟な権限管理

管理者(全機能)、オペレーター(更新のみ)、閲覧者(見るだけ)の3段階。現場の役割に合わせて使い分けられます。

マルチデバイス・テーマ

レスポンシブ設計に加え、ダークモードにも対応。タブレット端末での運用も非常にスムーズです。

導入手順

動作環境 / 技術スタック
  • 言語: Python 3.7+
  • Webフレームワーク: Bottle
  • ORM: Peewee
  • DB: SQLite (設定により他DBも可)
  • UI: Bootstrap 5 / Jinja2
  • 認証: itsdangerous (署名付きCookie)
1
ライブラリのインストール

Python 3.7以降がインストールされた環境で、以下のコマンドを実行して依存ライブラリをインストールします。

pip install bottle peewee jinja2 itsdangerous

※WSGIサーバー(Gunicorn, Waitress等)を使用する場合は、別途インストールしてください。

2
システムの起動

リポジトリをダウンロードし、そのディレクトリ内で以下のコマンドを実行します。

python app.py

デフォルトでは http://localhost:8080 で起動します。サーバー起動オプションは config.py で変更可能です。

3
初期セットアップ

ブラウザで /install にアクセスし、最初の管理者ユーザーを作成します。その後ログインし、管理メニューから以下の順に設定を行います。

  • 1. エリア登録: 運用単位(A病棟、外来、会議室、車両等)を登録します。
  • 2. 部屋登録: エリアに紐づく項目(301号室、第1会議室、車両ナンバー等)を登録します。
  • 3. ベッド登録: 部屋の中に複数の管理単位(ベッド、備品等)がある場合のみ登録します(オプション)。
  • 4. ユーザー登録: 他のスタッフ用のカウントを作成します。
4
(任意)カスタマイズ

必要に応じて、状態マスタの色やアイコンを変更したり、自動リセット時間を config.py で設定してください。

セキュリティと設計思想

徹底した匿名性

患者の氏名、年齢、ID、病名、入退院予定日など、いかなる個人情報も入力することを許可しません。入力フォーム自体が存在しないため、オペレーションミスによる情報漏洩も防ぎます。

クローズドネットワーク前提

本システムは院内LANなどでの利用を想定しています。インターネットに公開する場合は、Nginx等のリバースプロキシによるSSL化やVPN経由でのアクセスを強く推奨します。

依存性の最小化

外部APIやクラウドサービスには一切依存しません。全てのデータはローカルのSQLiteに保存されるため、オフライン環境でも確実に動作します。

重要: 本システムは「ホワイトボードのWeb化」に特化しています。電子カルテの代替や、医療的な意思決定を支援するものではありません。運用にあたっては各施設の情報セキュリティポリシーに従ってください。

アップデート履歴

バージョン 主な更新内容
v1.4 自動リセット機能、ダークモード対応、表示専用モードのオプション追加
v1.3 状態運用の柔軟化(部屋/ベッド別)、簡易集計画面の追加
v1.2 運用ログ(変更履歴)機能、ログ保持期間設定の追加
v1.1 表示専用モード、変更確認モーダル、クエリ最適化
v1.0 初回リリース

ライセンス

OSS版と商用利用について

WardBoard-OSSは GNU Affero General Public License v3 (AGPL-3.0) のもとで公開されており、どなたでも自由にご利用いただけます。ソースコードの改変や再配布も可能ですが、同一ライセンスでの公開が義務付けられます。

商用・カスタマイズのご相談

以下のような場合は、開発元の門王までお気軽にお問い合わせください。

  • AGPLの制限(ソースコード公開義務)を受けずに商用利用したい(商用ライセンスの発行)
  • 自社の運用に合わせて独自の機能追加や画面カスタマイズを行いたい
  • 院内・社内への導入支援や、保守サポートを受けたい
門王へ問い合わせる (monou.jp)