開発者向け

AI医療アシスタントと電子カルテの連携:FHIRレコード、コンテキストAPI、MCPサーバー

AI医療アシスタントを患者さんの記録に安全に接続する方法:同意に基づいた読み取り、提案としての書き込み、承認待ち。Anpheros MCPサーバーとコンテキストAPIについて、具体例を交えて解説します。

著 公開日 1分で読めます

言語モデルを医療記録に接続する際には、最初のプロンプトの前に3つの疑問が生じます。モデルは何を見て、誰がそれを許可し、何かを書き戻したい場合はどうなるのか、ということです。Anpheros Platformは、APIでこれら3つのすべてに対応するため、あなたが構築するアシスタント(またはユーザーがすでに持っているアシスタント)は、独自のルールを考案することなく、記録を処理できます。このガイドでは、コンテキストAPI、MCPサーバー、および提案フローについて説明します。

開発者向けの技術的なバージョン: AI医療アシスタント · MCPサーバー は developers.anpheros.com にて、リクエスト、レスポンス、制限事項とともに提供されています。このページは平易な言葉での説明です。

モデルが見るもの:コンテキストAPI

POST /v1/context は、設定したトークン予算内で、AIが利用しやすい形式の患者の要約を作成します。各項目には author_type(患者、医療従事者、デバイス、インポート、派生)とそのソースが含まれているため、モデルは検査結果と自己申告の症状、医師の診断と推測を区別できます。予算によって、何が最初に含まれるかが決まります。アクティブな問題、現在の薬剤、アレルギー、最近の結果、そしてそれ以降の項目です。ラベル付きのセクション、または format: "text" を指定した場合は、プロンプトですぐに使えるレンダリングされたブロック、さらに含まれなかった項目をリストアップした omitted リストを取得できます。

curl -X POST "$BASE/v1/context" \
     -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
     -d '{"patient": "'$PID'", "budget_tokens": 2000, "task": "pre-visit summary", "format": "text"}'

同じ出所ラベルは、後で説明責任を果たすための根拠となります。アシスタントの要約は、各記述がどこから来たのかを示すことができます。

誰が許可したか:設定ではなく同意

上記の呼び出しのトークンは、OAuth 2.1とPKCEを通じて、ユーザーが選択したスコープと期間で取得されます。AIアプリケーションは、他のアプリケーションと同様に登録され、同様に要求し、ユーザーの「接続」にリストされます。取り消しは、次のリクエストで無効になります。プロジェクトキーだけでは、プロジェクトが作成した患者しか見ることができず、同意の代わりにはなりません。

書き戻し:書き込みではなく提案

AIエージェントとして登録されたアプリケーションが、ユーザーの同意を得て行った書き込みは保持されます。プラットフォームはそれを検証し、202 Accepted と提案IDで応答し、何も変更しません。ユーザーは提案、その内容、そしてどのアシスタントが送信したかを確認し、承認または拒否します。承認された提案は、送信されたとおりに正確に書き込まれ、HL7のAI透明性ガイドラインに従ってAIによって書かれたものとしてマークされます。記録を見ることができるプロジェクトには、薄い proposal.created ウェブフックが届きます。

これは、アシスタントが「新しい薬について言及されていましたが、追加しましょうか?」のように役立つことを可能にするルールであり、決して記録の作成者になることはありません。

MCPサーバー

Model Context Protocolを話すアシスタントは、https://platform.anpheros.com/mcp(ストリーミング可能なHTTP)に直接接続します。ユーザーはOAuthで自身の記録に接続し、開発者はサンドボックスキーを使用して30人の合成患者に接続できます。ツールはAPIで期待されるものと同じです。

  • list_patients、get_patient_context、get_patient_summary(国際患者サマリー)、get_timeline
  • get_health_patterns、get_pattern_evidence、get_series、compare_periods(何が変化し、何が繰り返されるか、証拠付き。診断ではありません)
  • search_fhir、read_fhir_resource、get_provenance、lookup_code
  • validate_fhir_resource、create_fhir_resource、create_patient、import_lab_report
  • sandbox_status、reset_sandbox

サーバーはMCPレジストリに com.anpheros/fhir としてリストされています。Claude、ChatGPT、その他のクライアントの設定は、developers.anpheros.com/guides/mcp にあります。

プライベートモデルとEU居住

プラットフォームは、あなたの代わりにモデルを呼び出すことはありません。コンテキストを提供し、提案を受け入れます。どのモデルがコンテキストを読むかは、あなたが決定します。ホストされたAPI、プライベートデプロイメント、病院自身のハードウェア上のモデルなどです。記録自体はEUに留まり、europe-west4のCloud Runで、すべてのアクセスに対して出所と監査が行われます。

何ではないか

プラットフォームは診断や治療の推奨を行わず、コンテキストAPIは臨床意思決定支援ではありません。モデルに、同意のもと、ラベル付けされた事実を提供します。モデルが言うことの責任は、それをデプロイした人にあります。

よくある質問

ChatGPTやClaudeを患者記録に接続できますか?

はい、MCPサーバーを通じて、ユーザーのOAuth同意を得て自身の記録に接続できます。開発目的では、サンドボックスキーを使用すると、アシスタントは30人の合成患者にアクセスできます。

AIは記録に書き込みますか?

ユーザーが承認した提案としてのみです。AIエージェントが送信したものは、その承認なしには適用されず、承認されたエントリはAIによって書かれたものとしてマークされます。

モデルが見すぎるのを防ぐにはどうすればよいですか?

3つの方法があります。ユーザーが付与するスコープ、それらのスコープに対するカテゴリフィルター、そしてコンテキスト呼び出しのトークン予算です。トークン予算は、臨床的な関連性によって項目を並べ替え、予算に達すると停止します。

自分のアプリでヘルスチャットボット用のAPIはありますか?

はい。あなたのアプリは、OAuthを通じてユーザーの同意を得て、コンテキストAPIを呼び出し、結果をあなたが選択したモデルに送信します。モデルがエントリを提案した場合、それを書き込みとして送信します。プラットフォームはそれを提案に変換します。TypeScriptとDartのSDKは、これらの呼び出しをカバーしています。

データはどこで処理されますか?

記録はEUに保存および提供されます。モデルがどこで実行されるかはあなた次第です。プラットフォームは、記録データをモデルに送信することはありません。

このガイドは情報提供のみを目的としており、医学的アドバイスに代わるものではありません。健康に関する決定については、医師にご相談ください。緊急の場合は、112にお電話ください。
著者について
Adrian Kereky

Founder of Anpheros. An electronics engineer, he spent six years in autonomous driving, on automotive projects run in partnership with Samsung and NVIDIA, designing the architecture of driver-assistance and AI systems that run on NVIDIA chips with CUDA. He then built Anpheros: the patient-controlled medical record and the HL7 FHIR R4 platform it runs on.

Anpherosと著者について →

あなたの医療記録を持ち歩こう

Anpheros Dailyは、症状、検査結果、薬剤、書類を、標準フォーマットで、あなたの管理下に一元化します。ベーシックプランは無料です。

Anpheros Dailyを入手する