製薬会社のくすり相談窓口が受けた電話の記録から副作用に当たりうるものを安全性の報告の項目に整理し、欠けた情報と報告期限の区分の候補を担当者に渡す
くすり相談窓口の相談員が書いた電話の応対記録のうち、副作用に当たりうるものを、安全性の報告の項目に整理します。あわせて、追加で聞くべき情報と、報告期限の区分の候補を安全管理の担当者に渡します。
- 生成AI
- Azure OpenAI Service/Claude
- 連携・自動化
- Power Automate
- 対象業界
- その他/医療/製造
- 対象部門
- 品質管理
- 対象業務
- データ入力・転記/内容確認・チェック
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/工数削減/機会損失防止
- 導入難易度
- ★★★★☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 相談員が電話を受け、応対記録を書く。副作用の話があれば印を付けて安全管理部に回す
- 担当者が応対記録を開き、全文を読む
- 患者(年齢・性別・イニシャルなど)、報告者(職種・連絡先)、被疑薬(製品名・用量・期間)、事象(症状・発現日・転帰)を探して、管理システムの項目に転記する
- 入院や死亡の話が無いかを読み返し、重篤性の判断の材料をメモする
- 欠けている情報を書き出し、相談員に追加の聞き取りを頼む
- 添付文書の使用上の注意を開き、記載のある事象かを確かめる
- 重篤性・予測性・因果関係を評価し、期限の区分を決める
- 人相談員が電話を受け、応対記録を書く。副作用の話があれば印を付ける(今と同じ)
- 自動印の付いた記録が保存されたことをきっかけに、記録の本文と受付の日時を取り出す
- 自動Azure OpenAI が記録から患者・報告者・被疑薬・事象などの項目を抜き出し、根拠の文を添えて返す
- 自動欠けた項目ごとに「聞いていない」「相手が知らない」「記録からは分からない」を付ける
- 自動入院・死亡・障害などの重篤性の手がかりを、根拠の文と一緒に一覧にする
- 自動抜き出した情報と手がかりから、規則で期限の区分の候補を出す。期限の起点は受付の日時を使う
- 自動「聞いていない」項目を、相談員への追加の聞き取りの依頼の下書きにする
- 人担当者が下書きを確かめ、管理システムに登録し、重篤性・予測性・因果関係を評価する
- 人相談員が追加の聞き取りを行い、結果を記録に追記する
各工程の詳しい説明を読む
- 相談員が電話を受け、応対記録を書く。副作用の話があれば印を付けて安全管理部に回す
- 担当者が応対記録を開き、全文を読む
- 患者(年齢・性別・イニシャルなど)、報告者(職種・連絡先)、被疑薬(製品名・用量・期間)、事象(症状・発現日・転帰)を探して、管理システムの項目に転記する
- 入院や死亡の話が無いかを読み返し、重篤性の判断の材料をメモする
- 欠けている情報を書き出し、相談員に追加の聞き取りを頼む
- 添付文書の使用上の注意を開き、記載のある事象かを確かめる
- 重篤性・予測性・因果関係を評価し、期限の区分を決める
(a)同じ記録を2回読んでいる。 相談員が書いた記録を、担当者が項目に移すためにもう一度読みます。記録の中から年齢や用量を探す作業が、1件の時間の大半を占めています。
(b)欠けた情報に気づくのが遅い。 3番目の転記の途中で「発現日が無い」と気づき、5番目でまとめて聞き取りを頼みます。頼むまでに数日かかると、患者の記憶があいまいになり、相手と連絡が取れなくなることもあります。
(c)聞いていないのか、相手が知らないのかが分からない。 記録に「用量の記載なし」とあっても、相談員が聞かなかったのか、相手が分からないと答えたのかが書かれていないことがあります。担当者は念のため聞き取りを頼み、同じ質問をもう一度することになります。
(d)入院の話が記録の端に埋もれる。 「先週ちょっと入院していたんですけど」のような一言が記録の後ろの方にあると、重篤性の材料として拾われないことがあります。 重篤かどうかで期限が大きく変わるため、ここを読み落とすと影響が大きくなります。
- 【人】 相談員が電話を受け、応対記録を書く。副作用の話があれば印を付ける(今と同じ)
- 【自動】 印の付いた記録が保存されたことをきっかけに、記録の本文と受付の日時を取り出す
- 【自動】 Azure OpenAI が記録から患者・報告者・被疑薬・事象などの項目を抜き出し、根拠の文を添えて返す
- 【自動】 欠けた項目ごとに「聞いていない」「相手が知らない」「記録からは分からない」を付ける
- 【自動】 入院・死亡・障害などの重篤性の手がかりを、根拠の文と一緒に一覧にする
- 【自動】 抜き出した情報と手がかりから、規則で期限の区分の候補を出す。期限の起点は受付の日時を使う
- 【自動】 「聞いていない」項目を、相談員への追加の聞き取りの依頼の下書きにする
- 【人】 担当者が下書きを確かめ、管理システムに登録し、重篤性・予測性・因果関係を評価する
- 【人】 相談員が追加の聞き取りを行い、結果を記録に追記する
8番目の評価は、今と同じく担当者が行います。 この構成が減らすのは、第4章の①〜④の転記と準備の時間です。評価に使う時間を削ることはしません。
7番目の依頼が早く出せることが、期限に効きます。 記録が保存された数分後に、何を聞き足すかが相談員に届きます。相手の記憶が新しいうちに、同じ日のうちに折り返せます。
02今回想定するシステム構成
くすり相談窓口の問い合わせ管理システム │ 応対記録(自由記述)+受付の日時+「副作用の可能性あり」の印 ▼【トリガー】印の付いた記録の保存 Azure Functions ── 記録の本文・受付の日時・相手の区分を取り出す ▼ Azure OpenAI(構造化出力)── 安全性の報告の項目に抜き出す │ ① 患者 ② 報告者 ③ 被疑薬・併用薬 ④ 事象・発現日・転帰 │ ⑤ 重篤性の手がかり ⑥ 欠けた項目と、その理由の区分 ▼ Azure Functions ── 根拠の文の照合/期限の区分の候補(規則)/期限日の計算 ▼ 確認の画面(担当者の作業一覧) ├──▶ 相談員への追加の聞き取りの依頼(下書き) ▼ 【担当者が確かめて管理システムに登録し、評価する】
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 生成AI | Azure OpenAI(Microsoft Foundry) | Claude API |
| 連携 | Azure Functions(記録の取り出し、根拠の照合、期限の区分の候補と期限日の計算) | Power Automate |
| 保管 | Azure Blob Storage(入力した記録、AIの出力、担当者の確認の記録) | 問い合わせ管理システムの添付の領域 |
安全性情報の管理システムには、担当者が確かめた後に登録します。 この構成は管理システムへ直接書き込みません。登録のボタンを押すのは担当者で、AIの下書きのまま案件が作られる経路はありません。
Azure OpenAI を選ぶ理由は、構造化出力で項目の形を固定できることです。 構造化出力は指定した JSON スキーマに従うもので、Chat Completions API と Responses API の両方で使えるとされています。欠けた理由の区分を enum で縛れるので、「聞いていない」と「相手が知らない」の区別が自由な文で書かれることを防げます。健康の情報を Azure の中で扱い、契約と権限の管理を一つにまとめられることも理由です。
項目の並びは、ICH の E2D(R1) ガイドラインの考え方に合わせます。 このガイドラインは、個別症例の安全性報告として提出できるための最低限の基準として、少なくとも1つの有害事象、少なくとも1つの被疑薬、識別可能な患者、少なくとも1人の識別可能な報告者の4つを挙げています。4つがそろったかどうかを、AIの出力から機械的に確かめられる形にします。 国内での報告の扱いは、医薬品医療機器等法施行規則と行政の通知に従います。
03どうやって実装するのか
処理の起点を決める
「副作用の可能性あり」の印が付いた応対記録の保存を起点にします。 相談員が記録を保存すると、問い合わせ管理システムが Azure Functions に通知します。1日1回のまとめ処理にはしません。 期限は会社が知った日から数えるので、まとめて処理すると、その分だけ担当者の持ち時間が減ります。
追記も起点にします。 追加の聞き取りの結果を相談員が記録に追記したときも、同じ記録をもう一度処理します。2回目以降は、前回の出力との差分を担当者に示します。 追加の情報で重篤に変わったときは、その追記の日時が新しい起点の候補になるためです。
印の付け忘れに備え、印の無い記録も夜間に軽く見ます。 症状を表す語(発疹、かゆみ、めまい、入院など)を含むのに印が無い記録を一覧にし、翌朝に相談窓口のリーダーが印を付けるかを決めます。 この一覧の作成は語の照合で行い、生成AIは使いません。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 応対記録 | 相談員が書いた会話の記録(自由記述) | 問い合わせ管理システム |
| 受付の日時 | 電話を受けた日時、追記の日時 | 問い合わせ管理システム |
| 相手の区分 | 患者本人/家族/薬剤師/医師/その他 | 応対記録の選択欄 |
| 製品の一覧 | 自社の製品名、一般名、剤形、規格、販売名の言い換え | 自社の製品マスタ |
| 聞き取りの項目表 | 副作用の話のときに相談員が聞く項目と、聞いた結果の書き方 | 安全管理部が作る手順書 |
質を決めるのは、いちばん下の聞き取りの項目表です。 相談員が「聞いたが不明」を「不明(本人覚えていない)」のように書く決まりがあれば、AIはそれを「相手が知らない」に区分できます。決まりが無いと、「不明」が聞き漏らしなのか答えなのかを記録から判断できません。 導入の前に、項目表に書き方の決まりを足します。
製品の一覧は、被疑薬の名前を正すために渡します。 患者は「白い丸い薬」「血圧の薬」のように話します。AIには一覧にある名前だけを製品名として返させ、一覧に当てはまらない言い方は、そのままの言葉で別の欄に残させます。
データの取得方法を決める
応対記録と受付の日時は、問い合わせ管理システムの API で、記録の番号を指定して取ります。受付の日時は、AIには渡しません。 期限の計算は Azure Functions が受付の日時から行い、AIの出力とは混ぜません。
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 記録の本文 | 問い合わせ管理システムの API | 項目の抜き出し |
| 受付の日時 | 同上(システムが記録した値) | 期限の起点 |
| 相手の区分 | 同上(選択欄) | 報告者の職種 |
| 追記の履歴 | 同上 | 前回との差分、新しい起点の候補 |
| 製品の一覧 | 製品マスタの書き出し | 製品名の照合 |
添付文書の使用上の注意は、この段階では渡しません。 予測できるかどうかの判断は担当者が行うもので、AIに添付文書を渡すと、予測性の結論を書き始めます。 担当者の確認の画面に、被疑薬の添付文書へのリンクを出すところまでにします。
AIへ渡す前に整形する
- 相談員の定型の文を外す … 「お電話ありがとうございました」のような記録の定型の書き出しと締めを外します
- 連絡先を伏せる … 電話番号・住所・メールアドレスを
[連絡先]に置き換えます。連絡先は安全性の項目に要りますが、AIには渡さず、問い合わせ管理システムから担当者の画面に直接出します - 氏名をイニシャルにする … 患者と報告者の氏名を、記録の選択欄からイニシャルに置き換えます。識別可能な患者の条件はイニシャルや年齢でも満たせるので、氏名そのものは渡しません
- 文に番号を振る … 記録を文ごとに
s01からの番号で区切ります。根拠の照合を番号で行うためです - 追記を区切る … 追記の部分に、追記の日時の印を付けます。どの情報がいつ得られたかを、出力の根拠から追えるようにします
- 長さを確かめる … 記録が極端に長いものは、会話の要点のまとめが先頭にあるかを確かめ、無ければ相談員に戻します
2番目と3番目は、外部の処理に渡す情報を減らすためです。 健康の情報と結び付いた氏名や連絡先は、AIの処理に要らないので、そもそも渡しません。 識別に要る最小限(イニシャル、年齢、性別、相手の区分)だけを残します。
AIに処理させる
させるのは、記録に書かれたことを項目に移し、根拠の文の番号を付け、欠けた項目に理由の区分を付けることだけです。
| 抜き出す項目 | 中身 | 欠けたときの区分 |
|---|---|---|
| 患者 | 年齢または年代、性別、イニシャル、妊娠の有無 | not_asked / unknown_to_caller / unclear |
| 報告者 | 相手の区分、医療関係者なら職種と施設の種類 | 同上 |
| 被疑薬 | 製品名(一覧にあるもの)、用量、使い始めた日、やめた日、ロット | 同上 |
| 併用薬・既往 | 他に使っている薬、もともとの病気、アレルギー | 同上 |
| 事象 | 症状の言葉(話されたまま)、発現日、経過、転帰(回復・軽快・未回復・不明) | 同上 |
| 重篤性の手がかり | 入院、入院期間の延長、死亡、障害、生命の危険、先天異常に触れた文 | 手がかりが無ければ空 |
| 薬の扱い | 薬をやめたか、やめて症状が変わったか、再び使ったか | 同上 |
欠けたときの区分は3つです。 not_asked は記録に聞いた跡が無いもの、unknown_to_caller は「覚えていない」「分からない」と相手が答えたもの、unclear は書かれているが読み取れないものです。追加の聞き取りの依頼に載せるのは not_asked だけです。
重篤性の手がかりは、判定ではなく引用です。 医薬品医療機器等法施行規則は、15日以内の報告の対象として、死亡、障害、死亡や障害につながるおそれのある症例、治療のための入院や入院期間の延長、それらに準じて重篤な症例、後世代の先天性の疾病や異常を挙げています。AIはこれらに触れた文を拾って並べるだけで、重篤かどうかは書きません。
| させないこと | 理由 |
|---|---|
| 重篤かどうかの判定 | 医学的な評価。担当者が行う |
| 使用上の注意から予測できるかの判定 | 添付文書と照らす評価。担当者が行う |
| 副作用と疑われるかの判定 | 因果関係の評価。担当者が行う |
| 発現日の推測 | 「1週間くらい前」を日付に直さない。話されたまま写す |
| 製品名の推測 | 「血圧の薬」を特定の製品にしない |
| 期限日の計算 | 受付の日時からプログラムで計算する |
4行目がいちばん起きやすい失敗です。 「先週の月曜くらいから」を、受付の日から逆算して日付にしてしまいます。話された言葉のまま onset_text に写させ、日付にするかどうかは担当者が決めます。
指示内容を固定する
あなたは製薬会社の安全管理部で、相談窓口の応対記録を
安全性の情報の項目に整理する作業を手伝う立場です。
記録に書かれていることだけを項目に移してください。推測で埋めないでください。
【応対記録】{record}
(s番号付きの文。[追記 日時] の印から後は、後から追記された部分です)
【自社の製品の一覧】{products}
【相談員の聞き取りの項目表と、書き方の決まり】{interview_rules}
【欠けた項目の区分】
- not_asked .......... 記録に、その項目を聞いた跡が無い
- unknown_to_caller .. 相手が「覚えていない」「分からない」と答えた記録がある
- unclear ............ 書かれているが、値として読み取れない
迷ったときは not_asked を選ばないでください。迷ったら unclear です。
【厳守事項】
- 各項目には、根拠にした文の s番号を必ず付けてください。
- 症状は、話された言葉のまま写してください。医学用語に置き換えないでください。
- 発現日・使い始めた日は、記録の言葉のまま写してください。
「1週間前」「先月」を日付に直さないでください。
- 製品名は、一覧にある名前に当てはまるときだけ product に入れてください。
当てはまらない言い方は、spoken_name にそのまま写してください。
- 入院・入院の延長・死亡・障害・命に関わる状態・生まれた子の異常に
触れた文があれば、seriousness_clues にすべて写してください。
重篤かどうかは書かないでください。
- 副作用かどうか、添付文書から予測できるかどうか、報告が要るかどうかは
書かないでください。
- 記録が副作用の話を含まないと判断した場合は、
項目を埋めず、no_event_reason に理由を1文で書いてください。
「迷ったら unclear」は、聞き取りの依頼を絞るためです。 not_asked は相談員に折り返しを頼む区分なので、迷ったものまで入れると、患者に同じことを聞く電話が増えます。 unclear は担当者が記録を読んで決めます。
「医学用語に置き換えない」も明記します。 患者が「顔が赤くなってほてった」と話したものを、AIは「紅潮」や特定の病名に言い換えがちです。用語への置き換え(コーディング)は担当者が評価のときに行います。 言い換えた時点で、話された内容の幅が消えます。
出力形式を固定する
次の形の JSON を、構造化出力で受け取ります。
{
"record_id": "",
"has_event": true,
"no_event_reason": "",
"patient": { "age_text": "", "sex": "male | female | not_stated", "initials": "", "pregnant": "yes | no | not_stated", "src": ["s03"] },
"reporter": { "caller_type": "patient | family | pharmacist | physician | nurse | other", "src": ["s01"] },
"suspect_drugs": [
{ "product": "", "spoken_name": "", "dose_text": "", "start_text": "", "stop_text": "", "lot": "", "src": ["s05"] }
],
"events": [
{ "symptom_text": "", "onset_text": "", "course_text": "", "outcome": "recovered | recovering | not_recovered | unknown | not_stated", "src": ["s07"] }
],
"seriousness_clues": [ { "text": "", "src": "s11" } ],
"missing": [
{ "field": "", "reason": "not_asked | unknown_to_caller | unclear", "src": [] }
]
}
1つ目の理由は、最低限の4つがそろったかを機械的に見られることです。 events に1件以上、suspect_drugs の product か spoken_name に1件以上、patient に年齢・性別・イニシャルのどれか、reporter の caller_type があるかを Azure Functions が確かめます。そろわないものは「報告の基準を満たす前」の印を付け、missing の聞き取りを急ぎます。
2つ目は、期限の区分の候補を規則で出せることです。 AIの出力そのものには区分を書かせません。
| 規則 | 期限の区分の候補 |
|---|---|
seriousness_clues に死亡に触れた文がある | 15日の候補(担当者の評価を待つ) |
seriousness_clues に入院・障害などに触れた文がある | 15日または30日の候補(予測性の評価を待つ) |
| 手がかりが無い | 非重篤の候補(定期の報告の対象か、担当者が評価) |
| 最低限の4つがそろっていない | 区分なし。聞き取りを先に行う |
期限日の計算は、受付の日時から行います。 施行規則の期間は、会社が事象を知ったときから数えるものです。ICH E2D(R1) でも、会社の担当者(委託先を含む)が最低限の基準を満たす情報を得た日を起点とする考え方が示されています。 追記で重篤の手がかりが新しく出たときは、追記の日時を新しい起点の候補として担当者に示します。
3つ目は、スキーマの制約を前提に後段で確かめられることです。 構造化出力では、すべてのフィールドを必須にし、additionalProperties: false を設定します。配列の minItems などは使えないため、src が空でないかは受け取った後にプログラムで確かめ、空なら担当者の画面で印を付けます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| 問い合わせ管理システム | API(記録の取得、通知の受け取り) | 記録の本文、受付の日時、追記の履歴 |
| Azure OpenAI | Chat Completions API(構造化出力) | 項目の抜き出し、欠けた項目の区分、重篤性の手がかり |
| 確認の画面 | Azure Functions から書き込み | 下書き、期限の区分の候補、期限日、根拠の文 |
| 相談員の作業一覧 | 問い合わせ管理システムのタスク機能 | not_asked の項目の聞き取りの依頼 |
| 安全性情報の管理システム | 担当者の手入力、または確認済みの値の取り込み | 担当者が確かめた値だけ |
相談員への依頼は、担当者が送ります。 依頼の下書きは自動で作りますが、送るかどうかは担当者が確かめてから決めます。 患者に再び電話をかけるかどうかは、相手の状況を見て決めることだからです。ただし、最低限の4つがそろっていないものは、確認の画面の一番上に出します。
Chat Completions API を使い、Responses API の会話の履歴の保存は使いません。 1件ずつ抜き出して終わる処理で、健康の情報をサービスの中に残す場所を増やす必要がないからです。
人が確認する
AIの下書きは、全件を担当者が確かめます。 安全性の情報に入る値は、どれも報告の内容になりうるからです。
- 最低限の4つがそろっていないものを先に見る …
missingの聞き取りの依頼を確かめて相談員へ送ります - 重篤性の手がかりを読む … 根拠の文を記録で確かめ、手がかりが拾い漏れていないかも記録の全文で見ます
- 被疑薬を確かめる …
spoken_nameだけのものは、製品を特定できるかを担当者が決めます - 項目を管理システムに登録する … 確かめた値だけを登録します
- 評価する … 重篤性・予測性・因果関係を評価し、期限の区分を確定させます
2番目で記録の全文を見るのは、拾い漏れが期限に直結するからです。 入院の一言をAIが拾わなかったとき、それに気づけるのは記録を読む担当者だけです。AIの手がかりは「ここは必ず見る」という印で、「ここ以外は見なくてよい」という意味ではありません。
目標は、1件7分です。 転記と探す作業が無くなり、確かめて登録する時間が残ります。7分を大きく超える月は、相談員の記録の書き方の決まりが守られていないか、unclear が多すぎます。
例外に対処する
| 起きること | 対応 |
|---|---|
| 記録に副作用の話が無い | has_event: false。担当者が確かめ、印の付け間違いなら相談窓口に戻す |
| 1つの記録に複数の患者の話 | 患者ごとに分けるよう担当者に知らせる。AIに分けさせない |
| 他社の製品の話 | 一覧に無い名前として spoken_name に残し、担当者が扱いを決める |
| 製品を特定できない | spoken_name のみ。担当者が相談員に聞き取りを頼むかを決める |
| 根拠の照合ができない | その項目を空にし、担当者の画面で印を付ける |
| 追記で重篤の手がかりが出た | 追記の日時を新しい起点の候補として示し、担当者に通知する |
| Azure OpenAI が応答しない | 記録を未処理の一覧に残し、担当者に従来の手順での処理を知らせる |
| 処理が受付の当日に終わらない | 受付の日時からの経過を画面に出し、期限の近いものから並べる |
下から2行目が、期限を守るための決まりです。 AIが止まっても、期限は止まりません。未処理の一覧を、担当者が毎朝見る画面の一番上に置きます。
記録を残す
- 入力した記録(伏せ字の後の本文)と、受付の日時・追記の日時
- AIに渡した製品の一覧と聞き取りの項目表の版、指示文の版
- AIの出力の JSON 全文と、照合で空にした項目の記録
- 規則が出した期限の区分の候補と、計算した期限日
- 担当者が直した項目と、確定させた評価・期限の区分
- 相談員への聞き取りの依頼と、その結果の追記
missingの区分ごとの件数(相談員ごと)
最後の行は、相談員の聞き取りを良くする材料です。 not_asked が多い相談員には、聞き取りの項目表の使い方を伝えます。記録の質が上がれば、AIの抜き出しも、担当者の確認も速くなります。
04実装レベルの3段階
最小構成では件数がさばけません。 月600件を手で貼ることはできないので、手がかりの拾い漏れが無いかを確かめる段階です。 半自動化で、1件20分が11分程度になります。 転記の時間は無くなりますが、期限日の計算と聞き取りの依頼の文面づくりが残ります。本格構成で7分になり、この段階が本記事の想定です。 差が出るのは、最低限の4つの確かめと期限の並べ替えが自動になり、担当者が期限の近いものから迷わず手を付けられることです。 段階を飛ばさないでください。 半自動化の1か月で、相談員ごとの not_asked の多さが分かります。記録の書き方を直してから本格構成に進むほうが、聞き取りの依頼が適切な数に収まります。
05工数削減シミュレーション
導入後 600件 × 7分 ÷ 60 = 70 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 医療用医薬品や一般用医薬品を製造販売し、くすり相談窓口(医薬品情報の問い合わせ窓口)で患者・家族・医療関係者からの電話を毎月数千件受けている製薬会社。相談員が応対記録を自由記述で書き、そのうち副作用に当たりうるものを安全管理の部門が読み直して安全性の情報の項目に転記している場合。転記と追加の聞き取りの依頼に時間がかかり、報告の期限が迫ってから欠けた情報に気づくことがある場合。Azure を使っている場合。
- 相談窓口の応対記録が残っていない、または電話の受付の時刻が記録されていない場合(期限の起点を持てません)。副作用に当たりうる記録が月に数件で、担当者が読んで転記しても負担になっていない場合。なお、重篤かどうか、使用上の注意から予測できるかどうか、副作用と言えるかどうかの判断と、規制当局への報告の要否の決定は、この構成では代替できません。
07最小構成で試す方法
- 先月の応対記録のうち、安全管理部に回った30件を選ぶ(入院の話を含むもの、薬の名前があいまいなものを入れる)
- 氏名と連絡先を伏せた記録を用意する
- Microsoft Foundry のプレイグラウンドに、製品の一覧と1件の記録を貼る
- 「患者・報告者・被疑薬・事象の項目に、記録の言葉のまま移してください。欠けた項目は、聞いていない/相手が知らない/読み取れない に分けてください。入院や死亡に触れた文はすべて写してください。重篤かどうかは書かないでください」と指示する
- 出てきた項目を、当時担当者が管理システムに入れた値と突き合わせる
30件で最優先に見るのは、重篤性の手がかりの拾い漏れです。 項目の転記が多少違っても担当者の確認で直せますが、入院の一言を落とすと、期限の区分が変わります。
| 出てきた内容 | 判断 |
|---|---|
| 項目がほぼ合い、入院の一言も拾えた | 問い合わせ管理システムとの連携に進む |
| 発現日を日付に直している | 指示の書き方で直る。構成は有効 |
not_asked と unknown_to_caller が分けられない | 相談員の記録の書き方の決まりが先。 AIの問題ではない |
| 入院の一言を拾い漏らす | 前処理と指示を見直し、それでも漏れるなら本格構成に進まない |
4行目が出たら、立ち止まってください。 この構成は、担当者が記録の全文も読む前提で組みますが、手がかりの拾い漏れが多いと、担当者がAIに頼る分だけ危うくなります。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| AIが重篤かどうかを書いてしまう | 指示で禁じ、スキーマに判定の欄を作らない |
| 発現日を日付に直す | 話された言葉のまま写させ、日付にするのは担当者 |
| 期限の起点を記録の本文から取る | 受付の日時はAIに渡さない。 プログラムが計算する |
| 「不明」が聞き漏らしか答えか分からない | 相談員の記録の書き方の決まりを先に作る |
| 聞き取りの依頼が多すぎる | 迷ったら unclear。not_asked だけを依頼にする |
| 症状を医学用語に言い換える | 話された言葉のまま写させる。用語への置き換えは担当者 |
| 「血圧の薬」を特定の製品にする | 一覧にある名前だけを product に入れる |
| 入院の一言を拾い漏らす | 担当者が記録の全文を読む前提を崩さない |
| 1つの記録に複数の患者 | AIに分けさせず、担当者に知らせる |
| 印の付け忘れ | 夜間に語の照合で拾い、相談窓口のリーダーが決める |
| 氏名と連絡先がAIに渡る | 前処理で伏せる。連絡先は担当者の画面に直接出す |
| 手順書と運用がずれる | AIの下書きと担当者の確認の位置づけを手順書に書く |
上の3行が、この構成で最も避けたい失敗です。 どれも、AIが「判断」や「計算」に踏み込むことで起きます。この構成のAIは、記録に書かれたことを項目に移す役だけを持ちます。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 患者の年齢・性別・イニシャル、症状と経過、使っている薬、もともとの病気、入院の事実、そして報告者の職種と施設の種類です。健康に関する情報で、個人情報保護法の要配慮個人情報に当たりうるものを含みます。
- AIに渡す情報を最小限にする … 氏名と連絡先は前処理で伏せ、識別に要る最小限(イニシャル、年齢、性別、相手の区分)だけを渡します
- データの扱いを確かめる … 公式の説明では、プロンプトと応答は他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないとされています。一方で、Global や DataZone のデプロイでは処理の場所が広がり、不正利用の監視では兆候が検知されるとプロンプトと応答の一部が確認の対象になり、必要に応じて人が確認します。デプロイの種類と、監視の扱いの変更を申請するかを、自社の規程に照らして決めます
- 判断を担当者に残す … 重篤性・予測性・因果関係の評価と、報告の要否の決定は担当者が行います。AIの出力に判定の欄を作らないことで、設計の上でも判断を持たせません
- 期限の計算をAIから切り離す … 期限は受付の日時からプログラムで計算します。AIの読み違いで期限がずれる経路を作りません
- 手順書に位置づける … 安全性情報の収集の業務は自社の手順書に沿って行うものです。AIの下書きを使う段階と、担当者の確認の段階を手順書に書き、記録を残します
- ログの保存の期間と見られる人を決める … 入力と出力の記録には健康の情報が含まれます。安全管理部の担当者だけが見られる場所に置き、保存の期間を手順書で決めます
誤りが起きた場合のリスクは、重篤性の手がかりを拾い漏らして期限の区分を誤ることと、AIの下書きが確かめられないまま登録されることの2つです。 前者は担当者が記録の全文を読むことで、後者は登録のボタンを担当者だけが押す設計で防ぎます。どちらも、AIに判断を持たせない設計から守ります。
10まず何から始めるか
1週目:相談員の記録の書き方の決まりを作る
聞き取りの項目表に、「聞いたが相手が分からない」の書き方を足します。例えば「用量:不明(本人覚えていない)」のように書く決まりです。相談窓口のリーダーと一緒に作り、相談員に伝えます。
2週目:30件で試す
先月の記録から30件を選び、氏名と連絡先を伏せてプレイグラウンドで項目に移させます。入院の一言を拾えているかを最優先で見ます。
3週目:期限の区分の候補の規則を決める
施行規則と自社の手順書に沿って、重篤性の手がかりから期限の区分の候補を出す規則を、安全管理部の責任者と決めます。 規則が出すのはあくまで候補で、確定は担当者の評価の後であることを手順書に書きます。
4週目:問い合わせ管理システムから記録を取り出す
API で記録の本文と受付の日時を取り出し、前処理と構造化出力の呼び出しをつなぎます。この時点では確認の画面に下書きを並べるだけで、聞き取りの依頼は出しません。
2か月目: 最低限の4つの確かめと、期限の区分の候補・期限日を足します。3か月目以降: 相談員への聞き取りの依頼の下書きを足し、相談員ごとの not_asked の件数を見て、記録の書き方を直します。入院の一言の拾い漏れが無いことを毎月の点検で確かめ続けられる状態になった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 医薬品の製造販売業者が、副作用によるものと疑われる死亡、使用上の注意から予測できない重篤な症例等(障害、死亡や障害につながるおそれのある症例、治療のための入院や入院期間の延長、それらに準じて重篤な症例、後世代の先天性の疾病や異常)などを知ったときは15日以内に、それ以外の重篤な症例等は30日以内に厚生労働大臣に報告すること。使用上の注意から予測できない非重篤の症例等は定期に報告すること(第228条の20第1項) | e-Gov 法令API: 医薬品、医療機器等の品質、有効性及び安全性の確保等に関する法律施行規則 | 2026-10-15 |
| 個別症例の安全性報告として提出できるための最低限の基準が、少なくとも1つの有害事象、少なくとも1つの被疑薬、識別可能な患者、少なくとも1人の識別可能な報告者であること。年齢・性別・イニシャルなどのいずれかで患者が識別可能とされること。報告の期限の起点が、会社の担当者(委託先を含む)が最低限の基準を満たす情報を得た日であること。追加の情報で非重篤から重篤に変わったときは、その受領日が新しい起点になること | EMA: ICH E2D(R1) Guideline on post-approval safety data | 2026-10-15 |
構造化出力が指定した JSON スキーマに従い、Chat Completions API と Responses API の両方で使えること。すべてのフィールドを必須にし、additionalProperties: false を設定すること。配列の minItems などが使えないこと。列挙型が使えること | Microsoft Learn: Azure OpenAI で構造化出力を使用する方法 | 2026-10-15 |
| プロンプトと応答が他の顧客や OpenAI に提供されず、基盤モデルの学習に使われないこと。Global と DataZone のデプロイでは処理の場所が広がること。Responses API が会話の履歴を保存すること。不正利用の監視で、兆候が検知されるとプロンプトと応答の一部が確認の対象になり、必要に応じて人が確認すること。監視の扱いの変更を申請できること | Microsoft Learn: Data, privacy, and security for Foundry Models sold by Azure | 2026-10-15 |
報告の要否と期限の区分、国内での運用の細部は、医薬品医療機器等法施行規則と行政の通知、自社の安全管理の手順書に従ってください。 本記事は、上記の公開情報で確認できた範囲だけを扱っています。ICH E2D(R1) の国内での取り扱いは、行政の通知で確かめてください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-1619)についてのご相談はこちらから。
