FHIR Chat · Partial resources · implementers

Stream: implementers

Topic: Partial resources


view this post on Zulip Jared Davison (Sep 12 2017 at 22:20):

Hi All,

Problem 1:
I'm working on implementing a facade for a search. The resource search returns a bundle primarily for the resource but each of these resources has references to other related resources. At a superficial level when the search is to be used it is simply to produce a pick list, the details in the related resources may not needed at this point. There is an expense server side in querying downstream systems from within the facade to even calculate the reference in the primary resources, or to find out if a reference exists or how many. (The search API allows for optional inclusion of the referenced resources in the bundle, but as far as I understand I still need to provide the references to the resources in the primary resource, and itself is expensive. )

What I would like to be able to do is return the primary resources without the references to related resources and some how mark that the resource is partial or incomplete, or that there could be missing items, as a hint to the user that they need to re-query this resource to get the full details. Is there a way to do this? When the references are needed for the chosen entry from the pick list, further details could be obtained by searching for the id of that resource to get the full information for it.

Problem 2:
Another related purpose would be restricting view-able content in the resource depending on the permissions of the client. This may use another mechanism but I'm also interested in this. (Of course re-querying in this context would not provide any additional information if the user was the same).

view this post on Zulip Chris Grenz (Sep 12 2017 at 22:26):

Hi Jared - the spec allows your server (or proxy) to send all or part of a resource according to its policies/rules without specifying any particular mechanism to communicate the partial nature of the resource (excepting the SUBSETTED tag used in _summary ). There's some discussion ongoing on this topic, and I've documented an approach to use profiles to govern these kinds of partial resource interactions here: https://github.com/chrisgrenz/FHIR-Primer/wiki/Profile-Governed-API

view this post on Zulip Chris Grenz (Sep 12 2017 at 22:27):

We generally envisioned the second scenario where permissions (or simply preferences) of the client would cause resource redaction, but the same mechanism could be used in your first scenario to avoid the inclusion of costly to acquire elements.

view this post on Zulip Chris Grenz (Sep 12 2017 at 22:28):

As with all topics, this community is always happy to hear input from those working on real-world systems. This is a good spot to discuss, or, if you have a specific proposal, they can be submitted for consideration by the appropriate workgroups via gForge here: https://gforge.hl7.org/gf/project/fhir

view this post on Zulip Grahame Grieve (Sep 12 2017 at 23:16):

option 1 - yes, use SUBSETTED

view this post on Zulip Grahame Grieve (Sep 12 2017 at 23:16):

problem #2: yes. you don't usually mark the resource as reduced. you just reduced it. We haven't taken on the problem of managing this


Last updated: Apr 12 2022 at 19:14 UTC