病院の環境ラウンドで撮った病棟・処置室の写真から、物品の床置きや手指衛生剤の欠品などの不備を拾い、部署への指摘の下書きにする
環境ラウンドで撮った病棟・処置室・汚物処理室の写真を、院内のチェック表の項目ごとに見て、物品の床置き・手指衛生剤の欠品・清潔と不潔の混在などの不備の候補を拾います。写真の位置付きで返し、部署ごとの指摘票の下書きにします。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Google Apps Script/Make/Power Automate
- 対象業界
- 介護/医療
- 対象部門
- 品質管理/総務
- 対象業務
- 内容確認・チェック/書類作成
- 主な課題
- 人手が足りない/書類作成に時間がかかる/確認ミスが多い
- AIで行う処理
- 画像認識
- 主な効果
- 品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- ICTの2名が部署を回り、チェック表に印を付けながら写真を撮る
- 戻ってから写真を共有フォルダに移し、部署ごとのフォルダに分ける
- 写真を1枚ずつ開き、チェック表の項目と見比べて不備を拾う
- 前回の指摘票を開き、同じ不備が続いていないかを見る
- 部署ごとの指摘票に、不備の内容と写真を貼り付けて書く
- ICTの医師が読んで直し、部署の責任者に送る
- 人ICTの2名が部署を回り、院内のタブレットのフォームで、部署と撮影の場所を選んで写真を送る
- 自動フォームの送信をきっかけに、写真の形式と大きさを確かめる
- 自動Gemini API が、写真に人物・患者の情報が写り込んでいないかを確かめる
- 自動写り込みがあれば、その写真を止め、撮った担当者に撮り直しを返す
- 自動Gemini API が、撮影の場所に応じたチェック表の項目ごとに、写真で確かめられたか、不備の候補があるかを返す
- 自動前回の指摘と突き合わせ、続いている不備に印を付ける
- 自動規則で、部署ごとの指摘票の下書きを作る
- 人ICTの看護師が下書きを読み、写真の枠で確かめて、採るか外すかを決める
- 人ICTの医師が読んで、部署の責任者に送る
各工程の詳しい説明を読む
- ICTの2名が部署を回り、チェック表に印を付けながら写真を撮る
- 戻ってから写真を共有フォルダに移し、部署ごとのフォルダに分ける
- 写真を1枚ずつ開き、チェック表の項目と見比べて不備を拾う
- 前回の指摘票を開き、同じ不備が続いていないかを見る
- 部署ごとの指摘票に、不備の内容と写真を貼り付けて書く
- ICTの医師が読んで直し、部署の責任者に送る
(a)写真の見返しに時間がかかる。 ラウンドの場では印を付けるだけで、細かい確認は写真で後からします。1部署20枚の写真を開いては閉じ、チェック表の項目と見比べるのが、書き起こしの時間の半分です。
(b)見るところが担当者で違う。 手指衛生剤の残量を見る人もいれば、置いてあるかだけを見る人もいます。同じ写真でも、担当者によって指摘の数が変わります。 部署の側から見ると、担当者によって厳しさが違うと受け取られます。
(c)前回の指摘が直ったかを見落とす。 4番目は、前回の指摘票を開いて写真を見比べる作業です。急ぐと省かれ、同じ指摘が何週も続いていることに気づくのが遅れます。
(d)写真に患者が写り込む。 病棟では、廊下の奥に患者が、ナースステーションの写真に電子カルテの画面が写ります。写り込んだ写真がそのまま共有フォルダに残り、指摘票に貼られることがあります。
- 【人】 ICTの2名が部署を回り、院内のタブレットのフォームで、部署と撮影の場所を選んで写真を送る
- 【自動】 フォームの送信をきっかけに、写真の形式と大きさを確かめる
- 【自動】 Gemini API が、写真に人物・患者の情報が写り込んでいないかを確かめる
- 【自動】 写り込みがあれば、その写真を止め、撮った担当者に撮り直しを返す
- 【自動】 Gemini API が、撮影の場所に応じたチェック表の項目ごとに、写真で確かめられたか、不備の候補があるかを返す
- 【自動】 前回の指摘と突き合わせ、続いている不備に印を付ける
- 【自動】 規則で、部署ごとの指摘票の下書きを作る
- 【人】 ICTの看護師が下書きを読み、写真の枠で確かめて、採るか外すかを決める
- 【人】 ICTの医師が読んで、部署の責任者に送る
3番目と4番目が、この設計の前提です。 写り込んだ写真は、チェック表の確認に進ませません。撮り直しをその日のうちに返すので、ラウンドの記憶が新しいうちに撮り直せます。
8番目が、この設計の分かれ目です。 下書きに並ぶのは不備の「候補」で、部署に伝えるかを決めるのは、現場を見てきたICTの担当者です。
02今回想定するシステム構成
院内のタブレット ── フォーム(部署・撮影の場所・写真) ▼【トリガー】フォームの送信 Google Apps Script ── 写真の形式と大きさの確認 ▼ Gemini API ── ①写り込みの確認(人物・患者の情報) ├── 写り込みあり ──▶ 担当者に撮り直しを返す(写真は確認に進めない) ▼ Gemini API ── ②チェック表の項目ごとの確認 │ 確かめられたか(checked/not_visible)、不備の候補、写真の位置 ▼ Google スプレッドシート ── 前回の指摘、場所ごとのチェック表 ▼ Google Apps Script ── 規則で指摘票の下書きを作る ▼ 【ICTの看護師が確認】──▶【ICTの医師が確認】──▶ 部署の責任者へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 処理 | Gemini API(写り込みの確認、チェック表の項目ごとの確認、指摘の文面の下書き) | Claude API、OpenAI API |
| 連携 | Google フォーム(部署・撮影の場所の選択と写真の受け取り) | Microsoft Forms |
| 連携 | Google Apps Script(呼び出し、規則の判定、下書きの作成) | Make、Power Automate |
| 連携 | Google スプレッドシート(チェック表、前回の指摘、確認の一覧) | Microsoft Lists |
| 保管 | Google ドライブ(ラウンドの写真) | Microsoft OneDrive |
最初の変更は、写真の受け取りをフォームにすることです。 フォームなら部署と撮影の場所を一覧から選ばせられ、場所に応じたチェック表を機械で引けます。 「ファイルのアップロード」の質問では、ファイルはフォームのオーナーの Google ドライブの新しいフォルダに保存され、回答者は Google アカウントへのログインが必要です。ファイルの種類・数・最大サイズを決められます。フォームが共有ドライブにある場合や、管理者がデータ損失防止をオンにしている場合は使えないので、置き場所を先に確かめます。
チェック表は、撮影の場所ごとに分けて持ちます。 病室、ナースステーション、処置室、汚物処理室、リネン庫で見るところは違います。場所、項目番号、見る内容、写真で確かめられるかの列を持たせます。
判定の土台は Gemini API の画像理解です。 対応する形式は PNG、JPEG、WEBP、HEIC、HEIF です。物体の検出では、位置を [ymin, xmin, ymax, xmax] の形で、0から1000に正規化した座標で返します。不備の候補の位置を枠で返させ、担当者は写真に重ねた枠で確かめます。画像をリクエストに直接入れる場合、指示と合わせたリクエスト全体が20MBまでです。同じ画像を何度も使うときは Files API で上げる方法もあります。
構造化出力は、いまの公式ページでは Interactions の書き方です。 /v1beta/interactions に、response_format として mime_type に application/json と schema を渡します。スキーマには enum、required、additionalProperties などが使えますが、すべての JSON Schema の機能に対応しているわけではなく、大きすぎる・深すぎるスキーマは拒否されることがあるとされています。
03どうやって実装するのか
処理の起点を決める
フォームの送信を起点にします。 ICTの担当者は、部署を回りながら場所ごとに写真を送ります。1回の送信が「1部署の1つの場所」の写真のまとまりで、病室、ナースステーション、汚物処理室のように場所を分けて送ります。
Google Apps Script のインストール型のトリガーで、フォームの送信のたびに処理を動かします。インストール型のトリガーは、作った人のアカウントで動きます。 送ったのが誰であっても、処理はトリガーを作ったアカウントの権限で動くので、作るのは個人ではなく、ICTの共用のアカウントにします。 担当者が異動すると、トリガーが止まります。
部署ごとの指摘票は、ラウンドの日の夕方にまとめて作ります。 場所ごとの確認は送信のたびに動かし、指摘票の下書きは時間主導のトリガーで毎日17時に、その日に確認が済んだ部署について作ります。撮り直しの返事は送信のたびに返すので、ラウンドの途中で撮り直せます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| ラウンドの写真 | 1つの場所につき数枚。撮影の日時、部署、場所 | フォーム(Google ドライブ) |
| 場所ごとのチェック表 | 項目番号、見る内容、写真で確かめられるか、重さの区分 | スプレッドシート |
| 前回の指摘 | 部署、項目番号、指摘の日、内容、写真の位置 | スプレッドシート(確認の一覧) |
| 部署の情報 | 部署名、責任者、場所の一覧 | スプレッドシート |
質を決めるのは、チェック表の「写真で確かめられるか」の列です。 手指衛生剤が設置されているか、物品が床に置かれているかは写真で見えます。一方、手指衛生剤の使用期限、消毒薬の希釈の濃度、床の清掃の頻度は写真では分かりません。 この列が「不可」の項目は、AIに渡さず、ラウンドの場で印を付けたものをそのまま使います。
チェック表の項目は、院内の感染対策マニュアルから取ります。 手指衛生剤の設置の場所、清潔と不潔の置き分け、廃棄物の容器の扱いは、病院ごとに決め方が違います。AIに一般論で見させず、自院のマニュアルの言葉で項目を書きます。
データの取得方法を決める
フォームの送信のイベントから、回答の部署・場所と、アップロードされたファイルのIDを取ります。ファイルは Google ドライブから読み、撮影の日時はフォームの送信の日時で代えます。 写真の撮影情報(Exif)は、端末によって残ったり消えたりするので頼りません。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 部署・場所 | フォームの回答 | チェック表と前回の指摘を引く |
| 写真 | Google ドライブ(フォームの保存先) | 写り込みの確認、項目ごとの確認 |
| チェック表の該当行 | スプレッドシート(場所で絞る) | 確認の項目 |
| 前回の指摘 | 確認の一覧(部署と場所で絞る) | 続いている不備の印 |
チェック表は、撮影の場所で絞ってから渡します。 全項目を渡すと、病室の写真に汚物処理室の項目まで当てはめ、「写真で確かめられない」項目が増えます。場所で絞ると、1回に渡す項目は10前後になります。
写真は、リクエストに直接入れて渡します。 1つの場所の写真は数枚で、縮めれば指示と合わせて20MBに収まります。同じ写真を写り込みの確認と項目ごとの確認の2回に使うので、枚数の多い場所では Files API で一度上げて使い回す方法もあります。どちらにするかは、写真の大きさが決まってから選びます。
API キーは、Apps Script のスクリプトのプロパティに置きます。 コードに直接書くと、スクリプトを共有したときにキーも共有されます。
前回の指摘は、AIには渡しません。 続いているかの判定は、今回の結果と前回の指摘を項目番号で突き合わせる、Apps Script の規則で行います。AIに前回の指摘を見せると、前回と同じ不備を探しにいき、今回の写真に無いものを「続いている」と書くことがあります。
AIへ渡す前に整形する
- 形式の確認 … PNG、JPEG、WEBP、HEIC、HEIF のいずれかであることを確かめます
- 大きさの確認 … 指示と合わせて20MBに収まるよう、長い辺を決めた画素数に縮めます
- 枚数の確認 … 1つの場所で多すぎる写真は、担当者に分けて送ってもらいます
- 写り込みの確認 … 人物・患者の情報が写っていないかを、Gemini API に先に確かめさせます
- 場所とチェック表の照合 … 送られた場所に対応するチェック表の行が無ければ、確認に進めず担当者に返します
4番目を、項目ごとの確認と分けて先に行います。 1回の呼び出しで両方をさせると、写り込みがあっても項目の確認の結果が返り、写り込んだ写真の結果が確認の一覧に残ります。 写り込みの確認を通った写真だけを、次の呼び出しに渡します。
写り込みの確認で見るのは、人物の顔と姿、ベッドネームや名札の文字、電子カルテや検査の画面、点滴や薬袋のラベルです。どれか1つでもあれば blocked とし、写真はドライブの保留のフォルダに移して、担当者に撮り直しを返します。 保留の写真は、担当者が撮り直しを済ませた後に削除します。
AIに処理させる
させるのは、チェック表の項目ごとに、写真で確かめられたかと、不備の候補があるかを返すことです。
| 見るもの | 判定の仕方 | 判断できないときの扱い |
|---|---|---|
| 手指衛生剤の設置 | 決められた場所にボトルや設置台が写っているか | 設置の場所が写っていなければ not_visible |
| 物品の床置き | 箱や物品が床に直接置かれているか | 床が写っていなければ not_visible |
| 清潔と不潔の置き分け | 清潔な物品と使用済みの物品が同じ棚・台にあるか | 物品の区別がつかなければ uncertain |
| シンクの周り | シンクの周りに清潔な物品が置かれているか | シンクが写っていなければ not_visible |
| 廃棄物の容器 | 容器のふたが開いたままか、あふれているか | 容器が写っていなければ not_visible |
| リネンの扱い | 使用済みのリネンが床や清潔な物品の近くにあるか | 使用済みか区別がつかなければ uncertain |
右端の列がいちばん大事です。 not_visible は、写真にその場所が写っていないということで、不備ではありません。 手指衛生剤の設置台が写っていない写真から「欠品」と返すと、置いてある部署に指摘が届きます。
位置の枠は、不備の候補にだけ付けさせます。 枠を付けるのは、床置きの箱、混在している物品、ふたの開いた容器などです。担当者は写真に重ねた枠を見て、本当にそれが不備かを一目で確かめます。
| させないこと | 理由 |
|---|---|
| 指摘とするかの決定 | ICTの担当者が現場の事情を踏まえて決める |
| 写真に無いものの推測 | 写っていないものは not_visible。「おそらく無い」と書かない |
| 清掃の状態や汚れの度合いの評価 | 写真の写り方で変わり、根拠にならない |
| 患者や職員の行動の評価 | 環境の点検で、人を評価しない |
| 感染のリスクの判定 | 感染対策の方針はICTと委員会が決める |
2行目が、いちばん起きやすい失敗です。 「手指衛生剤の設置」の項目を渡すと、AIは写真の中にボトルを探し、見つからなければ「設置なし」と書きがちです。 写真の画角の外は、AIにも人にも分かりません。
指示内容を固定する
あなたは病院の感染制御チームで、環境ラウンドの写真を点検する担当です。
渡された写真と、この場所のチェック表の項目だけを見て判定してください。
写真に写っていないことを推測しないでください。
【写真】{images}(部署:{dept}、場所:{location})
【チェック表の項目】{checklist}(項目番号、見る内容)
【項目ごとの status の選び方】
- ok ............. 確かめるべき場所が写っており、不備は見当たらない
- issue .......... 確かめるべき場所が写っており、不備の候補がある
- not_visible .... 確かめるべき場所が写っていない、または小さすぎて見えない
- uncertain ...... 写ってはいるが、不備かどうかを写真から決められない
写っていないときに issue を選ばないでください。迷ったら uncertain です。
【厳守事項】
- issue の項目には、不備の候補の位置を box_2d に入れる。
形式は [ymin, xmin, ymax, xmax] で、0〜1000 に正規化した座標。
- evidence には、写真のどこに何が写っているかを短く書く。
- 物品が何かを特定できないときは「物品」と書き、名前を推測しない。
- 汚れの程度、清掃の状態を評価しない。
- 人の行動や態度を評価しない。
- 感染のリスクの高さや、改善の方法を書かない。
- チェック表に無い気づきは other_notes に1〜2件まで書いてよい。
ただし不備と断定しない。
「写っていないときに issue を選ばない」を明記しないと、欠品の指摘が増えます。 「手指衛生剤」「廃棄物の容器」のように、あるべき物が決まっている項目ほど、写っていないことを「無い」と読みます。
写り込みの確認は、別の短い指示で先に行います。 「この写真に、人物の顔や姿、名札やベッドネームの文字、画面に表示された情報、薬袋や点滴のラベルが写っているか。写っていれば blocked、無ければ clear。迷ったら blocked」と指示し、迷ったら止める側に倒します。
出力形式を固定する
次の形のJSONで受け取ります。
{
"round_id": "",
"dept": "",
"location": "",
"privacy": "clear",
"items": [
{ "item_no": "", "status": "ok | issue | not_visible | uncertain",
"image_index": 0, "box_2d": [0, 0, 0, 0], "evidence": "" }
],
"other_notes": [""]
}
スキーマでは status を enum にし、items の各要素の additionalProperties を false にします。
写り込みの確認は、別の小さなJSONで受け取ります。 privacy は clear か blocked、reasons は person(人物)/screen(画面)/label(薬袋・点滴のラベル)/name_tag(名札・ベッドネーム)から選ばせ、写っていた写真の番号を添えさせます。 撮り直しの依頼には、この reasons を日本語にして添えます。項目ごとの確認のJSONに privacy の欄を残しているのは、clear を通った写真だけが確認に進んだことを、記録の上でも示すためです。
1つ目の理由は、not_visible を不備と分けて数えられることです。 1つの場所で not_visible が多ければ、撮り方が足りていません。撮り方のほうを直す材料になります。
2つ目は、続いている不備を規則で決められることです。 Apps Script は、今回の issue と前回の指摘を項目番号で突き合わせます。
| 今回 | 前回 | 指摘票での扱い |
|---|---|---|
issue | 指摘あり | 「続いている不備」として先頭に出す |
issue | 指摘なし | 「新しい不備の候補」 |
ok | 指摘あり | 「改善を確認」 |
not_visible | 指摘あり | 「今回の写真では確認できず」。改善とはしない |
uncertain | - | 「担当者の確認が要る」 |
4行目が要です。 前回指摘した場所が今回写っていなければ、改善したかは分かりません。「改善を確認」と書かず、次回のラウンドで撮る場所として印を付けます。
3つ目は、box_2d で確認が速くなることです。 担当者は指摘票の下書きで、写真に枠を重ねた画像を見ます。枠の中を見て、採るか外すかを選ぶだけです。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Google フォーム | フォーム送信のトリガー | 部署・場所・写真を受け取る |
| Google ドライブ | Apps Script で読み書き | 写真の読み出し、保留のフォルダへの移動 |
| Gemini API | Apps Script から呼び出し | 写り込みの確認、項目ごとの確認 |
| Google スプレッドシート | Apps Script で読み書き | チェック表、前回の指摘、確認の一覧 |
| 院内のメール | Apps Script から送信 | 撮り直しの依頼、下書きができた知らせ |
部署の責任者への送付は、人が行います。 下書きはスプレッドシートの部署ごとのシートに作り、ICTの医師が確認してから送ります。 送った指摘は確認の一覧に「指摘」として残り、次回の前回の指摘になります。
撮り直しの依頼は、撮った担当者だけに返します。 写り込みの理由(人物/画面/ラベル)を添え、写真そのものは添付しません。
人が確認する
下書きは全件をICTの看護師が確かめます。 部署に届く指摘で、部署との関係に響くためです。
- 続いている不備を先に見る … 前回も指摘した項目です。枠を見て、本当に同じ不備かを確かめます
- 新しい不備の候補を採るか決める … 枠を見て、採るか外すかを選びます。ラウンドの場で事情を聞いていれば(搬入の直後で一時的に床に置いていた、など)、その事情を踏まえます
uncertainを決める … ラウンドの記憶と、必要なら元の写真で決めますnot_visibleが多い場所を次回の撮影に回す … 撮り方の指示を担当者で共有します- ICTの医師が読み、送る
目標は、1件をならして12分です。 候補の無い部署は枠付きの写真を流し見て終わり、時間は続いている不備と uncertain に使います。それを大きく超える月は、写り込みの撮り直しが増えているか、チェック表の項目が写真向きでないかのどちらかです。
2番目で外した理由を残します。 「一時的な置き方」「写真の誤認」「チェック表の対象外」のどれかを選ばせると、誤認が多い項目は指示を直し、対象外が多い項目はチェック表を直します。
例外に対処する
| 起きること | 対応 |
|---|---|
| 写真に人物や患者の情報が写っている | blocked。確認に進めず、保留のフォルダに移して撮り直しを返す |
| 写真の形式が対応していない | 対応形式は PNG・JPEG・WEBP・HEIC・HEIF。変換して再投入 |
| 写真が大きすぎる | リクエスト全体で20MBまで。縮めて再投入 |
| 場所に対応するチェック表が無い | 確認に進めず、担当者に場所の選び直しを返す |
すべての項目が not_visible | 撮り方の問題として担当者に返し、指摘票には載せない |
| フォームの送信が重複する | 部署・場所・送信の日時で照合し、二重に確認しない |
| Gemini API が応答しない・形が崩れる | 確認の一覧に「未処理」として残し、次の時間主導のトリガーで拾い直す |
| トリガーが動かない | 作ったアカウントの状態を確かめる。個人のアカウントで作らない |
1行目は、件数が少なくても止めます。 写り込みの確認で迷った写真は blocked に倒しているので、撮り直しが多い時期は、撮り方の説明をやり直します。
記録を残す
- ラウンドの写真(写り込みの確認を通ったものだけ。保留の写真は撮り直しの後に削除)
- 写り込みの確認の結果と、
blockedの理由 - 項目ごとの確認のJSONの全文と、呼び出した日時
- 指摘票の下書きと、ICTが直した後の指摘票
- 担当者が候補を外した記録と理由
- 場所ごとの
not_visibleの発生率
最後の行は、撮り方を直す材料です。 汚物処理室の not_visible が多ければ、部屋が狭くて全体が1枚に入らないのかもしれません。撮る位置を決めて共有すると、確認の質が上がります。
04実装レベルの3段階
最小構成では件数がさばけません。 1つの場所ずつ貼るので、月120件には使えません。確かめるための段階です。 半自動化で、1件30分が20分程度になります。 項目ごとの確認は自動になりますが、前回の指摘との見比べと指摘票の作成が残ります。本格構成で12分になり、この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、not_visible の多い場所と、誤認の多い項目が分かります。そこを直してから指摘票の下書きに進むほうが、部署への空振りの指摘が減ります。
05工数削減シミュレーション
導入後 120件 × 12分 ÷ 60 = 24 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 感染制御チーム(ICT)や医療安全・施設管理の担当が、病棟・外来・処置室・汚物処理室を毎週回って環境ラウンドをしている、病床数が数百床の病院。ラウンドで撮った写真を後からチェック表と見比べ、部署ごとに指摘を書き起こしている場合。指摘の書き方や見るところが担当者によって違い、同じ不備が部署をまたいで数えられない場合。介護老人保健施設などで、同じ形の環境の点検を毎月している場合にも当てはまります。
- 病床が少なく、ラウンドの後の書き起こしが数十分で済む場合。写真を撮る運用が無く、ラウンドの記録が口頭や紙のメモだけの場合。床や手すりの汚れの度合い、消毒の効き目のように、写真では判断できない事柄を見たい場合。なお、指摘とするかどうか、部署への改善の求め方、感染対策の方針の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月のラウンドの写真から、3部署・各場所の写真を選ぶ(当時の指摘票があるもの)
- 人物・患者の情報が写っていない写真だけを選ぶ(写っているものは使わない)
- 社内で使ってよいと認められた生成AIの画面に、写真と場所のチェック表を貼る
- 第7章の指示で、項目ごとの status を返させる
- 当時の指摘票と比べる
比べるのは、指摘の数ではありません。 見るのは、写っていない項目を issue にしていないか、当時の指摘を拾えているか、の2つです。
| 出てきた内容 | 判断 |
|---|---|
当時の指摘を拾い、写っていない項目を not_visible にした | フォームと Apps Script の連携に進む |
写っていない項目を issue にした | 指示の書き方で直る。構成は有効 |
| 物品の種類を取り違える | チェック表の書き方を具体的にする |
ほとんどの項目が not_visible | 撮り方が先。 AIの問題ではない |
4行目が出たら、撮影の位置を決めることから始めてください。 場所ごとに「入口から全体」「シンクの周り」「棚の正面」のように撮る位置を決めると、人が写真を見返すときも速くなります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 写っていない手指衛生剤を「欠品」とする | not_visible を設け、写っていないときに issue を選ばないと指示する |
| 前回指摘した場所が写っていないのに「改善」とする | 規則で「確認できず」とし、次回の撮影に回す |
| 患者が写った写真が確認の一覧に残る | 写り込みの確認を先に別の呼び出しで行う |
| 写真が大きすぎて送れない | リクエスト全体で20MBまで。縮めてから送る |
| 物品の種類を取り違える | 物品が特定できなければ「物品」と書かせる |
| 汚れの程度を評価してしまう | 評価させないと指示する。写真の写り方で変わる |
| チェック表が一般論になる | 院内の感染対策マニュアルの言葉で項目を書く |
| 病室の写真に汚物処理室の項目を当てる | 撮影の場所でチェック表を絞る |
| トリガーが担当者の異動で止まる | インストール型のトリガーは作った人で動く。共用のアカウントで作る |
| フォームのアップロードが使えない | 共有ドライブのフォームやデータ損失防止が有効だと使えない。置き場所を先に決める |
| 無償の枠で試してしまう | 無償のサービスに機微な情報を送らない。有料の利用で始める |
上の3行が、この構成の失敗のほとんどです。 どれも「写っていないこと」と「写ってはいけないもの」の扱いです。ここを設計で分けておけば、残りは調整で直ります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 病棟・処置室・汚物処理室の写真、部署名、指摘の内容です。写真には、意図せず患者・職員・画面の情報が写り込むおそれがあります。
- 患者の情報を外へ出さない … 撮影の段階で患者・画面・ラベルを避けるよう取り決め、それでも写り込んだ写真は、写り込みの確認で止めます。 止めた写真は撮り直しの後に削除します
- 有料の利用条件で使う … 規約では、有料のサービスでは送った内容を製品の改善に使わず、データ処理の取り決めに沿って扱うとされています。無償の枠では使いません
- 医療行為に使わない … 規約は、臨床の場での利用や医学的な助言のための利用を認めていません。 この構成は施設の環境の点検で、診療や患者の処置の判断には使いません
- 指摘の判断を代替させない … 部署に何を伝えるか、改善をどう求めるかは、ICTと院内感染対策委員会が決めることです
- 職員を評価しない … 写真に職員が写っても、AIに行動を評価させません。環境の点検の記録が、職員の評価に使われないようにします
- 利用者の年齢の条件を確かめる … 規約は、APIの利用者が18歳以上であることを求めています。使うのはICTと施設管理の職員に限ります
誤りが起きた場合のリスクは、置いてある物を「無い」と指摘することと、写り込んだ患者の情報を外へ出すことの2つです。 前者は not_visible を設けないと起き、後者は写り込みの確認を省くと起きます。どちらも、写真に何が写っているかの扱いを最初に決めることで防ぎます。
10まず何から始めるか
1週目:場所ごとのチェック表を作る
院内の感染対策マニュアルから、場所ごとに見る項目を書き出し、「写真で確かめられるか」の列を付けます。あわせて、場所ごとの撮影の位置を決めます。
2週目:3部署の写真で試す
写り込みの無い写真を選び、生成AIの画面で項目ごとに確認させます。写っていない項目を issue にしていないかを最優先で見ます。
3週目:フォームと写り込みの確認を作る
フォームを作り、Apps Script で写り込みの確認だけを動かします。この時点では項目の確認をせず、撮り直しの返し方を固めます。 トリガーは共用のアカウントで作ります。
4週目:項目ごとの確認を一覧に書く
写り込みの確認を通った写真について、項目ごとの確認を呼んで一覧に書き出します。指摘票の下書きはまだ作らず、ICTの看護師が一覧だけを見ます。
2か月目: 前回の指摘との突き合わせと、指摘票の下書きを足し、not_visible の発生率を毎週数えます。3か月目以降: 1件30分が何分になったかを実測します。担当者が候補を外した理由を見て指示とチェック表を直し、指摘票がラウンドの当日に送れるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 「医療機関における院内感染対策について」(平成26年12月19日)の内容として、病床規模の大きい医療機関(300床以上が目安)では感染制御チーム(ICT)を設置し、可能な限り1週間に1度以上、チームのうち2名以上の参加で定期的な病棟ラウンドを行うこと。中小規模の医療機関で困難な場合は地域の専門家等に相談できる体制を整えること(PDFの原文を取得して確認) | 厚生労働省: 院内感染法令(医政局 地域医療計画課) | 2026-10-07 |
| 対応する画像の形式が PNG・JPEG・WEBP・HEIC・HEIF であること。画像を直接入れる場合はリクエスト全体で20MBまでで、大きい場合や繰り返し使う場合は Files API を使うこと。物体の位置を [ymin, xmin, ymax, xmax] で0〜1000に正規化して返すこと | Gemini API: Image understanding | 2026-10-07 |
構造化出力が /v1beta/interactions で response_format に mime_type と schema を渡す形であること。enum・required・additionalProperties などが使えること。すべての JSON Schema の機能には対応せず、大きすぎる・深すぎるスキーマは拒否されうること | Gemini API: Structured output | 2026-10-07 |
| 利用者は18歳以上であること。無償のサービスでは送った内容が製品の改善に使われ人が読むことがあり、機微・機密・個人の情報を送らないこと。有料のサービスでは製品の改善に使わないこと。臨床の場での利用や医学的な助言のための利用をしないこと | Gemini API: Additional Terms of Service | 2026-10-07 |
| フォームの「ファイルのアップロード」で、ファイルがオーナーのドライブの新しいフォルダに保存されること。回答者のログインが必要なこと。種類・数・最大サイズを設定できること。共有ドライブのフォームやデータ損失防止が有効な場合は使えないこと | Google ドキュメント エディタ ヘルプ: フォームにファイルをアップロードする | 2026-10-07 |
| フォーム送信のインストール型トリガーと時間主導のトリガーがあること。インストール型トリガーは作成した人のアカウントで動くこと。トリガーの割り当ての制限を受けること | Apps Script: Installable triggers | 2026-10-07 |
何を不備として部署に伝えるかは、感染制御チームと院内感染対策委員会で決めてください。 本記事は公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0832)についてのご相談はこちらから。
