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-messagedefinition

The Da Vinci Notifications MessageDefinition Profile sets minimum expectations for the FHIR MessageDefinition resource to define the characteristics of a message that can be shared between systems for Da Vinci notification messaging. It includes the type of event that initiates the message and the content to be transmitted as well as other metadata information related to the definition.

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 MessageDefinition must have:

  1. A canonical url
  2. A status
  3. A date
  4. An EventCoding
  5. A category of “notification”
  6. An event focus reference
  7. A GraphDefinition to define the Bundle contents

Each MessageDefinition must support:

  1. A version
  2. A name
  3. A title
  4. A publisher
  5. A description

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: http://hl7.org/fhir/us/davinci-alerts/StructureDefinition/notifications-messagedefinition

Published on Mon Nov 11 00:00:00 UTC 2019 as active by the Health eData Inc.

This profile builds on MessageDefinition


MessageDefinition

Summary of the Mandatory Requirements

  1. An uri in MessageDefinition.url
  2. A code in MessageDefinition.status with a required binding to PublicationStatus
  3. A dateTime in MessageDefinition.date
  4. A code in MessageDefinition.category = the fixed value “notification”
  5. One or more Focuses in MessageDefinition.focus with the following constraints: *Max must be postive int or **
    • which must have a code value in MessageDefinition.focus.code with a required binding to ResourceType
    • which should have a canonical value in MessageDefinition.focus.profile
  6. One or more canonicals in MessageDefinition.graph

Summary of the Must Support Requirements

  1. A string in MessageDefinition.version
  2. A string in MessageDefinition.name
  3. A string in MessageDefinition.title
  4. A string in MessageDefinition.publisher
  5. A markdown in MessageDefinition.description

Summary of the Unsupported Elements

  1. MessageDefinition.responseRequired
  2. MessageDefinition.allowedResponse

Summary of Constraints

  1. Name should be usable as an identifier for the module by machine processing applications such as code generation
  2. Max must be postive int or *
NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition I0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... 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
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url SΣI1..1uriBusiness Identifier for a given MessageDefinition
... identifier ΣI0..*IdentifierPrimary key for the message definition on a given server
... version SΣI0..1stringBusiness version of the message definition
... name SΣI0..1stringName for this message definition (computer friendly)
... title SΣI0..1stringName for this message definition (human friendly)
... replaces ΣI0..*canonical(MessageDefinition)Takes the place of
... status ?!SΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... date SΣI1..1dateTimeDate last changed
... publisher SΣI0..1stringName of the publisher (organization or individual)
... contact ΣI0..*ContactDetailContact details for the publisher
... description SΣI0..1markdownNatural language description of the message definition
... useContext ΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣI0..*CodeableConceptIntended jurisdiction for message definition (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose ΣI0..1markdownWhy this message definition is defined
... copyright I0..1markdownUse and/or publishing restrictions
... base ΣI0..1canonical(MessageDefinition)Definition this one is based on
... parent ΣI0..*canonical(ActivityDefinition | PlanDefinition)Protocol/workflow this is part of
... event[x] ΣI1..1(Slice Definition)Event code or link to the EventDefinition
Slice: Unordered, Closed by type:$this
Binding: MessageEvent (example)
.... event[x]:eventCoding SΣI1..1CodingEvent code or link to the EventDefinition
Binding: Da Vinci Notification Event ValueSet (extensible)
... category SΣI1..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required)
Fixed Value: notification
... focus SΣI1..*BackboneElementResource(s) that are the subject of the event
.... 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
.... code SΣI1..1codeType of resource
Binding: ResourceType (required)
.... profile SI0..1canonical(StructureDefinition)Profile that must be adhered to by focus
.... min ΣI1..1unsignedIntMinimum number of focuses of this type
.... max I0..1stringMaximum number of focuses of this type
... graph SI1..*canonical(GraphDefinition)Canonical reference to a GraphDefinition

doco Documentation for this format

MessageDefinition

Summary of the Mandatory Requirements

  1. An uri in MessageDefinition.url
  2. A code in MessageDefinition.status with a required binding to PublicationStatus
  3. A dateTime in MessageDefinition.date
  4. A code in MessageDefinition.category = the fixed value “notification”
  5. One or more Focuses in MessageDefinition.focus with the following constraints: *Max must be postive int or **
    • which must have a code value in MessageDefinition.focus.code with a required binding to ResourceType
    • which should have a canonical value in MessageDefinition.focus.profile
  6. One or more canonicals in MessageDefinition.graph

Summary of the Must Support Requirements

  1. A string in MessageDefinition.version
  2. A string in MessageDefinition.name
  3. A string in MessageDefinition.title
  4. A string in MessageDefinition.publisher
  5. A markdown in MessageDefinition.description

Summary of the Unsupported Elements

  1. MessageDefinition.responseRequired
  2. MessageDefinition.allowedResponse

Summary of Constraints

  1. Name should be usable as an identifier for the module by machine processing applications such as code generation
  2. Max must be postive int or *

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. MessageDefinition I0..*MessageDefinitionA resource that defines a type of message that can be exchanged between systems
... 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
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension I0..*ExtensionAdditional content defined by implementations
... modifierExtension ?!I0..*ExtensionExtensions that cannot be ignored
... url SΣI1..1uriBusiness Identifier for a given MessageDefinition
... identifier ΣI0..*IdentifierPrimary key for the message definition on a given server
... version SΣI0..1stringBusiness version of the message definition
... name SΣI0..1stringName for this message definition (computer friendly)
... title SΣI0..1stringName for this message definition (human friendly)
... replaces ΣI0..*canonical(MessageDefinition)Takes the place of
... status ?!SΣI1..1codedraft | active | retired | unknown
Binding: PublicationStatus (required)
... experimental ΣI0..1booleanFor testing purposes, not real usage
... date SΣI1..1dateTimeDate last changed
... publisher SΣI0..1stringName of the publisher (organization or individual)
... contact ΣI0..*ContactDetailContact details for the publisher
... description SΣI0..1markdownNatural language description of the message definition
... useContext ΣI0..*UsageContextThe context that the content is intended to support
... jurisdiction ΣI0..*CodeableConceptIntended jurisdiction for message definition (if applicable)
Binding: Jurisdiction ValueSet (extensible)
... purpose ΣI0..1markdownWhy this message definition is defined
... copyright I0..1markdownUse and/or publishing restrictions
... base ΣI0..1canonical(MessageDefinition)Definition this one is based on
... parent ΣI0..*canonical(ActivityDefinition | PlanDefinition)Protocol/workflow this is part of
... event[x] ΣI1..1(Slice Definition)Event code or link to the EventDefinition
Slice: Unordered, Closed by type:$this
Binding: MessageEvent (example)
.... event[x]:eventCoding SΣI1..1CodingEvent code or link to the EventDefinition
Binding: Da Vinci Notification Event ValueSet (extensible)
... category SΣI1..1codeconsequence | currency | notification
Binding: MessageSignificanceCategory (required)
Fixed Value: notification
... focus SΣI1..*BackboneElementResource(s) that are the subject of the event
.... 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
.... code SΣI1..1codeType of resource
Binding: ResourceType (required)
.... profile SI0..1canonical(StructureDefinition)Profile that must be adhered to by focus
.... min ΣI1..1unsignedIntMinimum number of focuses of this type
.... max I0..1stringMaximum number of focuses of this type
... graph SI1..*canonical(GraphDefinition)Canonical reference to a GraphDefinition

doco Documentation for this format


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