病院の医療相談室で、新しい相談に似た過去の相談記録を探し、使った制度・連携した機関・つまずいた点を根拠付きで示して、相談員の初動を早める
医療相談室に新しい相談が入ったときに、初回の面接の要点から過去の似た相談を探し、当時使った制度、連携した機関、つまずいた点を相談記録の引用付きで並べます。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 介護/医療
- 対象部門
- カスタマーサポート
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 属人化している/引き継ぎができていない/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 対応スピード向上/属人化解消/教育コスト削減/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 病棟・外来・本人・家族・地域の機関から相談が入り、相談員が割り当てられる
- 相談員が初回の面接を行い、主訴と背景を相談記録に書く
- 似た相談がなかったかを、相談記録の仕組みで言葉を変えながら検索する
- 当たった相談の経過を開いて読み、使った制度と連携した機関を確かめる
- 分からなければ、経験の長い相談員に「前に似た人がいたか、どこにつないだか」を聞く
- 連携先の一覧で窓口と連絡先を確かめ、支援の方針を立てて動き始める
- 自動相談記録の仕組みで相談が終結になると、主訴・背景・使った制度・連携した機関・つまずいた点・終結の理由を取り出し、氏名などを外して検索基盤に登録する。主訴と背景の文から意味のベクトルを作る
- 自動虐待・DV・自殺企図などの区分が付いた相談は、室長と担当の役割だけが見られる印を付けて登録する
- 人相談員が初回の面接のあと、主訴と背景を相談記録に書き、「似た相談を探す」を押す
- 自動言葉の検索と意味の検索を同時に動かし、点数をそろえて足し合わせ、上位を返す。相談員の役割で見られない相談は返らない
- 自動Claude が、似た相談ごとに、当時の事情・使った制度・連携した機関・つまずいた点を、相談記録の引用と日付付きで並べる
- 人相談員が並んだ相談を読み、いまの患者の事情に合うかを考え、制度の要件と窓口を確かめてから支援の方針を立てる
各工程の詳しい説明を読む
- 病棟・外来・本人・家族・地域の機関から相談が入り、相談員が割り当てられる
- 相談員が初回の面接を行い、主訴と背景を相談記録に書く
- 似た相談がなかったかを、相談記録の仕組みで言葉を変えながら検索する
- 当たった相談の経過を開いて読み、使った制度と連携した機関を確かめる
- 分からなければ、経験の長い相談員に「前に似た人がいたか、どこにつないだか」を聞く
- 連携先の一覧で窓口と連絡先を確かめ、支援の方針を立てて動き始める
(a)言葉が合わず、似た相談が当たらない。 3番目で「身寄りなし」と探しても、前の記録に「キーパーソン不在」と書かれていると当たりません。事情を表す言葉は、相談員ごとに違います。
(b)経過が長く、要点が埋もれている。 4番目で開いた記録は、数週間から数か月の経過が日付順に並んでいます。どの制度を使い、どこで詰まったかは、経過を最後まで読まないと分かりません。
(c)記憶が人に付いている。 5番目で答えてくれる相談員がいるうちは回りますが、その人が休みの日や、相談が重なった日は聞けません。 異動や退職で、その人が受けてきた相談の前例がまとめて消えます。
(d)新しい相談員の初動が遅れる。 経験の浅い相談員ほど前例を知らず、3〜5番目に時間がかかります。退院の支援では、初動の遅れがそのまま退院の日程の遅れになります。
取り込み(相談が終結するたび)
- 【自動】 相談記録の仕組みで相談が終結になると、主訴・背景・使った制度・連携した機関・つまずいた点・終結の理由を取り出し、氏名などを外して検索基盤に登録する。主訴と背景の文から意味のベクトルを作る
- 【自動】 虐待・DV・自殺企図などの区分が付いた相談は、室長と担当の役割だけが見られる印を付けて登録する
新しい相談を受けたとき
- 【人】 相談員が初回の面接のあと、主訴と背景を相談記録に書き、「似た相談を探す」を押す
- 【自動】 言葉の検索と意味の検索を同時に動かし、点数をそろえて足し合わせ、上位を返す。相談員の役割で見られない相談は返らない
- 【自動】 Claude が、似た相談ごとに、当時の事情・使った制度・連携した機関・つまずいた点を、相談記録の引用と日付付きで並べる
- 【人】 相談員が並んだ相談を読み、いまの患者の事情に合うかを考え、制度の要件と窓口を確かめてから支援の方針を立てる
5番目で日付を必ず添えるのが、この設計の分かれ目です。 4年前の相談で使えた制度が、いまも同じ条件で使えるとは限りません。「当時はこの制度を使った」と「いまこの患者が使える」のあいだには、必ず相談員の確認が入ります。
2番目で見られる範囲を分けているのも、意図してのことです。 虐待やDVの相談の記録には、加害の側にいる家族のことや、避難先のことが書かれています。似ている相談として誰の画面にも出てよい記録ではありません。
02今回想定するシステム構成
【取り込み】相談記録の仕組みで相談が終結 ▼【トリガー】終結のたび AWS Lambda ── 主訴・背景・制度・機関・つまずき・終結を取り出し、氏名などを外す ├─ Amazon Titan Text Embeddings V2(Amazon Bedrock)── 主訴と背景の文のベクトル ▼ Amazon OpenSearch Service(相談の索引。Sudachi+k-NN+細かなアクセス制御) 【相談を受けたとき】相談員が「似た相談を探す」を押す ▼ Amazon OpenSearch Service ├─ hybrid:言葉の検索(Sudachi)+意味の検索(k-NN) ├─ filter:終結済み、過去6年 ├─ 検索パイプライン:normalization-processor(min_max+下限と上限、重み付きの平均) └─ 文書レベルのセキュリティ:機微な区分は室長と担当だけ ▼ Claude(Amazon Bedrock)── 検索結果のブロックで渡し、引用と日付付きで並べる ▼ 相談記録の仕組みの横の画面(似た相談・制度・機関・つまずき・記録の日付)
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(hybrid、normalization-processor、Sudachi、細かなアクセス制御) | Azure AI Search、Vertex AI Search(Agent Search) |
| 埋め込み | Amazon Titan Text Embeddings V2(Amazon Bedrock) | Cohere Embed |
| 生成AI | Claude(Amazon Bedrock。似た相談を引用付きで並べる) | Gemini API、OpenAI API |
| 連携 | AWS Lambda(取り込み、氏名などの除去、検索の呼び出し) | AWS Step Functions |
| 保管 | Amazon S3(取り込みの元データと、検索の記録。暗号化) | ― |
| 台帳 | 既存の相談記録の仕組みと連携先の一覧 | ― |
相談記録の仕組みと電子カルテには、書き込みません。 相談の記録、支援の経過、終結は、これまでどおり相談記録の仕組みで行います。この構成は、終結した相談を、氏名などを外して取り込み、似た相談として引けるようにするだけです。
言葉と意味の組み合わせは、hybrid クエリで行います。 公式のドキュメントでは、hybrid クエリは複数のクエリの点数を検索パイプラインで1つにまとめるもので、クエリは最大5つまで、全部のクエリにかかる絞り込みを filter に書けます。
点数をそろえるのは、normalization-processor です。 言葉の検索(BM25)と意味の検索(k-NN)は点数の尺度が違うため、クエリごとに正規化してから組み合わせます。既定は min_max と arithmetic_mean です。この構成では、min_max に下限と上限を置きます。 公式のドキュメントでは、min_max は返ってきた結果の中の最小と最大で0〜1にそろえるため、1件しか当たらなければその1件は1.0になります。 本当は似ていない相談でも、ほかに当たるものが無ければ満点で返ります。lower_bounds と upper_bounds で固定の基準を置くと、これを避けられます。
03どうやって実装するのか
処理の起点を決める
取り込みと検索で、起点が2つあります。
取り込みは、相談記録の仕組みで相談が終結になったときです。 終結の記録を検知して、その相談を取り込みます。支援の途中の相談は取り込みません。 途中の記録には、まだ結果の出ていない制度の申請や、方針の決まっていない調整が書かれており、前例として読むと「この制度を使えば済んだ」ように見えます。
終結した相談は、その日の夜にまとめて取り込みます。 終結の直後に相談員が記録を書き足すことが多いので、終結から1日置いてから取り込み、書き足しを待ちます。
検索は、相談員が初回の面接のあと、主訴と背景を書いてから「似た相談を探す」を押したときに動きます。 相談が入った時点で自動で探すこともできますが、病棟からの第一報は「退院の調整をお願いします」の一行であることが多く、 事情が分からないまま探しても似た相談は出ません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 相談記録(終結済み) | 相談番号、相談の区分(入退院・経済・療養・就労・意思決定・その他)、受けた日と終結した日、主訴、背景(経済・家族・住まい・就労)、使った制度、連携した機関、つまずいた点、終結の理由、機微な区分の印 | 相談記録の仕組み |
| 患者の属性 | 年代、性別、診療科、入院か外来か | 相談記録の仕組み(氏名・生年月日・住所は取らない) |
| 連携先の一覧 | 機関の名前と種類(地域包括支援センター、居宅介護支援事業所、福祉事務所、保健所、施設など)、窓口 | 連携先の一覧 |
| 探す内容(検索時) | 新しい相談の主訴と背景、相談の区分、年代、入院か外来か | 相談員の入力 |
質を決めるのは、「つまずいた点」が書かれているかです。 「介護保険の申請から認定まで想定より時間がかかり、退院が2週間延びた」「家族の連絡先が分からず、同意の取り方で院内の調整が要った」。この一行が、次の相談員の初動をいちばん早くします。 欄が無い記録では、経過の文から相談員が手で拾うことになるので、記録の書式に欄を足します。
改正された業務指針は、根拠に基づく判断や支援の過程が見える記録を患者ごとに作ることを求めています。 つまずいた点の欄は、その記録の一部として書けます。
データの取得方法を決める
相談記録の仕組みから、終結した相談のデータを受け取ります。どの方式で書き出せるかは相談記録の仕組みの製品によるので、この部分は利用環境に応じた個別の実装になります。 最初の取り込みは過去6年分をまとめて書き出し、そのあとは毎晩、前日に終結した相談を足します。
索引は1件の相談を1件の文書にします。
| 項目 | 型 | 使いどころ |
|---|---|---|
case_id | keyword | 相談番号。相談記録の原本へのリンク |
category | keyword | 相談の区分。画面の絞り込み |
summary | text(Sudachi) | 主訴と背景。言葉の検索 |
summary_vector | knn_vector(1,024次元) | 主訴と背景。意味の検索 |
schemes | keyword(配列) | 使った制度。表記をそろえた名前 |
agencies | keyword(配列) | 連携した機関の種類と名前 |
stumbles | text | つまずいた点。Claude に渡す本文 |
closed_on | date | 終結した日。画面に必ず出す |
age_band/dept/inpatient | keyword | 年代・診療科・入院か外来か |
sensitive | boolean | 機微な区分の印。文書レベルのセキュリティで使う |
意味のベクトルは、Amazon Titan Text Embeddings V2 で作ります。 公式のドキュメントでは、入力は最大8,192トークンまたは50,000文字、出力は1,024(既定)、512、256次元で、日本語を含む多言語に対応するとされています。主訴と背景は数百字なので、1件1本のベクトルで足ります。
AIへ渡す前に整形する
- 氏名などを外す … 患者と家族の氏名、生年月日、住所、電話番号、病院の患者番号を取り除きます。年齢は年代にします
- 固有の事情をぼかす … 勤務先の名前、子どもの学校の名前、珍しい職業のような、組み合わせると人が分かる記述を、取り込みの規則で一般的な言葉に置き換えます
- 制度の名前をそろえる … 「限度額認定証」「限度額適用認定証」「限度額の証」のような揺れを、院内で決めた正式な名前に寄せます
- 機関の名前をそろえる … 連携先の一覧のコードに寄せ、種類(地域包括支援センター、居宅介護支援事業所など)を付けます
- 機微な区分に印を付ける … 相談記録で虐待・DV・自殺企図・依存症の区分が付いた相談に
sensitiveの印を付けます - ベクトルを作る … 主訴と背景の文について、Titan Text Embeddings V2 でベクトルを作ります
2番目を軽く見ないでください。 氏名を外しても、「市内の○○高校に通う娘」「元○○の職人」のような記述が残ると、院内の誰かには患者が分かります。 似た相談として画面に出るのは別の患者の記録なので、ここで人が分からない形にしておきます。
AIに処理させる
AIの仕事は、検索で出た似た相談を、決まった項目で引用と日付付きで並べることだけです。 似た相談を探すのは検索基盤、見られる範囲を分けるのも検索基盤です。
| させること | 中身 |
|---|---|
| 当時の事情の書き出し | 主訴と背景を、相談記録の文を引いて短く並べる |
| 使った制度と連携した機関 | 記録に書かれたものを、そのまま並べる |
| つまずいた点 | 記録の「つまずいた点」の欄を引用する |
| 似ている点・違う点 | 年代、家族の状況、住まい、経済の状況、入院か外来かのどこが同じで、どこが違うか |
| させないこと | 理由 |
|---|---|
| 制度を使えるかの判断 | 要件は変わることがあり、患者ごとの確認が要る |
| 支援の方針の提案 | 方針は相談員が患者・家族と話して決める |
| 患者や家族への説明文の作成 | 説明は相談員が面接で行う |
| 患者や家族の評価 | 記録に無い評価を足さない |
| 記録に無い制度や機関の補足 | 一般的な福祉の知識で足さない |
1行目が、いちばん外せない線です。 似た相談で使った制度が並ぶと、AIは「この方も○○が使えます」と書きがちです。年齢、所得、保険の種類、住んでいる自治体で、使える制度は変わります。 前例は「当時この制度を使った」までで、いまの患者に使えるかは相談員が窓口と要件を確かめます。
最後の行も同じ理由です。 AIは福祉の制度を一般的な知識として知っていて、記録に無い制度を「ほかに○○も考えられます」と足したくなります。記録に無いものは、この院の前例ではありません。
指示内容を固定する
あなたは病院の医療相談室で、新しい相談の初動のために過去の似た相談を整理する係です。
渡された検索結果(過去の相談記録)だけを根拠にしてください。
一般的な医療・福祉の制度の知識で補わないでください。
【新しい相談】
区分:{category} 年代:{age_band} 入院か外来か:{inpatient}
主訴と背景:{summary}
【検索結果】
相談番号ごとに、終結した日、主訴と背景、使った制度、連携した機関、つまずいた点が渡されます。
【相談ごとに書くこと】
1. 相談番号、終結した年月、区分、年代
2. 当時の事情(主訴と背景を引用して短く)
3. 使った制度と連携した機関(記録のまま並べる)
4. つまずいた点(記録を引用。無ければ「記載なし」)
5. 新しい相談と似ている点
6. 新しい相談と違う点(家族の状況、住まい、経済の状況、入院か外来か)
【厳守事項】
- 制度を「使える」「対象になる」と書かないでください。
「当時、この相談では〜を使った」と過去の事実として書いてください。
- 支援の方針を提案しないでください。
- 記録に無い制度や機関を足さないでください。
- 患者や家族を評価する言葉を書かないでください。
- 終結した年月を必ず書いてください。
- 違う点が見つからないときも「違う点:記載から判断できない」と書き、空欄にしないでください。
「過去の事実として書く」を入れるのは、 時制が変わるだけで読み手の受け取り方が変わるためです。「〜を使った」は前例、「〜が使えます」は判断です。AIが現在形で書くと、相談員はそれを確認済みの判断として読んでしまいます。
検索結果は、Claude の検索結果ブロックで渡します。 相談1件を1つの search_result にし、source に相談番号、title に終結した年月と区分、content に主訴と背景・制度と機関・つまずいた点を別々のテキストブロックで入れます。公式の説明では、検索結果ブロックは Claude API、Amazon Bedrock、Google Cloud で使え、引用はテキストブロック単位です。
出力形式を固定する
検索パイプラインは、次のように作ります。
PUT /_search/pipeline/msw-hybrid
{
"phase_results_processors": [
{ "normalization-processor": {
"normalization": {
"technique": "min_max",
"parameters": {
"lower_bounds": [ { "mode": "ignore" }, { "mode": "clip", "min_score": 0.6 } ],
"upper_bounds": [ { "mode": "ignore" }, { "mode": "clip", "max_score": 0.95 } ]
}
},
"combination": {
"technique": "arithmetic_mean",
"parameters": { "weights": [0.3, 0.7] }
}
} }
]
}
1つ目が言葉の検索、2つ目が意味の検索です。 意味の検索にだけ固定の下限と上限を置き、clip で下限より低い点数を0に、上限より高い点数を1.0にします。0.6と0.95は例で、第8章の試しで、経験の長い相談員が「似ている」とした組の点数を見て決めます。 重みを意味0.7にしているのは、事情を表す言葉が相談員ごとに違うためです。
検索の要求は、次のように組みます。
GET /msw-cases/_search?search_pipeline=msw-hybrid
{
"size": 6,
"_source": { "excludes": ["summary_vector"] },
"query": {
"hybrid": {
"filter": { "range": { "closed_on": { "gte": "now-6y/d" } } },
"queries": [
{ "match": { "summary": "一人暮らし 身寄りなし 年金 医療費 退院後 住まい" } },
{ "knn": { "summary_vector": { "vector": [0.009, -0.031], "k": 30 } } }
]
}
}
}
機微な区分の絞り込みは、検索の要求には書きません。 文書レベルのセキュリティで、相談員の役割に応じて検索基盤の側で見えなくします。要求の側で絞ると、要求を組む Lambda の誤りで漏れます。
画面に返す形は、次のJSONです。
{
"similar": [
{ "case_id": "MSW-2022-0731", "closed_on": "2022-11", "category": "入退院",
"age_band": "70代", "inpatient": true,
"situation": "", "schemes": ["限度額適用認定証", "介護保険の要介護認定"],
"agencies": ["地域包括支援センター", "居宅介護支援事業所"],
"stumbles": "", "same_points": "", "different_points": "",
"years_ago": 4, "citations": ["MSW-2022-0731"] }
],
"not_found": false
}
1つ目の理由は、schemes と agencies を記録の値のまま出せることです。 制度と機関は取り込みで名前をそろえた値で、Lambda が索引から写します。AIの文章の中の制度の名前と、記録の値が食い違うことがありません。
2つ目は、years_ago で記録の古さを画面に出せることです。 3年以上前の前例には「当時の記録です。いまの要件を確かめてください」と添えます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 相談記録の仕組み | 終結した相談の書き出し(個別の実装) | 毎晩、前日に終結した相談を取り込む |
| 連携先の一覧 | 読み取り | 機関の名前と種類をそろえる |
| Amazon Bedrock(Titan) | Lambda からの呼び出し | 主訴と背景のベクトルを作る |
| Amazon OpenSearch Service | 索引への登録と検索 | hybrid と、役割ごとの見える範囲 |
| Claude(Amazon Bedrock) | Lambda からの呼び出し | 引用と日付付きで似た相談を並べる |
| 画面 | 相談員が使う | 検索の入力と結果の表示、原本へのリンク |
原本へのリンクは、相談記録の仕組みの権限で開きます。 画面で似た相談の要点を読んでも、原本を開けるかどうかは相談記録の仕組みの側で決まります。
人が確認する
この構成の確認は、必須です。 出てくるのは前例の材料で、支援の方針と制度の案内は相談員が決めます。
- 記録の日付を見る … 古い前例の制度は、いまの要件と窓口を確かめてから使います
- 違う点を読む … 家族の状況や住まいが違えば、同じ制度でも順番が変わります
- つまずいた点を初動に入れる … 「認定まで時間がかかった」とあれば、申請を先に動かします
- 使った前例を記録に残す … 支援の経過に、参考にした相談番号を一言書きます
1件あたり8分を目安にします。 似た相談が5件出れば、日付と違う点を見て2〜3件に絞り、つまずいた点を読み、必要なら原本を開きます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 似た相談が1件も出ない | 「似た相談は見つかりませんでした」と出し、入力を記録する。近いものを無理に出さない |
| 1件だけ当たり、点数が満点になる | 意味の検索の下限と上限で抑える。それでも低い前例には「似ている点が少ない」と出す |
| つまずいた点の欄が空 | 「記載なし」と出す。経過の文から推測させない |
| 制度の名前が古い名称のまま | 取り込みの名寄せの表に、旧名と新しい名前の対応を足す |
| 機微な区分の相談しか当たらない | 役割で見えない相談は返らないので、一般の相談員には「見つかりませんでした」と出る。室長に相談する導線を画面に置く |
| Bedrock の呼び出しに失敗した | 検索結果の相談番号・日付・制度・機関をそのまま表示する |
5行目は、見える範囲を分けたことの裏側です。 一般の相談員には、機微な相談の前例が出ません。それでよい設計ですが、虐待やDVの疑いのある新しい相談では、前例が無いのではなく見えていないだけです。 画面に「機微な区分の相談は室長に」と常に出しておきます。
記録を残す
- 取り込んだ相談番号と終結日、取り込んだ日時、除去した項目の種類
- 検索の入力(区分、年代、主訴と背景の要約)と、返した相談番号と点数
- Claude に渡した検索結果と、返ってきた答えと引用
- 相談員が参考にした前例と、参考にしなかった前例
- 「似た相談は見つかりませんでした」になった検索
- 検索を行った相談員と役割
最後の行は、見える範囲が正しく働いているかを確かめる材料です。 文書レベルのセキュリティの設定を変えたときに、どの役割で何が返っていたかを後から見られます。検索の入力に主訴と背景をそのまま残すと、ここが新しい個人情報のたまり場になるので、入力は要約と区分だけを残し、一定の期間で消します。
04実装レベルの3段階
半自動化では、機微な区分を最初から取り込みません。 見える範囲の設計が固まる前に入れると、取り返しがつきません。本格構成で1件8分になり、この段階が本記事の想定です。
05工数削減シミュレーション
導入後 150件 × 8分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 医療ソーシャルワーカーが数名から十数名いる病院の医療相談室や地域連携の部署で、入退院の支援・医療費の相談・介護や福祉の制度の案内・身寄りのない患者の支援といった新しい相談が月に百件を超え、過去の相談記録が数年分あるのに、似た相談を探すのが経験の長い相談員の記憶頼みになっている場合。新しく入った相談員の育成に時間がかかっている場合。相談記録を院内の仕組みから書き出せ、AWS を院内の規程に沿って使える場合。
- 相談員が1〜2名で、相談の件数も少なく、全件を覚えていられる場合。相談記録が紙だけで、文字のデータになっていない場合。制度を使えるかどうかの判定や、患者への説明文の作成までAIに任せたい場合。なお、支援の方針と制度の案内、関係機関への連絡は相談員が行い、この構成はそれを代わりに行いません。
07最小構成で試す方法
- 経験の長い相談員に、過去2年の終結した相談から「この2件は似た相談だった」と分かっている組を10組選んでもらう
- その20件と、同じ区分の別の相談30件の主訴・背景・使った制度・連携した機関・つまずいた点を、氏名などを外して書き出す(合わせて50件)
- 院内の規程で使ってよいとされたAIサービスに50件を貼り、10組の片方の主訴と背景だけを入れて「似た相談を3件、使った制度・連携した機関・つまずいた点と、終結した年月を添えて挙げてください。制度が使えるかは書かないでください」と指示する
- 組のもう片方が3件に入ったかを数える
- 入らなかった組について、主訴と背景のどこが違って見落とされたかを書き出す
| 出てきた内容 | 判断 |
|---|---|
| 10組のうち多くで、組の片方が3件に入る | 索引とハイブリッド検索の構築に進む |
| 入るが、「この方も使えます」と書く | 指示の書き方で直る。構成は有効 |
| つまずいた点が記録に無く、前例として薄い | 記録の書式が先。 検索の問題ではない |
3番目で使うAIサービスは、必ず院内の規程で使ってよいとされたものにします。 氏名を外した記録でも、要配慮の情報の塊です。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 事情を表す言葉が違って当たらない | 意味の検索を足し、重みを意味の側に寄せる |
| 似ていない相談が満点で返る | min_max の下限と上限を意味の検索に置く |
| AIが「この方も使えます」と書く | 過去形で書くよう指示し、終結した年月を必ず出す |
| 古い制度の名前で記録されている | 名寄せの表に旧名を足す |
| 機微な相談が一般の相談員に出る | 文書レベルのセキュリティで、検索基盤の側で見えなくする |
| 機微な相談の前例が無いと誤解される | 画面に「機微な区分は室長に」と常に出す |
| 氏名を外しても患者が分かる | 勤務先・学校・珍しい職業をぼかす規則を取り込みに入れる |
| 検索の記録が個人情報のたまり場になる | 入力は要約と区分だけを残し、期間で消す |
上の3行が、検索の質の失敗のほとんどです。 下の4行は、記録を別の患者の画面に出すという、この構成の性質そのものから来ます。 検索の精度より先に、見える範囲と人が分からない形を固めます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 患者と家族の事情(経済、家族、住まい、就労)、病気と障害、使った制度、連携した機関です。病歴や障害を含む、要配慮の個人情報の塊です。
- 院内の規程に沿って基盤を選ぶ … AWS とそのリージョン、生成AIの呼び出し方が、院内の情報システムの安全管理の規程と、医療情報の取扱いに関する国のガイドラインに照らして認められているかを、導入の前に情報システムの部署と確かめます
- 推論の行き先を確かめる … Amazon Bedrock の地域を限った推論プロファイルでは、要求はその地域の中にとどまる一方、入力と出力が呼び出したリージョンの外(同じ地域の中の別のリージョン)で処理されることがあるとされています。使うプロファイルとリージョンを、規程に照らして決めます
- 見える範囲を役割で分ける … OpenSearch の細かなアクセス制御で、文書レベルのセキュリティを使い、機微な区分の相談を室長と担当の役割だけに見せます。有効にしたあとは無効にできないので、ドメインを作るときに決めます
- 氏名などを取り込みの時点で外す … 索引には、氏名・生年月日・住所・患者番号を入れません。人が分かる記述もぼかします
- AIの出力を患者や家族に見せない … 出力は相談員の初動の材料です。別の患者の事情が引用されています
改正された業務指針は、患者情報の取扱いにおいて、高い情報リテラシーをもってプライバシーの尊重と個人情報の保護を実践することを求めています。この構成は、別の患者の記録を前例として読むものなので、その線を設計で守ります。
10まず何から始めるか
1週目:記録の書式と規程を確かめる
過去1年の終結した相談を20件開き、主訴と背景、使った制度、連携した機関、つまずいた点がどれだけ書かれているかを数えます。あわせて、情報システムの部署と、使える基盤とAIサービスの範囲を確かめます。
2週目:10組で試す
経験の長い相談員に「似た相談だった」と分かっている組を10組選んでもらい、院内で認められたAIサービスで似た相談を挙げさせます。組の片方が上位に入るか、「使えます」と書いていないかを最優先で見ます。
3週目:除去の規則と名寄せの表を作る
氏名などの除去と、人が分かる記述のぼかしの規則を作ります。制度と機関の名寄せの表も作り、記録の書式に「つまずいた点」の欄を足します。
4週目:機微な区分を除いて取り込み、言葉の検索で出す
過去2年分の終結した相談を、機微な区分を除いて取り込み、言葉の検索で似た相談の一覧を出します。相談員が初回の面接のあとにこの一覧を使い始めます。
2か月目: 意味の検索を足してハイブリッドにし、意味の検索の下限と上限と重みを、2週目の組の点数で決めます。3か月目以降: 文書レベルのセキュリティを設定して機微な区分を室長に向けて取り込み、引用と日付付きの整理を足して、過去6年分に広げます。経験の浅い相談員が、経験の長い相談員に聞かずに初動の方針を立てられるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 医療ソーシャルワーカー業務指針が2026年3月13日の医政局長通知(医政発0313第4号)で全部改正され、旧通知が廃止されたこと。業務の範囲に意思決定支援、心理的・社会的課題、入退院支援・療養支援、両立支援、受診・受療支援、経済的課題、組織内活動(業務の標準化)などが挙げられ、根拠に基づく判断や支援過程が可視化できる記録の作成、人材育成の体制、高い情報リテラシーによるプライバシーの尊重と個人情報の保護が求められていること | 厚生労働省: 医療ソーシャルワーカー業務指針の全部改正について | 2026-10-08 |
| 対応プラグインの一覧で、Sudachi Analysis が日本語向けに推奨され、Neural Search と k-NN が含まれること | Amazon OpenSearch Service: Plugins by engine version | 2026-10-08 |
hybrid クエリが複数のクエリの点数を検索パイプラインで1つにまとめ、クエリは最大5つ、filter で全クエリに絞り込みをかけられること | OpenSearch Documentation: Hybrid query | 2026-10-08 |
normalization-processor がクエリごとに点数を正規化して組み合わせ、既定が min_max と arithmetic_mean であること。min_max が返った結果の最小と最大で0〜1にそろえ、1件だけのときは1.0になること。lower_bounds・upper_bounds(apply・clip・ignore)で固定の基準を置けること。weights が合計1.0であること | OpenSearch Documentation: Normalization processor | 2026-10-08 |
| 細かなアクセス制御で、文書レベル・項目レベルのセキュリティを役割ごとに設定できること。有効にしたあと無効にできないこと | Amazon OpenSearch Service: Fine-grained access control | 2026-10-08 |
| Titan Text Embeddings V2 の入力が最大8,192トークンまたは50,000文字、出力が1,024(既定)・512・256次元で、日本語を含む多言語に対応すること | Amazon Bedrock: Amazon Titan Text Embeddings models | 2026-10-08 |
検索結果ブロック(source・title・content)で引用付きの答えが返り、Claude API、Amazon Bedrock、Google Cloud で使えること。引用がテキストブロック単位であること | Claude Docs: Search results | 2026-10-08 |
| 地域を限った推論プロファイルでは要求がその地域の中にとどまる一方、入力と出力が呼び出したリージョンの外で処理されることがあること | Amazon Bedrock: Geographic cross-Region inference | 2026-10-08 |
支援の方針、制度の案内、関係機関への連絡は、自院の規程と医療ソーシャルワーカーの専門職としての判断に従ってください。 本記事は公開仕様と公的な資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1040)についてのご相談はこちらから。
