🌊

プロンプトエンジニアリングによって患者さんと医師の会話から患者さんの手元にカルテ形式のメモを残せるか試行錯誤した

2023/10/12に公開

株式会社piponは、ドクターボイスという患者さんが、医師の言っていただいたことを忘れないように音声メモで記録できるサービスを提供しています。
https://www.doctor-voice.com/

現在の機能は、医師との会話データを書き起こし、家族と共有することができるというシンプルな機能ですが、GPT4のプロンプトをしっかりと書いていけば、より患者さんにとって価値のあるメモを作成することができるようになると思います。

そこで、実際に私が、糖尿病であることを疑って、内科を受診して、血液検査をしてもらった時の医師との会話データを使って、どのようなことができるのかをお伝えしたいと思います。

まず、音声を書き起こしして、医師なのか患者なのかを話者推定します。
書き起こしデータは、このスプレッドシートのような形で出力されます。
https://docs.google.com/spreadsheets/d/1utepgYiD0b3Ik9wbiA7OQ11qwUkQxsWwIKmuq5E6NAE/edit?usp=sharing

このデータを元にカルテのSOAP形式に情報を分類したいと思います。

SOAPとは、このカルテに記録する際の一つの形式や順序を示す言葉です。SOAPは4つの頭文字をとっています:

  1. S (Subjective): 主観的な情報。これは患者さんが「私はこう感じる」と言ったり、「痛い」と言ったりしたことを記録する部分です。患者さんの気持ちや感じている症状を書きます。

  2. O (Objective): 客観的な情報。これは医師や看護師が検査や観察で得られる情報です。たとえば、体温が37.5℃だった、血圧が130/80だった、といった具体的なデータや、身体の検査で見たり触ったりして得られる情報を書きます。

  3. A (Assessment): 評価。ここでは、SやOから得られた情報をもとに、どんな病気や状態だと考えられるかを医師が書きます。つまり、診断の部分とも言えます。

  4. P (Plan): 計画。これからどんな治療や検査をするか、どんな薬を出すかの計画を書く部分です。

例えば、風邪の症状で病院に行ったとします。SOAP形式での記録はこんな感じになります:

  • S: 「頭が痛い。鼻水がたくさん出る。」
  • O: 体温38.2℃。のどが赤い。
  • A: 風邪。
  • P: 解熱剤と風邪薬を出す。3日後に再診。

このように、SOAP形式を使うことで、患者さんの情報を整理して、わかりやすく記録することができるのです。

プロンプトエンジニアリングの作法である

  • few shotという具体例を必ず記載してあげる。
  • 背景を丁寧に説明して、どのようなことをして欲しいか伝える。
  • 曖昧な定義の言葉を使わず、明確でわかりやすい文章を心がける。
  • 指示を明確にする。

これらのことを考慮しないプロンプトで実行すると散漫なまとめの結果になってしまいました。
実行したプロンプトはこちら。
「あなたは優秀な医師です。
その前提で私の質問に答えてください。
もし完全な答えを出すのに必要な情報がある場合は、私に質問をしてください。
分からないものを推測で答えないようにしてください。
以下の会話内容からカルテに記載するSOAP形式で内容をまとめてください。
会話の内容

以下は、提供された会話文をSOAP形式(Subjective、Objective、Assessment、Plan)に分類したものです。

**Subjective (主訴・患者の主観的な症状や気になっていること)**:
- 間違いかもしれないですけど、なんか、尿からちょっと甘い匂いがするんじゃないかなと思ったんですけど。
- じゃあ糖尿病じゃないかなと思ってたんですけど、糖尿病予備群ぐらいにはなっているんじゃないかなっていうのは不安だったんですけど。
- あとは、ここに書いてある症状ですね、寒がりになったりとか太ってきたとかいうことで。
- 寒がりというか、手足の冷え症がある?
- 私は健康診断とか受ける予定ですか?私自営業で4年間くらい、健康診断を受けていなくて。

**Objective (客観的所見・検査結果)**:
- 血糖値は96。
- ヘモグロビンA1Cは5.3%。
- プロがタンパク、プロテインですね。グルコース等ですけれども、糖もタンパクも出てないですし。
- ケトン体とか、ロイっていうのは、発血球とか、血液というのは洗血反応なんですけど、どれもマイナス。

**Assessment (評価・診断)**:
- 空腹時血糖は正常。
- 糖尿病の診断基準はクリア。
- 糖尿病の予備群ではないと考えられる。
- 寒がりや太りやすさに関して、ホルモンの異常や運動不足、筋力低下の可能性が考えられる。
- 今日の検査結果では、泡立ちの問題は正常。

**Plan (計画・今後の対応)**:
- 75gのぶどう糖を飲んで、その後血糖値の変動を30分ごとに見るっていう、2時間まで見るっていう検査(75g OGTT)を推奨。
- さっき取った血液を利用して向上腺のホルモンとかを見る。
- 1週間後に再度、検査結果の確認に来てもらう。
- もしこれまで健康診断を受けていなければ、レントゲンなどの健康診断を受けることを推奨。

このように、SOAP形式によって会話文を診療の流れに従った情報に整理することができます。

プロンプトエンジニアリングの作法でをしっかりと考慮したプロンプトを作れば、以下のような綺麗なSOAP形式のメモを作成することができます。

S)
- 尿から甘い匂いがするかもしれない
- 尿の泡立ちが気になる
- 糖尿病予備群かもしれないとの不安

O)
- 血糖値:96
- 空腹時血糖基準:100以下(厳しい基準では110以下)
- ヘモグロビンA1C:5.3%
- タンパク、グルコース、ケトン体、発血球:すべて正常
- 尿の検査:問題なし

A)
血糖値とヘモグロビンA1Cの数値を基に、糖尿病や予備群の診断はされていない。尿から甘い匂いがする、泡立ちがあるとの主訴もあるが、検査結果からは何も異常は見られない。今回の結果に基づき、糖尿病の可能性は低いと考えられる。

P)
【伝達事項】
- 血糖値、ヘモグロビンA1C、尿の検査結果が正常であることを説明した。
- 糖尿病の診断基準について説明した。
- 尿の泡立ちや匂いについては、今回の検査では異常が見られなかったことを説明した。

【介入事項】
- 糖尿病の可能性を完全に排除するには、75g OGTT(糖負荷試験)も選択肢であると提案した。

【OP】
- 次回、任意で糖負荷試験を受けるかどうか確認予定。

医師とお話しした内容が、このようなメモとして患者さんの手元でいつでも見れるようにすることは医療業界において非常に価値があるのではないかと考えます。

技術でお困りのことがある方はオンライン相談が可能です。
こちらから会社概要資料をDLできます!
お問い合わせ内容に「オンライン相談希望」とご記載ください。
https://share.hsforms.com/19XNce4U5TZuPebGH_BB9Igegfgt

株式会社piponでは定期的に技術勉強会を開催しています。
ChatGPT・AI・データサイエンスについてご興味がある方は是非、ご参加ください。
https://chatgptllm.connpass.com/

株式会社piponではChatGPT・AI・データサイエンスについて業界ごとの事例を紹介しています。ご興味ある方はこちらのオウンドメディアをご覧ください。
https://bigdata-tools.com/

株式会社piponのテックブログ

Discussion