翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用した FHIR リソースの検証 $validate
AWS HealthLake は FHIR リソースの $validateオペレーションをサポートするようになりました。これにより、ストレージオペレーションを実行せずに、FHIR 仕様に照らしてリソースを検証し、指定されたプロファイルまたはベースリソース定義への準拠を確認できます。このオペレーションは、以下が必要な場合に特に役立ちます。
-
FHIR CMS コンプライアンス要件を検証する
-
本番環境で使用する前にリソースをテストする
-
ユーザーが臨床データを編集するときに、リアルタイムの検証フィードバックを提供する
-
APIs を作成および更新するために無効なデータ送信を減らす
使用状況
$validate オペレーションは、POST メソッドを使用して FHIR リソースで呼び出すことができます。
サポートされているオペレーション
POST [base]/[type]/[id]/$validate
POST [base]/[type]/$validate
サポートされているペイロード
パラメータリソース
HealthLake は、次の FHIR $validateパラメータをサポートしています。
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
resource |
リソース | あり | 検証するリソース |
profile |
canonical | なし | 検証するプロファイルの正規 URL |
mode |
コード | なし | 検証モード: create、または update |
クエリパラメータを使用した直接リソース
| パラメータ | タイプ | 必須 | 説明 |
|---|---|---|---|
profile |
canonical | なし | 検証するプロファイルの正規 URL |
mode |
コード | なし | 検証モード: create、または update |
例
ID およびパラメータペイロードを持つリソースの POST リクエスト
POST [base]/Patient/example-patient/$validate
Content-Type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "resource",
"resource": {
"resourceType": "Patient",
"id": "example-patient",
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1990-01-01"
}
},
{
"name": "profile",
"valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
},
{
"name": "mode",
"valueString": "create"
}
]
}
リソースタイプとパラメータペイロードの POST リクエスト
POST [base]/Patient/$validate
Content-Type: application/fhir+json
{
"resourceType": "Parameters",
"parameter": [
{
"name": "resource",
"resource": {
"resourceType": "Patient",
"name": [
{
"family": "Doe",
"given": ["Jane"]
}
],
"gender": "female",
"birthDate": "1985-05-15"
}
},
{
"name": "profile",
"valueCanonical": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient"
},
{
"name": "mode",
"valueString": "update"
}
]
}
ID と直接リソースペイロードを持つリソースの POST リクエスト
POST [base]/Patient/example-patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json
{
"resourceType": "Patient",
"id": "example-patient",
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1990-01-01"
}
リソースタイプと直接リソースペイロードの POST リクエスト
POST [base]/Patient/$validate?profile=http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient&mode=create
Content-Type: application/fhir+json
{
"resourceType": "Patient",
"id": "example-patient",
"name": [
{
"family": "Smith",
"given": ["John"]
}
],
"gender": "male",
"birthDate": "1990-01-01"
}
レスポンス例
オペレーションは、検証結果を含む OperationOutcome リソースを返します。
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "information",
"code": "informational",
"diagnostics": "Validation successful"
}
]
}
検証エラーによるレスポンスの例
{
"resourceType": "OperationOutcome",
"issue": [
{
"severity": "error",
"code": "required",
"details": {
"text": "Missing required element"
},
"diagnostics": "Patient.identifier is required by the US Core Patient profile",
"location": [
"Patient.identifier"
]
},
{
"severity": "warning",
"code": "code-invalid",
"details": {
"text": "Invalid code value"
},
"diagnostics": "The provided gender code is not from the required value set",
"location": [
"Patient.gender"
]
}
]
}
行動
$validate オペレーション:
-
FHIR 仕様とベースリソース定義に照らしてリソースを検証します
-
profileパラメータが指定されている場合、指定されたプロファイルへの準拠をチェックします -
指定されたモード (
createまたはupdate) に基づいて検証します。 -
エラー、警告、情報メッセージなど、詳細な検証結果を返します。
-
ストレージオペレーションを実行しない - 検証のみ
-
検証の問題が見つかったかどうかに関係なく、検証を実行できるときに HTTP 200 OK を返します
検証モード
-
create: 作成中であるかのようにリソースを検証します (新しいリソース)
-
update: リソースが更新されているかのように検証します (既存のリソース)
エラー処理
オペレーションは以下を返します。
-
200 OK: 検証が正常に実行されました (検証結果に関係なく)
-
400 不正なリクエスト: 無効なリクエスト形式またはパラメータ
-
404 Not Found: リソースタイプまたはプロファイルが見つかりません
$validate オペレーション仕様の詳細については、FHIR R4 リソース$validate