Interoperable Digital Identity and Patient Matching
2.0.0 - STU 2 United States of America flag

Interoperable Digital Identity and Patient Matching, published by HL7 International / Patient Administration. This guide is not an authorized publication; it is the continuous build for version 2.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/fhir-identity-matching-ig/ and changes regularly. See the Directory of published versions

Resource Profile: IDI Match Bundle

Official URL: http://hl7.org/fhir/us/identity-matching/StructureDefinition/idi-match-bundle Version: 2.0.0
Standards status: Trial-use Maturity Level: 2 Computable Name: IDIMatchBundle

Bundle requirements for responders to an $IDI-match request. Responders SHALL include only absolute URL FHIR server addresses, and SHALL NOT include URIs for UUIDs or OIDs, in the fullURL returned. This additional constraint on a response to $IDI-match is intended to help recipients understand the source of the response, particularly when a patient match is invoked as part of record location–such that the URL would be needed for additional health data requests performed subsequent to matching. Additionally, the .identifier.assigner element within the returned Bundle SHOULD include an Organization resource that contains at least one appropriate contact point.

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-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier SΣ 1..1 Identifier Persistent identifier for the bundle
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... assigner SΣ 1..1 Reference(Organization) Organization that issued id (may be just text)
... type Σ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: searchset
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile: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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
.... entry:organization SΣC 1..1 BackboneElement Entry in the bundle - will have the payer organization and may have provider organization(s)
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCoreOrganizationProfile Bundle entry for responding organization
.... entry:patient SΣC 0..* BackboneElement Entry in the bundle - will have the patient subject of care and may be a separate subscriber
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCorePatientProfile Bundle entry for matched Patient

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Bundle.type Base required BundleType 📍4.0.1 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 entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle entry.request mandatory for batch/transaction/history, otherwise prohibited entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4 error Bundle entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... identifier S 1..1 Identifier Persistent identifier for the bundle
.... assigner S 1..1 Reference(Organization) Organization that issued id (may be just text)
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: searchset
... Slices for entry S 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
.... entry:All Slices Content/Rules for all slices
..... fullUrl S 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
.... entry:organization S 1..1 BackboneElement Entry in the bundle - will have the payer organization and may have provider organization(s)
..... resource S 1..1 USCoreOrganizationProfile Bundle entry for responding organization
.... entry:patient S 0..* BackboneElement Entry in the bundle - will have the patient subject of care and may be a separate subscriber
..... resource S 1..1 USCorePatientProfile Bundle entry for matched Patient

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... identifier SΣ 1..1 Identifier Persistent identifier for the bundle
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 0..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner SΣ 1..1 Reference(Organization) Organization that issued id (may be just text)
... type Σ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: searchset
... timestamp Σ 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link Σ 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 Σ 1..1 string See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ 1..1 uri Reference details for the link
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile: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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 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 | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... 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 Σ 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 currency
...... 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:organization SΣC 1..1 BackboneElement Entry in the bundle - will have the payer organization and may have provider organization(s)
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCoreOrganizationProfile Bundle entry for responding organization
..... 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 | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... 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 Σ 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 currency
...... 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:patient SΣC 0..* BackboneElement Entry in the bundle - will have the patient subject of care and may be a separate subscriber
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCorePatientProfile Bundle entry for matched Patient
..... 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 | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... 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 Σ 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 currency
...... 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

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Bundle.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Bundle.identifier.type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.
Bundle.entry.search.​mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry.request.​method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:organization.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:organization.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:patient.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:patient.​request.method Base required HTTPVerb 📍4.0.1 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 entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle entry.request mandatory for batch/transaction/history, otherwise prohibited entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4 error Bundle entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 5 elements(2 nested mandatory elements)
Must-Support: 8 elements
Fixed: 1 element

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

Maturity: 2

Key Elements View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... implicitRules ?!Σ 0..1 uri A set of rules under which this content was created
... identifier SΣ 1..1 Identifier Persistent identifier for the bundle
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... assigner SΣ 1..1 Reference(Organization) Organization that issued id (may be just text)
... type Σ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: searchset
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile: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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
.... entry:organization SΣC 1..1 BackboneElement Entry in the bundle - will have the payer organization and may have provider organization(s)
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCoreOrganizationProfile Bundle entry for responding organization
.... entry:patient SΣC 0..* BackboneElement Entry in the bundle - will have the patient subject of care and may be a separate subscriber
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCorePatientProfile Bundle entry for matched Patient

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Bundle.type Base required BundleType 📍4.0.1 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 entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle entry.request mandatory for batch/transaction/history, otherwise prohibited entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4 error Bundle entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle 0..* Bundle Contains a collection of resources
... identifier S 1..1 Identifier Persistent identifier for the bundle
.... assigner S 1..1 Reference(Organization) Organization that issued id (may be just text)
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: searchset
... Slices for entry S 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile:resource
.... entry:All Slices Content/Rules for all slices
..... fullUrl S 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
.... entry:organization S 1..1 BackboneElement Entry in the bundle - will have the payer organization and may have provider organization(s)
..... resource S 1..1 USCoreOrganizationProfile Bundle entry for responding organization
.... entry:patient S 0..* BackboneElement Entry in the bundle - will have the patient subject of care and may be a separate subscriber
..... resource S 1..1 USCorePatientProfile Bundle entry for matched Patient

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraints    Filter: Filtersdoco
.. Bundle C 0..* Bundle Contains a collection of resources
Constraints: bdl-1, bdl-2, bdl-3, bdl-4, bdl-7, bdl-9, bdl-10, bdl-11, bdl-12
... 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
... language 0..1 code Language of the resource content
Binding: CommonLanguages (preferred): A human language.
Additional BindingsPurpose
AllLanguages Max Binding
... identifier SΣ 1..1 Identifier Persistent identifier for the bundle
.... id 0..1 string Unique id for inter-element referencing
.... extension 0..* Extension Additional content defined by implementations
Slice: Unordered, Open by value:url
.... use ?!Σ 0..1 code usual | official | temp | secondary | old (If known)
Binding: IdentifierUse (required): Identifies the purpose for this identifier, if known .
.... type Σ 0..1 CodeableConcept Description of identifier
Binding: Identifier Type Codes (extensible): A coded type for an identifier that can be used to determine which identifier to use for a specific purpose.
.... system Σ 0..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value Σ 0..1 string The value that is unique
Example General: 123456
.... period Σ 0..1 Period Time period when id is/was valid for use
.... assigner SΣ 1..1 Reference(Organization) Organization that issued id (may be just text)
... type Σ 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it is intended to be used.
Fixed Value: searchset
... timestamp Σ 0..1 instant When the bundle was assembled
... total ΣC 0..1 unsignedInt If search, the total number of matches
... link Σ 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 Σ 1..1 string See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url Σ 1..1 uri Reference details for the link
... Slices for entry SΣC 1..* BackboneElement Entry in the bundle - will have a resource or information
Slice: Unordered, Open by profile: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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ 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 | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... 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 Σ 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 currency
...... 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:organization SΣC 1..1 BackboneElement Entry in the bundle - will have the payer organization and may have provider organization(s)
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCoreOrganizationProfile Bundle entry for responding organization
..... 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 | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... 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 Σ 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 currency
...... 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:patient SΣC 0..* BackboneElement Entry in the bundle - will have the patient subject of care and may be a separate subscriber
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 SΣ 1..1 uri URI for resource (Absolute URL server address or URI for UUID/OID)
..... resource S 1..1 USCorePatientProfile Bundle entry for matched Patient
..... 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 | outcome - why this is in the result set
Binding: SearchEntryMode (required): Why an entry is in the result set - whether it's included as a match or because of an _include requirement, or to convey information or warning information about the search process.
...... 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 Σ 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 currency
...... 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

doco Documentation for this format

Terminology Bindings

Path Status Usage ValueSet Version Source
Bundle.language Base preferred Common Languages 📍4.0.1 FHIR Std.
Bundle.identifier.use Base required IdentifierUse 📍4.0.1 FHIR Std.
Bundle.identifier.type Base extensible IdentifierType 📍4.0.1 FHIR Std.
Bundle.type Base required BundleType 📍4.0.1 FHIR Std.
Bundle.entry.search.​mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry.request.​method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:organization.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:organization.​request.method Base required HTTPVerb 📍4.0.1 FHIR Std.
Bundle.entry:patient.​search.mode Base required SearchEntryMode 📍4.0.1 FHIR Std.
Bundle.entry:patient.​request.method Base required HTTPVerb 📍4.0.1 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 entry.search.empty() or (type = 'searchset')
bdl-3 error Bundle entry.request mandatory for batch/transaction/history, otherwise prohibited entry.all(request.exists() = (%resource.type = 'batch' or %resource.type = 'transaction' or %resource.type = 'history'))
bdl-4 error Bundle entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited entry.all(response.exists() = (%resource.type = 'batch-response' or %resource.type = 'transaction-response' or %resource.type = 'history'))
bdl-5 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient must be a resource unless there's a request or response resource.exists() or request.exists() or response.exists()
bdl-7 error Bundle FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) (type = 'history') or entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-8 error Bundle.entry, Bundle.entry:organization, Bundle.entry:patient fullUrl cannot be a version specific reference fullUrl.contains('/_history/').not()
bdl-9 error Bundle A document must have an identifier with a system and a value type = 'document' implies (identifier.system.exists() and identifier.value.exists())
bdl-10 error Bundle A document must have a date type = 'document' implies (timestamp.hasValue())
bdl-11 error Bundle A document must have a Composition as the first resource type = 'document' implies entry.first().resource.is(Composition)
bdl-12 error Bundle A message must have a MessageHeader as the first resource type = 'message' implies entry.first().resource.is(MessageHeader)
ele-1 error **ALL** elements All FHIR elements must have a @value or children hasValue() or (children().count() > id.count())
ext-1 error **ALL** extensions Must have either extensions or value[x], not both extension.exists() != value.exists()

This structure is derived from Bundle

Summary

Mandatory: 5 elements(2 nested mandatory elements)
Must-Support: 8 elements
Fixed: 1 element

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

Maturity: 2

 

Other representations of profile: CSV, Excel, Schematron