SMART Health Cards: Vaccination & Testing Implementation Guide, published by HL7 International / Public Health. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-shc-vaccination-ig/ and changes regularly. See the Directory of published versions
Official URL: http://hl7.org/fhir/uv/shc-vaccination/StructureDefinition/shc-covid19-laboratory-bundle-dm | Version: 1.0.0 | |||
Draft as of 2024-12-04 | Computable Name: SHCCovid19LaboratoryBundleDM |
Defines a primary (DM) profile representing a bundle of patient and COVID-19 laboratory testing data for health cards.
See here for implementation details.
Description:
Defines the contents of the fhirBundle
element in a SMART Health Card for a given use case.
Primary profile (DM) | Fallback profile (AD) | Scope of profile pair |
---|---|---|
Immunization Bundle | Fallback | Immunization for any infectious disease |
COVID-19 Labs Bundle | Fallback | Lab results for COVID-19 only |
Generic Labs Bundle | Fallback | Lab results for any infections disease |
Usage:
Description of Profiles, Differentials, Snapshots and how the different presentations work.
This structure is derived from Bundle
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | 0..* | Bundle | Contains a collection of resources | |
id | C | 0..0 | ||
meta | 0..0 | |||
implicitRules | 0..0 | |||
language | 0..0 | |||
identifier | 0..0 | |||
type | S | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Fixed Value: collection |
timestamp | 0..0 | |||
total | 0..0 | |||
link | 0..0 | |||
Slices for entry | S | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource |
entry:All Slices | Content/Rules for all slices | |||
id | 0..0 | |||
extension | 0..0 | |||
modifierExtension | 0..0 | |||
link | 0..0 | |||
fullUrl | S | 1..1 | uri | Locally unique identifier like resource:0 |
resource | S | 0..1 | Resource | A resource in the bundle |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
entry:patient | S | 1..1 | BackboneElement | Patient |
id | 0..0 | |||
extension | 0..0 | |||
modifierExtension | 0..0 | |||
link | 0..0 | |||
fullUrl | SC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
entry:labResult | SC | 1..* | BackboneElement | Laboratory result vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. |
id | 0..0 | |||
extension | 0..0 | |||
modifierExtension | 0..0 | |||
link | 0..0 | |||
fullUrl | SC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
signature | 0..0 | |||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
vc-bundle-lab-status-complete | error | Bundle.entry:labResult | Bundle SHALL only include results with status final or status that is subsequent to final. : $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected') | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources 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 |
type | SΣ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
Slices for entry | SΣC | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
entry:All Slices | Content/Rules for all slices | |||
fullUrl | SΣ | 1..1 | uri | Locally unique identifier like resource:0 |
resource | SΣ | 0..1 | Resource | A resource in the bundle |
entry:patient | SΣC | 1..1 | BackboneElement | Patient 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
entry:labResult | SΣC | 1..* | BackboneElement | Laboratory result bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Bundle.type | required | Fixed Value: collectionhttp://hl7.org/fhir/ValueSet/bundle-type|4.0.1 from the FHIR Standard | |
Bundle.entry.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:patient.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:labResult.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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, Bundle.entry:patient, Bundle.entry:labResult | 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, Bundle.entry:patient, Bundle.entry:labResult | 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() | |
vc-bundle-lab-status-complete | error | Bundle.entry:labResult | Bundle SHALL only include results with status final or status that is subsequent to final. : $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected') | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') |
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources 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 |
type | SΣ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
Slices for entry | SΣC | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
entry:All Slices | Content/Rules for all slices | |||
fullUrl | SΣ | 1..1 | uri | Locally unique identifier like resource:0 |
resource | SΣ | 0..1 | Resource | A resource in the bundle |
entry:patient | SΣC | 1..1 | BackboneElement | Patient 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
entry:labResult | SΣC | 1..* | BackboneElement | Laboratory result bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Bundle.type | required | Fixed Value: collectionhttp://hl7.org/fhir/ValueSet/bundle-type|4.0.1 from the FHIR Standard | |
Bundle.entry.search.mode | required | SearchEntryModehttp://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1 from the FHIR Standard | |
Bundle.entry.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:patient.search.mode | required | SearchEntryModehttp://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1 from the FHIR Standard | |
Bundle.entry:patient.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:labResult.search.mode | required | SearchEntryModehttp://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1 from the FHIR Standard | |
Bundle.entry:labResult.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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, Bundle.entry:patient, Bundle.entry:labResult | 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, Bundle.entry:patient, Bundle.entry:labResult | 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() | |
vc-bundle-lab-status-complete | error | Bundle.entry:labResult | Bundle SHALL only include results with status final or status that is subsequent to final. : $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected') | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') |
This structure is derived from Bundle
Summary
Mandatory: 7 elements
Must-Support: 8 elements
Fixed: 1 element
Prohibited: 30 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Differential View
This structure is derived from Bundle
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | 0..* | Bundle | Contains a collection of resources | |
id | C | 0..0 | ||
meta | 0..0 | |||
implicitRules | 0..0 | |||
language | 0..0 | |||
identifier | 0..0 | |||
type | S | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Fixed Value: collection |
timestamp | 0..0 | |||
total | 0..0 | |||
link | 0..0 | |||
Slices for entry | S | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource |
entry:All Slices | Content/Rules for all slices | |||
id | 0..0 | |||
extension | 0..0 | |||
modifierExtension | 0..0 | |||
link | 0..0 | |||
fullUrl | S | 1..1 | uri | Locally unique identifier like resource:0 |
resource | S | 0..1 | Resource | A resource in the bundle |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
entry:patient | S | 1..1 | BackboneElement | Patient |
id | 0..0 | |||
extension | 0..0 | |||
modifierExtension | 0..0 | |||
link | 0..0 | |||
fullUrl | SC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
entry:labResult | SC | 1..* | BackboneElement | Laboratory result vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. |
id | 0..0 | |||
extension | 0..0 | |||
modifierExtension | 0..0 | |||
link | 0..0 | |||
fullUrl | SC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
search | 0..0 | |||
request | 0..0 | |||
response | 0..0 | |||
signature | 0..0 | |||
Documentation for this format |
Id | Grade | Path(s) | Details | Requirements |
vc-bundle-lab-status-complete | error | Bundle.entry:labResult | Bundle SHALL only include results with status final or status that is subsequent to final. : $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected') | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') |
Key Elements View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources 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 |
type | SΣ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
Slices for entry | SΣC | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
entry:All Slices | Content/Rules for all slices | |||
fullUrl | SΣ | 1..1 | uri | Locally unique identifier like resource:0 |
resource | SΣ | 0..1 | Resource | A resource in the bundle |
entry:patient | SΣC | 1..1 | BackboneElement | Patient 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
entry:labResult | SΣC | 1..* | BackboneElement | Laboratory result bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Bundle.type | required | Fixed Value: collectionhttp://hl7.org/fhir/ValueSet/bundle-type|4.0.1 from the FHIR Standard | |
Bundle.entry.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:patient.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:labResult.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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, Bundle.entry:patient, Bundle.entry:labResult | 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, Bundle.entry:patient, Bundle.entry:labResult | 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() | |
vc-bundle-lab-status-complete | error | Bundle.entry:labResult | Bundle SHALL only include results with status final or status that is subsequent to final. : $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected') | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources 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 |
type | SΣ | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used. Fixed Value: collection |
Slices for entry | SΣC | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
entry:All Slices | Content/Rules for all slices | |||
fullUrl | SΣ | 1..1 | uri | Locally unique identifier like resource:0 |
resource | SΣ | 0..1 | Resource | A resource in the bundle |
entry:patient | SΣC | 1..1 | BackboneElement | Patient 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
entry:labResult | SΣC | 1..* | BackboneElement | Laboratory result bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. 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 |
fullUrl | SΣC | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
resource | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
Documentation for this format |
Path | Conformance | ValueSet / Code | URI |
Bundle.type | required | Fixed Value: collectionhttp://hl7.org/fhir/ValueSet/bundle-type|4.0.1 from the FHIR Standard | |
Bundle.entry.search.mode | required | SearchEntryModehttp://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1 from the FHIR Standard | |
Bundle.entry.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:patient.search.mode | required | SearchEntryModehttp://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1 from the FHIR Standard | |
Bundle.entry:patient.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard | |
Bundle.entry:labResult.search.mode | required | SearchEntryModehttp://hl7.org/fhir/ValueSet/search-entry-mode|4.0.1 from the FHIR Standard | |
Bundle.entry:labResult.request.method | required | HTTPVerbhttp://hl7.org/fhir/ValueSet/http-verb|4.0.1 from the FHIR Standard |
Id | Grade | Path(s) | Details | Requirements |
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, Bundle.entry:patient, Bundle.entry:labResult | 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, Bundle.entry:patient, Bundle.entry:labResult | 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() | |
vc-bundle-lab-status-complete | error | Bundle.entry:labResult | Bundle SHALL only include results with status final or status that is subsequent to final. : $this.resource.ofType(Observation).status.lower() in ('final'|'amended'|'corrected') | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl, Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') |
This structure is derived from Bundle
Summary
Mandatory: 7 elements
Must-Support: 8 elements
Fixed: 1 element
Prohibited: 30 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
Other representations of profile: CSV, Excel, Schematron