選択可能な検索パラメーター (プレビュー)
重要
選択可能な検索パラメーター機能は、プレビューで使用できます。 プレビュー API と SDK は、サービス レベル アグリーメント (SLA) なしで提供されます。 運用環境のワークロードには使用しないことをお勧めします。 一部の機能はサポート対象ではなく、機能が制限されることがあります。 詳しくは、Microsoft Azure プレビューの追加使用条件に関するページをご覧ください。
リソースの検索は、FHIR® サービスの基本です。 FHIR サービスの各リソースは、一連の要素として情報を伝送します。 検索パラメーターは、これらの要素の情報を照会するために機能します。 FHIR サービスをデプロイすると、 構築済みの検索パラメーター が既定で有効になります。 FHIR サービスは、データの取り込み中に FHIR リソースから特定のプロパティを抽出してインデックスを作成することで、効率的な検索を実行します。
選択可能な検索パラメーターを使用すると、組み込みの検索パラメーターを有効または無効にすることができます。 この機能を使用すると、割り当てられたストレージ領域にさらに多くのリソースを格納し、必要な検索パラメーターのみを有効にすることでパフォーマンスを向上させることができます。
検索パラメーターに対して状態の更新を実行するには、次の手順に従います。
この記事では、FHIR サーバー URL を表す {{FHIR_URL}} プレースホルダーを使用した API 呼び出しの例で、FHIR 検索構文を示します。
検索パラメーターの状態を取得する
検索パラメーターの状態を表示するために、API エンドポイント ("$status') が提供されます。 応答には、次の 4 つの状態があります。
状態 | 説明 |
---|---|
サポートされています | 検索パラメーターは FHIR サービスでサポートされており、検索パラメーターを有効にする要求を送信しました。 インデックス再作成操作を実行して、サポートから有効化まで実行します。 |
Enabled | 検索パラメーターは、検索に対して有効になっています。 この状態は、サポートされている状態の後の次の手順です。 |
PendingDisable | インデックス再作成操作の実行後、検索パラメーターの無効化は保留中です。 |
無効 | 検索パラメーターが無効になっています。 |
すべての検索パラメーターの状態を取得するには、次の要求を使用します。この要求は、すべての検索パラメーターとその状態の一覧を返します。 一覧をスクロールして、必要な検索パラメーターを見つけます。
GET {{FHIR_URL}}/SearchParameter/$status
個々の状態または検索パラメーターのサブセットを識別するには、次のフィルターを使用します。
- 名前。 名前で検索パラメーターの状態を識別するには、この要求を使用します。
GET {{FHIR_URL}}/SearchParameter/$status?code=<name of search parameter/ sub string>
- URL。 検索パラメーターの状態を正規識別子で識別するには、この要求を使用します。
GET {{FHIR_URL}}/SearchParameter/$status?url=<SearchParameter url>
- リソースの種類。 FHIR では、個々のリソース レベルで検索パラメーターが有効になり、リソースの特定のサブセットのフィルター処理と取得が可能になります。 リソースにマップされているすべての検索パラメーターの状態を識別するには、この要求を使用します。
GET {{FHIR_URL}}/SearchParameter/$status?resourcetype=<ResourceType name>
$status エンドポイントに対する GET 要求に応答して、パラメーター リソースの種類が検索パラメーターの状態と共に返されます。 次が応答の例です。
{
"resourceType" : "Parameters",
"parameter" : [
"name" : "searchParameterStatus",
"part" : {
{
"name" : "url",
"valueString" : "http://hl7.org/fhir/SearchParameter/Account-identifier"
},
{
"name" : "status",
"valueString" : "supported"
}
}
]
}
検索パラメーターの状態を更新する
検索パラメーターの状態を取得したら、検索パラメーターの状態を Supported
または Disabled
に更新します。
Note
検索パラメーターの状態を更新するには、 Search Parameter Manager Azure RBAC ロールが必要です。
検索パラメーターの状態は、1 つの検索パラメーターまたは一括で更新できます。
単一の検索パラメーターの状態を更新する
1 つの検索パラメーターの状態を更新するには、次の API 要求を使用します。
PUT {{FHIR_URL}}/SearchParameter/$status
{
"resourceType": "Parameters",
"parameter": [
{
"name": "searchParameterStatus",
"part": [
{
"name": "url",
"valueUrl": "http://hl7.org/fhir/SearchParameter/Resource-test-id"
},
{
"name": "status",
"valueString": "Supported"
}
]
}
]
}
ユース ケースに応じて、検索パラメーターの状態の値として [サポートされている] または [無効] を維持できます。 要求で状態 Disabled
を送信すると、インデックス再作成ジョブを実行して関連付けを完全に削除する必要があるため、応答は PendingDisable
として返されます。
応答で 400 HTTP 状態コードを受け取った場合は、識別された検索パラメーターに一意の一致がないことを意味します。 検索パラメーター ID を確認します。
検索パラメーターの状態を一括で更新する
検索パラメーターの状態を一括で更新するには、'PUT' 要求の要求本文に 'Parameters' リソース リストが含まれている必要があります。 リストには、更新する必要がある個々の検索パラメーターが含まれている必要があります。
PUT {{FHIR_URL}}/SearchParameter/$status
{
"resourceType" : "Parameters",
"parameter" : [
{
"name" : "searchParameterStatus",
"part" :{
"name" : "url",
"valueString" : "http://hl7.org/fhir/SearchParameter/Endpoint-name"
},
"part":{
"name" : "status",
"valueString" : "supported"
}
},
"name" : "searchParameterStatus",
"part" :{
"name" : "url",
"valueString" : "http://hl7.org/fhir/SearchParameter/HealthcareService-name"
},
"part":{
"name" : "status",
"valueString" : "supported"
}
},
...
]
}
インデックス再作成ジョブを実行する
検索パラメーターの状態を Supported
または Disabled
に更新した後、次の手順はインデックス再作成ジョブを実行することです。
検索パラメーターのインデックスが作成されるまで、検索パラメーターの Enabled
と Disabled
の状態はアクティブになりません。 ジョブの実行のインデックスを再作成すると、状態がSupported
からEnabled
に更新されるか、PendingDisable
Disabled
に更新されます。
インデックス再作成ジョブは、FHIR サービス データベース全体または特定の検索パラメーターに対して実行できます。 インデックス再作成ジョブは、パフォーマンスを集中的に消費する可能性があります。 詳細については、「 インデックス再作成ジョブを実行する」を参照してください。
Note
機能ステートメント ドキュメントは、FHIR サーバーの一連の動作です。 Enabled
検索パラメーターは、FHIR サービスの capability ステートメントに一覧表示されます。 /metadata エンドポイントで capability ステートメントを使用できます。
よく寄せられる質問
クエリに "サポートされている" 状態の検索パラメーターが含まれている場合の動作は何ですか?
'Supported' 状態の検索パラメーターのインデックスを再作成する必要があります。 それまでは、検索パラメーターはアクティブになりません。 アクティブでない検索パラメーターに対してクエリが実行された場合、FHIR サービスはその検索パラメーターを考慮せずに応答をレンダリングします。 応答には、検索パラメーターがインデックス付けされておらず、クエリで使用されていないことを示す警告メッセージが表示されます。 このような状況でエラーをレンダリングするには、値 'strict' の 'Prefer: handling' ヘッダーを使用します。 このヘッダーを設定すると、警告がエラーとして報告されます。
次のステップ
Note
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。