を使用した FHIR リソースの検証 $validate - AWS HealthLake

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

を使用した 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 オペレーション:

  1. FHIR 仕様とベースリソース定義に照らしてリソースを検証します

  2. profile パラメータが指定されている場合、指定されたプロファイルへの準拠をチェックします

  3. 指定されたモード (create または update) に基づいて検証します。

  4. エラー、警告、情報メッセージなど、詳細な検証結果を返します。

  5. ストレージオペレーションを実行しない - 検証のみ

  6. 検証の問題が見つかったかどうかに関係なく、検証を実行できるときに HTTP 200 OK を返します

検証モード

  • create: 作成中であるかのようにリソースを検証します (新しいリソース)

  • update: リソースが更新されているかのように検証します (既存のリソース)

エラー処理

オペレーションは以下を返します。

  • 200 OK: 検証が正常に実行されました (検証結果に関係なく)

  • 400 不正なリクエスト: 無効なリクエスト形式またはパラメータ

  • 404 Not Found: リソースタイプまたはプロファイルが見つかりません

$validate オペレーション仕様の詳細については、FHIR R4 リソース$validateドキュメントを参照してください。