6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ハッカソンで医療カルテの類似検索推薦システムを開発した話

Posted at

ハッカソンで医療カルテの類似検索推薦システムを開発した話

はじめに

2025年8月2日〜3日開催の「Qiita × Fast DOCTOR Health Tech Hackathon」に、チーム「unpretrained」として参加し優秀賞を受賞しました。

このハッカソンは、オンライン診療における課題を発見し、その解決策となるシステムを2日間で開発するイベントです。本記事では制作物について紹介します。

自己紹介

三度のご飯と機械学習が好きな大学2年生、病理AIに興味のあるKagglerです。
SNS: https://x.com/16MBytes

制作物「KalteBoost」

医師がカルテを「ゼロから記述する」のではなく、既存データから類似例を推薦し、それを参考に編集・追記することで効率的に作成できるシステムを開発しました。

LLMで単なる文章をゼロから生成することは容易ですが、品質をそこから向上させるには、蓄積されている既存の医療データを最大限引き出すことがカギだと考え取り組みました。

処理フロー

  1. オンライン診療の会話を自動文字起こし
  2. Geminiが問診情報と会話内容からカルテの骨組みを生成
  3. TF-IDFアルゴリズムで過去の完成カルテから最適な参考例を推薦
  4. 医師が推薦例を参考に患者特有の情報を追加

発見した医療課題

カルテ作成業務の負担

カルテの作成・管理は医師の日常業務で大きな負担となっています。診療行為に加えて詳細な記録作成に時間を要し、本来患者に向けるべき時間が削られているのが現状です。

特に以下2つの課題があると考えました。

1. カルテの目的混在

カルテには2つの目的が混在しています:

  • 診療報酬算定のための「算定基準を満たす記載」
  • 継続的な医療提供や患者引き継ぎのための「臨床的に有用な記載」

これらの要件にはズレがあり、医師が記載の重心をどこに置くべきか曖昧になっています。結果として、どちらの要件も満たせない記載や、記載方針の混乱が生じやすい構造となっています。また、医師間でのカルテ品質や記述内容にバラつきが生まれています。

2. 診療報酬請求の手戻り作業

医療事務が作成する診療報酬請求において、カルテの記載内容が算定基準を満たしていない場合、審査支払機関から差し戻されることがあります。この際、医療機関は再確認・修正という手戻り作業を強いられ、医師・医療事務は既に完了したと思っていたカルテを再度見直し、修正する必要があります。

これらの要因でカルテ作成・管理の負担が増加し、結果として診察可能な患者数の減少を招いていると考えました。

着目したデータ

FastDoctor社のプラットフォームに蓄積されている**「完成されたカルテデータ」**という資産に着目しました。これらは診療報酬の請求基準を満たしており、質の高い継続診療にも対応できる内容で、膨大な量が蓄積されているはずです。

この資産を活用することで、「ゼロから書く」のではなく「完成形を参考にする」アプローチが実現可能だと考えました。

※実際の医療データではなく、LLMによるダミーデータをチームで構築し利用しました。

リアルなダミーデータ生成

FastDoctorで働く看護師の方に確認していただきながら、実務上の記述により近いダミーデータを生成しました。

  • メタデータ(患者年齢、性別、診療日)
  • 事前問診情報
  • SOAP形式のカルテ
  • 処方箋
    の特徴量を踏まえてTF-IDFでベクトル化し、検索可能にしました。

利用技術

技術構成

バックエンド

  • Hono.js 4.8.2 + Cloudflare Workers
  • Drizzle ORM + SQLite/LibSQL
  • JWT + bcryptjs
  • TypeScript 5.8.3
  • Google Gemini API
  • TF-IDF + Janome (Python)
  • Web Speech Recognition API

フロントエンド

  • React 19 + React Router 7
  • Tailwind CSS + Vite

おわりに

なぜこの課題発見に辿り着いたのか

ハッカソンのメンターとして、FastDoctorさんの医師・看護師・技術責任者の方と直接会話できたことが大きな要因でした。

医療課題について仮説を立てながら相談し、「業務改善のインパクトが大きい箇所」を掘り下げるサイクルが効果的でした。

特に診療後の工程で診療報酬算定の話題が挙がり、「医療機関では、カルテの記載不備による差し戻しで手戻り作業が発生する」ことや「このような内容・品質のカルテが取り扱いやすい」という生の声を聞けたことが転機となりました。

ハッカソンの2日間で、医療現場の課題を深く理解し、技術的な解決策を形にできたことは非常に貴重な経験でした。

最後に、チーム「unpretrained」のメンバーと、貴重な機会を提供してくださったQiitaさん、Fast DOCTORさんに心から感謝申し上げます。

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?