FHIR Chat · Use of bundle combined with communicationrequest · implementers

Stream: implementers

Topic: Use of bundle combined with communicationrequest


view this post on Zulip Martin Benedict (May 31 2018 at 12:36):

Currently we are implementing a feature where patients get questionnaires which they have to fill in. We plan to use communication request for this purpose. Our plan is to implement a Bundle containing the request, the questionnaire and the patients information.
Bundle{
CommunicationRequest,
Questionnaire,
Patient
}
Is this an adequate way? What do you think?
Should the type of the bundle be "message" or "collection"?

view this post on Zulip Lloyd McKenzie (May 31 2018 at 12:56):

The resource to request completion of a Questionnaire is ServiceRequest. CommunicationRequest is used to ask for information to be disclosed, but not for new information to be collected.

view this post on Zulip Martin Benedict (May 31 2018 at 13:19):

Thank you. Is the way to bundle the ServiceRequest with the questionnaire the right way? How should I reference the questionnaire in the service request? In CommunicationRequest I had planned to use the payload to transport the questionnaire to be filled. In ServiceRequest I can not see such possibility.

view this post on Zulip Lloyd McKenzie (May 31 2018 at 14:29):

ServiceRequest.definition would point to the Questionnaire. Another option would be to use Task, in which case the Questionnaire would be pointed to by one of the inputs. What is the workflow that leads to the patients receiving the request? Is it retrieved by an app?

view this post on Zulip Martin Benedict (May 31 2018 at 14:32):

There is a clinical application which enables to select patients for a survey. These patients will receive a demand for filling the questionnaire by a patient portal. We are currently developing the data flow between the clinical application and the patient portal. In the portal the patient can decide whether he accepts or declines the questionnaire.

view this post on Zulip Danielle Friend (Jun 12 2018 at 14:14):

@Lloyd McKenzie I am curious about the answer to @Martin Benedict question: "Is this an adequate way? What do you think?
Should the type of the bundle be "message" or "collection"?" - is a bundle of multiple resources the appropriate way to exchange multiple resources at once? Or is the FHIR recommendation to do calls back and forth in a more RESTful model?

view this post on Zulip Danielle Friend (Jun 12 2018 at 14:15):

Lloyd as you know we're going more towards the bundle approach for Da Vinci - I'm curious if that is the defacto recommendation in these types of scenarios or if one is preferred over another.

view this post on Zulip Lloyd McKenzie (Jun 12 2018 at 14:26):

Bundles can be used in FHIR in a few cases - to send a Batch or Transaction, to send a Message or Document or as one (or more) of the arguments when invoking an Operation. If you're doing a message, you have to start with a MessageHeader, must define the event and will need the recipient to support that particular message (which will typically require site-specific negotiation and configuration). Similarly, if you use an operation, the system will have to actually support that particular operation and know how to process it. So if you can accomplish what you need with Batch or Transaction, that's better. However, those don't allow synchronous response to a specific request.

In Da Vinci, we're not expecting the payers to expose a general purpose RESTful interface. We also want a synchronous response. But we don't need the indirect delivery offered by messaging. That means invoking an operation is our exchange mechanism. With an operation, we'll have a choice of passing a Parameters instance or a single Bundle resource. Because all of the content we have will be interrelated, it seems slightly cleaner to have everything in an interlinked Bundle, but I don't know that we have any particular design rules that push toward one or the other. We'd only use messaging if we wanted to allow for asynchronous processing or if we wanted to support routing.

Posting a bare Bundle to the Bundle endpoint (rather than an operation endpoint) wouldn't result in any processing - it would just result in the Bundle being stored "as is".

view this post on Zulip Eric Haas (Jun 12 2018 at 23:28):

I made the example Bundle for DaVinci as a collection by default. Since we have not delved into or I missed the part about the actual transaction that may change . I presumed it would be some sort of operation.


Last updated: Apr 12 2022 at 19:14 UTC