SMART Health Cards: Vaccination & Testing Implementation Guide, published by HL7 International - Public Health Work Group. This is not an authorized publication; it is the continuous build for version 0.6.2). 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: 0.6.2 | |||
Active as of 2022-06-27 | Computable Name: SHCCovid19LaboratoryBundleDM |
The bundle of resources that represents the clinical content of a digital lab credential record specifically for COVID-19 data minimization.
Defines the contents of the `fhirBundle` element in a SMART Health Card for a given use case.
Primary profile (DM) | Fallback Profiles (AD) | Scope |
---|---|---|
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
Summary
Mandatory: 7 elements
Must-Support: 8 elements
Prohibited: 30 elements
Structures
This structure refers to these other structures:
Slices
This structure defines the following Slices:
This structure is derived from Bundle
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | 0..* | Bundle | Contains a collection of resources | |
![]() ![]() ![]() | I | 0..0 | ||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | S | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Required Pattern: collection |
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | S | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource |
![]() ![]() ![]() ![]() | Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | S | 1..1 | uri | Locally unique identifier like resource:0 |
![]() ![]() ![]() ![]() ![]() | S | 0..1 | Resource | A resource in the bundle |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | S | 1..1 | BackboneElement | Patient |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | SI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | SI | 1..* | BackboneElement | Laboratory result vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | SI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | Bundle | Contains a collection of resources |
![]() ![]() ![]() | 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. Required Pattern: collection |
![]() ![]() ![]() | SΣI | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
![]() ![]() ![]() ![]() | Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() | SΣ | 1..1 | uri | Locally unique identifier like resource:0 |
![]() ![]() ![]() ![]() ![]() | SΣ | 0..1 | Resource | A resource in the bundle |
![]() ![]() ![]() ![]() | SΣI | 1..1 | BackboneElement | Patient 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 |
![]() ![]() ![]() ![]() ![]() | SΣI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
![]() ![]() ![]() ![]() | SΣI | 1..* | BackboneElement | Laboratory result 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 |
![]() ![]() ![]() ![]() ![]() | SΣI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | I | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions |
![]() |
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | Bundle | Contains a collection of resources |
![]() ![]() ![]() | Σ | 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. Required Pattern: collection |
![]() ![]() ![]() | ΣI | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
![]() ![]() ![]() ![]() | Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() | Σ | 1..1 | uri | Locally unique identifier like resource:0 |
![]() ![]() ![]() ![]() ![]() | Σ | 0..1 | Resource | A resource in the bundle |
![]() ![]() ![]() ![]() | ΣI | 1..1 | BackboneElement | Patient 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 |
![]() ![]() ![]() ![]() ![]() | ΣI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() | ΣI | 1..* | BackboneElement | Laboratory result 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 |
![]() ![]() ![]() ![]() ![]() | ΣI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() |
This structure is derived from Bundle
Summary
Mandatory: 7 elements
Must-Support: 8 elements
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![]() |
---|---|---|---|---|
![]() ![]() | 0..* | Bundle | Contains a collection of resources | |
![]() ![]() ![]() | I | 0..0 | ||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | S | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection Required Pattern: collection |
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | S | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource |
![]() ![]() ![]() ![]() | Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | S | 1..1 | uri | Locally unique identifier like resource:0 |
![]() ![]() ![]() ![]() ![]() | S | 0..1 | Resource | A resource in the bundle |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | S | 1..1 | BackboneElement | Patient |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | SI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() | SI | 1..* | BackboneElement | Laboratory result vc-bundle-lab-status-complete: Bundle SHALL only include results with status final or status that is subsequent to final. |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | SI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions | |
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() ![]() ![]() | 0..0 | |||
![]() ![]() ![]() | 0..0 | |||
![]() |
Snapshot View
Name | Flags | Card. | Type | Description & Constraints![]() |
---|---|---|---|---|
![]() ![]() | I | 0..* | Bundle | Contains a collection of resources |
![]() ![]() ![]() | 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. Required Pattern: collection |
![]() ![]() ![]() | SΣI | 2..* | BackboneElement | Entry in the bundle - will have a resource or information Slice: Unordered, Closed by type:resource 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 |
![]() ![]() ![]() ![]() | Content/Rules for all slices | |||
![]() ![]() ![]() ![]() ![]() | SΣ | 1..1 | uri | Locally unique identifier like resource:0 |
![]() ![]() ![]() ![]() ![]() | SΣ | 0..1 | Resource | A resource in the bundle |
![]() ![]() ![]() ![]() | SΣI | 1..1 | BackboneElement | Patient 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 |
![]() ![]() ![]() ![]() ![]() | SΣI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | 1..1 | SHCPatientGeneralDM | Information about an individual receiving an individual receiving a vaccination or infectious disease-related laboratory test | |
![]() ![]() ![]() ![]() | SΣI | 1..* | BackboneElement | Laboratory result 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 |
![]() ![]() ![]() ![]() ![]() | SΣI | 1..1 | uri | Locally unique identifier like resource:0 vc-shall-be-resource-uri: IDs SHALL use resource:# format |
![]() ![]() ![]() ![]() ![]() | I | 1..1 | SHCCovid19LaboratoryResultObservationDM | Measurements and simple assertions |
![]() |
Other representations of profile: CSV, Excel, Schematron
Path | Conformance | ValueSet / Code |
Bundle.type | required | Pattern: collection |
Bundle.entry.search.mode | required | SearchEntryMode |
Bundle.entry.request.method | required | HTTPVerb |
Bundle.entry:patient.search.mode | required | SearchEntryMode |
Bundle.entry:patient.request.method | required | HTTPVerb |
Bundle.entry:labResult.search.mode | required | SearchEntryMode |
Bundle.entry:labResult.request.method | required | HTTPVerb |
Id | Grade | Path | 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-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-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 | Bundle.type | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.link.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.link.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.link.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.link.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.link.relation | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.link.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
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-8 | error | Bundle.entry | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
ele-1 | error | Bundle.entry | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.fullUrl | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.search.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry.search.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry.search.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry.search.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry.search.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.search.score | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.request.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry.request.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry.request.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry.request.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry.request.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.request.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.request.ifNoneMatch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.request.ifModifiedSince | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.request.ifMatch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.request.ifNoneExist | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.response.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry.response.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry.response.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry.response.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry.response.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.response.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.response.etag | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry.response.lastModified | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
bdl-5 | error | Bundle.entry:patient | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-8 | error | Bundle.entry:patient | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
ele-1 | error | Bundle.entry:patient | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.fullUrl | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-shall-be-resource-uri | error | Bundle.entry:patient.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') | |
dom-2 | error | Bundle.entry:patient.resource | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Bundle.entry:patient.resource | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Bundle.entry:patient.resource | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Bundle.entry:patient.resource | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | Bundle.entry:patient.resource | A resource should have narrative for robust management : text.`div`.exists() | |
ele-1 | error | Bundle.entry:patient.search.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:patient.search.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:patient.search.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:patient.search.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:patient.search.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.search.score | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.request.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:patient.request.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:patient.request.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:patient.request.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:patient.request.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.request.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.request.ifNoneMatch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.request.ifModifiedSince | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.request.ifMatch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.request.ifNoneExist | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.response.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:patient.response.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:patient.response.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:patient.response.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:patient.response.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.response.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.response.etag | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:patient.response.lastModified | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
bdl-5 | error | Bundle.entry:labResult | must be a resource unless there's a request or response : resource.exists() or request.exists() or response.exists() | |
bdl-8 | error | Bundle.entry:labResult | fullUrl cannot be a version specific reference : fullUrl.contains('/_history/').not() | |
ele-1 | error | Bundle.entry:labResult | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
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') | |
ele-1 | error | Bundle.entry:labResult.fullUrl | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
vc-shall-be-resource-uri | error | Bundle.entry:labResult.fullUrl | IDs SHALL use resource:# format : $this.matches('^resource:[0-9]+$') | |
dom-2 | error | Bundle.entry:labResult.resource | If the resource is contained in another resource, it SHALL NOT contain nested Resources : contained.contained.empty() | |
dom-3 | error | Bundle.entry:labResult.resource | If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource : contained.where((('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(canonical) = '#').exists()).not()).trace('unmatched', id).empty() | |
dom-4 | error | Bundle.entry:labResult.resource | If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated : contained.meta.versionId.empty() and contained.meta.lastUpdated.empty() | |
dom-5 | error | Bundle.entry:labResult.resource | If a resource is contained in another resource, it SHALL NOT have a security label : contained.meta.security.empty() | |
dom-6 | Best Practice | Bundle.entry:labResult.resource | A resource should have narrative for robust management : text.`div`.exists() | |
obs-6 | error | Bundle.entry:labResult.resource | dataAbsentReason SHALL only be present if Observation.value[x] is not present : dataAbsentReason.empty() or value.empty() | |
obs-7 | error | Bundle.entry:labResult.resource | If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present : value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty() | |
ele-1 | error | Bundle.entry:labResult.search.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:labResult.search.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:labResult.search.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:labResult.search.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:labResult.search.mode | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.search.score | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.request.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:labResult.request.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:labResult.request.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:labResult.request.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:labResult.request.method | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.request.url | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.request.ifNoneMatch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.request.ifModifiedSince | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.request.ifMatch | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.request.ifNoneExist | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.response.extension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:labResult.response.extension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:labResult.response.modifierExtension | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ext-1 | error | Bundle.entry:labResult.response.modifierExtension | Must have either extensions or value[x], not both : extension.exists() != value.exists() | |
ele-1 | error | Bundle.entry:labResult.response.status | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.response.location | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.response.etag | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) | |
ele-1 | error | Bundle.entry:labResult.response.lastModified | All FHIR elements must have a @value or children : hasValue() or (children().count() > id.count()) |