Shared Health Specification and Guide Version 5.0

 

The official URL for this profile is:

http://sharedhealth.exchange/fhir/StructureDefinition/profile-bundle

Download Excel representation

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

>

This structure is derived from Bundle

NameCard.TypeConstraints and Usage
.  Bundle 0..*Bundlebdl-2: entry.search only when a search
bdl-1: total only when a search or history
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId
bdl-3: entry.request only for some types of bundles
bdl-4: entry.response only for some types of bundles
Definition:
A container for a collection of resources.

..  id 0..1idDefinition:
The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.


Comments:
Usage Note: This value is assigned by the PrescribeIT® system upon receipt of a bundle and returned synchronously in the response to that bundle. This ID should not be confused with the traceID that is also returned in the response and is generally used when diagnosing message failures within the PrescribeIT® system logs. The Bundle.id is also used by receiving systems to remove the bundle from their inbox after they have successfully retrieved the bundle.

..  meta 1..1MetaDefinition:
The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.

...  profile 1..*uriDefinition:
A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].


Comments:
It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

...  tag 1..*CodingSlice: Unordered, Open by value:system
Binding: (unbound) (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


Definition:
Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.


Comments:
The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

...  tag
       (version)
1..1CodingBinding: SharedSpecificationVersion (20210501) (required)
Definition:
Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.


Comments:
Usage Note: This the version of the specification the Bundle claims to be conformant with.



Usage Note: Only these 2 situations are not enforced by FHIR Validator:



  1. Non-routed EMR/PMS Inbox messages and Clear Queue Request that is sent only to Central Switch; and

  2. Synchronous messages generated by Central Switch (Errors with only OperationOutcome profile and Clear Queue Response)



....  system 1..1uriFixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion
Definition:
The identification of the code system that defines the meaning of the symbol in the code.


Comments:
Fixed value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion

....  code 1..1codeDefinition:
A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

This structure is derived from Bundle

Summary

Mandatory: 6 elements
Must-Support: 7 elements
Fixed Value: 1 element

Slices

This structure defines the following Slices:

  • The element Bundle.meta.tag is sliced based on the value of value:system

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle S0..*BundleContains a collection of resources
... id S0..1idLogical id of this artifact
... meta S1..1MetaMetadata about the resource
.... profile S1..*uriProfiles this resource claims to conform to
.... tag S1..*(Slice Definition)Tags applied to this resource
Slice: Unordered, Open by value:system
..... tag:version S1..1CodingTags applied to this resource
Binding: SharedSpecificationVersion (20210501) (required)
...... system S1..1uriIdentity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion
...... code S1..1codeSymbol in syntax defined by the system

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle SΣI0..*BundleContains a collection of resources
... id SΣ0..1idLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... profile SΣ1..*uriProfiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag SΣ1..*(Slice Definition)Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: (unbound) (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:version SΣ1..1CodingTags applied to this resource
Binding: SharedSpecificationVersion (20210501) (required)
...... id 0..1idxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: http://tools.ietf.org/html/bcp47 (required): A human language.


... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it was intended to be used.

... total ΣI0..1unsignedIntIf search, the total number of matches
... link Σ0..*BackboneElementLinks related to this Bundle
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... relation Σ1..1stringhttp://www.iana.org/assignments/link-relations/link-relations.xhtml
.... url Σ1..1uriReference details for the link
... entry ΣI0..*BackboneElementEntry in the bundle - will have a resource, or information
bdl-5: must be a resource unless there's a request or response
bdl-6: The fullUrl element must be present when a resource is present, and not present otherwise
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... link 0..*See link (Bundle)Links related to this entry
.... fullUrl Σ0..1uriAbsolute URL for resource (server address, or UUID/OID)
.... resource Σ0..1ResourceA resource in the bundle
.... search ΣI0..1BackboneElementSearch related information
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... mode Σ0..1codematch | 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.

..... score Σ0..1decimalSearch ranking (between 0 and 1)
.... request ΣI0..1BackboneElementTransaction Related Information
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... method Σ1..1codeGET | POST | PUT | DELETE
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line).

..... url Σ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing update contention
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates
.... response ΣI0..1BackboneElementTransaction Related Information
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... status Σ1..1stringStatus response code (text optional)
..... location Σ0..1uriThe location, if the operation returns a location
..... etag Σ0..1stringThe etag for the resource (if relevant)
..... lastModified Σ0..1instantServer's date time modified
... signature Σ0..1SignatureDigital Signature

doco Documentation for this format

Grid View

This structure is derived from Bundle

NameCard.TypeConstraints and Usage
.  Bundle 0..*Bundlebdl-2: entry.search only when a search
bdl-1: total only when a search or history
bdl-7: FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId
bdl-3: entry.request only for some types of bundles
bdl-4: entry.response only for some types of bundles
Definition:
A container for a collection of resources.

..  id 0..1idDefinition:
The logical id of the resource, as used in the URL for the resource. Once assigned, this value never changes.


Comments:
Usage Note: This value is assigned by the PrescribeIT® system upon receipt of a bundle and returned synchronously in the response to that bundle. This ID should not be confused with the traceID that is also returned in the response and is generally used when diagnosing message failures within the PrescribeIT® system logs. The Bundle.id is also used by receiving systems to remove the bundle from their inbox after they have successfully retrieved the bundle.

..  meta 1..1MetaDefinition:
The metadata about the resource. This is content that is maintained by the infrastructure. Changes to the content may not always be associated with version changes to the resource.

...  profile 1..*uriDefinition:
A list of profiles [[[StructureDefinition]]]s that this resource claims to conform to. The URL is a reference to [[[StructureDefinition.url]]].


Comments:
It is up to the server and/or other infrastructure of policy to determine whether/how these claims are verified and/or updated over time. The list of profile URLs is a set.

...  tag 1..*CodingSlice: Unordered, Open by value:system
Binding: (unbound) (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


Definition:
Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.


Comments:
The tags can be updated without changing the stated version of the resource. The list of tags is a set. Uniqueness is based the system/code, and version and display are ignored.

...  tag
       (version)
1..1CodingBinding: SharedSpecificationVersion (20210501) (required)
Definition:
Tags applied to this resource. Tags are intended to be used to identify and relate resources to process and workflow, and applications are not required to consider the tags when interpreting the meaning of a resource.


Comments:
Usage Note: This the version of the specification the Bundle claims to be conformant with.



Usage Note: Only these 2 situations are not enforced by FHIR Validator:



  1. Non-routed EMR/PMS Inbox messages and Clear Queue Request that is sent only to Central Switch; and

  2. Synchronous messages generated by Central Switch (Errors with only OperationOutcome profile and Clear Queue Response)



....  system 1..1uriFixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion
Definition:
The identification of the code system that defines the meaning of the symbol in the code.


Comments:
Fixed value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion

....  code 1..1codeDefinition:
A symbol in syntax defined by the system. The symbol may be a predefined code or an expression in a syntax defined by the coding system (e.g. post-coordination).

This structure is derived from Bundle

Summary

Mandatory: 6 elements
Must-Support: 7 elements
Fixed Value: 1 element

Slices

This structure defines the following Slices:

  • The element Bundle.meta.tag is sliced based on the value of value:system

Differential View

This structure is derived from Bundle

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle S0..*BundleContains a collection of resources
... id S0..1idLogical id of this artifact
... meta S1..1MetaMetadata about the resource
.... profile S1..*uriProfiles this resource claims to conform to
.... tag S1..*(Slice Definition)Tags applied to this resource
Slice: Unordered, Open by value:system
..... tag:version S1..1CodingTags applied to this resource
Binding: SharedSpecificationVersion (20210501) (required)
...... system S1..1uriIdentity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion
...... code S1..1codeSymbol in syntax defined by the system

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle SΣI0..*BundleContains a collection of resources
... id SΣ0..1idLogical id of this artifact
... meta SΣ1..1MetaMetadata about the resource
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... versionId Σ0..1idVersion specific identifier
.... lastUpdated Σ0..1instantWhen the resource version last changed
.... profile SΣ1..*uriProfiles this resource claims to conform to
.... security Σ0..*CodingSecurity Labels applied to this resource
Binding: All Security Labels (extensible): Security Labels from the Healthcare Privacy and Security Classification System.


.... tag SΣ1..*(Slice Definition)Tags applied to this resource
Slice: Unordered, Open by value:system
Binding: (unbound) (example): Codes that represent various types of tags, commonly workflow-related; e.g. "Needs review by Dr. Jones"


..... tag:version SΣ1..1CodingTags applied to this resource
Binding: SharedSpecificationVersion (20210501) (required)
...... id 0..1idxml:id (or equivalent in JSON)
...... extension 0..*ExtensionAdditional Content defined by implementations
...... system SΣ1..1uriIdentity of the terminology system
Fixed Value: https://fhir.infoway-inforoute.ca/CodeSystem/sharedspecificationversion
...... version Σ0..1stringVersion of the system - if relevant
...... code SΣ1..1codeSymbol in syntax defined by the system
...... display Σ0..1stringRepresentation defined by the system
...... userSelected Σ0..1booleanIf this coding was chosen directly by the user
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: http://tools.ietf.org/html/bcp47 (required): A human language.


... type Σ1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required): Indicates the purpose of a bundle - how it was intended to be used.

... total ΣI0..1unsignedIntIf search, the total number of matches
... link Σ0..*BackboneElementLinks related to this Bundle
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... relation Σ1..1stringhttp://www.iana.org/assignments/link-relations/link-relations.xhtml
.... url Σ1..1uriReference details for the link
... entry ΣI0..*BackboneElementEntry in the bundle - will have a resource, or information
bdl-5: must be a resource unless there's a request or response
bdl-6: The fullUrl element must be present when a resource is present, and not present otherwise
.... id 0..1idxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... link 0..*See link (Bundle)Links related to this entry
.... fullUrl Σ0..1uriAbsolute URL for resource (server address, or UUID/OID)
.... resource Σ0..1ResourceA resource in the bundle
.... search ΣI0..1BackboneElementSearch related information
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... mode Σ0..1codematch | 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.

..... score Σ0..1decimalSearch ranking (between 0 and 1)
.... request ΣI0..1BackboneElementTransaction Related Information
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... method Σ1..1codeGET | POST | PUT | DELETE
Binding: HTTPVerb (required): HTTP verbs (in the HTTP command line).

..... url Σ1..1uriURL for HTTP equivalent of this entry
..... ifNoneMatch Σ0..1stringFor managing cache currency
..... ifModifiedSince Σ0..1instantFor managing update contention
..... ifMatch Σ0..1stringFor managing update contention
..... ifNoneExist Σ0..1stringFor conditional creates
.... response ΣI0..1BackboneElementTransaction Related Information
..... id 0..1idxml:id (or equivalent in JSON)
..... extension 0..*ExtensionAdditional Content defined by implementations
..... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
..... status Σ1..1stringStatus response code (text optional)
..... location Σ0..1uriThe location, if the operation returns a location
..... etag Σ0..1stringThe etag for the resource (if relevant)
..... lastModified Σ0..1instantServer's date time modified
... signature Σ0..1SignatureDigital Signature

doco Documentation for this format

 

Other representations of profile: Schematron

Terminology Bindings

PathConformanceValueSet
Bundle.meta.securityextensibleAll Security Labels
Bundle.meta.tagexample
Bundle.meta.tag:versionrequiredSharedSpecificationVersion
Bundle.languagerequiredhttp://tools.ietf.org/html/bcp47
Bundle.typerequiredBundleType
Bundle.entry.search.moderequiredSearchEntryMode
Bundle.entry.request.methodrequiredHTTPVerb

Constraints

IdPathDetailsRequirements
bdl-2Bundleentry.search only when a search
: entry.search.empty() or (type = 'searchset')
bdl-1Bundletotal only when a search or history
: total.empty() or (type = 'searchset') or (type = 'history')
bdl-7BundleFullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId
: entry.where(fullUrl.exists()).select(fullUrl&resource.meta.versionId).isDistinct()
bdl-3Bundleentry.request only for some types of bundles
: entry.request.empty() or type = 'batch' or type = 'transaction' or type = 'history'
bdl-4Bundleentry.response only for some types of bundles
: entry.response.empty() or type = 'batch-response' or type = 'transaction-response'
bdl-5Bundle.entrymust be a resource unless there's a request or response
: resource.exists() or request.exists() or response.exists()
bdl-6Bundle.entryThe fullUrl element must be present when a resource is present, and not present otherwise
: fullUrl.empty() xor resource.exists()