機能
Azure API for FHIR® は、Microsoft FHIR Server for Azure のフル マネージド デプロイを提供します。 このサーバーは、FHIR 標準の実装です。 このドキュメントでは、FHIR Server の主な機能を一覧表示します。
FHIR のバージョン
サポートされている最新バージョン: 4.0.1
現在サポートされている以前のバージョンは次のとおりです: 3.0.2
REST API
サポートされている RESTful 機能の概要を次に示します。 これらの機能の実装については、FHIR REST API の機能に関する記事を参照してください。
API | Azure API for FHIR | Azure Health Data Services の FHIR サービス | コメント |
---|---|---|---|
読み取り | はい | はい | |
vread | はい | はい | |
update | はい | はい | |
オプティミスティック ロック付きの update | はい | はい | |
update (条件付き) | はい | はい | |
patch | はい | はい | JSON パッチと FHIRPath パッチのみサポート。 |
パッチ (条件付き) | はい | はい | JSON パッチと FHIRPath パッチのみサポート。 |
history | はい | はい | |
create | あり | はい | POST/PUT の両方をサポートします |
create (条件付き) | はい | はい | イシュー #1382 |
検索 | 部分的 | Partial | 「FHIR 検索の概要」を参照してください。 |
chained search | はい | はい | 次の注を参照してください。 |
reverse chained search | はい | はい | 次の注を参照してください。 |
batch | はい | はい | |
transaction (トランザクション) | いいえ | はい | |
paging | 部分的 | Partial | self と next がサポートされています |
intermediaries | いいえ | 無効 |
Note
Azure API for FHIR と、Azure Cosmos DB によってサポートされるオープンソースの FHIR サーバーでは、チェーン検索と逆チェーン検索は MVP 実装です。 Azure Cosmos DB でチェーン検索を実現するために、この実装では、検索式を処理し、サブクエリを発行して、一致したリソースを解決します。 これは、式の各レベルに対して行われます。 クエリから返される結果が 1,000 を超える場合は、エラーがスローされます。
拡張操作
サポートされており、REST API を拡張するあらゆる操作。
検索パラメーターの種類 | Azure API for FHIR | Azure Health Data Services の FHIR サービス | コメント |
---|---|---|---|
$export | はい | はい | システム、グループ、患者をサポートします。 |
$convert-data | はい | はい | |
$validate | はい | はい | |
$member-match | はい | はい | |
$patient-everything | はい | はい | |
$purge-history | はい | はい |
永続化
Microsoft FHIR Server には、プラグ可能な永続化モジュールがあります (Microsoft.Health.Fhir.Core.Features.Persistence
を参照)。
現在、FHIR Server のオープン ソース コードには Azure Cosmos DB および SQL Database 用の実装が含まれています。
Azure Cosmos DB は、グローバルに分散されたマルチモデル (NoSQL、MongoDB など) データベースです。 これは、さまざまな整合性レベルをサポートしています。 既定のデプロイ テンプレートでは Strong
の整合性で FHIR Server を構成しますが、整合性ポリシーは、x-ms-consistency-level
要求ヘッダーを使用して要求ごとに変更 (一般には緩和) できます。
ロールベースのアクセス制御
FHIR サーバーは、アクセス制御に Microsoft Entra ID を使用します。 具体的には、 FhirServer:Security:Enabled
構成パラメーターが true
に設定されていて、FHIR Server に対するすべての要求 ( /metadata
を除く) に Authorization
要求ヘッダーが Bearer <TOKEN>
に設定されている必要がある場合は、ロールベースのアクセス制御 (RBAC) が適用されます。 トークンには、roles
要求で定義されている 1 つ以上のロールが含まれている必要があります。 指定したリソースに対して指定したアクションを許可するロールがトークンに含まれている場合、要求は許可されます。
現在、特定のロールに対して許可されるアクションは API でグローバルに適用されます。
サービスの制限
要求ユニット (RU) - Azure API for FHIR 用にポータルで最大 100,000 RU を構成できます。 最低 400 RU または40RU/GB のいずれか大きい方が必要になります。 100,000 RU を超える RU が必要な場合は、RU を増やすためにサポート チケットを提出できます。 利用できる最大値は 1,000,000 です。 さらに、RU の自動スケーリングもサポートしています。
バンドル サイズ - 各バンドルは 500 項目に制限されています。
データ サイズ - データ/ドキュメントはそれぞれ 2 MB 未満である必要があります。
サブスクリプションの制限 - 既定では、各サブスクリプションは最大 10 個の FHIR サーバー インスタンスに制限されています。 それを超えるインスタンス数が各サブスクリプションに必要な場合は、サポート チケットを開き、ニーズの詳細を伝えてください。
リソース サイズ - 履歴を含む個々のリソース サイズは 20 GB を超えないようにする必要があります。
次のステップ
この記事では、Azure API for FHIR でサポートされている FHIR 機能について説明します。 Azure API for FHIR のデプロイについては、以下を参照してください。
Note
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。