# 患者の同意を得たヘルスケアAPI

> 患者がOAuth 2.1スコープと期間を通じてレコードへのアクセスをどのように許可し、それが記録され、取り消し可能であるか、アプリケーション設計にどのような変更をもたらすか、そしてペアワイズIDがアプリケーションをどのように分離するかについて。

Source: https://developers.anpheros.com/ja/guides/healthcare-api-patient-consent

**患者の同意を得たヘルスケアAPIとは、データ保持組織が一度決定するのではなく、患者が目的と期間のためにレコードへのアクセスを許可し、患者がそれを見て撤回できるメカニズムを持つAPIです。** Anpherosでは、同意は設定するフィールドではなく、アプリケーションがレコードにアクセスするためのメカニズムそのものです。このガイドでは、開発者向けにその仕組みと、アプリケーション設計への影響について説明します。

## レコードへの到達方法 2通り

| | 組織アクセス | 患者付与アクセス |
|---|---|---|
| 誰が承認するか | あなたの組織（APIキー経由） | 患者（OAuth 2.1同意画面経由） |
| 一般的な用途 | クリニックや検査室が結果を記録する場合、あなたのアプリがユーザーの代わりに記録する場合 | サードパーティ製アプリ、AIアシスタント、医師のツール、家族 |
| スコープ | あなたの組織が作成した患者、または組織と共有された患者 | 患者が同意したスコープ（`patient/Observation.read`、…） |
| 期間 | キーが有効な間 | 患者が選択した期間（更新可能、取り消し可能） |
| 患者への可視性 | はい（アクセスログで確認可能） | はい（取り消し機能あり） |

どちらのパスも、同じAPIとFHIRレコードを経由します。違いは、ドアの鍵を誰が持っているかです。

## 同意フロー：ステップバイステップ

1. アプリケーションは、必要なスコープと平易な言葉での理由とともに、患者をAnpherosの認可エンドポイントに送信します。
2. 患者は要求内容を確認し、期間を選択して、同意するか拒否します。画面は患者の言語で表示されます。
3. そのスコープと患者に限定されたアクセストークンを受け取ります。トークンは短命ですが、リフレッシュトークンは同意期間中有効です。
4. そのトークンを使用したすべての読み取りおよび書き込みは、アプリケーション名とともにログに記録されます。患者は自分のアプリでログを確認できます。
5. 患者が同意を撤回した場合、次のリクエストは明確なエラーとともに失敗します。クリーンアップのためにWebhookを受信します。

このフローは、PKCEおよびSMART on FHIRスコープを備えた標準的なOAuth 2.1であるため、既存のライブラリが機能します。[認証とOAuth](https://developers.anpheros.com/ja/guides/authentication)ガイドには正確なパラメータが記載されており、[同意とアクセスモデル](https://developers.anpheros.com/ja/guides/consent)にはその背後にあるルールが記載されています。

## アプリケーションへの変更点

- **要求が減少します。** スコープはリソースタイプごと、および方向ごとに定義されます。体重を記録するアプリは、レコード全体ではなく、`Observation.read` を要求します。
- **アクセス取り消しを考慮した設計になります。** アクセスはいつでも終了する可能性があります。キャッシュは最小限にし、必要に応じて再読み込みし、取り消しエラーを通常の状態として扱います。
- **信頼を無料で獲得できます。** 患者は、アプリケーションの名前、アクセス可能な情報、および最後に読み取った日時を確認できます。適切に動作するアプリケーションは受け入れられやすくなります。
- **来歴を記述します。** 書き込むすべてのデータには、作成者としてアプリケーション名が、関連する場合は代理で操作した人物の名前が付与されます。患者や他のアプリケーションは、あなたのデータとそれ以外のデータを区別できます。

## リークしない識別子

各アプリケーションは、患者をペアワイズ識別子（pairwise identifier）として認識します。つまり、同じ人物であっても、あなたのアプリケーションと他のアプリケーションでは異なるIDを持ちます。患者の同意なしに、2つのアプリケーションが個人に関するデータを結合することはできません。これは、両方のアプリケーションがAnpheros上に構築されている場合でも同様です。あなたのコードからはこれは見えませんが、患者にとっては、同意と形式的な手続きの違いとなります。

## 家族および介護者

同意は、他者の記録を管理する人々にも及ぶ場合があります。例えば、子供の親、高齢の親の成人した子供などです。記録は作成したアカウントに残ります。他のアカウントはアクセス権を取得し、その権限は取り消される可能性があります。アプリケーションは、介護者が同意を受け入れる人物となる、同じ同意メカニズムを参照します。

## 関連情報

- [同意とアクセスモデル](https://developers.anpheros.com/ja/guides/consent)
- [認証とOAuth](https://developers.anpheros.com/ja/guides/authentication)
- [SMART on FHIR バックエンド](https://developers.anpheros.com/ja/guides/smart-on-fhir-backend)
- [ヘルスケアAPI](https://developers.anpheros.com/ja/guides/healthcare-api)
- [セキュリティ、プライバシー、データレジデンシー](https://developers.anpheros.com/ja/guides/security)
