臺灣核心實作指引(TW Core IG)
0.2.0 - Trial Use

This page is part of the 臺灣核心實作指引(TW Core IG) (v0.2.0: Releases) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version in its permanent home (it will always be available at this URL). For a full list of available versions, see the Directory of published versions

Resource Profile: TW Core Bundle

Official URL: https://twcore.mohw.gov.tw/ig/twcore/StructureDefinition/Bundle-twcore Version: 0.2.0
Active as of 2024-03-21 Computable Name: TWCoreBundle

此臺灣核心-資料交換基本單位(TW Core Bundle) Profile說明本IG如何進一步定義FHIR的Bundle Resource以呈現 Bundle 的詳細資料。

Resource Bundle - 內容

一個用於儲存一組resources的容器(container)。

範圍與使用

常見的操作是將一堆 resources 集合在一起,放到一個單獨的地方,同時保留它們的相關訊息。在 FHIR 中,這個操作叫做「bundling resources」。這樣做對於很多不同的情境都很有用,例如:

  • 在伺服器操作中返回符合某些準則的一組 resources(參見 RESTful Search
  • 在伺服器上的歷史紀錄操作中返回 resources 的一組版本(參見 History
  • 將一組 resources 作為訊息交換的一部分發送(參見 Messaging
  • 將一組內嵌(self-contained)的 resources 集合在一起,形成可互換且可保存的集合,具有臨床完整性,例如臨床文件。(參見 Documents
  • 在伺服器上作為單一操作創建/更新/刪除一組 resources(包括作為單個原子交易進行,意即一個不可再分的、不可切分的交易,它要麼完全執行,要麼完全不執行。)(參見 Transactions
  • 儲存一組resources

界限與關聯

有兩種方式可以將 resources 聚集在一起以便於傳輸和永久化:分別為「內嵌的resources」和「bundles」。兩者之間有一個重要的區別:

  • 內嵌的 resources 是「在」容器內部:它們只能在容器的上下文中被解釋和/或改變。
  • bundle是一組可以獨立存在的 resources :例如,它們也可能直接透過RESTful API被存取

除了這兩種技術機制之外,還有三種行政和基礎建設的 resources ,也支援內容的分組(grouping)。這些 resources 不直接包含其他 resources ,而是使用[Reference]來指向被分組的resources:

  • List清單) resource — 列舉一組平面的 resources 並提供管理這組 resources 的功能。雖然一個特定的List實例可能代表某一個時刻的一個「快照(snapshot)」為這個清單提供一個內容視圖,但從業務過程的角度來看,「List」的概念是動態的 ,它會隨著時間的流逝,項目會被增加和移除。这种動態性使得List成为一个靈活的工具,可以用来跟踪和管理隨著時間變化的 resources 集合.List resource參照其他 resources ,它的使用可能有特定的業務意義。
  • Group(群體) resource — 透過列舉或描述群組成員的特質來定義特定的人員、動物、裝置等的Group。Group resource 可能會隱式地參照其他 resources 。Group旨在作為一個整體被操作或觀察;例如:對一個Group進行治療、計算一個群體的風險等。這個 resource 通常用於公共衛生(例如:描述一個高風險人群)、臨床試驗(例如:定義一個試驗對象)和類似目的。
  • Composition(臨床文件架構) resource — 定義了一組健康相關的資訊,這些資訊被組合在一起形成一份單一邏輯的文件,提供了一個連貫的意義聲明,建立了其自身的上下文,並對於誰在做出聲明提供臨床證明。Composition resource 提供了一個FHIR 文件(document)的基本結構。文件的全部內容使用Bundle來表達,Compositions經常參照Lists作為特定小節(sections)的焦點(focus)。

這三個 resources 代表它們所參照的 resources 的有意義的分組(例如:一個出院用藥的List,一個臨床試驗參與者的Group,一組已簽名文件的resources),而一個bundle僅僅是用於傳輸和儲存的 resources 的容器。這些未必詳盡,其他的 resources 也提供了群組功能。

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*Bundle包含resourceBundle
... id 0..1id不重複的ID用以識別儲存在特定FHIR Server中的Bundle紀錄,通常又稱為邏輯性ID。
... meta 0..1Meta此Bundle Resource的metadata
... implicitRules 0..1uri創建此內容所依據的一組規則
... identifier S0..1Identifier一組Resources的資料交換基本單位(Bundle)的識別碼。
... type 1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Bundle類型;應填入所綁定值集中的其中一個代碼。

... timestamp S0..1instant組成Bundle的時間。
... total 0..1unsignedInt查詢時符合條件的總筆數
... link 0..*BackboneElement與此Bundle相關的連結
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... relation 1..1string參見 [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
.... url 1..1uri連結的參照細節
... entry 0..*BackboneElement在bundle中的條目 - 將會有一個resource或資訊,這個重複的資料項目順序:對於type為「document」和「message」的bundles,第一個resource是特殊的(必須分別是Composition或MessageHeader)。對於所有bundles,條目順序的意義取決於bundle的type。
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... link 0..*與本條目相關的連結
.... fullUrl 0..1uriResource的 URI(絕對 URL 伺服器地址或 UUID/OID 的 URI)
.... resource 0..1ResourceBundle中的resource
.... search 0..1BackboneElement查詢有關的資訊
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... mode 0..1codematch | include | outcome
Binding: SearchEntryMode (required): Resource出現在Bundle中的原因;應填入所綁定值集中的其中一個代碼。

..... score 0..1decimal查詢排名(0至1之間)
.... request 0..1BackboneElement其他執行資訊(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... method 1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): 應填入所綁定值集中的其中一個代碼。

..... url 1..1uri此Bundle HTTP 對應的 URL
..... ifNoneMatch 0..1string用於管理緩存當前狀態
..... ifModifiedSince 0..1instant用於管理緩存當前狀態
..... ifMatch 0..1string用於管理更新衝突
..... ifNoneExist 0..1string用於有條件建立
.... response 0..1BackboneElement執行結果(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... status 1..1string狀態回應代碼(文字選填)
..... location 0..1uri位置(如果操作返回位置)
..... etag 0..1stringresource的 Etag(如果有相關)
..... lastModified 0..1instant修改時之伺服器日期時間
..... outcome 0..1Resource帶提示和警告的OperationOutcome(用於batch/transaction)
... signature 0..1Signature數位簽章

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.typerequiredBundleType
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*Bundle包含resourceBundle
bdl-1: total only when a search or history
bdl-2: entry.search only when a search
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
bdl-9: A document must have an identifier with a system and a value
bdl-10: A document must have a date
bdl-11: A document must have a Composition as the first resource
bdl-12: A message must have a MessageHeader as the first resource
... id Σ0..1id不重複的ID用以識別儲存在特定FHIR Server中的Bundle紀錄,通常又稱為邏輯性ID。
... meta Σ0..1Meta此Bundle Resource的metadata
... implicitRules ?!Σ0..1uri創建此內容所依據的一組規則
... identifier SΣ0..1Identifier一組Resources的資料交換基本單位(Bundle)的識別碼。
... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Bundle類型;應填入所綁定值集中的其中一個代碼。

... timestamp SΣ0..1instant組成Bundle的時間。
... total ΣC0..1unsignedInt查詢時符合條件的總筆數
... link Σ0..*BackboneElement與此Bundle相關的連結
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... relation Σ1..1string參見 [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
.... url Σ1..1uri連結的參照細節
... entry ΣC0..*BackboneElement在bundle中的條目 - 將會有一個resource或資訊,這個重複的資料項目順序:對於type為「document」和「message」的bundles,第一個resource是特殊的(必須分別是Composition或MessageHeader)。對於所有bundles,條目順序的意義取決於bundle的type。
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... link Σ0..*See link (Bundle)與本條目相關的連結
.... fullUrl Σ0..1uriResource的 URI(絕對 URL 伺服器地址或 UUID/OID 的 URI)
.... resource Σ0..1ResourceBundle中的resource
.... search ΣC0..1BackboneElement查詢有關的資訊
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... mode Σ0..1codematch | include | outcome
Binding: SearchEntryMode (required): Resource出現在Bundle中的原因;應填入所綁定值集中的其中一個代碼。

..... score Σ0..1decimal查詢排名(0至1之間)
.... request ΣC0..1BackboneElement其他執行資訊(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): 應填入所綁定值集中的其中一個代碼。

..... url Σ1..1uri此Bundle HTTP 對應的 URL
..... ifNoneMatch Σ0..1string用於管理緩存當前狀態
..... ifModifiedSince Σ0..1instant用於管理緩存當前狀態
..... ifMatch Σ0..1string用於管理更新衝突
..... ifNoneExist Σ0..1string用於有條件建立
.... response ΣC0..1BackboneElement執行結果(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... status Σ1..1string狀態回應代碼(文字選填)
..... location Σ0..1uri位置(如果操作返回位置)
..... etag Σ0..1stringresource的 Etag(如果有相關)
..... lastModified Σ0..1instant修改時之伺服器日期時間
..... outcome Σ0..1Resource帶提示和警告的OperationOutcome(用於batch/transaction)
... signature Σ0..1Signature數位簽章

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.typerequiredBundleType
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-3errorBundleentry.request mandatory for batch/transaction/history, otherwise prohibited
: entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4errorBundleentry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
: entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
: (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*Bundle包含resourceBundle
bdl-1: total only when a search or history
bdl-2: entry.search only when a search
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
bdl-9: A document must have an identifier with a system and a value
bdl-10: A document must have a date
bdl-11: A document must have a Composition as the first resource
bdl-12: A message must have a MessageHeader as the first resource
... id Σ0..1id不重複的ID用以識別儲存在特定FHIR Server中的Bundle紀錄,通常又稱為邏輯性ID。
... meta Σ0..1Meta此Bundle Resource的metadata
... implicitRules ?!Σ0..1uri創建此內容所依據的一組規則
... identifier SΣ0..1Identifier一組Resources的資料交換基本單位(Bundle)的識別碼。
... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Bundle類型;應填入所綁定值集中的其中一個代碼。

... timestamp SΣ0..1instant組成Bundle的時間。
... total ΣC0..1unsignedInt查詢時符合條件的總筆數
... link Σ0..*BackboneElement與此Bundle相關的連結
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... relation Σ1..1string參見 [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
.... url Σ1..1uri連結的參照細節
... entry ΣC0..*BackboneElement在bundle中的條目 - 將會有一個resource或資訊,這個重複的資料項目順序:對於type為「document」和「message」的bundles,第一個resource是特殊的(必須分別是Composition或MessageHeader)。對於所有bundles,條目順序的意義取決於bundle的type。
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... link Σ0..*See link (Bundle)與本條目相關的連結
.... fullUrl Σ0..1uriResource的 URI(絕對 URL 伺服器地址或 UUID/OID 的 URI)
.... resource Σ0..1ResourceBundle中的resource
.... search ΣC0..1BackboneElement查詢有關的資訊
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... mode Σ0..1codematch | include | outcome
Binding: SearchEntryMode (required): Resource出現在Bundle中的原因;應填入所綁定值集中的其中一個代碼。

..... score Σ0..1decimal查詢排名(0至1之間)
.... request ΣC0..1BackboneElement其他執行資訊(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): 應填入所綁定值集中的其中一個代碼。

..... url Σ1..1uri此Bundle HTTP 對應的 URL
..... ifNoneMatch Σ0..1string用於管理緩存當前狀態
..... ifModifiedSince Σ0..1instant用於管理緩存當前狀態
..... ifMatch Σ0..1string用於管理更新衝突
..... ifNoneExist Σ0..1string用於有條件建立
.... response ΣC0..1BackboneElement執行結果(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... status Σ1..1string狀態回應代碼(文字選填)
..... location Σ0..1uri位置(如果操作返回位置)
..... etag Σ0..1stringresource的 Etag(如果有相關)
..... lastModified Σ0..1instant修改時之伺服器日期時間
..... outcome Σ0..1Resource帶提示和警告的OperationOutcome(用於batch/transaction)
... signature Σ0..1Signature數位簽章

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.typerequiredBundleType
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-3errorBundleentry.request mandatory for batch/transaction/history, otherwise prohibited
: entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4errorBundleentry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
: entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
: (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Must-Support: 2 elements

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*Bundle包含resourceBundle
... id 0..1id不重複的ID用以識別儲存在特定FHIR Server中的Bundle紀錄,通常又稱為邏輯性ID。
... meta 0..1Meta此Bundle Resource的metadata
... implicitRules 0..1uri創建此內容所依據的一組規則
... identifier S0..1Identifier一組Resources的資料交換基本單位(Bundle)的識別碼。
... type 1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Bundle類型;應填入所綁定值集中的其中一個代碼。

... timestamp S0..1instant組成Bundle的時間。
... total 0..1unsignedInt查詢時符合條件的總筆數
... link 0..*BackboneElement與此Bundle相關的連結
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... relation 1..1string參見 [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
.... url 1..1uri連結的參照細節
... entry 0..*BackboneElement在bundle中的條目 - 將會有一個resource或資訊,這個重複的資料項目順序:對於type為「document」和「message」的bundles,第一個resource是特殊的(必須分別是Composition或MessageHeader)。對於所有bundles,條目順序的意義取決於bundle的type。
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... link 0..*與本條目相關的連結
.... fullUrl 0..1uriResource的 URI(絕對 URL 伺服器地址或 UUID/OID 的 URI)
.... resource 0..1ResourceBundle中的resource
.... search 0..1BackboneElement查詢有關的資訊
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... mode 0..1codematch | include | outcome
Binding: SearchEntryMode (required): Resource出現在Bundle中的原因;應填入所綁定值集中的其中一個代碼。

..... score 0..1decimal查詢排名(0至1之間)
.... request 0..1BackboneElement其他執行資訊(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... method 1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): 應填入所綁定值集中的其中一個代碼。

..... url 1..1uri此Bundle HTTP 對應的 URL
..... ifNoneMatch 0..1string用於管理緩存當前狀態
..... ifModifiedSince 0..1instant用於管理緩存當前狀態
..... ifMatch 0..1string用於管理更新衝突
..... ifNoneExist 0..1string用於有條件建立
.... response 0..1BackboneElement執行結果(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension 0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... status 1..1string狀態回應代碼(文字選填)
..... location 0..1uri位置(如果操作返回位置)
..... etag 0..1stringresource的 Etag(如果有相關)
..... lastModified 0..1instant修改時之伺服器日期時間
..... outcome 0..1Resource帶提示和警告的OperationOutcome(用於batch/transaction)
... signature 0..1Signature數位簽章

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSetURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.typerequiredBundleType
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*Bundle包含resourceBundle
bdl-1: total only when a search or history
bdl-2: entry.search only when a search
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
bdl-9: A document must have an identifier with a system and a value
bdl-10: A document must have a date
bdl-11: A document must have a Composition as the first resource
bdl-12: A message must have a MessageHeader as the first resource
... id Σ0..1id不重複的ID用以識別儲存在特定FHIR Server中的Bundle紀錄,通常又稱為邏輯性ID。
... meta Σ0..1Meta此Bundle Resource的metadata
... implicitRules ?!Σ0..1uri創建此內容所依據的一組規則
... identifier SΣ0..1Identifier一組Resources的資料交換基本單位(Bundle)的識別碼。
... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Bundle類型;應填入所綁定值集中的其中一個代碼。

... timestamp SΣ0..1instant組成Bundle的時間。
... total ΣC0..1unsignedInt查詢時符合條件的總筆數
... link Σ0..*BackboneElement與此Bundle相關的連結
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... relation Σ1..1string參見 [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
.... url Σ1..1uri連結的參照細節
... entry ΣC0..*BackboneElement在bundle中的條目 - 將會有一個resource或資訊,這個重複的資料項目順序:對於type為「document」和「message」的bundles,第一個resource是特殊的(必須分別是Composition或MessageHeader)。對於所有bundles,條目順序的意義取決於bundle的type。
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... link Σ0..*See link (Bundle)與本條目相關的連結
.... fullUrl Σ0..1uriResource的 URI(絕對 URL 伺服器地址或 UUID/OID 的 URI)
.... resource Σ0..1ResourceBundle中的resource
.... search ΣC0..1BackboneElement查詢有關的資訊
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... mode Σ0..1codematch | include | outcome
Binding: SearchEntryMode (required): Resource出現在Bundle中的原因;應填入所綁定值集中的其中一個代碼。

..... score Σ0..1decimal查詢排名(0至1之間)
.... request ΣC0..1BackboneElement其他執行資訊(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): 應填入所綁定值集中的其中一個代碼。

..... url Σ1..1uri此Bundle HTTP 對應的 URL
..... ifNoneMatch Σ0..1string用於管理緩存當前狀態
..... ifModifiedSince Σ0..1instant用於管理緩存當前狀態
..... ifMatch Σ0..1string用於管理更新衝突
..... ifNoneExist Σ0..1string用於有條件建立
.... response ΣC0..1BackboneElement執行結果(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... status Σ1..1string狀態回應代碼(文字選填)
..... location Σ0..1uri位置(如果操作返回位置)
..... etag Σ0..1stringresource的 Etag(如果有相關)
..... lastModified Σ0..1instant修改時之伺服器日期時間
..... outcome Σ0..1Resource帶提示和警告的OperationOutcome(用於batch/transaction)
... signature Σ0..1Signature數位簽章

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.typerequiredBundleType
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-3errorBundleentry.request mandatory for batch/transaction/history, otherwise prohibited
: entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4errorBundleentry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
: entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
: (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle C0..*Bundle包含resourceBundle
bdl-1: total only when a search or history
bdl-2: entry.search only when a search
bdl-3: entry.request mandatory for batch/transaction/history, otherwise prohibited
bdl-4: entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
bdl-9: A document must have an identifier with a system and a value
bdl-10: A document must have a date
bdl-11: A document must have a Composition as the first resource
bdl-12: A message must have a MessageHeader as the first resource
... id Σ0..1id不重複的ID用以識別儲存在特定FHIR Server中的Bundle紀錄,通常又稱為邏輯性ID。
... meta Σ0..1Meta此Bundle Resource的metadata
... implicitRules ?!Σ0..1uri創建此內容所依據的一組規則
... identifier SΣ0..1Identifier一組Resources的資料交換基本單位(Bundle)的識別碼。
... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Bundle類型;應填入所綁定值集中的其中一個代碼。

... timestamp SΣ0..1instant組成Bundle的時間。
... total ΣC0..1unsignedInt查詢時符合條件的總筆數
... link Σ0..*BackboneElement與此Bundle相關的連結
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... relation Σ1..1string參見 [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)
.... url Σ1..1uri連結的參照細節
... entry ΣC0..*BackboneElement在bundle中的條目 - 將會有一個resource或資訊,這個重複的資料項目順序:對於type為「document」和「message」的bundles,第一個resource是特殊的(必須分別是Composition或MessageHeader)。對於所有bundles,條目順序的意義取決於bundle的type。
bdl-5: must be a resource unless there's a request or response
bdl-8: fullUrl cannot be a version specific reference
This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type
.... id 0..1string唯一可識別ID,以供資料項目間相互參照。
.... extension 0..*Extension擴充的資料項目
.... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
.... link Σ0..*See link (Bundle)與本條目相關的連結
.... fullUrl Σ0..1uriResource的 URI(絕對 URL 伺服器地址或 UUID/OID 的 URI)
.... resource Σ0..1ResourceBundle中的resource
.... search ΣC0..1BackboneElement查詢有關的資訊
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... mode Σ0..1codematch | include | outcome
Binding: SearchEntryMode (required): Resource出現在Bundle中的原因;應填入所綁定值集中的其中一個代碼。

..... score Σ0..1decimal查詢排名(0至1之間)
.... request ΣC0..1BackboneElement其他執行資訊(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... method Σ1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): 應填入所綁定值集中的其中一個代碼。

..... url Σ1..1uri此Bundle HTTP 對應的 URL
..... ifNoneMatch Σ0..1string用於管理緩存當前狀態
..... ifModifiedSince Σ0..1instant用於管理緩存當前狀態
..... ifMatch Σ0..1string用於管理更新衝突
..... ifNoneExist Σ0..1string用於有條件建立
.... response ΣC0..1BackboneElement執行結果(transaction/batch/history)
..... id 0..1string唯一可識別ID,以供資料項目間相互參照。
..... extension 0..*Extension擴充的資料項目
..... modifierExtension ?!Σ0..*Extension此擴充的資料項目可能會完全修正或改變其他資料項目的意涵,需特別留意。
..... status Σ1..1string狀態回應代碼(文字選填)
..... location Σ0..1uri位置(如果操作返回位置)
..... etag Σ0..1stringresource的 Etag(如果有相關)
..... lastModified Σ0..1instant修改時之伺服器日期時間
..... outcome Σ0..1Resource帶提示和警告的OperationOutcome(用於batch/transaction)
... signature Σ0..1Signature數位簽章

doco Documentation for this format

Terminology Bindings

PathConformanceValueSetURI
Bundle.languagepreferredCommonLanguages
Additional Bindings Purpose
AllLanguages Max Binding
http://hl7.org/fhir/ValueSet/languages
from the FHIR Standard
Bundle.typerequiredBundleType
http://hl7.org/fhir/ValueSet/bundle-type|4.0.1
from the FHIR Standard
Bundle.entry.search.moderequiredSearchEntryMode
http://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1
from the FHIR Standard
Bundle.entry.request.methodrequiredHTTPVerb
http://hl7.org/fhir/ValueSet/http-verb|4.0.1
from the FHIR Standard

Constraints

IdGradePath(s)DetailsRequirements
bdl-1errorBundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-2errorBundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-3errorBundleentry.request mandatory for batch/transaction/history, otherwise prohibited
: entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4errorBundleentry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
: entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5errorBundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-7errorBundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
: (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8errorBundle.entryfullUrl cannot be a version specific reference
: fullUrl.contains('/_history/').not()
bdl-9errorBundleA document must have an identifier with a system and a value
: type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10errorBundleA document must have a date
: type = 'document' implies (timestamp.hasValue())
bdl-11errorBundleA document must have a Composition as the first resource
: type = 'document' implies entry.first().resource.is(Composition)
bdl-12errorBundleA message must have a MessageHeader as the first resource
: type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1error**ALL** elementsAll FHIR elements must have a @value or children
: hasValue() or (children().count() > id.count())
ext-1error**ALL** extensionsMust have either extensions or value[x], not both
: extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Must-Support: 2 elements

 

Other representations of profile: CSV, Excel, Schematron

Notes:

以下概述了此Profile所需的RESTful FHIR互動功能。有關TW Core IG支援的RESTful互動功能的完整清單,請參閱TW Core Server能力聲明

建議應該支援以下查詢參數:

  1. 建議應該(SHOULD) 支援透過查詢參數 _id 查詢所有Bundle:
    (如何透過token查詢)
    GET [base]/Bundle?_id=[id]
    GET [base]/Bundle/[id]

    例子:
    (1) GET [base]/Bundle?_id=bun-example
    (2) GET [base]/Bundle/bun-example

  2. 建議應該(SHOULD) 支援透過查詢參數 identifier 查詢所有Bundle:
    (如何透過token查詢)
    GET [base]/Bundle?identifier={system|}[code]

    例子:
    (1) GET [base]/Bundle?identifier=https://www.cdc.gov.tw/|01014857930415100059403