SHOULD Support the Following Implementation Guides: HL7 FHIR® US Core Implementation Guide STU3 Release 3.1.1 HL7 FHIR® US Core Implementation Guide STU3 Release 6.1.0 HL7 FHIR® US Core Implementation Guide STU3 Release 7.0.0 Da Vinci Health Record Exchange (HRex) 1.1.0 - STU 1.1 SHOULD Implement All Or Parts Of The Following Capability Statements: US Core Version 3.1.1 Client CapabilityStatement US Core Version 6.1.0 Client CapabilityStatement US Core Version 7.0.0 Client CapabilityStatement FHIR RESTful Capabilities The Da Vinci Notification Intermediary SHALL: Support the notification framework defined in this Guide for the Intermediary forwarding notifications. Implement the RESTful behavior according to the FHIR specification. Support json source formats for all Da Vinci Notification interactions. Declare a CapabilityStatement identifying the scenarios, transactions and profiles supported. The Da Vinci Notifications Intermediary SHOULD: Support the admission/discharge use case defined in this Guide. Support xml source formats for all Da Vinci Notification interactions. Identify the Da Vinci or US Core profiles supported as part of the FHIR meta.profile attribute for each instance. Security: For general security consideration refer to the Security and Privacy Considerations. For security considerations specific to this guide refer to the Security page for requirements and recommendations. Summary of System Wide Operations SHALL support the $process-message operation. The Intermediary SHALL notify the Recipient or Intermediary using the $process-message operation.Forwarding notifications using this framework is a point to point FHIR RESTful transaction. The intermediary SHALL always modify the MessageHeader as described below and MAY change the other contents of the bundle per agreement between the Intermediary and Sender or Receiver. When forwarding the notification, the Intermediary SHALL: Create a new message bundle with a new Bundle.id and new MessageHeader.id Update the MessageHeader.sender to reflect the Intermediary as the new Sender Update the MessageHeader.destination.url elements to reflect the new Recipient/Intermediary. Add a [US Core Provenance Profile] with Provenance.target pointing to MessageHeader and using the guidance provided in [Basic Provenance for HIE Redistribution and Transformation]. Provenance.agent.type = "author" set to the Sender If no change to the bundle contents: Provenance.agent.type = "transmitter" set to the Intermediary If changes to the bundle contents: Provenance.agent.type = "assembler" set to the Intermediary RESTful Capabilities by Resource/Profile: Summary Resource Type Supported Profiles Supported Searches Supported _includes Supported _revincludes Supported Operations Bundle Da Vinci Notifications Bundle Profile - - - - Condition Da Vinci Admit/Transfer/Discharge Notification Condition Profile - - - - Coverage Da Vinci Admit/Transfer/Discharge Notification Coverage Profile - - - - Encounter Da Vinci Admit/Transfer/Discharge Notification Encounter Profile - - - - Location US Core Location Profile - - - - MessageHeader Da Vinci Notifications MessageHeader Profile, Da Vinci Admit Notification MessageHeader Profile, Da Vinci Transfer Notification MessageHeader Profile, Da Vinci Discharge Notification MessageHeader Profile - - - - Organization US Core Organization Profile - - - - Patient US Core Patient Profile - - - - Practitioner US Core Practitioner Profile - - - - PractitionerRole US Core PractitionerRole Profile - - - - Provenance US Core Provenance Profile - - - - Bundle Conformance Expectation: SHALL Supported Profiles: SHALL support: Da Vinci Notifications Bundle Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Bundle resource using: GET [base]/Bundle/[id] Condition Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: Da Vinci Admit/Transfer/Discharge Notification Condition Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Condition resource using: GET [base]/Condition/[id] Coverage Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: Da Vinci Admit/Transfer/Discharge Notification Coverage Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Coverage resource using: GET [base]/Coverage/[id] Encounter Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: Da Vinci Admit/Transfer/Discharge Notification Encounter Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Encounter resource using: GET [base]/Encounter/[id] Location Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: US Core Location Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Location resource using: GET [base]/Location/[id] MessageHeader Conformance Expectation: SHALL Resource Specific Documentation: Forwarding notifications using the Da Vinci Unsolicited Notifications framework is a point to point FHIR RESTful transaction. The intermediary SHALL always modify the MessageHeader as described below and MAY change the other contents of the bundle per agreement between the Intermediary and Sender or Receiver. When forwarding the notification, the Intermediary SHALL: Create a new message bundle with a new Bundle.id and newMessageHeader.id Update the MessageHeader.sender to reflect the Intermediary as the new Sender Replace the resource in the Bundle with the resource referenced by the updated MessageHeader.sender element. Update the MessageHeader.destination to reflect the new Recipient/Intermediary. Supported Profiles: SHALL support: Da Vinci Notifications MessageHeader Profile SHALL support: Da Vinci Admit Notification MessageHeader Profile SHALL support: Da Vinci Transfer Notification MessageHeader Profile SHALL support: Da Vinci Discharge Notification MessageHeader Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a MessageHeader resource using: GET [base]/MessageHeader/[id] Organization Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: US Core Organization Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Organization resource using: GET [base]/Organization/[id] Patient Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: US Core Patient Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Patient resource using: GET [base]/Patient/[id] Practitioner Conformance Expectation: SHALL Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: US Core Practitioner Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a Practitioner resource using: GET [base]/Practitioner/[id] PractitionerRole Conformance Expectation: SHOULD Resource Specific Documentation: Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle Supported Profiles: SHALL support: US Core PractitionerRole Profile Profile Interaction Summary: MAY support create, search-type, read, vread, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client MAY be capable of fetching a PractitionerRole resource using: GET [base]/PractitionerRole/[id] Provenance Conformance Expectation: SHALL Resource Specific Documentation: The Provenance resource is required to record changes to the Vinci Notification message bundle when forwarding the notification. The Intermediary SHALL add a US Core Provenance Profile to the message bundle. The Provenance.target references the MessageHeader and following the guidance provided in Basic Provenance for HIE Redistribution and Transformation: Provenance.agent.type = "author" set to the Sender If no change to the bundle contents: Provenance.agent.type = "transmitter" set to the Intermediary If changes to the bundle contents: Provenance.agent.type = "assembler" set to the Intermediary Supported Profiles: SHALL support: US Core Provenance Profile Profile Interaction Summary: SHOULD support search-type, read, vread. MAY support create, update, patch, delete, history-instance, history-type. Fetch and Search Criteria: A Client SHOULD be capable of fetching a Provenance resource using: GET [base]/Provenance/[id]
Notification Forwarder CapabilityStatement
HL7 International / Infrastructure And Messaging
This CapabilityStatement describes the expected capabilities of a Da Vinci Intermediary when forwarding Unsolicited Notifications transacted with the `$process-message` in the client mode.
Used by permission of HL7 International, all rights reserved Creative Commons License
The Da Vinci Notification Intermediary **SHALL**: 1. Support the notification framework defined in this Guide for the Intermediary forwarding notifications. 1. Implement the RESTful behavior according to the FHIR specification. 1. Support json source formats for all Da Vinci Notification interactions. 1. Declare a CapabilityStatement identifying the scenarios, transactions and profiles supported. The Da Vinci Notifications Intermediary **SHOULD**: 1. Support the admission/discharge use case defined in this Guide. 1. Support xml source formats for all Da Vinci Notification interactions. 1. Identify the Da Vinci or US Core profiles supported as part of the FHIR `meta.profile` attribute for each instance.
1. For general security consideration refer to the [Security and Privacy Considerations](http://build.fhir.org/secpriv-module.html). 1. For security considerations specific to this guide refer to the [Privacy, Safety, and Security](security.html) page for requirements and recommendations.
Required resource type to carry information regarding admission and discharge event in the Da Vinci Notification message bundle
Forwarding notifications using the Da Vinci Unsolicited Notifications framework is a point to point FHIR RESTful transaction. The intermediary **SHALL** always modify the MessageHeader as described below and **MAY** change the other contents of the bundle per agreement between the Intermediary and Sender or Receiver. When forwarding the notification, the Intermediary **SHALL**: 1. Create a new message bundle with a new `Bundle.id` and new`MessageHeader.id` 1. Update the `MessageHeader.sender` to reflect the Intermediary as the new Sender 1. Replace the resource in the Bundle with the resource referenced by the updated `MessageHeader.sender` element. 1. Update the `MessageHeader.destination` to reflect the new Recipient/Intermediary.
The Provenance resource is required to record changes to the Vinci Notification message bundle when forwarding the notification. The Intermediary **SHALL** add a [US Core Provenance Profile](https://www.hl7.org/fhir/us/core/StructureDefinition-us-core-provenance.html) to the message bundle. The `Provenance.target` references the MessageHeader and following the guidance provided in [Basic Provenance for HIE Redistribution and Transformation](https://www.hl7.org/fhir/us/core/basic-provenance.html#hie-redistribution): - `Provenance.agent.type` = "author" set to the Sender - If *no* change to the bundle contents: `Provenance.agent.type` = "transmitter" set to the Intermediary - If changes to the bundle contents: `Provenance.agent.type` = "assembler" set to the Intermediary
The Intermediary SHALL notify the Recipient or Intermediary using the $process-message operation.Forwarding notifications using this framework is a point to point FHIR RESTful transaction. The intermediary **SHALL** always modify the MessageHeader as described below and **MAY** change the other contents of the bundle per agreement between the Intermediary and Sender or Receiver. When forwarding the notification, the Intermediary **SHALL**: 1. Create a new message bundle with a new `Bundle.id` and new `MessageHeader.id` 1. Update the `MessageHeader.sender` to reflect the Intermediary as the new Sender 1. Update the `MessageHeader.destination.url` elements to reflect the new Recipient/Intermediary. 1. Add a [US Core Provenance Profile] with `Provenance.target` pointing to MessageHeader and using the guidance provided in [Basic Provenance for HIE Redistribution and Transformation]. - `Provenance.agent.type` = "author" set to the Sender - If *no* change to the bundle contents: `Provenance.agent.type` = "transmitter" set to the Intermediary - If changes to the bundle contents: `Provenance.agent.type` = "assembler" set to the Intermediary