FHIR Orders Exchange (FOE) / Post-Acute Orders (PAO) / (DME-Orders), published by HL7. This is not an authorized publication; it is the continuous build for version 0.2.2). This version is based on the current content of https://github.com/HL7/dme-orders/ and changes regularly. See the Directory of published versions
Assumptions (without an Intermediary)
The structure of each message is as follows:
a. A Bundle where the MessageHeader resource is the first entry.
b. MessageHeader.focus references the Task resource in the MessageBundle
c. The resources of all other entries in the Bundle are reachable from the MessageHeader resource (through Task or directly), and any references to resources that are not in the Bundle are logical references (via identifiers, not URLs).
Flow Diagram (without an Intermediary)
The flow diagram again has three parts. Each message is shown with a synchronous response, that comes from the $process-message endpoint of the receiver.
Note that any messages from the Rendering Provider to the Ordering Provider could be presented as an asynchronous message response (similar to the application-level acknowledgements in HL7 v2 messages) using the MessageHeader.response structure. However, since the implementation guide explicitly calls out the use of intermediaries, keeping track of the correct MessageHeader.response.identifier value would be an additional requirement for them that is not necessary - the use of Task allows responses to be linked with the original order without MessageHeader.response.
Assumptions (with an Intermediary)
The structure of each message is as follows:
a. A Bundle where the MessageHeader resource is the first entry.
b. MessageHeader.focus references the Task resource in the MessageBundle
c. The resources of all other entries in the Bundle are reachable from the MessageHeader resource (through Task or directly), and any references to resources that are not in the Bundle are logical references (via identifiers, not URLs).
Flow Diagram (with an Intermediary)
The flow diagram again has three parts. Each message is shown with a synchronous response, that comes from the $process-message endpoint of the receiver.
Note that any messages from the Rendering Provider to the Ordering Provider could be presented as an asynchronous message response (similar to the application-level acknowledgements in HL7 v2 messages) using the MessageHeader.response structure. However, since the implementation guide explicitly calls out the use of intermediaries, keeping track of the correct MessageHeader.response.identifier value would be an additional requirement for them that is not necessary - the use of Task allows responses to be linked with the original order without MessageHeader.response.