Orthovision AI FHIR Implementation Guide
0.2.0 - ci-build

Orthovision AI FHIR Implementation Guide - Local Development build (v0.2.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions

Resource Profile: Orthovision AI Bundle

Official URL: http://medoco.health/fhir/StructureDefinition/orthovision-ai-bundle Version: 0.2.0
Active as of 2025-10-29 Computable Name: OrthovisionAIBundle

A Bundle containing all resources needed for AI image processing: Binary with image data, optional ImagingStudy for context, and Task for processing request.

The OrthovisionAIBundle provides a streamlined approach for submitting medical image classification requests by bundling all required resources into a single atomic transaction.

Purpose

This Bundle contains:

  • Binary: The medical image data to be classified
  • Task: The processing request specifying which DICOM tags to classify
  • ImagingStudy (optional): Additional DICOM metadata context for improved accuracy

Benefits

Atomic Operations

All resources are created together in a single transaction, ensuring referential integrity and preventing orphaned resources.

Simplified Client Implementation

  • Single POST request instead of multiple sequential operations
  • No need to manage intermediate resource states
  • Built-in error handling with transaction rollback

Server Benefits

  • No orphaned Binary resources requiring cleanup
  • Clear resource lifecycle management
  • Reduced implementation complexity

Usage

Submit the bundle to the /Bundle endpoint using a POST request. The server will:

  1. Validate the bundle structure and resource references
  2. Create all resources atomically
  3. Automatically transition the Task to "in-progress" status
  4. Begin asynchronous AI processing
  5. Return a transaction response with the created resource IDs

Reference Handling

Resources within the bundle reference each other using temporary UUIDs (e.g., urn:uuid:resource-id). The server resolves these to actual resource IDs upon creation.

Example

See the API Workflow page for a complete example of Bundle submission and processing.

Usages:

You can also check for usages in the FHIR IG Statistics

Formal Views of Profile Content

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

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d, bundle-task-references-binary
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... type ΣC 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Required Pattern: transaction
... Slices for entry SΣC 2..3 BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
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
.... entry:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 Resource A resource in the bundle
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
.... entry:binaryEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAIBinary Pure binary content defined by a format other than FHIR
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Binary
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
.... entry:taskEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAITask A task to be performed
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Task
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
.... entry:imagingStudyEntry SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 ImagingStudy A resource in the bundle
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: ImagingStudy
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:binaryEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:taskEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:imagingStudyEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

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 (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry fullUrl cannot be a version specific reference fullUrl.exists() implies 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)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
bundle-task-references-binary error Bundle The Task in the bundle must reference the Binary in the same bundle entry.where(resource is Task).resource.focus.reference.startsWith('urn:uuid:') and entry.where(resource is Binary).exists(fullUrl = %context.entry.where(resource is Task).resource.focus.reference)
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()

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bundle-task-references-binary
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Required Pattern: transaction
... Slices for entry S 2..3 BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:binaryEntry S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 0..1 OrthovisionAIBinary Pure binary content defined by a format other than FHIR
..... request S 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... method 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Required Pattern: POST
...... url 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Binary
.... entry:taskEntry S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 0..1 OrthovisionAITask A task to be performed
..... request S 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... method 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Required Pattern: POST
...... url 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Task
.... entry:imagingStudyEntry S 0..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 0..1 ImagingStudy A resource in the bundle
..... request S 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... method 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Required Pattern: POST
...... url 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: ImagingStudy

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
bundle-task-references-binary error Bundle The Task in the bundle must reference the Binary in the same bundle entry.where(resource is Task).resource.focus.reference.startsWith('urn:uuid:') and entry.where(resource is Binary).exists(fullUrl = %context.entry.where(resource is Task).resource.focus.reference)
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d, bundle-task-references-binary
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier ΣC 0..1 Identifier Persistent identifier for the bundle
... type ΣC 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Required Pattern: transaction
... timestamp ΣC 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link ΣC 0..* BackboneElement Links related to this Bundle
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... relation ΣC 1..1 code See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Binding: LinkRelationTypes (required)
.... url ΣC 1..1 uri Reference details for the link
... Slices for entry SΣC 2..3 BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
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
.... entry:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 Resource A resource in the bundle
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:binaryEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAIBinary Pure binary content defined by a format other than FHIR
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Binary
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:taskEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAITask A task to be performed
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Task
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:imagingStudyEntry SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 ImagingStudy A resource in the bundle
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: ImagingStudy
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
... signature Σ 0..1 Signature Digital Signature
... issues ΣC 0..1 OperationOutcome(5.0.0) Issues with the Bundle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base required All Languages 📍5.0.0 FHIR Std.
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.link.relation Base required Link Relation Types 📍5.0.0 FHIR Std.
Bundle.entry.search.​mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:binaryEntry.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:binaryEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:taskEntry.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:taskEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:imagingStudyEntry.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:imagingStudyEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

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 (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry fullUrl cannot be a version specific reference fullUrl.exists() implies 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)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
bundle-task-references-binary error Bundle The Task in the bundle must reference the Binary in the same bundle entry.where(resource is Task).resource.focus.reference.startsWith('urn:uuid:') and entry.where(resource is Binary).exists(fullUrl = %context.entry.where(resource is Task).resource.focus.reference)
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()

This structure is derived from Bundle

Summary

Mandatory: 4 elements(1 nested mandatory element)
Must-Support: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Bundle.entry

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d, bundle-task-references-binary
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... type ΣC 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Required Pattern: transaction
... Slices for entry SΣC 2..3 BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
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
.... entry:All Slices Content/Rules for all slices
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 Resource A resource in the bundle
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
.... entry:binaryEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAIBinary Pure binary content defined by a format other than FHIR
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Binary
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
.... entry:taskEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAITask A task to be performed
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Task
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
.... entry:imagingStudyEntry SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 ImagingStudy A resource in the bundle
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: ImagingStudy
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:binaryEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:taskEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:imagingStudyEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

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 (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry fullUrl cannot be a version specific reference fullUrl.exists() implies 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)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
bundle-task-references-binary error Bundle The Task in the bundle must reference the Binary in the same bundle entry.where(resource is Task).resource.focus.reference.startsWith('urn:uuid:') and entry.where(resource is Binary).exists(fullUrl = %context.entry.where(resource is Task).resource.focus.reference)
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()

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bundle-task-references-binary
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Required Pattern: transaction
... Slices for entry S 2..3 BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:binaryEntry S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 0..1 OrthovisionAIBinary Pure binary content defined by a format other than FHIR
..... request S 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... method 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Required Pattern: POST
...... url 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Binary
.... entry:taskEntry S 1..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 0..1 OrthovisionAITask A task to be performed
..... request S 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... method 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Required Pattern: POST
...... url 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Task
.... entry:imagingStudyEntry S 0..1 BackboneElement Entry in the bundle - will have a resource or information
..... resource 0..1 ImagingStudy A resource in the bundle
..... request S 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... method 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Required Pattern: POST
...... url 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: ImagingStudy

doco Documentation for this format

Constraints

Id Grade Path(s) Description Expression
bundle-task-references-binary error Bundle The Task in the bundle must reference the Binary in the same bundle entry.where(resource is Task).resource.focus.reference.startsWith('urn:uuid:') and entry.where(resource is Binary).exists(fullUrl = %context.entry.where(resource is Task).resource.focus.reference)

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12, bdl-13, bdl-14, bdl-15, bdl-16, bdl-17, bdl-18, bdl-3a, bdl-3b, bdl-3c, bdl-3d, bundle-task-references-binary
... id Σ 0..1 id Logical id of this artifact
... meta Σ 0..1 Meta Metadata about the resource
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier ΣC 0..1 Identifier Persistent identifier for the bundle
... type ΣC 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Required Pattern: transaction
... timestamp ΣC 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link ΣC 0..* BackboneElement Links related to this Bundle
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
.... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
.... relation ΣC 1..1 code See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Binding: LinkRelationTypes (required)
.... url ΣC 1..1 uri Reference details for the link
... Slices for entry SΣC 2..3 BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
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
.... entry:All Slices Content/Rules for all slices
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 Resource A resource in the bundle
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request ΣC 0..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:binaryEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAIBinary Pure binary content defined by a format other than FHIR
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Binary
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:taskEntry SΣC 1..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource 0..1 OrthovisionAITask A task to be performed
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: Task
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
.... entry:imagingStudyEntry SΣC 0..1 BackboneElement Entry in the bundle - will have a resource or information
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
..... id 0..1 string Unique id for inter-element referencing
..... extension 0..* Extension Additional content defined by implementations
..... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
..... link Σ 0..* See link (Bundle) Links related to this entry
..... fullUrl ΣC 0..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
..... resource ΣC 0..1 ImagingStudy A resource in the bundle
..... search ΣC 0..1 BackboneElement Search related information
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... mode Σ 0..1 code match | include - 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.
...... score Σ 0..1 decimal Search ranking (between 0 and 1)
..... request SΣC 1..1 BackboneElement Additional execution information (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... method ΣC 1..1 code GET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line). See HTTP rfc for details.
Required Pattern: POST
...... url Σ 1..1 uri URL for HTTP equivalent of this entry
Required Pattern: ImagingStudy
...... ifNoneMatch Σ 0..1 string For managing cache validation
...... ifModifiedSince Σ 0..1 instant For managing cache currency
...... ifMatch Σ 0..1 string For managing update contention
...... ifNoneExist Σ 0..1 string For conditional creates
..... response ΣC 0..1 BackboneElement Results of execution (transaction/batch/history)
...... id 0..1 string Unique id for inter-element referencing
...... extension 0..* Extension Additional content defined by implementations
...... modifierExtension ?!Σ 0..* Extension Extensions that cannot be ignored even if unrecognized
...... status Σ 1..1 string Status response code (text optional)
...... location Σ 0..1 uri The location (if the operation returns a location)
...... etag Σ 0..1 string The Etag for the resource (if relevant)
...... lastModified Σ 0..1 instant Server's date time modified
...... outcome Σ 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction)
... signature Σ 0..1 Signature Digital Signature
... issues ΣC 0..1 OperationOutcome(5.0.0) Issues with the Bundle

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base required All Languages 📍5.0.0 FHIR Std.
Bundle.type Base required Bundle Type 📍5.0.0 FHIR Std.
Bundle.link.relation Base required Link Relation Types 📍5.0.0 FHIR Std.
Bundle.entry.search.​mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry.request.​method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:binaryEntry.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:binaryEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:taskEntry.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:taskEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.
Bundle.entry:imagingStudyEntry.​search.mode Base required Search Entry Mode 📍5.0.0 FHIR Std.
Bundle.entry:imagingStudyEntry.​request.method Base required H T T P Verb 📍5.0.0 FHIR Std.

Constraints

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 (type = 'searchset') or entry.search.empty()
bdl-5 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry 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&iif(resource.meta.versionId.exists(), resource.meta.versionId, '')).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:binaryEntry, Bundle.entry:taskEntry, Bundle.entry:imagingStudyEntry fullUrl cannot be a version specific reference fullUrl.exists() implies 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)
bdl-13 error Bundle A subscription-notification must have a SubscriptionStatus as the first resource type = 'subscription-notification' implies entry.first().resource.is(SubscriptionStatus)
bdl-14 error Bundle entry.request.method PATCH not allowed for history type = 'history' implies entry.request.method != 'PATCH'
bdl-15 error Bundle Bundle resources where type is not transaction, transaction-response, batch, or batch-response or when the request is a POST SHALL have Bundle.entry.fullUrl populated type='transaction' or type='transaction-response' or type='batch' or type='batch-response' or entry.all(fullUrl.exists() or request.method='POST')
bdl-16 error Bundle Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. issues.exists() implies (issues.issue.severity = 'information' or issues.issue.severity = 'warning')
bdl-17 error Bundle Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. type = 'document' implies issues.empty()
bdl-18 error Bundle Self link is required for searchsets. type = 'searchset' implies link.where(relation = 'self' and url.exists()).exists()
bdl-3a error Bundle For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements type in ('document' | 'message' | 'searchset' | 'collection') implies entry.all(resource.exists() and request.empty() and response.empty())
bdl-3b error Bundle For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH type = 'history' implies entry.all(request.exists() and response.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3c error Bundle For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH type in ('transaction' | 'batch') implies entry.all(request.method.exists() and ((request.method in ('POST' | 'PATCH' | 'PUT')) = resource.exists()))
bdl-3d error Bundle For collections of type transaction-response or batch-response, all entries must contain response elements type in ('transaction-response' | 'batch-response') implies entry.all(response.exists())
bundle-task-references-binary error Bundle The Task in the bundle must reference the Binary in the same bundle entry.where(resource is Task).resource.focus.reference.startsWith('urn:uuid:') and entry.where(resource is Binary).exists(fullUrl = %context.entry.where(resource is Task).resource.focus.reference)
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()

This structure is derived from Bundle

Summary

Mandatory: 4 elements(1 nested mandatory element)
Must-Support: 7 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element 1 is sliced based on the value of Bundle.entry

 

Other representations of profile: CSV, Excel, Schematron