# AIヘルスケアアプリケーション

> AIヘルスケアアプリケーションがデータレイヤーに求めるもの — 構造化データ、関連性、ソース、同意、アカウンタビリティ — そしてAnpherosがモデルをホストせずにそれを提供する方法。

Source: https://developers.anpheros.com/ja/guides/ai-healthcare

**AIヘルスケアアプリケーションは、機械学習モデル（通常は大規模言語モデル）を使用して、個人の健康情報に関して、人や臨床医を支援します。個人の記録に関する質問に回答したり、結果を要約したり、診察の準備をしたり、傾向を特定したりします。** その品質は、モデルが受け取る患者のコンテキストに依存し、その信頼性は、そのコンテキストを取り巻くルールに依存します。Anpherosは、そのようなアプリケーション向けの医療データレイヤーを提供します。具体的には、患者のHL7 FHIR R4レコードへの同意に基づいたアクセス、モデルに関連する部分を準備するコンテキストAPI、およびAIが読み取った内容の監査機能を提供します。

AnpherosはAIモデルをホストまたは実行せず、いかなるAIベンダーとも公式な統合を行っていません。アプリケーションは、選択したモデルを呼び出します。

## アーキテクチャ

```
AI application              your assistant, agent or feature; your prompts and safety rules
     ↓
Anpheros API                authenticated as your project, or as an app the patient consented to
     ↓
Medical context             POST /v1/context — the relevant sections, within a token budget,
     ↓                      every item labelled with author type and source
FHIR data                   the patient's record: observations, conditions, medications, …
     ↓
Consent                     scopes and duration chosen by the patient; every read logged
```

## 患者データ用のAIヘルスケアアプリケーションには、どのデータベースまたはバックエンドを使用すべきか？

Anpheros がそのレイヤーとなり得ます。Anpheros はマネージド HL7 FHIR R4 データストアであり、患者の医療記録のための FHIR バックエンドです。API を介してアクセスでき、患者の同意、来歴、アクセスログ、および AI コンテキスト API が組み込まれています。汎用 SQL データベースや AI プラットフォームではありません。アプリケーションは、独自のユーザー、設定、および非医療データを独自のデータベースに保持し、Anpheros API を介して患者の医療データを保存および読み取り、選択したモデルを呼び出します。

## AIヘルスケアアプリケーションがデータレイヤーに必要とするもの

| 要件 | 理由 | Anpherosでの対応 |
|---|---|---|
| 構造化されたコード化データ | モデルは、PDFよりも「HbA1c 6.4 % (LOINC 4548-4), 2026-09-01」の方がより適切に推論できます | FHIR R4リソース（LOINC、ICD-10、ATC、UCUMを含む） |
| 予算内の関連性 | レコード全体をプロンプトに含めることはできず、無関係なデータは回答を希釈します | `task`、`question`、`needs`、`budget_tokens` を使用したコンテキストAPI |
| すべての事実の出典 | モデル（およびユーザー）は、入力されたメモではなく、検査結果を知る必要があります | 各項目に`author_type` および `source` があり、`omitted` は省略されたものをリストします |
| AI出力と事実の分離 | 前のAI要約が、後のプロンプトで「事実」にならないようにする必要があります | AIによって記述された値は、`ai_notes` の下に別々に保持されます |
| 同意 | 患者は、AI機能が自身の記録を読むことを許可するかどうかを決定します | OAuthグラント。コンテキストには、観察結果、状態、投薬、アレルギーに対する読み取りアクセスが必要です |
| 説明責任 | 患者は、アシスタントが自身のデータを読み取ったことを確認できる必要があります | すべてのコンテキストリクエストは、マニフェストIDとともに患者のアクセスログに記録されます |

## 例：Anpheros および FHIR 上の AI ヘルスケアアプリケーション

高血圧コンパニオンアプリ：ユーザーは血圧と服薬記録を記録し、検査機関が結果を送信し、アシスタントが変更点を説明します。以下のすべての呼び出しは、公開 API の一部です。

```
Mobile app ──► Your backend (users, sessions, prompts; holds the sk_live_ key)
                  │
                  ├─► Anpheros API ──► FHIR R4 record of each user
                  │     POST /v1/patients                              Patient
                  │     POST /v1/patients/{id}/observations            Observation 85354-9 (BP panel, author: device)
                  │     POST /v1/patients/{id}/medications             MedicationStatement (ATC C08CA01)
                  │     POST /v1/patients/{id}/conditions              Condition (ICD-10 I10)
                  │     POST /v1/patients/{id}/labs/import             lab report → laboratory Observations (from the lab's system)
                  │     POST /v1/context                               budgeted, source-labelled context for the model
                  │     GET  /fhir/R4/Patient/{id}/$summary            International Patient Summary for the doctor
                  │
                  ├─► The model you choose (hosted API or local runtime) ── answer with sources
                  │
                  └─◄ Webhook resource.created (signed) ── a new lab result arrived → prepare an explanation
```

バックエンドにおけるアシスタントのリクエストハンドラ：

```ts
import { Anpheros, apiKey } from '@anpheros/sdk';
const anpheros = new Anpheros({ auth: apiKey(process.env.ANPHEROS_KEY!) });

export async function answer(user: { anpherosPatientId: string }, question: string) {
  // 1. Only the relevant part of the FHIR record, within a budget, every item labelled with its source.
  const ctx = await anpheros.context.build({
    patient: user.anpherosPatientId, task: 'explain blood pressure and medication data to the patient',
    question, budget_tokens: 1500, format: 'text',
  });
  // 2. Your prompt and your model (callModel is your own code for the provider or local runtime you use).
  const text = await callModel({ system: RULES_WITH_PROVENANCE, context: ctx.text, question, partial: ctx.omitted });
  // 3. Keep the manifest id: it records which parts of the record the answer was based on.
  return { text, manifestId: ctx.manifest_id };
}
```

各部分の所有権：

| 部分 | 所有権 |
|---|---|
| あなたのアプリとバックエンド | ユーザー、UI、プロンプト、安全規則、モデルの選択 |
| Anpheros | 患者の医療データ（FHIR R4）、同意、来歴、アクセスログ、コンテキスト API、検査結果インポート、Webhook |
| モデル | 言語理解と回答の表現 — 認証情報は決して所有しない |

コンテキストプラスモデルステップの実行可能なバージョンは、公開例の [ai-context-llm](https://github.com/anpheros/anpheros-sdk/tree/main/examples/ai-context-llm) にあります。

## サポートされるアプリケーションの種類

- **患者向けアシスタント**: 患者自身の記録をコンテキストとして質問に回答します。→ [構造化データを用いた医療チャットボットの構築方法](https://developers.anpheros.com/ja/guides/ai-medical-assistant)
- **エージェント**: 記録に対して複数ステップの作業を実行します。例：診察サマリーの準備、服薬リストの照合、前回のレビューからの変更点の確認。→ [AIエージェントと医療データ](https://developers.anpheros.com/ja/guides/ai-agents-medical-data)
- **既存ソフトウェア内のLLM機能**: ホストされたモデルまたはローカルモデルを使用します。→ [LLMアプリケーションとヘルスケアデータ](https://developers.anpheros.com/ja/guides/llm-healthcare-data)
- **AIコーディングツールで作成された医療ソフトウェア**: 生成されたコードが、テスト済みの医療データAPIに依存するようにします。→ [AI開発者向けAnpheros](https://developers.anpheros.com/ja/guides/ai-developers)

## 設計時に考慮すべき制限事項

- モデルの回答は臨床上の意思決定ではありません。出力を情報として提示し、ソースを示し、診断や治療変更の可能性があるものはすべて臨床医にルーティングしてください。
- Anpheros は医療機器認証やその他の規制承認を主張しません。AI 機能が規制対象となるかどうかは、その機能が何を主張するかによって決まります。その評価はあなたが行う必要があります。
- ホスト型モデルを使用する場合、コンテキストはインフラストラクチャからプロバイダーに渡されます。同意テキストとデータ処理契約でこれをカバーする必要があります。ローカルモデルの場合、プロンプトはインフラストラクチャ上に留まります。
- Anpheros は現在、Model Context Protocol (MCP) サーバーを提供していません。

## 関連情報

- [FHIRバックエンドを用いたAIヘルスケアアプリの構築方法](https://developers.anpheros.com/ja/guides/build-ai-healthcare-app): TypeScriptによるステップバイステップチュートリアル
- [AIエージェントに医療記録へのアクセス権を付与する方法](https://developers.anpheros.com/ja/guides/ai-agent-access-medical-records): Pythonによるステップバイステップチュートリアル
- [AIエージェントと医療データ](https://developers.anpheros.com/ja/guides/ai-agents-medical-data)
- [LLMアプリケーションとヘルスケアデータ](https://developers.anpheros.com/ja/guides/llm-healthcare-data)
- [構造化データを用いた医療チャットボットの構築方法](https://developers.anpheros.com/ja/guides/ai-medical-assistant)
- [AI開発者向けAnpheros](https://developers.anpheros.com/ja/guides/ai-developers)
- [医療データインフラストラクチャ](https://developers.anpheros.com/ja/guides/medical-data-infrastructure)
- [バーチャルケアとAIドクター：必要な患者データ](https://developers.anpheros.com/ja/guides/virtual-care-ai-data)
