機能
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 でチェーン検索を実現するために、この実装では、検索式を処理し、サブクエリを発行して、一致したリソースを解決します。 これは、式の各レベルに対して行われます。 クエリで 1000 件を超える結果が返される場合は、エラーがスローされます。
拡張操作
サポートされており、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 または 40 RU/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 のデプロイについては、以下を参照してください。
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。