Stream: bulk data
Topic: Group Export for non-Patient data
Cooper Thompson (Mar 26 2021 at 17:10):
The bulk FHIR spec currently defines three types of exports: 1) All Patients, 2) Group of Patient and 3) System Level. What are folks thoughts on what should be done for exporting a pre-coordinated group of Practitioners is a non-patient context. System Level export does semi-support this, and _type=Practitioner is listed as an example. However, our use case is basically to exchange a pre-coordinated roster of providers. We could make an extension on Practitioner that indicates inclusion in the roster (or all rosters the practitioner is a part of) then have a _typeFilter searching on that extension, but that seems annoying given that we just want to export a pre-coordinated list, and having every roster a practitioner is a part of listed in the practitioner could get unwieldy. If we added support for a Group of <Resource> export, that means the server can pre-coordinate the Group definition. However, Group only really stretches so far - it does support Practitioners, but we can't use Group generically. E.g. for Groups of Locations.
Josh Mandel (Mar 26 2021 at 17:23):
Interesting -- if you use a tag to label things, this is similar to your suggestion about adding an extension, with the additional benefit that it anchors you in the world of "things you can express with standard FHIR search params" (e.g., Practitioner?_tag=https://my-provider-groups|42
).
Josh Mandel (Mar 26 2021 at 17:24):
But I agree with your point that this becomes unwieldy when you have to push assignments into every resource that belongs to the group, when you'd like these group assignments to layer over the group members.
Josh Mandel (Mar 26 2021 at 17:25):
https://www.hl7.org/fhir/search.html#list is one other thought for R4
Josh Mandel (Mar 26 2021 at 17:26):
You could establish a List of practitioners (or any resource type, or even a heterogeneous list) and then do something like the following (pretend the typefilters are urlencoded):
[base]/$export?
_type=
Practitioner,
Organization,
Location&
_typeFilter=
Practitioner?_list=42,
Organization?_list=42,
Location?_list=42
Josh Mandel (Mar 26 2021 at 17:27):
I don't know that there's a ton of real-world support for _list
-based searches, but the concept is there in the spec, and you might prefer it to materializing tags everywhere.
Cooper Thompson (Mar 26 2021 at 17:28):
Heh. We could do that for Patients too then! So now we are back to List for Patient Lists :grinning_face_with_smiling_eyes: .
Josh Mandel (Mar 26 2021 at 17:29):
Yeah, don't get me started :)
Brian Postlethwaite (Apr 06 2021 at 23:17):
I like the List approach here, and our server supports this.
It permits a client to manage the set of resources that they are interested in (and use this method to get updates to changes in their local cache).
Abd also want to use the extended capacity for including deletions - did that get anywhere in the base bulk data?
Dan Gottlieb (Apr 07 2021 at 17:23):
Yup - as part of the argonaut work, we added a "deleted" param to the output manifest where servers can pass a list of deleted resources to clients: http://build.fhir.org/ig/HL7/bulk-data/export.html#response---complete-status .
Last updated: Apr 12 2022 at 19:14 UTC