介護施設で家族から「先月の様子は」と聞かれたときに、その利用者の介護記録・バイタル・行事の記録を期間と言葉で探し、答える材料を相談員に返す
家族から「先月の様子はどうだったか」と聞かれたとき、その利用者の介護記録・バイタル・食事量・行事の記録を、期間と言葉で探します。見つかった記録を食事・睡眠・体調・活動の別に並べ、記録の番号付きの材料メモにして相談員に返します。
- 生成AI
- ChatGPT/Claude/Gemini
- AIサービス
- Azure AI/Google Vertex AI/OpenSearch
- 対象業界
- 介護/医療
- 対象部門
- カスタマーサポート
- 対象業務
- 問い合わせ対応/情報検索
- 主な課題
- 問い合わせが多い/属人化している/情報が見つからない
- AIで行う処理
- 検索(RAG)
- 主な効果
- 品質標準化/対応スピード向上/検索時間短縮
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- RAG・個別開発(大)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 家族から電話または面会で問い合わせを受け、聞かれた内容と期間を控える
- 相談員の台帳で、問い合わせてきた人が登録された家族か、説明の窓口の人かを確かめる
- 介護記録ソフトでその利用者を開き、期間の日々の記録を1日ずつ読む
- バイタルと食事量の表を開き、変わったところを目で探す
- 行事の参加の表と受診の記録を、別の画面と表計算で探す
- 気になる記録があれば、ユニットの職員や看護職員に口頭で確かめる
- 答える内容をメモにまとめ、家族に説明する。説明したことを相談記録に書く
- 人相談員が問い合わせ画面で、利用者、問い合わせてきた人、期間、話題(「眠れているか」など)を入れる
- 自動中継プログラムが家族の台帳を引き、登録された家族で、説明の範囲の制限が無いかを確かめる
- 自動期間を日付の範囲に直す(「先月」なら前の月の1日0時から末日24時まで、日本時間)
- 自動Amazon OpenSearch Service で、利用者と期間で絞り、話題の言葉で記録を探す
- 自動期間のバイタルと食事量を数え、平均・最大・最小と、基準を外れた日を出す
- 自動Claude に検索結果を記録ごとに渡し、話題ごとの材料メモを記録の番号付きで作らせる
- 自動事故・受診・基準を外れた値が含まれていれば、看護職員の確認が要る印を付ける
- 人相談員がメモと引用元の記録を確かめ、必要なら看護職員やユニットの職員に聞く
- 人相談員が家族に説明し、説明した内容を相談記録に書く
各工程の詳しい説明を読む
- 家族から電話または面会で問い合わせを受け、聞かれた内容と期間を控える
- 相談員の台帳で、問い合わせてきた人が登録された家族か、説明の窓口の人かを確かめる
- 介護記録ソフトでその利用者を開き、期間の日々の記録を1日ずつ読む
- バイタルと食事量の表を開き、変わったところを目で探す
- 行事の参加の表と受診の記録を、別の画面と表計算で探す
- 気になる記録があれば、ユニットの職員や看護職員に口頭で確かめる
- 答える内容をメモにまとめ、家族に説明する。説明したことを相談記録に書く
(a)1か月分を読むのに時間がかかる。 1日に職員が書く記録は1人の利用者で数件から十数件あり、1か月で数百行になります。 「眠れているか」を知りたいだけでも、夜勤の記録を30日分開くことになります。
(b)記録の場所が職種ごとに違う。 日々の記録、バイタル、食事量、機能訓練、行事の参加が別の画面や表にあり、探す順番が相談員ごとに違います。 行事の参加の表を見落とすと、「先月はどこにも出ていない」と答えてしまいます。
(c)書き方が人によって違い、言葉で探せない。 同じ「よく眠れた」でも、「良眠」「入眠良好」「巡視時いびきあり」と書く人がいます。介護記録ソフトの検索は書かれた言葉の一致なので、「睡眠」で探しても出てきません。
(d)月の境目の扱いが曖昧になる。 夜勤の記録は日をまたぎ、末日の夜の出来事がどちらの月に入るかが人によって違います。家族が「先月の終わりに熱が出たと聞いた」と言うとき、見る範囲がずれると記録が見つかりません。
- 【人】 相談員が問い合わせ画面で、利用者、問い合わせてきた人、期間、話題(「眠れているか」など)を入れる
- 【自動】 中継プログラムが家族の台帳を引き、登録された家族で、説明の範囲の制限が無いかを確かめる
- 【自動】 期間を日付の範囲に直す(「先月」なら前の月の1日0時から末日24時まで、日本時間)
- 【自動】 Amazon OpenSearch Service で、利用者と期間で絞り、話題の言葉で記録を探す
- 【自動】 期間のバイタルと食事量を数え、平均・最大・最小と、基準を外れた日を出す
- 【自動】 Claude に検索結果を記録ごとに渡し、話題ごとの材料メモを記録の番号付きで作らせる
- 【自動】 事故・受診・基準を外れた値が含まれていれば、看護職員の確認が要る印を付ける
- 【人】 相談員がメモと引用元の記録を確かめ、必要なら看護職員やユニットの職員に聞く
- 【人】 相談員が家族に説明し、説明した内容を相談記録に書く
8番目が、この設計の分かれ目です。 メモの文をそのまま家族に読み上げる運用にはしません。相談員は引用元の記録を開いて、言葉の意味を確かめてから話します。
2番目を検索の前に置いているのも、意図してのことです。 探してから「この人には話せない」と気づくのでは、相談員の画面に記録がすでに出ています。 説明してよい相手かどうかは、探す前に台帳で決めます。
02今回想定するシステム構成
【取り込み】介護記録ソフト(毎晩の書き出し)+行事の参加の表 ▼【トリガー】毎晩2時のファイルの配置(Amazon S3) AWS Lambda ── 記録を1行ずつ文書にし、日時に +09:00 を付ける ▼ Amazon OpenSearch Service(記録の索引。Sudachi+介護の言い換えの辞書) 【問い合わせ】相談員の問い合わせ画面(利用者・相手・期間・話題) ▼ AWS Lambda ── 家族の台帳で説明してよい相手かを確かめる │ 期間を日付の範囲に直す ▼ Amazon OpenSearch Service ── 利用者と期間で絞り、話題の言葉で探す ▼ AWS Lambda ── バイタルと食事量を数える ▼ Claude API ── 記録を検索結果のブロックで渡し、引用付きの材料メモ ▼ 【人】相談員が確認 → 必要なら看護職員へ → 家族に説明 → 相談記録へ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 検索基盤 | Amazon OpenSearch Service(Sudachi、言い換えの辞書、細かなアクセス制御) | Azure AI Search、Vertex AI Search(Agent Search) |
| 生成AI | Claude API(検索結果のブロックによる引用付きの材料メモ) | OpenAI API、Gemini API |
| 連携 | AWS Lambda(取り込み、相手の確認、期間の変換、数値の集計) | AWS Step Functions |
| 保管 | Amazon S3(毎晩の書き出しと辞書のファイル) | ― |
| 記録 | 既存の介護記録ソフト(書き出しのみ) | ― |
介護記録ソフトは置き換えません。 記録は今までどおり職員が書き、この構成は毎晩の書き出しを読むだけです。最初の準備作業は、家族の台帳に「説明の窓口の人」と「本人の要望による説明の範囲」の列を足すことです。
日本語の解析は、Sudachi のプラグインで行います。 Amazon OpenSearch Service の対応プラグインの一覧では、Sudachi Analysis が日本語向けに推奨されるものとして載っており、OpenSearch 1.3以降で使える任意のプラグインです。kuromoji と ICU は全ドメインに入っています。任意のプラグインの関連付けと解除には、ブルー/グリーンのデプロイが伴います。
記録の言い換えは、カスタムパッケージの辞書で足します。 同義語の辞書ファイルを S3 に置き、パッケージとして取り込んでドメインに関連付けると、synonyms_path に analyzers/<ID> を指定して使えます。対応するのは1ファイルの辞書だけです。
03どうやって実装するのか
処理の起点を決める
取り込みと問い合わせで、起点が2つあります。
取り込みは、毎晩2時に介護記録ソフトの書き出しが S3 に置かれたことを起点にします。 記録はその日の夜勤の時間帯にも書かれるので、前日の0時から24時までの記録が確定するのを待ってから書き出します。介護記録ソフトに書き出しの予約の機能が無ければ、事務の職員が朝に手で書き出す運用から始めます。
過去の記録は、利用者ごとに入所日から一括で取り込みます。 家族の問い合わせは直近の数か月が中心ですが、「去年の今ごろと比べてどうか」と聞かれることがあります。退所した利用者の記録は、取り込みの対象から外します。
問い合わせは、相談員が画面で「探す」を押したときに動きます。 面会の受付で使うことを考え、検索の一覧を先に出し、Claude の材料メモは追って表示します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 日々の記録 | 記録の番号、利用者の番号、日時、書いた職種、記録の種類、本文 | 介護記録ソフトの書き出し |
| バイタル | 日時、体温、血圧、脈拍、酸素飽和度、体重 | 同上 |
| 食事と水分 | 日時、主食と副食の摂取の割合、水分量 | 同上 |
| 受診と事故 | 受診日、受診先の種類、事故・ヒヤリの記録の番号 | 同上 |
| 行事の参加 | 行事の名前、日付、参加・欠席と理由 | ユニットごとの表計算 |
| 家族の台帳 | 利用者ごとの登録された家族、説明の窓口の人、本人の要望による説明の範囲 | 相談員の台帳 |
| 言い換えの辞書 | 家族の言い方と記録の書き方の組 | 相談員と介護職員が作る辞書ファイル |
質を決めるのは、家族の台帳と言い換えの辞書です。 台帳が無ければ説明してよい相手を確かめられず、辞書が無ければ「眠れているか」で「良眠」の記録が出てきません。
行事の参加の表は、書き出しの前に形をそろえます。 ユニットごとに列の並びが違うと、取り込みのたびに読み違えます。利用者の番号の列が無い表は、取り込みを止めます。 名前だけで照合すると、同姓の利用者を取り違えます。
データの取得方法を決める
記録は、1行を1つの文書として索引に入れます。 1日分をまとめて1文書にすると、引用元が「9月14日の記録のどこか」になり、相談員が探し直すことになります。
{
"record_id": "R-20260914-0312",
"resident_id": "U-0457",
"unit": "3F-east",
"recorded_at": "2026-09-14T03:10:00+09:00",
"author_role": "care_worker",
"record_type": "daily | vital | meal | rehab | event | medical | incident",
"text": "巡視時、いびきあり良眠。2時にトイレ誘導、排尿あり。",
"vital": { "temp": null, "bp_sys": null, "bp_dia": null, "spo2": null },
"meal": { "staple_pct": null, "side_pct": null, "water_ml": null }
}
recorded_at には必ず +09:00 を付けます。 OpenSearch の範囲の検索では、日付は既定で協定世界時(UTC)とみなされます。 時差の無い「2026-09-30 23:30」を入れると、日本時間の翌朝8時30分の記録として扱われ、末日の夜の記録が翌月に入ります。
問い合わせのときの検索は、次の形で組みます。
{
"query": {
"bool": {
"filter": [
{ "term": { "resident_id": "U-0457" } },
{ "range": { "recorded_at": {
"gte": "2026-09-01T00:00:00",
"lt": "2026-10-01T00:00:00",
"time_zone": "Asia/Tokyo" } } }
],
"should": [
{ "match": { "text": "眠れている" } },
{ "terms": { "record_type": ["daily", "medical"] } }
]
}
},
"size": 40
}
利用者と期間は filter に、話題は should に置きます。 利用者と期間は必ず守る条件で、話題は並べる順を決める条件です。話題の言葉に当たらない記録も、期間の中なら下のほうに出ます。 「様子はどうか」のような広い質問に、記録が0件と返すのを防ぐためです。
AIへ渡す前に整形する
- 日時の変換(取り込み時) … 介護記録ソフトの日時に
+09:00を付けます。日付だけの記録(行事の参加など)は、その日の12時として入れます - 記録の種類の付け直し … 書いた職種と画面から
record_typeを決めます。事故・ヒヤリの記録はincidentに分けます - 個人を特定する言葉の扱い … 本文の中の他の利用者の名前は、取り込み時に「他の利用者」に置き換えます。同室の人とのやり取りの記録に、別の人の名前が残るためです
- 期間の変換(問い合わせ時) … 「先月」「この2週間」「お盆のころ」を、中継プログラムが日付の範囲に直します。AIに日付の計算をさせません
- 範囲の書き方の統一 … 始まりは
gteに日付と0時、終わりはltに翌日の0時を書きます - 辞書の反映 … 言い換えの辞書は検索時の解析器だけに使い、
updateableを true にします
5番目を軽く見ないでください。 OpenSearch の範囲の検索では、日付の一部を省くと、足りない部分が決まった値で埋められます。 時が省かれると23時、分が59分、秒が59秒です。"gte": "2026-09" と書くと、9月1日の23時59分59秒より後になり、1日の昼までの記録が抜けます。必ず日時まで書きます。
now を使った相対の日付も使いません。 ドキュメントでは、time_zone は now に効かず、now は常に協定世界時の現在とされています。月の変わり目の朝9時までに「先月」を探すと、ずれが出ます。日付の範囲は中継プログラムが日本時間で計算して、決まった値で渡します。
言い換えの辞書は、1行に同じことを指す言い方を並べる形で作ります。
眠れている, 良眠, 入眠良好, 熟睡
眠れていない, 不眠, 入眠困難, 覚醒あり
食べられている, 全量摂取, 完食
むせる, むせ込み, 嚥下不良
元気がない, 活気なし, 傾眠
辞書に載せるのは、相談員と介護職員が「この言い方で聞かれたら、この書き方の記録を見る」と確かめた組だけにします。 「様子」「調子」のような広い言葉は入れません。
AIに処理させる
させるのは、渡された記録を話題ごとに並べ直し、記録の番号を付けて材料メモにすることだけです。
| させること | 中身 |
|---|---|
| 話題ごとの整理 | 食事・睡眠・体調・活動(行事・機能訓練)・受診の別に、記録の要点を並べる |
| 記録の言葉の写し | 職員の書いた言葉を、言い換えずに引用として残す |
| 変化の指摘 | 期間の前半と後半で、記録の書きぶりが変わったところを挙げる |
| 確認の要る点の指摘 | 受診・事故・基準を外れた値、記録の無い日が続く期間 |
| させないこと | 理由 |
|---|---|
| 体調の変化の医学的な意味づけ | 説明するのは看護職員・医師。「年齢によるもの」と書かせない |
| 家族への返事の文 | 何をどこまで伝えるかは相談員が決める |
| 記録に無いことの補い | 記録の無い日を「特に変わりなし」と書かない |
| 数値の計算 | 平均や回数は中継プログラムが数える |
| 職員の対応の評価 | 「対応が遅れた」のような書き方をしない |
3行目が、いちばん起きやすい失敗です。 記録の無い日が続くと、AIは「この期間は落ち着いて過ごされていました」とまとめたくなります。記録が無いことと、何も起きなかったことは別の話です。 家族にそう伝えた後で、記録の漏れが見つかることがあります。
4行目は、数え間違いを防ぐためです。 「先月は3回熱が出た」と書かれた材料を相談員がそのまま話すと、実際は2回だったときに家族の信頼を失います。 回数や平均は中継プログラムが数え、Claude には数えた結果を渡すだけにします。
指示内容を固定する
あなたは特別養護老人ホームの生活相談員を手伝います。
家族から利用者の近況を聞かれた相談員が、説明の準備に使う材料メモを作ってください。
読むのは相談員で、引用元の記録を開いて確かめてから家族に話します。
【問い合わせの話題】{topic}
【期間】{date_from} から {date_to} まで(日本時間)
【中継プログラムが数えた値】{stats}
【記録】検索結果として渡します(1件が1つの記録です)
【書き方】
1. 話題に直接関係する記録を先に、食事・睡眠・体調・活動・受診の別に並べてください。
2. 各項目は、記録に書かれた職員の言葉をそのまま引用してください。
3. 期間の前半と後半で書きぶりが変わったところがあれば、両方の記録を並べてください。
4. 受診、事故・ヒヤリ、【中継プログラムが数えた値】で基準外とされた日は、
「看護職員の確認が要る点」として最後にまとめてください。
【厳守事項】
- 渡された記録に書かれていることだけで書いてください。
- 体調の変化の原因や医学的な意味を書かないでください。
「加齢による」「心配ない」「様子を見てよい」などの言葉を使わないでください。
- 記録の無い日や期間を「変わりなし」「落ち着いていた」と書かないでください。
記録が無ければ「この期間の記録はありません」と書いてください。
- 回数、平均、割合を自分で数えないでください。数えた値は【中継プログラムが数えた値】だけです。
- 家族に向けた文(「〜でございます」など)を書かないでください。
- 他の利用者のことや、職員の対応の良し悪しを書かないでください。
「心配ない」を名指しで禁じているのは、家族に安心してほしいという気持ちが記録の外の言葉を呼ぶからです。 禁じないと、体重が減っている記録の横に「食事量は保たれており心配ありません」と書きます。相談員がその言葉を使えば、施設が健康状態を判断して伝えたことになります。
記録は Claude の検索結果のブロックで渡します。 1件の記録を1つの search_result にし、source に記録の番号、title に日時と記録の種類、content に本文を入れます。引用を有効にすると、メモの文ごとにどの記録を根拠にしたかが search_result_location で返ります。 引用の設定は、1回の依頼の中ですべての検索結果を同じにする必要があります。
出力形式を固定する
中継プログラムは、Claude の応答と自分で数えた値を合わせて、次の形にまとめます。
{
"inquiry_id": "Q-2026-10-0081",
"resident_id": "U-0457",
"requester_check": "registered_contact | not_registered | restricted",
"period": { "from": "2026-09-01T00:00:00+09:00", "to": "2026-10-01T00:00:00+09:00" },
"topic": "眠れているか",
"stats": {
"temp_max": 37.6, "days_temp_over_375": 1,
"meal_staple_avg_pct": 72, "weight_change_kg": -0.8,
"days_without_record": 0
},
"sections": [
{ "theme": "sleep", "summary": "",
"citations": [ { "record_id": "", "recorded_at": "", "cited_text": "" } ] }
],
"needs_nurse": [ { "reason": "temp_over | medical | incident", "record_id": "" } ],
"hits_total": 0
}
1つ目の理由は、requester_check を最初に置けることです。 登録された家族でない、または本人の要望で説明の範囲が決まっている場合は、sections を空のまま返し、画面に台帳の内容を出します。
2つ目は、stats と sections を分けられることです。 数値は中継プログラムが数え、文は Claude が並べます。画面では数値を表として別に出し、文の中の数値と食い違えば数値の表を正とします。
3つ目は、needs_nurse で確認の順番を決められることです。 熱・受診・事故の記録があれば、相談員は家族に話す前に看護職員に聞きます。事故の記録は、事故の説明の手順で家族に説明済みかを確かめる印にもなります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 介護記録ソフト | 毎晩の書き出しのファイル | 前日の記録を S3 へ置く |
| 行事の参加の表 | 週1回の書き出し | 参加・欠席と理由を取り込む |
| Amazon OpenSearch Service | 索引への登録と検索 | 利用者・期間で絞り、言葉で探す |
| Claude API | Lambda からの呼び出し | 検索結果のブロックで渡し、引用付きの材料メモを作る |
| 家族の台帳 | Lambda からの読み取り | 説明してよい相手か、説明の範囲を確かめる |
| 相談記録 | 既存の記録 | 説明した内容は相談員が書く |
介護記録ソフトにも相談記録にも書き込みません。 説明した内容は、相談員が自分の言葉で相談記録に残します。 材料メモを自動で書き込むと、家族に話していないことまで「説明した」記録になります。
言い換えの辞書の更新は、月に1回の手順にします。 S3 のファイルを差し替えても、OpenSearch Service の側のパッケージは自動では更新されません。 パッケージを更新してドメインに適用すると、検索時の解析器が updateable なら、検索時の解析器は自動で読み込み直されます。
人が確認する
- 相手を確かめる …
requester_checkがregistered_contactでなければ、記録を見ずに台帳の内容に従います - 引用元の記録を開く … メモの項目ごとに、引用された記録の前後を読みます。特に夜勤の記録は、前日と翌日の記録も見ます
- 看護職員に聞く …
needs_nurseがあれば、家族に話す前に看護職員に確かめます。体調の説明は看護職員から行うこともあります - 伝える範囲を決める … 本人の要望による説明の範囲と、事故の説明が済んでいるかを見て、話す内容を決めます
- 説明した内容を書く … 家族に話したことを相談記録に書きます
目標は、120件をならして1件10分です。 材料メモと数値の表を読むのに4分、引用元の記録の確認に4分、看護職員への確認と相談記録への準備に2分を見ています。10分を大きく超える月は、記録の無い日が多いか、辞書が追いついていません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 問い合わせてきた人が台帳に無い | 検索しない。本人の同意の確認を相談員が行う |
| 本人の要望で説明の範囲が決まっている | 検索しない。台帳の内容を画面に出す |
| 期間の言い方が日付に直せない | 相談員に日付を入れ直してもらう。AIに推測させない |
| 期間に記録が1件も無い | 「この期間の記録はありません」と出す。外泊・入院の記録を確かめる |
| 記録の無い日が続く | days_without_record を出す。書き出しの漏れか、記録の漏れかを事務で確かめる |
| 事故・ヒヤリの記録が当たった | needs_nurse に入れる。事故の説明の手順で説明済みかを確かめる |
| 他の利用者の名前が本文に残っている | 取り込みの置き換えの漏れ。記録の番号を事務へ回し、置き換えの規則を直す |
| 書き出しのファイルが届かない | 前日までの記録で検索し、画面に「昨日の記録は未取り込み」と出す |
| Claude の呼び出しに失敗した | 検索の一覧と数値の表だけを出す |
上から2行は、AIの問題ではなく、説明してよいかの問題です。 ここで止めることが、この構成の前提です。
記録を残す
- 問い合わせの日時、相談員、利用者、問い合わせてきた人の区分、台帳の確認の結果
- 中継プログラムが作った日付の範囲と、検索の条件
- 検索で返った記録の番号の一覧
- Claude に渡した記録と、返った材料メモと引用
- 中継プログラムが数えた値と、
needs_nurseの理由 - 相談員が引用元を開いた記録の番号と、看護職員に確かめたかどうか
- 辞書の版と、拾えなかった言い方の報告
1つ目で台帳の確認の結果を残すのは、後から説明の相手が問題になったときのためです。 誰からの問い合わせに、どの範囲の記録を見たかを、問い合わせの単位でたどれるようにします。
ログにも本文を長く残しません。 材料メモと引用は、相談記録に書いた時点で役目を終えます。保存の期間を決め、期間を過ぎたものは消します。
04実装レベルの3段階
半自動化で、1日ずつ記録を開く作業は無くなります。 ただし言い換えの辞書が無いので、家族の言い方で記録が拾えず、相談員が言葉を変えて探し直します。 本格構成との差はここで、本記事の想定は本格構成です。 段階を飛ばさないでください。 半自動化の1か月で、どの言い方が拾えなかったかが集まります。それが本格構成の辞書になります。
05工数削減シミュレーション
導入後 120件 × 10分 ÷ 60 = 20 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 定員が数十名以上の特別養護老人ホーム・介護老人保健施設・介護医療院・有料老人ホームなどで、家族から「最近どうしているか」「先月は食べられていたか」と聞かれる問い合わせが毎月数十件以上あり、相談員が介護記録ソフトの日々の記録を1日ずつ開いて答えを組み立てている場合。介護記録・バイタル・食事量・行事の参加が電子の記録として残っており、毎晩書き出せる場合。家族に説明してよい範囲を、利用者ごとに台帳で持てる場合。
- 利用者が十数名の小規模な事業所で、相談員が全員の様子を日々把握できている場合。介護記録が紙だけで、電子の記録として取り出せない場合。家族への説明の範囲や、説明してよい家族が決まっておらず、台帳に起こせない場合。なお、体調の変化の医学的な意味や受診の要否についての説明は看護職員・医師が行うもので、この構成では代替できません。
07最小構成で試す方法
- 先月の問い合わせから20件を選び、利用者・期間・話題を控える
- 同じ20件について、当時の相談員が見た記録と、家族に話したことを聞き取る
- 介護記録ソフトから、20人分の該当期間の記録を書き出す
- 他の利用者の名前を置き換えたうえで、1件ずつ手元のAIサービスに貼る
- 「この記録だけを根拠に、話題に関係する記録を食事・睡眠・体調・活動・受診に分けて並べてください。記録の無い日を変わりなしと書かないでください。医学的な意味を書かないでください」と指示する
- 出てきたメモと、当時の相談員が見た記録を突き合わせる
記録を貼る前に、施設の個人情報の取り扱いの規程で、外部のサービスに入れてよいかを確かめてください。 入れてよい範囲が決まっていなければ、試しは名前と番号を伏せた記録で行います。
| 出てきた内容 | 判断 |
|---|---|
| 当時の相談員が見た記録が並ぶ | 取り込みと検索基盤の構築に進む |
| 話題の言葉で記録が拾えない | 言い換えの辞書が要る。 拾えなかった言い方を集める |
| 「心配ない」などの言葉が混ざる | 指示の書き方で直る。構成は有効 |
2行目は失敗ではありません。 家族の言い方と記録の書き方の違いが、辞書の最初の行になります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 末日の夜の記録が翌月に入る | 日付は既定で協定世界時。 取り込みで +09:00 を付け、検索で time_zone を指定する |
| 1日の昼までの記録が抜ける | 日付の一部を省くと時が23時で埋まる。日時まで書き、終わりは lt で翌日0時 |
| 月初の朝に「先月」がずれる | now は time_zone の影響を受けない。日付は中継プログラムが計算する |
| 家族の言い方で記録が出てこない | 言い換えの辞書を検索時の解析器に置き、updateable を true にする |
| S3 の辞書を差し替えても効かない | パッケージの更新とドメインへの適用が別に要る |
| 辞書のファイルが取り込めない | AWS KMS の鍵で守った S3 のファイルは読めない。S3 管理の鍵で暗号化する |
| Sudachi の辞書の差し替えがすぐ効かない | 次のブルー/グリーンのデプロイまで反映されない。別名の索引で作り直す方法もある |
| 記録の無い日が「変わりなし」になる | 指示で禁じ、記録の無い日数を中継プログラムが数えて出す |
| 他の利用者の名前が出る | 取り込みで置き換え、漏れは記録の番号で事務へ回す |
上の3行が、この構成の失敗のほとんどです。 どれもAIではなく日付の扱いの問題で、家族の「先月の終わりに熱が出たと聞いた」に答えられるかどうかが、ここで決まります。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 利用者の介護記録、バイタル、食事と排泄、受診と事故の記録、家族の連絡先と説明の範囲です。要配慮個人情報を含みます。
- 家族への説明も第三者提供として扱う … 個人情報保護委員会のQ&Aでは、記録に書かれた情報を家族を含む第三者に提供する場合、原則として本人の同意が必要とされています。本人から説明の相手・方法・時期の要望があれば、できる限り本人の意思に配慮する必要があるとされています。台帳の確認を検索の前に置くのはこのためです
- 見られる記録を施設とユニットで分ける … 細かなアクセス制御の文書レベルのセキュリティで、相談員の役割ごとに自分の施設の利用者の記録だけが返るようにします。項目レベルのセキュリティで、家族の関係のメモなど相談員に要らない項目を外します
- アクセス制御を有効にする条件を先に満たす … 細かなアクセス制御には、全通信の HTTPS、保存時の暗号化、ノード間の暗号化が要り、有効にした後は無効にできません。 最初のドメインを作るときに決めます
- 外部のAIに渡す範囲を絞る … Claude に渡すのは期間と話題で絞った記録だけで、氏名・住所・家族の連絡先は渡しません。 利用者は番号で扱います
- 医学的な説明を生成させない … 体調の変化の意味を相談員がAIの言葉で伝えると、施設が健康状態を判断して伝えたことになります。 看護職員の確認を必ず挟みます
- 事故の記録の扱いを分ける … 事故は別の手順で家族に説明するものです。近況の問い合わせの中で初めて事故を知らせることにならないよう、
needs_nurseで止めます
誤りが起きた場合のリスクは、説明してはいけない相手に記録を伝えることと、期間の違う記録で答えることの2つです。 前者は台帳の確認、後者は日付の扱いで防ぎます。どちらもAIの精度ではなく、設計で守ります。
10まず何から始めるか
1週目:家族の台帳に2つの列を足す
相談員の台帳に、説明の窓口の人と、本人の要望による説明の範囲の列を足します。全員分を一度に埋める必要はありません。問い合わせの多い家族から埋めます。
2週目:20件で試す
先月の問い合わせから20件を選び、記録を書き出して手元のAIサービスで材料メモを作らせます。当時の相談員が見た記録と突き合わせ、記録の無い日を「変わりなし」と書いていないかを最優先で見ます。
3週目:言い換えの一覧を作る
20件で拾えなかった家族の言い方を集め、相談員と介護職員で記録の書き方との組にします。最初は30行程度で足ります。
4週目:毎晩の書き出しから索引までをつなぐ
介護記録ソフトの書き出しを S3 に置き、Lambda で +09:00 を付けて索引に入れます。月の境目の夜勤の記録が、正しい月で出てくるかを最初に確かめます。
2か月目: Sudachi と言い換えの辞書、家族の台帳の確認を足し、材料メモを出します。拾えなかった言い方を毎週集めます。3か月目以降: 細かなアクセス制御でユニットと施設の範囲を分け、1件30分が何分になったかを実測します。月の境目の問い合わせで、正しい期間の記録が出ることを確かめた時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Sudachi Analysis が日本語向けに推奨され、OpenSearch 1.3以降で使える任意のプラグインであること。kuromoji と ICU が全ドメインに入っていること。Sudachi の辞書の関連付け直しは次のブルー/グリーンのデプロイまで反映されず、別名を使った作り直しの方法もあること | Amazon OpenSearch Service: Plugins by engine version | 2026-10-07 |
辞書ファイルを S3 に置いてパッケージとして取り込み、synonyms_path に analyzers/<ID> で使うこと。1ファイルの辞書だけに対応すること。AWS KMS の鍵で守った S3 のファイルは読めないこと。updateable は検索時の解析器にだけ使え、S3 の差し替えだけではパッケージは更新されず、適用すると検索時の解析器が自動で更新されること。任意のプラグインの関連付けにブルー/グリーンのデプロイが伴うこと | Amazon OpenSearch Service: Importing and managing packages | 2026-10-07 |
| 細かなアクセス制御が文書・項目の単位の制限を提供すること。文書レベルのセキュリティが役割のクエリに合う文書だけを返すこと。項目レベルのセキュリティで項目を外せること。有効化に HTTPS・保存時の暗号化・ノード間の暗号化が必要で、有効にした後は無効にできないこと | Amazon OpenSearch Service: Fine-grained access control | 2026-10-07 |
範囲の検索の gte・gt・lte・lt。日付が既定で協定世界時とみなされ、time_zone に IANA のタイムゾーンを指定できること。now が time_zone の影響を受けないこと。省いた日付の部分が、時は23・分は59・秒は59などで埋められること | OpenSearch Documentation: Range query | 2026-10-07 |
検索結果ブロック(source・title・content)で自社の文書を渡すと Claude が引用付きで回答し、引用が search_result_location で返ること。引用の設定は既定で無効で、1回の依頼のすべての検索結果で同じにする必要があること | Claude Docs: Search results | 2026-10-07 |
| 記録に書かれた情報を家族を含む第三者に提供する場合、原則として本人の同意が必要なこと。本人から説明の相手・方法・時期の要望があれば、できる限り本人の意思に配慮する必要があること | 個人情報保護委員会: 医療・介護関係事業者ガイダンスに関するQ&A(Q4-2) | 2026-10-07 |
家族に何をどこまで説明するかは、本人の意思と施設の規程に照らして相談員が決めてください。体調の説明は看護職員・医師が行ってください。 本記事は公開仕様と公的機関の公開資料で確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0686)についてのご相談はこちらから。
