Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
同意とアクセスモデル
誰が何を見るか:プロジェクト分離、ペアワイズID、付与、書き込み権限、来歴、患者がアクセスを持つすべてのアプリケーションについて見るもの。
ルール: 患者の同意を得て、組織は他のクリニックが記述したものを含むレコード全体を見ることができますが、自身が記述したもののみを変更または削除できます。すべてのリソースの各バージョンには、それを記述したプロジェクトと、そのプロジェクトが記述した組織が記録されます。
誰が何を見るか
- プロジェクト(APIキー)は、自身が作成した患者を見ることができます。グラント(OAuthトークン)の下では、アプリケーションは、付与されたスコープとカテゴリフィルターに限定され、すべてのライターにわたって、正確に1人の患者を見ることができます。それ以外のものはすべて404を返します。決して403は返さないため、IDを推測することはできません。
- ペアワイズID: 各プロジェクトは、同じ人物に対して独自のIDを受け取ります。内部IDはプラットフォームから決して外部に出ません。スコープ外の患者への参照は、プロジェクトごとに異なる不透明なトークンでマスクされます。
- ディレクトリ(Organization、Practitioner、PractitionerRole): 参照が解決されるように、プレーン全体でIDによって読み取り可能です。プロジェクト内でのみ検索可能であり、
X-Anpheros-Acting-As/X-Anpheros-On-Behalf-Ofとして使用できるのは、自身のものだけです。 - サンドボックスと本番環境は異なるデータベースです。サンドボックスキーは、物理的に実際の患者に到達することはできません。
書き込みと所有権
- リソースの各バージョンにおける
project_id= 書き込み者。他のプロジェクトによる更新/削除 → 403 エラーと説明が表示されます。代わりに独自のソースリソースを書き込んでください。 Provenance.agent.onBehalfOf= 書き込み時のクリニック/組織:X-Anpheros-On-Behalf-Of、それ以外の場合は、acting PractitionerRole の組織、それ以外の場合はプロジェクトの組織。- すべての書き込みは、Provenance リソースと監査行 (誰が、何を、いつ、どのグラントで、どのアプリケーションで、どのソースフィンガープリントから) を生成します。
患者が見るもの
/me/patients/{id}/grants は、アクセス権を持つすべてのアプリケーション、そのスコープ、および有効期限を一覧表示します。…/access-log は、同意 および プロジェクト固有のキーの下で、各読み取りまたは書き込みを一覧表示します。取り消しは次のリクエストで有効になります。アプリケーションはリフレッシュして戻ることはできません。
format=fhir を使用すると、アクセスログは FHIR R4 AuditEvent リソースのバンドルとして返されます。これは IHE Basic Audit Log Patterns (タイプ rest、サブタイプとしてのインタラクション、エージェントとしてのアプリケーションおよびそれを通じて動作する人物、エンティティとしての患者およびリソース、臨床データなし) に基づいて形成されるため、別のシステムがそれを個人の記録へのアクセス履歴のビューにマージできます。
各 Provenance リソースが記録するものと設定方法: 医療データプロベナンスの説明。
SMART Health Links (QRコードまたはリンクによる共有)
ユーザーは、アプリケーションを介さずに自身の記録を共有できます。POST /me/patients/{id}/shl は、緊急時サブセット(アレルギー、投薬、問題、予防接種 — 結果や履歴は含まない)または完全版の International Patient Summary のための SMART Health Link を、オプションのパスコードと有効期限付きで作成します。レスポンスには、shlink:/… URI(QRコード用)と /shl/view 上のビューアのアドレスが含まれ、これは任意のブラウザで開くことができます。スキャンしたユーザーはマニフェストURLにPOSTし、リンク内のキーで暗号化された JWE(dir + A256GCM)としてサマリーを受け取ります。あらゆるSMART Health Linkリーダーが機能します。
- コンテンツは各オープン時に生成されます(フラグ
L、ステータスcan-change)。そのため、電話に保存されたカードは常に最新の状態に保たれます。 - パスコード(フラグ
P)はサーバーでチェックされます。10回間違った試行の後、リンクは機能しなくなります。 GET /me/patients/{id}/shlは、各リンクがどのくらいの頻度でいつ開かれたかを示します。…/shl/{link}/revokeは一度に1つのリンクを無効にします。すべてのオープンはアクセスログに記録されます。- ユーザーの内部IDはプラットフォームから決して漏れません。ドキュメントはリンクの仮名でユーザーを識別します。
AIエージェントが提案し、人間が決定する
人間の同意のもと、AIエージェント(例:MCP経由で接続されたアシスタントなど、エージェントとして登録されたアプリケーション)による書き込み、またはauthor_type ai を使用した書き込みは、即座には適用されません。プラットフォームがそれを検証し、提案ID(ヘッダーAnpheros-Proposal)とともに202 Accepted で応答します。レコードに変更はありません。人間はGET /me/patients/{id}/proposals で、それが何であるか、どのアプリケーションから送信されたかを確認し、承認または却下します(…/proposals/{proposal}/accept または …/reject)。承認された提案は、送信されたとおりに書き込まれ、AIによって書かれたものとしてマークされます(HL7 AI Transparency)。レコードを閲覧できるプロジェクトには、薄いproposal.created Webhook が届きます。プロジェクト自身のキーを使用して、プロジェクトが作成したレコードに書き込まれたものは、保留されません。
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card