Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
LLMアプリケーションとヘルスケアデータ
ヘルスケアデータでの大規模言語モデルの使用:コンテキストAPIのリクエストとレスポンス、クラウドおよびローカルモデル、エージェントシステム、リトリーバル対コンテキスト、来歴付きプロンプト。
大規模言語モデルをヘルスケアデータで使用するアプリケーションは、モデルが解決できない1つの問題を解決する必要があります。それは、患者の記録のどの部分をプロンプトに入れるか、そしてモデルが事実とメモを区別できるようにどのようにラベル付けするかです。 Anpherosは、コンテキストAPIを使用してデータ側でこれを解決します。患者、タスク、およびトークン予算が与えられると、患者のHL7 FHIR R4レコードの関連セクションを、各アイテムにソースラベルを付けて返します。アプリケーションは、選択したモデル(ホスト型またはローカル)にそのコンテキストを送信します。
FHIR医療データにLLMを接続するにはどうすればよいですか? モデルが直接アクセスできないFHIRストアにレコードを保持します。Anpherosを使用すると、患者のHL7 FHIR R4レコードを、予算が設定されソースラベルが付いたコンテキスト(POST /v1/context)として要求し、そのコンテキストを選択したモデルのプロンプトに入れます。モデルはデータベースまたはAPIの認証情報を受け取ることはありません。アプリケーションが患者の同意を得て呼び出しを行います。
Anpherosはモデルを実行せず、モデルプロバイダーまたはローカルランタイムとのネイティブ統合はありません。
パターン
1. your app ── POST /v1/context {patient, task, question, budget_tokens, format} ──► Anpheros
2. Anpheros ── sections + text + omitted + warnings + manifest_id ──────────────────► your app
3. your app ── system prompt + context + user question ─────────────────────────────► the model
4. the model ── answer ───────────────────────────────────────────────────────────────► your app
5. your app ── optional write-back with author_type "ai" ──────────────────────────► Anpheros
コンテキストリクエスト
curl -X POST https://platform.anpheros.com/v1/context -H "Authorization: Bearer $TOKEN" -H 'content-type: application/json' -d '{
"patient": "'$PID'",
"task": "medication review before a cardiology visit",
"question": "How did blood pressure evolve over the last 3 months?",
"budget_tokens": 1500,
"format": "text"
}'
| フィールド | 説明 |
|---|---|
patient |
認証情報が認識する患者ID |
task, question |
モデルが行うこと。プラットフォームがレコードのどの部分が関連するかを計画します。 |
needs |
オプションの明示的なニーズ。例: ["labs:4548-4", "vitals:trend:85354-9", "timeline:180d"] |
budget_tokens |
コンテキストのサイズ。300~8,000 (デフォルト 2,000) |
format |
structured (JSONセクション) または text (すぐに使用できるテキストブロックも返します) |
window_days |
オプションのルックバックウィンドウ |
コンテキスト応答
sections— 例として、サマリーカード、病状、処方薬、アレルギー、予防接種、検査結果、週ごとの傾向と治療前後のマーカー付きバイタルサイン、症状、タイムライン、ドキュメントなど。すべての項目にはauthor_typeとsourceが含まれます。omitted— 予算に収まらなかったもの。モデルにコンテキストが部分的であることを伝えます。warnings、provenance_note。text—formatがtextの場合。manifest_id— アクセスログに紐付けられた、どのセクションとソースが使用されたかの記録。ai_notesセクション — AI が以前に記述した値は、検証されていないものとしてマークされ、臨床セクションと混同されることなく、そこにのみ表示されます。
クラウドモデル
OpenAI、Anthropic、Google、xAIなどのプロバイダーによるホスト型モデルでは、バックエンドがコンテキストをプロンプトに入れ、プロバイダーのAPIを呼び出します。コンテキストはインフラストラクチャからそのプロバイダーに渡されるため、以下の点を確認してください。
- 患者の同意とプライバシー通知が、そのプロバイダーへのデータ送信をカバーしていることを確認してください。
- プロバイダーと、医療データに適したデータ処理契約を結んでください。
- タスクに必要なものだけを送信してください。トークン予算と明示的な
needsが役立ちます。
ローカルモデル
Ollama やその他のローカルランタイムなどを介してご自身で実行するモデルの場合、患者データを含むネットワーク呼び出しは、バックエンドと Anpheros 間のものだけになります。プロンプトと回答はご自身のインフラストラクチャ上に留まります。小規模なローカルモデルはコンテキストウィンドウが小さいため、それに伴い budget_tokens が低くなり、format: "text" を優先します。
エージェントシステム
モデルがどの呼び出しを行うかを決定する際には、生の認証情報ではなく、ツール(コンテキスト、検索、タイムライン)を提供し、スコープを狭く保ち、各 manifest_id を回答の横に記録してください。AIエージェントと医療データ
コンテキストAPIか、独自の取得か?
自由形式テキストに対する取得パイプライン(ドキュメントのチャンクを埋め込み、検索する)は、非構造化されたメモに役立ちます。構造化された医療データの場合、コンテキストAPIの方が通常シンプルで安全です。これは、コード化されたFHIRリソース上で動作し、来歴を保持し、傾向や治療期間を把握し、同意を尊重し、監査されます。これら2つは組み合わせることができます。例えば、Anpherosからのコンテキストと、管理しているドキュメントからの取得済みパッセージを組み合わせるなどです。
プロンプトにおけるプロビナンス(出所情報)の利用
プロンプト内のラベルを保持し、それらが何を意味するかをモデルに伝えます。
The context below comes from the patient's record. Each item is labelled with its author type
(patient, practitioner, device, import, derived) and source. Items under ai_notes were written by an
AI earlier and are not verified. Say which items your answer relies on. If the context is marked as
partial, say so. Do not give a diagnosis or change a treatment; suggest discussing it with a clinician.
関連情報
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card