FHIR 適合性宣言

Cloud Healthcare API 内の FHIR ストアでは、Health レベル 7 インタラクション(HL7)で公開されている Fast Healthcare Interoperability Resource(FHIR)仕様の複数のバージョンがサポートされています。

v1 API では、次のバージョンがサポートされています。

FHIR ストアを作成する際には、fhirStores.create メソッドのパラメータとして FHIR のバージョンを指定します。ストアが作成されると、FHIR バージョンは変更できません。

各ストアの API インターフェースは、そのストアの FHIR バージョンに準拠しています。たとえば、DSTU2 conformance インタラクションは STU3 の capabilities インタラクションとは異なりますが、両方が /fhir/metadata REST パスを共有します。そのため、このパスでは FHIR に基づいてさまざまなレスポンスが返されます。

新しいバージョンの FHIR で追加された機能は、互換性の問題がない限り、以前のバージョンの FHIR でもストアで利用できます。たとえば、patch インタラクションは STU3 以降でのみ定義されている DSTU2 ストアでも利用できます。

FHIR バージョンの v1 API でサポートされる機能の詳細

R4

サポートされている一部の仕様は、サーバーの機能ステートメントで示されます。

  • すべてのR4 リソースの保存と取得(拡張要素のサポートを含む。API は、任意のデータ要素の拡張機能を受け入れ、保存し、返します。
  • JSON コンテンツ タイプを使用する RESTful API 内のすべてのメソッドがサポートされています。ただし以下を除きます。
    • 複数のリソースにわたる履歴を取得する、タイプレベルおよびシステムレベルの履歴の操作はサポートされていません。リソースの履歴は、一度に 1 つのリソースに対してのみ取得できます。
    • バッチ/トランザクション インタラクションは、バンドル内の検索オペレーションをサポートしていません。
  • プロファイルの検証と適用がサポートされています。
  • 拡張要素での検索を含むユーザー定義の検索パラメータは、v1beta1 API でサポートされています。
  • 以下を除くすべての検索機能がサポートされています。

    • 検索パラメータの Group-characteristic-valueLocation-nearBundle-compositionBundle-message はサポートされていません。
    • 発音照合を実行する検索パラメータは、サポートされていません。
    • 検索結果パラメータの _contained_containedType_summary=count_summary=true はサポートされていません。
    • 特別な検索パラメータ _content では、検索パラメータで参照するリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的な AND(用語は AND と自動的に統合される)や角括弧はサポートされていません。
    • 特別な検索パラメータの _query_filter_list はサポートされていません。
    • _sort パラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。サポートされているすべての検索パラメータは、特別な検索パラメータの _contentを除き、_sort の対象となります。
    • トークン検索修飾子 :of-type と参照検索修飾子 :identifier はサポートされていません。
    • 正規参照検索はサポートされていません。正規参照は通常の参照として処理されます。
    • _type パラメータを使用する場合、(すべてのリソースに対して)共通の検索パラメータのみを使用できます。指定したリソースタイプの交差は使用できません。
    • 次の複合検索パラメータの一部がサポートされています。

      • DocumentReference-relationship
      • Observation-code-value-concept
      • Observation-code-value-date
      • Observation-code-value-quantity
      • Observation-code-value-string
      • Observation-combo-code-value-concept
      • Observation-combo-code-value-quantity
      • Observation-component-code-value-concept
      • Observation-component-code-value-quantity

      残りの複合検索パラメータは、サポートされていません。

    • POST メソッドを使用して検索する場合、リクエストの本文で application/x-www-form-urlencoded パラメータを使用することはできません。

    • ワイルドカード(*)は _include でサポートされていますが、_revinclude ではサポートされていません。

サポートされていない地域:

  • ほとんどの拡張オペレーションは、実装されていません。
  • XML コンテンツ タイプはサポートされていません。
  • パッチ オペレーションは XML パッチまたは FHIRPath パッチをサポートしていません。
  • HTTP HEAD リクエストは、サポートされていません。

下位互換性を確保するために API が FHIR 仕様から逸脱している領域:

  • null は必須項目に入力できます
  • 必須項目に空のコードを指定できます
  • バッチバンドルでは urn:uuid 参照が許可されます

STU3

サポートされている一部の仕様は、サーバーの機能ステートメントで示されます。

  • 拡張要素のサポートを含め、すべてのSTU3 リソースの保存と取得がサポートされています。API は、任意のデータ要素の拡張機能を受け入れ、保存し、返します。
  • JSON コンテンツタイプを使用する RESTful API のすべてのメソッドがサポートされています。

    • 複数のリソースにわたる履歴を取得する、タイプレベルおよびシステムレベルの履歴の操作はサポートされていません。リソースの履歴は、一度に 1 つのリソースに対してのみ取得できます。
    • バッチ/トランザクション インタラクションは、バンドル内の検索オペレーションをサポートしていません。
  • プロファイルの検証と適用がサポートされています。

  • 拡張要素での検索を含むユーザー定義の検索パラメータは、v1beta1 API でサポートされています。

  • 以下を除くすべての検索機能がサポートされています。

    • 検索パラメータの Group-characteristic-valueSequence-coordinateLocation-nearLocation-near-distanceBundle-compositionBundle-message はサポートされていません。
    • 発音照合を実行する検索パラメータは、サポートされていません。
    • 検索結果パラメータの _contained_containedType_summary=count_summary=true はサポートされていません。
    • 特別な検索パラメータ _content では、検索パラメータによって参照されるリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的な AND(用語は AND と自動的に統合される)や角括弧はサポートされていません。
    • 特別な検索パラメータの _query_filter_list はサポートされていません。
    • _sort パラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。サポートされているすべての検索パラメータは、特別な検索パラメータの _contentを除き、_sort の対象となります。
    • POST メソッドを使用して検索する場合、リクエストの本文で application/x-www-form-urlencoded パラメータを使用することはできません。
    • ワイルドカード(*)は _include でサポートされていますが、_revinclude ではサポートされていません。

サポートされていない地域:

  • ほとんどの拡張オペレーションは、実装されていません。
  • XML コンテンツ タイプはサポートされていません。
  • パッチ オペレーションは、XML パッチまたは FHIRPath パッチをサポートしていません。

下位互換性を確保するために API が FHIR 仕様から逸脱している領域:

  • null は必須項目に入力できます
  • 必須項目に空のコードを指定できます
  • バッチバンドルでは urn:uuid 参照が許可されます

DSTU2

サポートされている一部の仕様は、サーバーの適合性宣言で示されます。

  • 拡張要素のサポートを含む、すべての DSTU2 リソースの保存と取得がサポートされています。API は、任意のデータ要素の拡張機能を受け入れ、保存し、返します。
  • JSON コンテンツ タイプを使用する RESTful API 内のすべてのメソッドがサポートされています。ただし以下を除きます。
    • 複数のリソースにわたる履歴を取得する、タイプレベルおよびシステムレベルの履歴の操作はサポートされていません。リソースの履歴は、一度に 1 つのリソースに対してのみ取得できます。
    • バッチ/トランザクション インタラクションは、バンドル内の検索オペレーションをサポートしていません。
  • プロファイルの検証と適用がサポートされています。
  • 以下を除くすべての検索機能がサポートされています。
    • 検索パラメータの Group-characteristic-valueLocation-nearLocation-near-distanceBundle-compositionBundle-messageCoverage-dependentCoverage-sequence はサポートされていません。
    • 拡張要素で定義された検索パラメータは、サポートされていません。
    • 発音照合を実行する検索パラメータは、サポートされていません。
    • 検索結果パラメータの _contained_containedType_summary=count_summary=true はサポートされていません。
    • 特別な検索パラメータ _content では、検索パラメータによって参照されるリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的な AND(用語は AND と自動的に統合される)や角括弧はサポートされていません。
    • 特別な検索パラメータの _query_filter_list はサポートされていません。
    • _sort パラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。サポートされているすべての検索パラメータは、特別な検索パラメータの _content を除き、_sort の対象となります。
    • POST メソッドを使用して検索する場合、リクエストの本文で application/x-www-form-urlencoded パラメータを使用することはできません。
    • ワイルドカード(*)は _include でサポートされていますが、_revinclude ではサポートされていません。

サポートされていない地域:

  • ほとんどの拡張オペレーションは、実装されていません。
  • ユーザー定義の検索パラメータは、DSTU2 ではサポートされていません。
  • XML コンテンツ タイプはサポートされていません。

下位互換性を確保するために API が FHIR 仕様から逸脱している領域:

  • null は必須項目に入力できます
  • 必須項目に空のコードを指定できます
  • バッチバンドルでは urn:uuid 参照が許可されます

公開されている仕様に含まれないオペレーションの詳細

  • FHIR ストア構成には、ストア内のリソースに対するすべての変更について、ユーザー指定の Pub/Sub トピックを通知するオプションが含まれています。この通知メカニズムはすべての Cloud Healthcare API ストアにわたって共通しており、FHIR サブスクリプション(DSTU2STU3R4 など)機能に代わるものではありません。
  • Cloud Storage の宛先への FHIR ストアのエクスポート オペレーションでは、ストア全体の一括エクスポートのみ使用できます。これは、FHIR バルクデータのドラフト仕様を実装したものではありません。
  • FHIR ストアのインポート オペレーションは仕様で定義されていません。
  • リソースの過去のバージョンを削除する Resource-purge オペレーションは仕様で定義されていません。この API は、標準プロセスまたは他の FHIR 実装がこのユースケースのための別の API メソッドに収束する場合、将来変更される可能性があります。
  • ExecuteBundle エンドポイントは v1beta1 の history バンドルを受け入れ、リソースの履歴バージョンを作成します。