麻酔科つれづれぶろぐ masuika.org

さぬちゃんの麻酔科医生活

麻酔科術前問診アプリv1.00をリリースしました。

術前問診をタブレットで

「麻酔科術前問診アプリ」を作りました

術前外来の問診票を、紙ではなくタブレットで書いてもらうWebアプリを作りました。 名前は「麻酔科術前問診アプリ」、バージョン1.00です。フリーウェアとして公開します。

まず触ってみてください。 iPadやアンドロイドタブレットのWEBブラウザで以下のURLを開いて下さい。インストールは必要ありません。

https://msanuki.com/masuimons/?demo=1

「お試しモード」で開きます。ダミーの患者さんの情報が最初から入っているので、 名前を打ち込む手間もありません。保存も送信もされないので、安心して全部の質問を見てください。 最後に「送信」を押すと、実際に書き出される内容がそのまま画面に出ます。

ダウンロードは

https://msanuki.com/pubから masuimonsv100.zip をどうぞ。

紙の問診票で困っていたこと

三つあります。

ひとつめは、字が読めないこと。ご高齢の方の手書きは判読に苦労しますし、 チェック欄がどちらに付いているのか分からないこともあります。

ふたつめは、転記の手間です。紙を見ながらカルテに打ち直す時間は、 それなりにかかる割に、そこから新しいものは何も生まれません。

みっつめは、見落とし。「血液をサラサラにする薬」の欄に丸が付いているのに、 束に紛れて手術当日まで誰も気づかない。そういうことが起こり得ます。

タブレットに入力してもらえば、この三つはかなり減らせます。 とはいえ、そのためだけに部門システムを買うわけにもいきません。それで自分で作りました。

インストールはいりません

iPadでもAndroidタブレットでも、ブラウザで開くだけで動きます。 アプリストアは経由しません。「ホーム画面に追加」しておけば、 アイコンから全画面で立ち上がるので、見た目はふつうのアプリと変わりません。

とはいえ「ブラウザで動く」ということは、その画面を配る役の機械がどこかに要る、 ということでもあります。ここが最初につまずくところなので、あとでまとめて書きます。

依存パッケージはゼロです。画面は素のHTMLとCSSとJavaScript、 サーバーはPython 3の標準ライブラリだけで書きました。 npm install も pip install も要りません。

画面を「患者さん用」と「スタッフ用」に分けました

タブレットは患者さんの手に渡ります。設定画面や保管庫がすぐ触れる状態では困ります。

そこで入口を二つに分けました。

患者さん用の画面は、大きな「問診をはじめる」ボタンだけです。 それ以外は出てきません。文字の大きさを「標準・大・特大」から選べるので、 老眼鏡を忘れた方にも渡せます。

スタッフ用の画面に入るには、管理者パスワードが要ります。 患者さん用画面の下にスタッフ用の入口ボタンが並んでいますが、押すとパスワードを聞かれます。 こちらでは、その日の発行件数、送信件数、端末に保管している件数、送信先が一覧できます。

そして、二つの画面は色を変えてあります。 患者さん用は落ち着いたティール、スタッフ用はすみれ色。 画面上部の帯も、ボタンも、アイコンの背景も切り替わります。

これは見た目の趣味ではなく、事故防止のためです。 スタッフ画面のまま患者さんに渡してしまうのがいちばん怖い。 色がまるごと違えば、渡す直前でも気づけます。念のため、帯には「患者用」「スタッフ用」の文字も出しています。

送信が終わると自動的に患者さん用の画面に戻ります。無操作が続いたときも戻ります。 そのまま次の方に渡せます。

患者さん用の画面では、氏名や患者IDを書き換えられません。 入力欄は読み取り専用にしてあり、直すにはスタッフがパスワードを入れる必要があります。 取り違えを防ぐための作りです。

問診表番号も患者さん用の画面には出しません。代わりに、記入画面のいちばん上に お名前とふりがなと年齢を大きく出しています。自分の問診票かどうかを確かめてもらうためです。 番号やステータスは患者さんには意味がありませんし、うっかり書き換えられても困ります。

この名前の欄とページを選ぶボタンは、スクロールしても上に残るようにしました。 長い問診票だと、いま自分がどこを答えているのか分からなくなります。

ページを選ぶボタンは、はじめは名前付きの横長のボタンを横スクロールで並べていました。 これだと全部で何ページあるのかが見えません。先が見えない問診ほど嫌なものはないので、 絵文字とページ番号だけの小さなボタンにして、全ページを一度に見せる形に変えました。 ページの名前は、すぐ下に「2 / 16 ページ目 特に大切な質問」と出ます。 最初のページには「上のアイコンを左から順に押してください」という案内も出るようにしました。

答え終わったページは緑色に変わり、右上にチェックが付きます。あと何ページかが見当つきます。

確認画面も患者さん用とスタッフ用で分けました。 患者さん用に出るのは「記入おつかれさまでした」と、答えていない項目の一覧と、 「これで提出する」ボタンだけです。 麻酔科として確認したい点や、カルテ貼り付け用のテキストや、XMLの書き出しは、 患者さんには関係のない操作なので出しません。

問診の中身

全16ページ・67問です。

はじめの1ページは「特に大切な質問」の3問だけにしました。 階段を2階まで休まずに上がれるか、がんの治療を受けているか、この2週間で熱や咳がなかったか。 手術の可否や日程に直結する質問です。途中で記入をやめられても、ここだけは埋まっています。

そのあとは、からだの状態、妊娠・授乳、予防接種、歯と口と首。 答えやすいものと、麻酔科が真っ先に知りたいものを前に置きました。 既往歴、アレルギー、内服薬、心臓、肺、神経、内分泌、消化器、腎臓、血液と輸血、 そして自由記載が続きます。 妊娠・授乳のページは、女性の方にだけ表示されます。

設問文には「なぜ聞くのか」を一言添えました。 たとえば 「胸やけや、すっぱいものが上がってくることがありますか」の下には、 「麻酔をかけるときに、胃の中身が逆流しないよう気をつけるためにおたずねしています」と出ます。 理由がわかると答えやすくなりますし、聞かれて不快な質問も減ると思います。

薬の名前も、成分名ではなく患者さんが目にする商品名を先に書きました。 「SGLT2阻害薬」ではなく「フォシーガ、ジャディアンス、スーグラ…」です。 お薬手帳と見比べてもらえます。

該当のないページは「すべて『なし』にする」を一回押せば埋まります。 すでに答えた項目は上書きしないので、押し間違えても平気です。

ただし、この一括入力を出すページは選んであります。 「階段を2階まで上がれますか」のような程度をたずねる設問は、勝手に「問題なし」にすると危ないので外しました。 歯と口と首のページは気道確保に直結するので、 生活習慣のページは喫煙・飲酒・いびき・ADLを含むので、 どちらも一問ずつ答えてもらう形にしています。

答えにくい質問には、書き方のほうで気を配りました。 輸血を希望されないかどうかをたずねる欄には、 「はい」を選んだときだけ理由を書く欄が出ます。見出しは「差し支えなければ」。 設問の下には「手術前に、あらためて詳しくご相談させていただきます」と添えました。 この場ですべてを書かせるのではなく、後日きちんと話す前提だと伝わるほうが書きやすいはずです。

聞かない質問を決めるのも設計のうち

作っている途中で何度も削りました。血液型、最終月経、定期接種の進み具合、 半年で体重が5kg以上変わったか、「麻酔の薬が効きすぎる体質と言われたことがありますか」。

どれも麻酔科としては知りたいことです。でも、血液型は輸血の準備で検査して確定させますし、 「効きすぎる体質」は、そう言われた経験のある人がまず居ません。 体重の変化は、診察のときに前回の記録と見比べたほうが確かです。 答えられない質問や、答えても使わない質問は、問診票を長くするだけです。

長い問診票は、後半の回答が雑になります。それなら削ったほうがいい、と考えました。

歯の図(歯式)を入れました

同じく自分で作っている周術期テンプレートに歯式の入力補助があったので、 それを患者さんにも使える言葉に置き換えて移しました。

使い方は2段階です。まず印をえらび、次にあてはまる歯を押す。 押した歯には色が付いてそのまま残り、下の欄に 「右上1:ぐらついている、左上2:差し歯・かぶせ物」と文章になって貯まっていきます。 もう一度押せば外れます。永久歯と乳歯を切り替えられるので、お子さんにも使えます。

印は「ぐらついている」「入れ歯」「差し歯・かぶせ物」「抜けている」の4つだけにしました。 動揺度を3段階に分けたり、ブリッジやインプラントまで並べたりもしてみたのですが、 患者さんが選ぶには細かすぎます。細かい記録は、下の自由記載欄にスタッフが書き足せば済みます。

動揺歯があると、挿管のときに歯が欠けることがあります。 どの歯なのかが最初から文章になっていると、当日の説明も確認もぐっと楽になります。

予防接種のページを足しました

小児の予定手術では、生ワクチンを打った直後だと日をずらすことがあります。 大人でもインフルエンザや新型コロナの接種直後は発熱することがあります。

そこで、1か月以内に接種したか、何を接種したか、の2問だけ入れました。 はじめは接種後の体調や定期接種の進み具合も聞いていたのですが、 麻酔の判断に効いてくるのは結局この2つだけだったので、削りました。

生ワクチン(麻疹・風疹、水ぼうそう、おたふくかぜ、BCG、ロタ)を選ぶと、 確認画面に「直近の生ワクチン接種(待機期間の確認が必要)」と出ます。

小さく始められます

「導入」と言われると身構えますが、タブレット1台とパソコン1台で始められます。

パソコンで付属のサーバーを起動して、同じWi-Fiのタブレットからその画面を開く。 それだけです。患者さんが記入して送信すると、XMLがパソコンに貯まっていきます。 端末には何も残りません。いちばん簡単な形で、その日から始められます。

もう一歩進めて、タブレットだけで完結させることもできます。 記入が終わると内容は暗号化されて端末の中に残り、 夕方にスタッフがパスワードで解錠して「XMLをまとめて書き出す」を押す。 その日の全件が1つのファイルになるので、あとは「ファイル」アプリから ネットワークフォルダなり、USBメモリなりに移すだけです。 移し終えたら保管庫を空にします。日々の運用にパソコンもネットワークも要りません。

ただし、こちらには条件があります。HTTPSの用意が必要です。

ブラウザには「安全な接続でないと、強い暗号化とオフライン動作を許さない」という決まりがあります。 端末に問診票を保管するのも、サーバーなしで動かすのも、この決まりに引っかかります。 証明書を作って、それをタブレットに信頼させる。最初の1回だけの作業ですが、 少し手間なので、まずはパソコンと一緒に使う形から始めるのがいいと思います。

台数を増やすときは、端末ごとに通し番号の開始値をずらします。 1台目は0、2台目は100、3台目は200。これだけで番号の重複を防げます。

タブレットだけで完結させる方法には、もうひとつ限界があります。 バックアップがないので、書き出す前に端末を失えばその分は戻りません。 こまめに書き出してください。

台数が増えて手間になってきたら、受信サーバーを立てる形に移れます。 設定を一か所変えるだけで、それまでのやり方はそのまま使えます。

ネットワークの話

よく聞かれるので先に書いておきます。

このアプリは、電子カルテのネットワークにはつなぎません。つなぐ必要もありません。 やり取りするのはXMLファイルだけで、電子カルテ側へは人がファイルを運びます。 ネットワークフォルダに置くか、USBメモリで運ぶか、部門システムの取り込み口に置くか。 情報部門に説明するときも、まずこの点を伝えると話が早いと思います。

必要なのは、タブレットとパソコンが同じローカルネットワークにいることだけです。 インターネットへの接続も要りません。

Wi-Fiは、専用のルータを1台置くのがいちばん簡単でした。 数千円の家庭用ルータで足りますし、インターネット回線につなぐ必要もありません。 電源を入れて、パソコンとタブレットをつなぐだけ。 院内の他のネットワークから物理的に切り離せるので、情報部門との相談もしやすくなります。

ひとつだけ注意点があります。ルータの設定に 「プライバシーセパレータ」「ネットワーク分離」といった項目があれば、切ってください。 これが入っていると、つないだ端末どうしが通信できません。 つながらないときは、たいていこれが原因です。

記入したあと、診察室で直せます

今回いちばん作りたかった機能です。受信サーバーを立てた場合の話になります。

待合でタブレットに記入してもらったあと、診察室やスタッフルームの端末から、 その日に受け付けた問診票の一覧を開けます。院内のネットワークの中だけで完結します。

一覧には氏名、患者ID、予定術式、そして「要確認」の件数が並びます。 気になる一件を開けば、聞き取りをしながらその場で内容を直せます。

「血液をサラサラにする薬」に丸が付いていないけれど、 よく聞いたらバイアスピリンを飲んでいた。そういうときに、その場で直せます。

直した項目には自動で印が付きます。 「スタッフ修正」という印と、どの端末で直したかが分かるように端末IDを小さく併記します。 確認画面には「スタッフが修正した項目」の一覧が出ますし、 XMLにもカルテ貼り付け用テキストにも同じ情報が残ります。

患者さんが答えたままの内容なのか、あとから医療者が手を入れたのかが区別できないと、 後で読む人が困ります。だから印を付けることにしました。

保存し直すと同じファイル名を上書きしますが、上書き前の内容は履歴フォルダに日時付きで残ります。 消えるものはありません。

なお、スタッフが最初から代筆した問診票には印を付けません。 全部がスタッフの入力なので、印を付けても意味がないからです。

サーバーを立てない運用でも、保管庫から一件ずつ開いて同じように直せます。 印の付き方も同じです。

麻酔科医として工夫したところ

送信する前に、確認画面で注意点が自動で並びます。

抗血栓薬を飲んでいる。GLP-1受容体作動薬を使っている。ぐらつく歯がある。 睡眠中に呼吸が止まると言われている。血縁者が麻酔で高熱を出した。口が開かない。 BMIが35を超えている。こうしたものを、回答から機械的に拾い出します。

もちろん診断ではありません。拾われなかったからリスクがない、という話でもありません。 見落としを減らすための補助です。

もうひとつ、電子カルテに貼り付けるためのテキストが自動で作られます。 「なし」「いいえ」だけの陰性所見は省いて、意味のある回答だけを並べたものです。 ボタンひとつでコピーできるので、カルテに貼って必要なところだけ直せば済みます。

GLP-1受容体作動薬を項目に入れたのは、最近の絶飲食の議論があるからです。 SGLT2阻害薬も、正常血糖ケトアシドーシスの件で休薬確認が要るので独立した設問にしました。 このあたりは施設の方針で変わるところなので、書き換えられるようにしてあります。 設定ファイルを一つ編集するだけで、ビルド作業は要りません。

データの扱い

書き出されるのはXMLです。項目には ALG.DRUG のような固定のコードを振ってあるので、 電子カルテや部門システム側で機械的に取り込めます。XSD(スキーマ定義)も付けました。 ベンダーさんに連携を依頼するときは、仕様書とXSDを渡せば話が早いと思います。

保存先は運用パターンによって変わります。 付属の受信サーバーを院内のPCかNASで動かしておけば、 送信ボタンを押すだけで指定のネットワークフォルダにXMLが保存されます。 サーバーを立てない場合は、端末に貯めておいて、あとからまとめて書き出します。

送信後に端末へデータを残すかどうかも選べます。既定は「残さない」です。 残す設定にした場合は暗号化されて保管され、中身を読むには管理者パスワードが要ります。

暗号化には公開鍵暗号を使いました。 保存するときはパスワード不要、読むときだけパスワードが必要という形にしたかったからです。 患者さんが記入し終えた瞬間に暗号化したいけれど、 そのたびにスタッフがパスワードを打つのは現実的ではありません。この方式ならどちらも満たせます。

使ってみるには

いちばん簡単なのは、**https://msanuki.com/masuimons/ をタブレットで開いて、 共有ボタンから「ホーム画面に追加」**することです。それだけで使える状態になります。

https:// で配っているので、証明書の準備をしなくても 端末内の暗号化保管とオフライン動作が有効になります。 さきほど「HTTPSの用意が必要」と書いた手間が、まるごと要りません。

ここで念のため書いておきます。 msanuki.com に置いてあるのは、画面を動かすファイルだけです。 HTML と CSS と JavaScript とアイコン。それだけです。 問診の内容は開いた端末のブラウザの中だけにあって、私のサーバーには一切届きません。 アプリの設定で「サーバーURL」が空欄である限り、どこへも送信しないからです。

とはいえ、実際の患者さんに使うとなると施設の判断が要ります。 「アプリの置き場所が院外である」という一点で規程に触れる施設はあるはずです。 その場合はZIPをダウンロードして、public フォルダを院内のサーバーにコピーしてください。 中身はまったく同じものです。

自分のパソコンで動かす場合は、ダウンロードして python3 server/server.py と打つだけです。 macOSなら付属のファイルをダブルクリックでも起動します。 npm install も pip install も要りません。

始め方は4通りあります。公開サイトをそのまま使う方法、パソコンと一緒に使う方法、 タブレットだけで完結させる方法、院内サーバーを立てる方法。 それぞれ必要なものと手順を「運用パターン」という文書にまとめました。

「院内で確認・修正」を使う場合は、サーバーが問診票の中身をネットワーク越しに返すことになります。 設定ファイルの接続トークンを必ず設定してください。

免責

このアプリは、問診の内容を記録して受け渡すための道具です。 診断や治療方針を決めるものではありません。

書かれている内容は、すべて患者さんの自己申告です。 診療録に転記するときは、必ず医療者が内容を確認してください。 自動で拾い出される注意点も、あくまで候補にすぎません。

導入にあたっては、各施設の医療情報システムや個人情報保護の規程に従ってください。 このソフトウェアを使ったことで生じた損害について、私は責任を負えません。

さいごに

フリーウェアです。無償で使えますし、改変も再配布も自由です(MIT License)。 問診項目は設定ファイル一つにまとめてあるので、自施設用に書き換えるのは難しくないはずです。

使ってみて、ここが使いにくい、この項目が欲しいなどのご要望があればお知らせください。 他の施設の役にも立つと思います。

 

麻酔科術前問診アプリ バージョン1.00 Copyright © 2026 Michiyoshi Sanuki