FHIR

FHIR Bundle(バンドル)とは?9つの種類と使い分けを解説

FHIR Bundleは複数のリソースをまとめるためのコンテナです。FHIR R4における9つのBundleタイプ(document, message, transaction, transaction-response, batch, batch-response, history, searchset, collection)について、transactionとbatchの違い、そして簡単なJSONの例をご紹介します。

著 公開日 1分で読めます

簡単な回答: Bundle は、他のリソースをグループ化する FHIR リソースです。検索結果、1回の要求で送信される一連の書き込み、患者の要約のような臨床文書、またはメッセージなどです。その type は、グループの意味とサーバーがどのように処理する必要があるかを示します。

FHIR R4 の 9 つのタイプ

  • searchset: ページングリンク付きの検索結果。
  • transaction: 全て成功するか全て失敗するかのいずれか(all-or-nothing)で処理される書き込み。1 つが失敗した場合、何も適用されません。
  • batch: 個別に処理される書き込み。各エントリは、それ自体で成功または失敗します。
  • transaction-response / batch-response: サーバーがそれぞれに対して返すもの。
  • document: 臨床文書(最初の項目は Composition)。国際患者要約(International Patient Summary)など。全体として署名または保存されます。
  • message: メッセージ。最初の項目は MessageHeader です。
  • history: リソースのバージョン。
  • collection: それ以上の意味を持たないリソースのセット。

Transaction vs Batch

リソースがお互いに依存している場合(例えば、Patient とそれを参照する Observations)、transaction を使用します。エントリ間の参照では、一時的な urn:uuid: 識別子を使用でき、サーバーがそれを解決します。部分的な成功が許容される独立した操作には、batch を使用します。

{
  "resourceType": "Bundle",
  "type": "transaction",
  "entry": [
    {"fullUrl": "urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a",
     "resource": {"resourceType": "Patient", "name": [{"family": "Example"}]},
     "request": {"method": "POST", "url": "Patient"}},
    {"resource": {"resourceType": "Observation", "status": "final",
       "code": {"coding": [{"system": "http://loinc.org", "code": "8867-4"}]},
       "subject": {"reference": "urn:uuid:61ebe359-bfdc-4613-8bf2-c5e300945f0a"},
       "valueQuantity": {"value": 72, "unit": "/min", "system": "http://unitsofmeasure.org", "code": "/min"}},
     "request": {"method": "POST", "url": "Observation"}}
  ]
}

Anpheros における Bundle

Anpheros Platform は、transaction および batch bundle を受け入れ、ページング付きの searchset bundle を返します。国際患者要約は document bundle として返されます。これらを試すには、FHIR サンドボックス を参照してください。また、FHIR における国際患者要約 も参照してください。

関連ページ

情報源

よくある質問

FHIR transaction と batch の違いは何ですか?

Transaction は全て成功するか全て失敗するかのいずれか(all-or-nothing)ですが、batch は各エントリを個別に処理します。

同じ bundle 内で作成されたリソースを参照するにはどうすればよいですか?

urn:uuid:... のような fullUrl を与えて、それを参照として使用します。transaction では、サーバーがそれを実際の ID に置き換えます。

患者要約のタイプは何ですか?

最初の項目が Composition である document bundle です。

なぜ検索結果が Bundle で返されるのですか?

検索結果は常に searchset bundle で返され、次のページへのリンクが含まれています。

Anpheros Platform

サンドボックスで無料で試す

5分で最初のFHIR呼び出し. 患者さんの同意が組み込まれたHL7 FHIR R4 APIです。サンドボックスでお試しいただき、ご自身のアプリやクリニックのシステムを接続してください。

無料・合成患者30人・カード不要

このガイドは情報提供のみを目的としており、医学的アドバイスに代わるものではありません。健康に関する決定については、医師にご相談ください。緊急時は、地域の緊急通報番号(ヨーロッパでは112)に電話してください。
作成者
Anpherosチーム

Anpherosは、患者が管理し、あらゆるクリニックと共有できる医療記録を、EUを拠点とするHL7 FHIR R4プラットフォーム上で構築しています。これらのガイドは、ご自身の健康を理解し整理するのに役立ちますが、医師の代わりになるものではありません。

Anpherosについて →