Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam
0.6.0 - Draft for Community Review
Bộ Hướng dẫn Triển khai Core FHIR cho Việt Nam - Draft for Community Review (v0.6.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
| URL chính thức: http://fhir.hl7.org.vn/core/StructureDefinition/vn-core-health-credential-bundle | Phiên bản: 0.6.0 | ||||
| Computable Name: VNCoreHealthCredentialBundle | |||||
Profile Bundle type=collection làm PAYLOAD cho chứng nhận sức khỏe số xác minh được (verifiable health credential) — đóng gói TỐI THIỂU để in QR. Vận chuyển/QR theo chuẩn SMART Health Cards (SHC) cho credential nhỏ static offline-verifiable, hoặc SMART Health Links (SHL) cho hồ sơ lớn (KHÔNG nhúng IPS đầy đủ vào QR — IPS là data model/payload, không phải chuẩn QR transport). An toàn: payload tối thiểu hoá (chỉ trường cần thiết); QR có expiry ngắn, ký số issuer (JWKS + key rotation), revocation/status endpoint cho online verify; thẻ vật lý chỉ chứa pointer/credential rất hẹp, KHÔNG full Sổ SKĐT. Use case: chứng nhận đủ điều kiện sức khỏe (lái xe/thuyền viên/học sinh) từ dữ liệu KSK; chứng nhận tiêm chủng. Căn cứ: QĐ 1923/QĐ-BYT (HL7 FHIR); NĐ 137/2024 (chữ ký số).
Usages:
You can also check for usages in the FHIR IG Statistics
Mô tả profile, differential, snapshot và các biểu diễn liên quan.
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | VNCoreBundle | Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, vn-bundle-document-first |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
SΣ | 1..1 | code | Luôn 'collection' cho payload credential (SHC/SHL) Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
![]() ![]() |
SΣ | 1..1 | instant | Thời điểm tạo |
![]() ![]() |
SΣC | 1..* | BackboneElement | Danh sách resources Constraints: bdl-5, bdl-8 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 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 1..1 | uri | Khuyến nghị 'resource:N' (SHC) hoặc urn:uuid để payload nhỏ, không lộ URL nội bộ |
![]() ![]() ![]() |
SΣ | 1..1 | Resource | Resource FHIR |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.type | Base | required | BundleType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| bdl-1 | error | Bundle | total only when a search or history |
total.empty() or (type = 'searchset') or (type = 'history')
|
| bdl-2 | error | Bundle | entry.search only when a search |
entry.search.empty() or (type = 'searchset')
|
| bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited |
entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
|
| bdl-4 | error | Bundle | entry.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-5 | error | Bundle.entry | must be a resource unless there's a request or response |
resource.exists() or request.exists() or response.exists()
|
| bdl-7 | error | Bundle | FullUrl 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-8 | error | Bundle.entry | fullUrl cannot be a version specific reference |
fullUrl.contains('/_history/').not()
|
| bdl-9 | error | Bundle | A document must have an identifier with a system and a value |
type = 'document' implies (identifier.system.exists() and identifier.value.exists())
|
| bdl-10 | error | Bundle | A document must have a date |
type = 'document' implies (timestamp.hasValue())
|
| bdl-11 | error | Bundle | A document must have a Composition as the first resource |
type = 'document' implies entry.first().resource.is(Composition)
|
| bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource |
type = 'message' implies entry.first().resource.is(MessageHeader)
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| vn-bundle-document-first | error | Bundle | Bundle type 'document' phải có Composition là entry đầu tiên (per FHIR Bundle spec) |
type = 'document' implies entry.first().resource.is(Composition)
|
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | VNCoreBundle | Contains a collection of resources | |
![]() ![]() |
1..1 | code | Luôn 'collection' cho payload credential (SHC/SHL) Fixed Value: collection | |
![]() ![]() |
1..1 | instant | Thời điểm tạo | |
![]() ![]() |
1..* | BackboneElement | Danh sách resources | |
![]() ![]() ![]() |
S | 1..1 | uri | Khuyến nghị 'resource:N' (SHC) hoặc urn:uuid để payload nhỏ, không lộ URL nội bộ |
![]() ![]() ![]() |
S | 1..1 | Resource | Resource FHIR |
Documentation for this format | ||||
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | VNCoreBundle | Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, vn-bundle-document-first | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
Σ | 0..1 | Identifier | Persistent identifier for the bundle | ||||
![]() ![]() |
SΣ | 1..1 | code | Luôn 'collection' cho payload credential (SHC/SHL) Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection | ||||
![]() ![]() |
SΣ | 1..1 | instant | Thời điểm tạo | ||||
![]() ![]() |
ΣC | 0..1 | unsignedInt | If search, the total number of matches | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Links related to this Bundle | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 | ||||
![]() ![]() ![]() |
Σ | 1..1 | uri | Reference details for the link | ||||
![]() ![]() |
SΣC | 1..* | BackboneElement | Danh sách resources Constraints: bdl-5, bdl-8 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 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | See link (Bundle) | Links related to this entry | ||||
![]() ![]() ![]() |
SΣ | 1..1 | uri | Khuyến nghị 'resource:N' (SHC) hoặc urn:uuid để payload nhỏ, không lộ URL nội bộ | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Resource | Resource FHIR | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Search related information | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | match | include | outcome - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Search ranking (between 0 and 1) | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Additional execution information (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URL for HTTP equivalent of this entry | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing update contention | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For conditional creates | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Results of execution (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Status response code (text optional) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | The location (if the operation returns a location) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The Etag for the resource (if relevant) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | Server's date time modified | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction) | ||||
![]() ![]() |
Σ | 0..1 | Signature | Digital Signature | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Bundle.type | Base | required | BundleType | 📍4.0.1 | FHIR Std. |
| Bundle.entry.search.mode | Base | required | SearchEntryMode | 📍4.0.1 | FHIR Std. |
| Bundle.entry.request.method | Base | required | HTTPVerb | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| bdl-1 | error | Bundle | total only when a search or history |
total.empty() or (type = 'searchset') or (type = 'history')
|
| bdl-2 | error | Bundle | entry.search only when a search |
entry.search.empty() or (type = 'searchset')
|
| bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited |
entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
|
| bdl-4 | error | Bundle | entry.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-5 | error | Bundle.entry | must be a resource unless there's a request or response |
resource.exists() or request.exists() or response.exists()
|
| bdl-7 | error | Bundle | FullUrl 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-8 | error | Bundle.entry | fullUrl cannot be a version specific reference |
fullUrl.contains('/_history/').not()
|
| bdl-9 | error | Bundle | A document must have an identifier with a system and a value |
type = 'document' implies (identifier.system.exists() and identifier.value.exists())
|
| bdl-10 | error | Bundle | A document must have a date |
type = 'document' implies (timestamp.hasValue())
|
| bdl-11 | error | Bundle | A document must have a Composition as the first resource |
type = 'document' implies entry.first().resource.is(Composition)
|
| bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource |
type = 'message' implies entry.first().resource.is(MessageHeader)
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| vn-bundle-document-first | error | Bundle | Bundle type 'document' phải có Composition là entry đầu tiên (per FHIR Bundle spec) |
type = 'document' implies entry.first().resource.is(Composition)
|
Dạng xem phần tử chính
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
C | 0..* | VNCoreBundle | Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, vn-bundle-document-first |
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created |
![]() ![]() |
SΣ | 1..1 | code | Luôn 'collection' cho payload credential (SHC/SHL) Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
![]() ![]() |
SΣ | 1..1 | instant | Thời điểm tạo |
![]() ![]() |
SΣC | 1..* | BackboneElement | Danh sách resources Constraints: bdl-5, bdl-8 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 |
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized |
![]() ![]() ![]() |
SΣ | 1..1 | uri | Khuyến nghị 'resource:N' (SHC) hoặc urn:uuid để payload nhỏ, không lộ URL nội bộ |
![]() ![]() ![]() |
SΣ | 1..1 | Resource | Resource FHIR |
Documentation for this format | ||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.type | Base | required | BundleType | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| bdl-1 | error | Bundle | total only when a search or history |
total.empty() or (type = 'searchset') or (type = 'history')
|
| bdl-2 | error | Bundle | entry.search only when a search |
entry.search.empty() or (type = 'searchset')
|
| bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited |
entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
|
| bdl-4 | error | Bundle | entry.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-5 | error | Bundle.entry | must be a resource unless there's a request or response |
resource.exists() or request.exists() or response.exists()
|
| bdl-7 | error | Bundle | FullUrl 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-8 | error | Bundle.entry | fullUrl cannot be a version specific reference |
fullUrl.contains('/_history/').not()
|
| bdl-9 | error | Bundle | A document must have an identifier with a system and a value |
type = 'document' implies (identifier.system.exists() and identifier.value.exists())
|
| bdl-10 | error | Bundle | A document must have a date |
type = 'document' implies (timestamp.hasValue())
|
| bdl-11 | error | Bundle | A document must have a Composition as the first resource |
type = 'document' implies entry.first().resource.is(Composition)
|
| bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource |
type = 'message' implies entry.first().resource.is(MessageHeader)
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| vn-bundle-document-first | error | Bundle | Bundle type 'document' phải có Composition là entry đầu tiên (per FHIR Bundle spec) |
type = 'document' implies entry.first().resource.is(Composition)
|
Dạng xem Differential
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() |
|---|---|---|---|---|
![]() |
0..* | VNCoreBundle | Contains a collection of resources | |
![]() ![]() |
1..1 | code | Luôn 'collection' cho payload credential (SHC/SHL) Fixed Value: collection | |
![]() ![]() |
1..1 | instant | Thời điểm tạo | |
![]() ![]() |
1..* | BackboneElement | Danh sách resources | |
![]() ![]() ![]() |
S | 1..1 | uri | Khuyến nghị 'resource:N' (SHC) hoặc urn:uuid để payload nhỏ, không lộ URL nội bộ |
![]() ![]() ![]() |
S | 1..1 | Resource | Resource FHIR |
Documentation for this format | ||||
Dạng xem SnapshotView
| Name | Flags | Card. | Type | Description & Constraints Filter: ![]() ![]() | ||||
|---|---|---|---|---|---|---|---|---|
![]() |
C | 0..* | VNCoreBundle | Contains a collection of resources Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, vn-bundle-document-first | ||||
![]() ![]() |
Σ | 0..1 | id | Logical id of this artifact | ||||
![]() ![]() |
Σ | 0..1 | Meta | Metadata about the resource | ||||
![]() ![]() |
?!Σ | 0..1 | uri | A set of rules under which this content was created | ||||
![]() ![]() |
0..1 | code | Language of the resource content Binding: CommonLanguages (preferred): A human language.
| |||||
![]() ![]() |
Σ | 0..1 | Identifier | Persistent identifier for the bundle | ||||
![]() ![]() |
SΣ | 1..1 | code | Luôn 'collection' cho payload credential (SHC/SHL) Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection | ||||
![]() ![]() |
SΣ | 1..1 | instant | Thời điểm tạo | ||||
![]() ![]() |
ΣC | 0..1 | unsignedInt | If search, the total number of matches | ||||
![]() ![]() |
Σ | 0..* | BackboneElement | Links related to this Bundle | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 1..1 | string | See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 | ||||
![]() ![]() ![]() |
Σ | 1..1 | uri | Reference details for the link | ||||
![]() ![]() |
SΣC | 1..* | BackboneElement | Danh sách resources Constraints: bdl-5, bdl-8 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 | ||||
![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() |
Σ | 0..* | See link (Bundle) | Links related to this entry | ||||
![]() ![]() ![]() |
SΣ | 1..1 | uri | Khuyến nghị 'resource:N' (SHC) hoặc urn:uuid để payload nhỏ, không lộ URL nội bộ | ||||
![]() ![]() ![]() |
SΣ | 1..1 | Resource | Resource FHIR | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Search related information | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | code | match | include | outcome - why this is in the result set Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process. | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | decimal | Search ranking (between 0 and 1) | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Additional execution information (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | code | GET | HEAD | POST | PUT | DELETE | PATCH Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details. | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | uri | URL for HTTP equivalent of this entry | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | For managing cache currency | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For managing update contention | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | For conditional creates | ||||
![]() ![]() ![]() |
ΣC | 0..1 | BackboneElement | Results of execution (transaction/batch/history) | ||||
![]() ![]() ![]() ![]() |
0..1 | string | Unique id for inter-element referencing | |||||
![]() ![]() ![]() ![]() |
0..* | Extension | Additional content defined by implementations | |||||
![]() ![]() ![]() ![]() |
?!Σ | 0..* | Extension | Extensions that cannot be ignored even if unrecognized | ||||
![]() ![]() ![]() ![]() |
Σ | 1..1 | string | Status response code (text optional) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | uri | The location (if the operation returns a location) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | string | The Etag for the resource (if relevant) | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | instant | Server's date time modified | ||||
![]() ![]() ![]() ![]() |
Σ | 0..1 | Resource | OperationOutcome with hints and warnings (for batch/transaction) | ||||
![]() ![]() |
Σ | 0..1 | Signature | Digital Signature | ||||
Documentation for this format | ||||||||
| Path | Status | Usage | ValueSet | Version | Source |
| Bundle.language | Base | preferred | Common Languages | 📍4.0.1 | FHIR Std. |
| Bundle.type | Base | required | BundleType | 📍4.0.1 | FHIR Std. |
| Bundle.entry.search.mode | Base | required | SearchEntryMode | 📍4.0.1 | FHIR Std. |
| Bundle.entry.request.method | Base | required | HTTPVerb | 📍4.0.1 | FHIR Std. |
| Id | Grade | Path(s) | Description | Expression |
| bdl-1 | error | Bundle | total only when a search or history |
total.empty() or (type = 'searchset') or (type = 'history')
|
| bdl-2 | error | Bundle | entry.search only when a search |
entry.search.empty() or (type = 'searchset')
|
| bdl-3 | error | Bundle | entry.request mandatory for batch/transaction/history, otherwise prohibited |
entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
|
| bdl-4 | error | Bundle | entry.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-5 | error | Bundle.entry | must be a resource unless there's a request or response |
resource.exists() or request.exists() or response.exists()
|
| bdl-7 | error | Bundle | FullUrl 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-8 | error | Bundle.entry | fullUrl cannot be a version specific reference |
fullUrl.contains('/_history/').not()
|
| bdl-9 | error | Bundle | A document must have an identifier with a system and a value |
type = 'document' implies (identifier.system.exists() and identifier.value.exists())
|
| bdl-10 | error | Bundle | A document must have a date |
type = 'document' implies (timestamp.hasValue())
|
| bdl-11 | error | Bundle | A document must have a Composition as the first resource |
type = 'document' implies entry.first().resource.is(Composition)
|
| bdl-12 | error | Bundle | A message must have a MessageHeader as the first resource |
type = 'message' implies entry.first().resource.is(MessageHeader)
|
| ele-1 | error | **ALL** elements | All FHIR elements must have a @value or children |
hasValue() or (children().count() > id.count())
|
| ext-1 | error | **ALL** extensions | Must have either extensions or value[x], not both |
extension.exists() != value.exists()
|
| vn-bundle-document-first | error | Bundle | Bundle type 'document' phải có Composition là entry đầu tiên (per FHIR Bundle spec) |
type = 'document' implies entry.first().resource.is(Composition)
|
Biểu diễn khác của hồ sơ: CSV, Excel, Schematron