Da Vinci Unsolicited Notifications Implementation Guide CI Build

Da Vinci Unsolicited Notifications, published by HL7 International - Infrastructure and Messaging Work Group. This is not an authorized publication; it is the continuous build for version 0.2.1). This version is based on the current content of https://github.com/HL7/davinci-alerts/ and changes regularly. See the Directory of published versions

StructureDefinition-notifications-bundle

The Da Vinci Notifications Bundle Profile constrains the FHIR Bundle resource to the Da Vinci notification messaging framework.

Mandatory and Must Support Data Elements

The following data-elements are mandatory (i.e., data MUST be present) or must be supported if the data is present in the sending system (Must Support definition). They are presented below in a simple human-readable explanation. Profile specific guidance and examples are provided as well. The Formal Profile Definition below provides the formal summary, definitions, and terminology requirements.

Each Bundle must have:

  1. A type code of “message”
  2. An entry for the MessageHeader
  3. An entry for the event or request resource reference by ‘MessageHeader.focus’

Additional Profile specific implementation guidance:

none

Examples

Formal Views of Profile Content

Description of Profiles, Differentials, and Snapshots.

The official URL for this profile is:

Published on Fri Nov 15 00:00:00 UTC 2019 as active by the Health eData Inc.

This profile builds on Bundle


Bundle

Summary of the Mandatory Requirements

  1. A code in Bundle.type = the fixed value “message”
    • which must have at least an Entry value in Bundle.entry
    • which must have a Resource Reference value in Bundle.entry.resource

Summary of the Unsupported Elements

  1. Bundle.total
  2. Bundle.entry.search
  3. Bundle.entry.request
  4. Bundle.entry.response

Summary of Constraints

  1. total only when a search or history
  2. entry.search only when a search
  3. entry.request mandatory for batch/transaction/history, otherwise prohibited
  4. entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
  5. FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
  6. A document must have an identifier with a system and a value
  7. A document must have a date
  8. A document must have a Composition as the first resource
  9. A message must have a MessageHeader as the first resource
  10. must be a resource unless there's a request or response
  11. fullUrl cannot be a version specific reference
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*BundleContains a collection of resources
... type S1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: message
... total 0..0
... entry S2..*(Slice Definition)Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:All Slices Content/Rules for all slices
..... search 0..0
..... request 0..0
..... response 0..0
.... entry:messageheader S1..1BackboneElementEntry in the bundle - will have a resource or information
..... resource S1..1NotificationsMessageHeaderA resource that describes a message that is exchanged between systems

doco Documentation for this format
NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... identifier ΣI0..1IdentifierPersistent identifier for the bundle
... type SΣI1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required)
Fixed Value: message
... timestamp ΣI0..1instantWhen the bundle was assembled
... link ΣI0..*BackboneElementLinks related to this Bundle
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relation ΣI1..1stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url ΣI1..1uriReference details for the link
... entry SΣI2..*(Slice Definition)Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
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..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link ΣI0..*Unknown reference to #Bundle.link
Links related to this entry
..... fullUrl ΣI0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ0..1ResourceA resource in the bundle
.... entry:messageheader SΣI1..1BackboneElementEntry in the bundle - will have a resource or information
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..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link ΣI0..*Unknown reference to #Bundle.link
Links related to this entry
..... fullUrl ΣI0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SI1..1NotificationsMessageHeaderA resource that describes a message that is exchanged between systems
..... search ΣI0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode ΣI0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required)
...... score ΣI0..1decimalSearch ranking (between 0 and 1)
..... request ΣI0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method ΣI1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required)
...... url ΣI1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch ΣI0..1stringFor managing cache currency
...... ifModifiedSince ΣI0..1instantFor managing cache currency
...... ifMatch ΣI0..1stringFor managing update contention
...... ifNoneExist ΣI0..1stringFor conditional creates
..... response ΣI0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status ΣI1..1stringStatus response code (text optional)
...... location ΣI0..1uriThe location (if the operation returns a location)
...... etag ΣI0..1stringThe Etag for the resource (if relevant)
...... lastModified ΣI0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature ΣI0..1SignatureDigital Signature

doco Documentation for this format

Bundle

Summary of the Mandatory Requirements

  1. A code in Bundle.type = the fixed value “message”
    • which must have at least an Entry value in Bundle.entry
    • which must have a Resource Reference value in Bundle.entry.resource

Summary of the Unsupported Elements

  1. Bundle.total
  2. Bundle.entry.search
  3. Bundle.entry.request
  4. Bundle.entry.response

Summary of Constraints

  1. total only when a search or history
  2. entry.search only when a search
  3. entry.request mandatory for batch/transaction/history, otherwise prohibited
  4. entry.response mandatory for batch-response/transaction-response/history, otherwise prohibited
  5. FullUrl must be unique in a bundle, or else entries with the same fullUrl must have different meta.versionId (except in history bundles)
  6. A document must have an identifier with a system and a value
  7. A document must have a date
  8. A document must have a Composition as the first resource
  9. A message must have a MessageHeader as the first resource
  10. must be a resource unless there's a request or response
  11. fullUrl cannot be a version specific reference

Differential View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle 0..*BundleContains a collection of resources
... type S1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Fixed Value: message
... total 0..0
... entry S2..*(Slice Definition)Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
.... entry:All Slices Content/Rules for all slices
..... search 0..0
..... request 0..0
..... response 0..0
.... entry:messageheader S1..1BackboneElementEntry in the bundle - will have a resource or information
..... resource S1..1NotificationsMessageHeaderA resource that describes a message that is exchanged between systems

doco Documentation for this format

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Bundle I0..*BundleContains a collection of resources
... id Σ0..1stringLogical id of this artifact
... meta ΣI0..1MetaMetadata about the resource
... implicitRules ?!ΣI0..1uriA set of rules under which this content was created
... language I0..1codeLanguage of the resource content
Binding: CommonLanguages (preferred)
Max Binding: AllLanguages
... identifier ΣI0..1IdentifierPersistent identifier for the bundle
... type SΣI1..1codedocument | message | transaction | transaction-response | batch | batch-response | history | searchset | collection
Binding: BundleType (required)
Fixed Value: message
... timestamp ΣI0..1instantWhen the bundle was assembled
... link ΣI0..*BackboneElementLinks related to this Bundle
.... id 0..1stringUnique id for inter-element referencing
.... extension I0..*ExtensionAdditional content defined by implementations
.... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
.... relation ΣI1..1stringSee http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1
.... url ΣI1..1uriReference details for the link
... entry SΣI2..*(Slice Definition)Entry in the bundle - will have a resource or information
Slice: Unordered, Open by type:resource
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..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link ΣI0..*Unknown reference to #Bundle.link
Links related to this entry
..... fullUrl ΣI0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource Σ0..1ResourceA resource in the bundle
.... entry:messageheader SΣI1..1BackboneElementEntry in the bundle - will have a resource or information
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..1stringUnique id for inter-element referencing
..... extension I0..*ExtensionAdditional content defined by implementations
..... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
..... link ΣI0..*Unknown reference to #Bundle.link
Links related to this entry
..... fullUrl ΣI0..1uriURI for resource (Absolute URL server address or URI for UUID/OID)
..... resource SI1..1NotificationsMessageHeaderA resource that describes a message that is exchanged between systems
..... search ΣI0..1BackboneElementSearch related information
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... mode ΣI0..1codematch | include | outcome - why this is in the result set
Binding: SearchEntryMode (required)
...... score ΣI0..1decimalSearch ranking (between 0 and 1)
..... request ΣI0..1BackboneElementAdditional execution information (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... method ΣI1..1codeGET | HEAD | POST | PUT | DELETE | PATCH
Binding: HTTPVerb (required)
...... url ΣI1..1uriURL for HTTP equivalent of this entry
...... ifNoneMatch ΣI0..1stringFor managing cache currency
...... ifModifiedSince ΣI0..1instantFor managing cache currency
...... ifMatch ΣI0..1stringFor managing update contention
...... ifNoneExist ΣI0..1stringFor conditional creates
..... response ΣI0..1BackboneElementResults of execution (transaction/batch/history)
...... id 0..1stringUnique id for inter-element referencing
...... extension I0..*ExtensionAdditional content defined by implementations
...... modifierExtension ?!ΣI0..*ExtensionExtensions that cannot be ignored even if unrecognized
...... status ΣI1..1stringStatus response code (text optional)
...... location ΣI0..1uriThe location (if the operation returns a location)
...... etag ΣI0..1stringThe Etag for the resource (if relevant)
...... lastModified ΣI0..1instantServer's date time modified
...... outcome Σ0..1ResourceOperationOutcome with hints and warnings (for batch/transaction)
... signature ΣI0..1SignatureDigital Signature

doco Documentation for this format


See the Conformance requirements for a complete list of supported RESTful interactions for this IG.