Stream: bulk data
Topic: Paging and bulk data implementation question
Yan Heras (Dec 02 2021 at 01:36):
The DaVinci Risk Adjustment IG has defined a $report operation (https://build.fhir.org/ig/HL7/davinci-ra/OperationDefinition-report.html). The $report operation's subject parameter can reference a Group of patients and it returns a Bundle for each patient within the Group. We would appreciate your feedback on paging and bulk data implementation for this operation. Our questions are:
Which signature is better to allow for both paging and bulk data implementation of an operation: 1) Return a single Bundle, defined as a set of Bundles, possibly paged, or 2) Return Bundle 0..* and implement some extensions to Parameters to support paging of results? Thanks
Josh Mandel (Dec 02 2021 at 01:44):
We don't have standardized semantics for taking an arbitrary operation and "making it bulk". I generally think we should, in FHIR Core. But until then, you might want to document explicit behavior that when called synchronously, your operation returns a Parameters with
result
-- 0..*, each result includes a Bundle resource inlinenext
-- 0..1, URL that acts as a continuation link for the next page of results
...and that when called with Prefer: respond-async
your operation instead behaves like the $export
-- that is: eventually returning a bulk manifest where all the output entries are ndjson files full of Bundles
Yan Heras (Dec 02 2021 at 02:13):
Thank you Josh! I am copying @Bryn Rhodes @Rob Reynolds @Linda
Last updated: Apr 12 2022 at 19:14 UTC