Cloud Healthcare API 内の FHIR ストアでは、Health レベル 7 インタラクション(HL7)で公開されている Fast Healthcare Interoperability Resource(FHIR)仕様の複数のバージョンがサポートされています。
v1 API では、次のバージョンがサポートされています。
- R5 バージョン 5.0.0(リリース 5)
- R4 バージョン 4.0.1(リリース 4)
- STU3 バージョン 3.0.1(リリース 3 - 試用の標準)
- DSTU2 バージョン 1.0.2(試用のドラフト標準)
FHIR ストアを作成する際には、fhirStores.create メソッドのパラメータとして FHIR のバージョンを指定します。ストアが作成されると、FHIR バージョンは変更できません。
各ストアの API インターフェースは、そのストアの FHIR バージョンに準拠しています。たとえば、DSTU2 conformance インタラクションは STU3 の capabilities インタラクションとは異なりますが、両方が /fhir/metadata REST パスを共有します。そのため、このパスでは FHIR に基づいてさまざまなレスポンスが返されます。
新しいバージョンの FHIR で追加された機能は、互換性の問題がない限り、以前のバージョンの FHIR でもストアで利用できます。たとえば、patch インタラクションは STU3 以降でのみ定義されている DSTU2 ストアでも利用できます。
FHIR バージョンの v1 API でサポートされる機能の詳細
R5
サポートされている一部の仕様は、サーバーの機能ステートメントで示されます。
- すべてのR5 リソースの保存と取得(拡張要素のサポートを含む)。API は、任意のデータ要素の拡張機能を受け入れ、保存し、返します。
- JSON コンテンツ タイプを使用する RESTful API 内のすべてのメソッドがサポートされています。ただし以下を除きます。
- 複数のリソースにわたる履歴を取得する、タイプレベルおよびシステムレベルの履歴の操作はサポートされていません。リソースの履歴は、一度に 1 つのリソースに対してのみ取得できます。
- バッチ/トランザクション インタラクションは、バンドル内の検索オペレーションをサポートしていません。
- プロファイルの検証と適用がサポートされています。
- 拡張要素での検索を含むユーザー定義の検索パラメータは、v1beta1 API でサポートされています。
以下を除くすべての検索機能がサポートされています。
- 検索パラメータの
Group-characteristic-value、Location-near、Location-contains、DocumentReference-relationship、Bundle-composition、Bundle-message、Observation-component-value-canonical、Observation-value-canonical、QuestionnaireResponse-item-subject、Composition-section-textはサポートされていません。 - 発音照合を実行する検索パラメータは、サポートされていません。
- 検索結果パラメータの
_contained、_containedType、_summary=count、_summary=trueはサポートされていません。 - 特別な検索パラメータ
_contentでは、検索パラメータで参照するリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的なAND(用語はANDと自動的に統合される)や角括弧はサポートされていません。 - 特別な検索パラメータの
Resource-query、Resource-filter、Resource-language、Resource-in、Resource-listはサポートされていません。 _sortパラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。_sortは、number、data、string、token、quantityタイプの検索パラメータでサポートされています。- トークン検索修飾子
:of-type、:code-text、text-advanced、:textと参照検索修飾子:identifier、not-in、text-advanced、:code-textはサポートされていません。URI 検索のcontains修飾子はサポートされていません。 - 正規参照検索はサポートされていません。正規参照は通常の参照として処理されます。
above修飾子とbelow修飾子はサポートされていません。 _typeパラメータを使用する場合、(すべてのリソースに対して)共通の検索パラメータのみを使用できます。指定したリソースタイプの交差は使用できません。次の複合検索パラメータの一部がサポートされています。
Observation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-component-code-value-quantity
残りの複合検索パラメータは、サポートされていません。
POSTメソッドを使用して検索する場合、リクエストの本文でapplication/x-www-form-urlencodedパラメータを使用することはできません。ワイルドカード(
*)は_includeでサポートされていますが、_revincludeではサポートされていません。
- 検索パラメータの
サポートされていない地域:
- XML コンテンツ タイプはサポートされていません。
- パッチ オペレーションは XML パッチまたは
FHIRPathパッチをサポートしていません。 - HTTP HEAD リクエストは、サポートされていません。
以前の FHIR バージョンとの下位互換性を確保するため、API の一部は FHIR 仕様から逸脱しています。これらの問題は R5 で修正されています。
- 必須フィールドの検証が有効になっている場合、
nullフィールドと空のフィールド({}など)は拒否されるようになりました。 - JSON のリソース フィールドで大文字のケイマンケースはサポートされなくなりました。
- 参照整合性が無効かどうかにかかわらず、バッチバンドルでは
urn:uuid参照は許可されません。バッチバンドルは参照を書き換えません。 - トランザクション バンドルは、参照の書き換えが以前よりも厳格になり、エントリ内の無効な FullUrl でエラーが発生します(仕様: https://www.hl7.org/fhir/bundle.html#references を参照)。
- リソース参照に似た参照には、有効な ID が必要です。
- PATCH リクエストでベース プロファイルの検証が有効になりました。
R4
サポートされている一部の仕様は、サーバーの機能ステートメントで示されます。
- すべてのR4 リソースの保存と取得(拡張要素のサポートを含む。API は、任意のデータ要素の拡張機能を受け入れ、保存し、返します。
- JSON コンテンツ タイプを使用する RESTful API 内のすべてのメソッドがサポートされています。ただし以下を除きます。
- 複数のリソースにわたる履歴を取得する、タイプレベルおよびシステムレベルの履歴の操作はサポートされていません。リソースの履歴は、一度に 1 つのリソースに対してのみ取得できます。
- バッチ/トランザクション インタラクションは、バンドル内の検索オペレーションをサポートしていません。
- プロファイルの検証と適用がサポートされています。
- 拡張要素での検索を含むユーザー定義の検索パラメータは、v1beta1 API でサポートされています。
以下を除くすべての検索機能がサポートされています。
- 検索パラメータの
Group-characteristic-value、Location-near、Bundle-composition、Bundle-messageはサポートされていません。 - 発音照合を実行する検索パラメータは、サポートされていません。
- 検索結果パラメータの
_contained、_containedType、_summary=count、_summary=trueはサポートされていません。 - 特別な検索パラメータ
_contentでは、検索パラメータで参照するリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的なAND(用語はANDと自動的に統合される)や角括弧はサポートされていません。 - 特別な検索パラメータの
_query、_filter、_listはサポートされていません。 _sortパラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。_sortは、number、data、string、token、quantityタイプの検索パラメータでサポートされています。- トークン検索修飾子
:of-typeと参照検索修飾子:identifierはサポートされていません。 - 正規参照検索はサポートされていません。正規参照は通常の参照として処理されます。
_typeパラメータを使用する場合、(すべてのリソースに対して)共通の検索パラメータのみを使用できます。指定したリソースタイプの交差は使用できません。次の複合検索パラメータの一部がサポートされています。
DocumentReference-relationshipObservation-code-value-conceptObservation-code-value-dateObservation-code-value-quantityObservation-code-value-stringObservation-combo-code-value-conceptObservation-combo-code-value-quantityObservation-component-code-value-conceptObservation-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-value、Sequence-coordinate、Location-near、Location-near-distance、Bundle-composition、Bundle-messageはサポートされていません。 - 発音照合を実行する検索パラメータは、サポートされていません。
- 検索結果パラメータの
_contained、_containedType、_summary=count、_summary=trueはサポートされていません。 - 特別な検索パラメータ
_contentでは、検索パラメータによって参照されるリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的なAND(用語は AND と自動的に統合される)や角括弧はサポートされていません。 - 特別な検索パラメータの
_query、_filter、_listはサポートされていません。 _sortパラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。_sortは、number、data、string、token、quantityタイプの検索パラメータでサポートされています。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-value、Location-near、Location-near-distance、Bundle-composition、Bundle-message、Coverage-dependent、Coverage-sequenceはサポートされていません。 - 拡張要素で定義された検索パラメータは、サポートされていません。
- 発音照合を実行する検索パラメータは、サポートされていません。
- 検索結果パラメータの
_contained、_containedType、_summary=count、_summary=trueはサポートされていません。 - 特別な検索パラメータ
_contentでは、検索パラメータによって参照されるリソースのすべてのフィールドを検索します。検索できないフィールドは除外されます。明示的なAND(用語は AND と自動的に統合される)や角括弧はサポートされていません。 - 特別な検索パラメータの
_query、_filter、_listはサポートされていません。 _sortパラメータは、繰り返し要素のあるフィールドで使用すると、最初の要素で並べ替えられます。これは仕様とは異なります。_sortは、number、data、string、token、quantityタイプの検索パラメータでサポートされています。POSTメソッドを使用して検索する場合、リクエストの本文でapplication/x-www-form-urlencodedパラメータを使用することはできません。- ワイルドカード(
*)は_includeでサポートされていますが、_revincludeではサポートされていません。
- 検索パラメータの
サポートされていない地域:
- ほとんどの拡張オペレーションは、実装されていません。
- ユーザー定義の検索パラメータは、DSTU2 ではサポートされていません。
- XML コンテンツ タイプはサポートされていません。
下位互換性を維持するために API が FHIR 仕様から逸脱している点:
nullは必須項目で使用できます- 必須フィールドに空のコードを使用できる
- 参照整合性が無効になっている場合、バッチバンドルでは
urn:uuid参照が許可されます。
公開されている仕様に含まれないオペレーションの詳細
- FHIR ストア構成には、ストア内のリソースに対するすべての変更について、ユーザー指定の Pub/Sub トピックを通知するオプションが含まれています。この通知メカニズムはすべての Cloud Healthcare API ストアにわたって共通しており、FHIR サブスクリプション(DSTU2、STU3、R4、R5)機能に代わるものではありません。
- Cloud Storage の宛先への FHIR ストアのエクスポート オペレーションでは、ストア全体の一括エクスポートのみ使用できます。これは、FHIR バルクデータのドラフト仕様を実装したものではありません。
- FHIR ストアのインポート オペレーションは仕様で定義されていません。
- リソースの過去のバージョンを削除する
Resource-purgeオペレーションは仕様で定義されていません。この API は、標準プロセスまたは他の FHIR 実装がこのユースケースのための別の API メソッドに収束する場合、将来変更される可能性があります。 ExecuteBundleエンドポイントは、v1beta1 のhistoryバンドルを受け入れて、リソースの過去のバージョンを作成します。