This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions
FHIR Infrastructure Work Group | Maturity Level: 0 | Informative | Use Context: Any |
The canonical URL for this profile is:
http://hl7.org/fhir/StructureDefinition/transaction-response-bundle
This profile holds all the requirements and constraints related to a FHIR transaction response.
This profile was published on Wed, Mar 11, 2015 00:00+0000 as a draft by Health Level Seven, Inc. - FHIR Core WG.
Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.
This structure is derived from Bundle.
Summary
Mandatory: 0 element (+1 nested mandatory element)
Prohibited: 3 elements
This indicates the differences between this profile and the base Bundle structure.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | Bundle | |||
type | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification Required Pattern: transaction-response | |
total | 0..0 | |||
entry | ||||
fullUrl | 1..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.) | |
search | 0..0 | |||
request | 0..0 | |||
issues | 0..1 | OperationOutcome | Issues with the Bundle | |
Documentation for this format |
This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Bundle structure.
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources bdl-1: total only when a search or history bdl-2: entry.search only when a search bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) bdl-9: A document must have an identifier with a system and a value bdl-10: A document must have a date bdl-11: A document must have a Composition as the first resource bdl-12: A message must have a MessageHeader as the first resource bdl-13: A subscription-notification must have a SubscriptionStatus as the first resource bdl-14: entry.request.method PATCH not allowed for history bdl-15: 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 bdl-16: Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. bdl-17: Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. bdl-18: Self link is required for searchsets. bdl-3a: For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements bdl-3b: For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH bdl-3c: For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH bdl-3d: For collections of type transaction-response or batch-response, all entries must contain response elements | ||||
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: All Languages (required): IETF language tag for a human language
| |||||
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: Bundle Type (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: transaction-response | ||||
timestamp | ΣC | 0..1 | instant | When the bundle was assembled | ||||
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: Link Relation Types (required) | ||||
url | ΣC | 1..1 | uri | Reference details for the link | ||||
entry | ΣC | 0..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type | ||||
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 | 1..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 | ||||
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 | Issues with the Bundle | ||||
Documentation for this format |
<!-- TransactionResponseBundle --> <Bundle xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <meta><!-- I 0..1 Meta Metadata about the resource --></meta> <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created --> <language value="[code]"/><!-- I 0..1 Language of the resource content --> <identifier><!-- I 0..1 Identifier Persistent identifier for the bundle --></identifier> <type value="[code]"/><!-- I 1..1 document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification --> <timestamp value="[instant]"/><!-- I 0..1 When the bundle was assembled --> <total value="[unsignedInt]"/><!-- I 0..0 If search, the total number of matches --> <link> I 0..* BackboneElement <!-- I 0..* Links related to this Bundle --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <relation value="[code]"/><!-- I 1..1 See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 --> <url value="[uri]"/><!-- I 1..1 Reference details for the link --> </link> <entry> I 0..* BackboneElement <!-- I 0..* Entry in the bundle - will have a resource or information --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <link><!-- See http://hl7.org/fhir/StructureDefinition/Bundle#Bundle.link Links related to this entry --></link> <fullUrl value="[uri]"/><!-- I 1..1 URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.) --> <resource><!-- 0..1 Resource A resource in the bundle --></resource> <search> I 0..0 BackboneElement <!-- I 0..0 Search related information --> </search> <request> I 0..0 BackboneElement <!-- I 0..0 Additional execution information (transaction/batch/history) --> </request> <response> I 0..1 BackboneElement <!-- I 0..1 Results of execution (transaction/batch/history) --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <status value="[string]"/><!-- I 1..1 Status response code (text optional) --> <location value="[uri]"/><!-- I 0..1 The location (if the operation returns a location) --> <etag value="[string]"/><!-- I 0..1 The Etag for the resource (if relevant) --> <lastModified value="[instant]"/><!-- I 0..1 Server's date time modified --> <outcome><!-- 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction) --></outcome> </response> </entry> <signature><!-- I 0..1 Signature Digital Signature --></signature> <issues><!-- 0..1 Resource Issues with the Bundle --></issues> </Bundle>
{ // TransactionResponseBundle // from Element: extension "meta" : { Meta }, // IMetadata about the resource "implicitRules" : "<uri>", // IA set of rules under which this content was created "language" : "<code>", // ILanguage of the resource content "identifier" : { Identifier }, // IPersistent identifier for the bundle "type" : "<code>", // I R! document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification "timestamp" : "<instant>", // IWhen the bundle was assembled "link" : [{ BackboneElement }], // ILinks related to this Bundle "entry" : [{ BackboneElement }], // IEntry in the bundle - will have a resource or information "signature" : { Signature }, // IDigital Signature "issues" : { Resource(OperationOutcome) } //Issues with the Bundle }
This structure is derived from Bundle.
Differential View
This indicates the differences between this profile and the base Bundle structure.
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
Bundle | Bundle | |||
type | 1..1 | code | document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification Required Pattern: transaction-response | |
total | 0..0 | |||
entry | ||||
fullUrl | 1..1 | uri | URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.) | |
search | 0..0 | |||
request | 0..0 | |||
issues | 0..1 | OperationOutcome | Issues with the Bundle | |
Documentation for this format |
Snapshot View
This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Bundle structure.
Name | Flags | Card. | Type | Description & Constraints | ||||
---|---|---|---|---|---|---|---|---|
Bundle | C | 0..* | Bundle | Contains a collection of resources bdl-1: total only when a search or history bdl-2: entry.search only when a search bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles) bdl-9: A document must have an identifier with a system and a value bdl-10: A document must have a date bdl-11: A document must have a Composition as the first resource bdl-12: A message must have a MessageHeader as the first resource bdl-13: A subscription-notification must have a SubscriptionStatus as the first resource bdl-14: entry.request.method PATCH not allowed for history bdl-15: 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 bdl-16: Issue.severity for all issues within the OperationOutcome must be either 'information' or 'warning'. bdl-17: Use and meaning of issues for documents has not been validated because the content will not be rendered in the document. bdl-18: Self link is required for searchsets. bdl-3a: For collections of type document, message, searchset or collection, all entries must contain resources, and not have request or response elements bdl-3b: For collections of type history, all entries must contain request or response elements, and resources if the method is POST, PUT or PATCH bdl-3c: For collections of type transaction or batch, all entries must contain request elements, and resources if the method is POST, PUT or PATCH bdl-3d: For collections of type transaction-response or batch-response, all entries must contain response elements | ||||
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: All Languages (required): IETF language tag for a human language
| |||||
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: Bundle Type (required): Indicates the purpose of a bundle - how it is intended to be used. Required Pattern: transaction-response | ||||
timestamp | ΣC | 0..1 | instant | When the bundle was assembled | ||||
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: Link Relation Types (required) | ||||
url | ΣC | 1..1 | uri | Reference details for the link | ||||
entry | ΣC | 0..* | BackboneElement | Entry in the bundle - will have a resource or information bdl-5: must be a resource unless there's a request or response bdl-8: fullUrl cannot be a version specific reference This repeating element order: For bundles of type 'document' and 'message', the first resource is special (must be Composition or MessageHeader respectively). For all bundles, the meaning of the order of entries depends on the bundle type | ||||
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 | 1..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 | ||||
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 | Issues with the Bundle | ||||
Documentation for this format |
XML Template
<!-- TransactionResponseBundle --> <Bundle xmlns="http://hl7.org/fhir" > <!-- from Element: extension --> <id value="[id]"/><!-- 0..1 Logical id of this artifact --> <meta><!-- I 0..1 Meta Metadata about the resource --></meta> <implicitRules value="[uri]"/><!-- I 0..1 A set of rules under which this content was created --> <language value="[code]"/><!-- I 0..1 Language of the resource content --> <identifier><!-- I 0..1 Identifier Persistent identifier for the bundle --></identifier> <type value="[code]"/><!-- I 1..1 document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification --> <timestamp value="[instant]"/><!-- I 0..1 When the bundle was assembled --> <total value="[unsignedInt]"/><!-- I 0..0 If search, the total number of matches --> <link> I 0..* BackboneElement <!-- I 0..* Links related to this Bundle --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <relation value="[code]"/><!-- I 1..1 See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1 --> <url value="[uri]"/><!-- I 1..1 Reference details for the link --> </link> <entry> I 0..* BackboneElement <!-- I 0..* Entry in the bundle - will have a resource or information --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <link><!-- See http://hl7.org/fhir/StructureDefinition/Bundle#Bundle.link Links related to this entry --></link> <fullUrl value="[uri]"/><!-- I 1..1 URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.) --> <resource><!-- 0..1 Resource A resource in the bundle --></resource> <search> I 0..0 BackboneElement <!-- I 0..0 Search related information --> </search> <request> I 0..0 BackboneElement <!-- I 0..0 Additional execution information (transaction/batch/history) --> </request> <response> I 0..1 BackboneElement <!-- I 0..1 Results of execution (transaction/batch/history) --> <modifierExtension><!-- I 0..* Extension Extensions that cannot be ignored even if unrecognized --></modifierExtension> <status value="[string]"/><!-- I 1..1 Status response code (text optional) --> <location value="[uri]"/><!-- I 0..1 The location (if the operation returns a location) --> <etag value="[string]"/><!-- I 0..1 The Etag for the resource (if relevant) --> <lastModified value="[instant]"/><!-- I 0..1 Server's date time modified --> <outcome><!-- 0..1 Resource OperationOutcome with hints and warnings (for batch/transaction) --></outcome> </response> </entry> <signature><!-- I 0..1 Signature Digital Signature --></signature> <issues><!-- 0..1 Resource Issues with the Bundle --></issues> </Bundle>
JSON Template
{ // TransactionResponseBundle // from Element: extension "meta" : { Meta }, // IMetadata about the resource "implicitRules" : "<uri>", // IA set of rules under which this content was created "language" : "<code>", // ILanguage of the resource content "identifier" : { Identifier }, // IPersistent identifier for the bundle "type" : "<code>", // I R! document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification "timestamp" : "<instant>", // IWhen the bundle was assembled "link" : [{ BackboneElement }], // ILinks related to this Bundle "entry" : [{ BackboneElement }], // IEntry in the bundle - will have a resource or information "signature" : { Signature }, // IDigital Signature "issues" : { Resource(OperationOutcome) } //Issues with the Bundle }
Alternate definitions: Master Definition (XML, JSON), Schematron
Path | Name | Conformance | ValueSet |
Bundle.language | All Languages | required | All Languages |
Bundle.type | Bundle Type | required | Bundle Type |
Bundle.link.relation | Link Relation Types | required | Link Relation Types |
Bundle.entry.search.mode | Search Entry Mode | required | Search Entry Mode |
Bundle.entry.request.method | H T T P Verb | required | H T T P Verb |