FHIR CI-Build

This is the Continuous Integration Build of FHIR (will be incorrect/inconsistent at times).
See the Directory of published versions icon

FHIR Infrastructure icon Work Group  Maturity Level: 0 Informative Use Context: Any

The canonical URL for this profile is:

http://hl7.org/fhir/StructureDefinition/document-bundle

This profile holds all the requirements and constraints related to a FHIR document.

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: 7 elements
Fixed Value: 1 element
Prohibited: 5 elements

This indicates the differences between this profile and the base Bundle structure.

Name iconFlags iconCard. iconType iconDescription & Constraints icondoco icon
.. Bundle 0..* Bundle Represents a FHIR document
... identifier 1..1 Identifier Persistent identifier for the bundle
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Fixed Value: document
... timestamp 1..1 instant When the bundle was assembled
... total 0..0
... entry 1..* BackboneElement Entry in the bundle - will have a resource or information
.... fullUrl 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
.... resource 1..1 Resource A resource in the bundle
.... search 0..0
.... request 0..0
.... response 0..0
... issues 0..0

doco Documentation for this format icon

This provides the consolidated view (aka snapshot) of the profile after applying the changes in this profile to the base Bundle structure.

Name iconFlags iconCard. iconType iconDescription & Constraints icondoco icon
.. Bundle C icon 0..* Bundle Represents a FHIR document
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

Additional BindingsPurpose
Common Languages Starter Set
... identifier ΣC icon 1..1 Identifier Persistent identifier for the bundle
.... id 0..1 id 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 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value C icon 1..1 string The value that is unique
Example General: 123456
.... period 0..1 Period Time period when id is/was valid for use
.... assigner 0..1 Reference(Organization) Organization that issued id (may be just text)
... type ΣC icon 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.


Fixed Value: document
... timestamp ΣC icon 1..1 instant When the bundle was assembled
... link ΣC icon 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 icon 1..1 code See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Binding: Link Relation Types (required)
.... url ΣC icon 1..1 uri Reference details for the link
... entry ΣC icon 1..* 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 icon 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
.... resource ΣC icon 1..1 Resource A resource in the bundle
... signature Σ 0..1 Signature Digital Signature

doco Documentation for this format icon
<!-- DocumentBundle -->doco

<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 1..1 Identifier  <!-- I 1..1 Persistent identifier for the bundle -->
  <use value="[code]"/><!-- I 0..1 usual | official | temp | secondary | old (If known)   -->
  <type><!-- I 0..1 CodeableConcept Description of identifier   --></type>
  <system value="[uri]"/><!-- I 1..1 The namespace for the identifier value -->
  <value value="[string]"/><!-- I 1..1 The value that is unique -->
  <period><!-- I 0..1 Period 
      Time period when id is/was valid for use --></period>
  <assigner><!-- I 0..1 Reference(Organization) 
      Organization that issued id (may be just text) --></assigner>
 </identifier>
 <type value="[code]"/><!-- I 1..1 document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification   -->
 <timestamp value="[instant]"/><!-- I 1..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 1..* BackboneElement  <!-- I 1..* 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><!-- 1..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..0 BackboneElement  <!-- I 0..0 Results of execution (transaction/batch/history) -->
  </response>
 </entry>
 <signature><!-- I 0..1 Signature Digital Signature --></signature>
 <issues><!-- 0..0 Resource Issues with the Bundle --></issues>
</Bundle>
{ // DocumentBundle
  // 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 }, // I R! Persistent identifier for the bundle
    "type" : "document", // I R! 
    "timestamp" : "<instant>", // I R! When the bundle was assembled
    "link" : [{ BackboneElement }], // ILinks related to this Bundle
    "entry" : [{ BackboneElement }], // I R! Entry in the bundle - will have a resource or information
    "signature" : { Signature } // IDigital Signature
  }

This structure is derived from Bundle.

Summary

Mandatory: 7 elements
Fixed Value: 1 element
Prohibited: 5 elements

Differential View

This indicates the differences between this profile and the base Bundle structure.

Name iconFlags iconCard. iconType iconDescription & Constraints icondoco icon
.. Bundle 0..* Bundle Represents a FHIR document
... identifier 1..1 Identifier Persistent identifier for the bundle
.... system 1..1 uri The namespace for the identifier value
.... value 1..1 string The value that is unique
... type 1..1 code document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification
Fixed Value: document
... timestamp 1..1 instant When the bundle was assembled
... total 0..0
... entry 1..* BackboneElement Entry in the bundle - will have a resource or information
.... fullUrl 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
.... resource 1..1 Resource A resource in the bundle
.... search 0..0
.... request 0..0
.... response 0..0
... issues 0..0

doco Documentation for this format icon

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 iconFlags iconCard. iconType iconDescription & Constraints icondoco icon
.. Bundle C icon 0..* Bundle Represents a FHIR document
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

Additional BindingsPurpose
Common Languages Starter Set
... identifier ΣC icon 1..1 Identifier Persistent identifier for the bundle
.... id 0..1 id 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 1..1 uri The namespace for the identifier value
Example General: http://www.acme.com/identifiers/patient
.... value C icon 1..1 string The value that is unique
Example General: 123456
.... period 0..1 Period Time period when id is/was valid for use
.... assigner 0..1 Reference(Organization) Organization that issued id (may be just text)
... type ΣC icon 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.


Fixed Value: document
... timestamp ΣC icon 1..1 instant When the bundle was assembled
... link ΣC icon 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 icon 1..1 code See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
Binding: Link Relation Types (required)
.... url ΣC icon 1..1 uri Reference details for the link
... entry ΣC icon 1..* 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 icon 1..1 uri URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)
.... resource ΣC icon 1..1 Resource A resource in the bundle
... signature Σ 0..1 Signature Digital Signature

doco Documentation for this format icon

XML Template

<!-- DocumentBundle -->doco

<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 1..1 Identifier  <!-- I 1..1 Persistent identifier for the bundle -->
  <use value="[code]"/><!-- I 0..1 usual | official | temp | secondary | old (If known)   -->
  <type><!-- I 0..1 CodeableConcept Description of identifier   --></type>
  <system value="[uri]"/><!-- I 1..1 The namespace for the identifier value -->
  <value value="[string]"/><!-- I 1..1 The value that is unique -->
  <period><!-- I 0..1 Period 
      Time period when id is/was valid for use --></period>
  <assigner><!-- I 0..1 Reference(Organization) 
      Organization that issued id (may be just text) --></assigner>
 </identifier>
 <type value="[code]"/><!-- I 1..1 document | message | transaction | transaction-response | batch | batch-response | history | searchset | collection | subscription-notification   -->
 <timestamp value="[instant]"/><!-- I 1..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 1..* BackboneElement  <!-- I 1..* 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><!-- 1..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..0 BackboneElement  <!-- I 0..0 Results of execution (transaction/batch/history) -->
  </response>
 </entry>
 <signature><!-- I 0..1 Signature Digital Signature --></signature>
 <issues><!-- 0..0 Resource Issues with the Bundle --></issues>
</Bundle>

JSON Template

{ // DocumentBundle
  // 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 }, // I R! Persistent identifier for the bundle
    "type" : "document", // I R! 
    "timestamp" : "<instant>", // I R! When the bundle was assembled
    "link" : [{ BackboneElement }], // ILinks related to this Bundle
    "entry" : [{ BackboneElement }], // I R! Entry in the bundle - will have a resource or information
    "signature" : { Signature } // IDigital Signature
  }

 

Alternate definitions: Master Definition (XML, JSON), Schematron

Path Name Conformance ValueSet
Bundle.language All Languages required All Languages
Bundle.identifier.use IdentifierUse required IdentifierUse
Bundle.identifier.type Identifier Type Codes extensible Identifier Type Codes
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
. .