FHIR 参照整合性

このページでは、Cloud Healthcare API の FHIR ストア内のリソースに関連する参照整合性のコンセプトについて説明します。

FHIR ストアは、同じストア内の他のリソースへの参照整合性を適用します。

  • リソースの作成、更新、パッチ適用で、リソースの結果コンテンツに存在しないリソースまたはリソースバージョンへの参照が含まれている場合、オペレーションは失敗します。
  • リソースを削除するときに、そのリソースを参照するほかのリソースがストアにある場合、オペレーションは失敗します。

参照整合性は、ストアの作成時に disableReferentialIntegrity オプションを設定することで無効にできます。

除外対象と制限事項

FHIR 仕様では、さまざまな形式の参照が許可されていますが、その一部は参照整合性の対象ではありません。

  • FHIR ストアのベース URL と一致しない URL で指定された外部参照。
  • ビジネス ID で指定された論理参照。
  • 人が読める形式の表示文字列のみを含む参照。
  • 既知の問題: FHIR内参照の 拡張機能は参照整合性の対象ではありません。

一部の API メソッドは、特定の条件で参照整合性に違反する可能性があります。

  • FHIR では、[resource type]/[resource ID]/_history/[version ID] の形式を使用して、リソースの特定の履歴バージョンを参照できます。参照整合性は作成時または更新時の参照に適用されますが、Resource-purge メソッドを使用してリソースの履歴バージョンを削除すると、新規の参照はチェックされません
  • FHIR import メソッドは参照整合性を適用しません。このメソッドは、参照整合性が不要な場合や、入力が参照整合性を満たすことがわかっている場合に使用できます。後者の場合、FHIR ストア内の参照は、すべてのリソースが正常にインポートされた後に結果整合性に達します。
  • deidentify メソッドでは、フィルタを使用してリソースのサブセットを選択することで、操作中に一時的に、または恒久的に、参照整合性を満たさない状態で FHIR ストアを作成できます。

整合性が適用されているものの以前のケースのいずれかに違反している状態では、無効な参照を修正または削除しない限り、リソースjの更新が拒否されます。このような状態は、整合性を前提としたストアを使用するアプリケーションにも問題を引き起こす可能性があります。

含まれるリソース

FHIR 仕様には、すべての含まれるリソースは、含むリソース内のどこかから(他の含まれるリソースからの参照を含む)から参照される必要があるとの、制約があります。この制約は参照整合性とは別に適用され、個々のリソースの FHIRPath 不変条件で定義されているため無効にできません。