Stream: implementers
Topic: Practitioner search
Elliot Silver (Nov 20 2018 at 19:38):
The addition of PractitionerRole looks to complicate finding resources associated with a particular physician.
Currently ImagingStudy has a referrer element of type Reference(Practitioner). To find all ImagingStudy referred by a given practitioner can be done in a single query. We've been asked to change to Reference(Practitioner | PractitionerRole). Is there a recommended search (either as definition of the search parameter, or that we can provide as an example query) that can return all ImagingStudies where a practitioner is either directly referenced, or referenced via the Practitioner role?
Lloyd McKenzie (Nov 20 2018 at 19:39):
That's a good question. It would be nice if there was an easy way to do this. @Grahame Grieve @Brian Postlethwaite ?
Grahame Grieve (Nov 21 2018 at 05:08):
not the scope of R4
John Moehrke (Nov 21 2018 at 17:18):
similar clarity on Practitioner compartment?
Lloyd McKenzie (Nov 21 2018 at 18:08):
@Elliot Silver Can you submit a change request for us to evaluate in R5?
Elliot Silver (Nov 21 2018 at 19:00):
@Lloyd McKenzie - GF#19688 submitted.
@John Moehrke - Yuck... And you accuse me of coming up with nasty CRs. I've included it in my tracker item.
John Moehrke (Nov 21 2018 at 20:20):
I only to aspire to your ability to come up with the "Oh, $hit" change requests... @Elliot Silver
Nick Radov (Nov 21 2018 at 21:02):
Maybe this is a crazy idea but would it make sense to add a generalized search parameter to match all resources of a specified type within n degrees of separation? So if you have a Procedure and search for Practitioner with n=2 then you could get those referenced directly as well as those referenced indirectly via PractitionerRole.
Elliot Silver (Nov 21 2018 at 21:07):
Yeah, I think something like that may be needed. As I was writing up the tracker item, I thought of cases where you can have a Patient directly, or Patient as part of a Group; Practitioner directly, or Practitioner as part of a PractitionerRole; Organization directly, or Organization as part of a PractitionerRole; and Practitioner directly, or Practitioner as part of a CareTeam. I'm sure there must be more.
Elliot Silver (Nov 21 2018 at 21:07):
Can you add your suggestion to the tracker?
Craig McClendon (Nov 21 2018 at 21:10):
The Patient $everything operation might be semi-related. Or at least implementation of it might cause you to chase various levels of relationships.
Nick Radov (Nov 21 2018 at 21:15):
added follow-up on tracker
John Moehrke (Nov 21 2018 at 22:18):
I have a different stream and change request relative to the Patient with linked patients... so lets not conflate
John Moehrke (Nov 21 2018 at 22:19):
The Practitioner search seems a bit less problematic. If I am looking for all resources authored by a Practitioner. It likely is appropriate that I am required to first look for all the PractitionerRole that the Practitioner might have played, and pick from that list the subset I really am interested
Brian Postlethwaite (Dec 03 2018 at 10:09):
And the practitioner compartment might be more appropriate in some cases, but obv not possible when walking through the patient compartment too. (but that's something for R5 too)
Josh Mandel (Feb 04 2019 at 21:23):
From GF#17358 we just had a discussion on the FHIR Infrastructure workgroup call about incorporating resources linked to a PractitionerRole
in a Practitioner compartment. Functionally this feels critical, given that almost all references a Practitioner now occur via a PractitionerRole. But in terms of server support, this would introduce new requirements, like the ability to index a compartment based or resources linked to a PractitionerRole (one hop away from the focus resource of the compartment).
Josh Mandel (Feb 04 2019 at 21:24):
For server developers, is this something you could envision supporting? How hard it is it likely to be?
Grahame Grieve (Feb 04 2019 at 21:24):
I will research...
Josh Mandel (Feb 04 2019 at 21:24):
FYI @Grahame Grieve @James Agnew @Christiaan Knaap @nicola (RIO/SS)
Grahame Grieve (Feb 04 2019 at 21:25):
but the problem for me is that I have to re-index quite a lot of resources if the PractitionerRole resource changes
Grahame Grieve (Feb 04 2019 at 21:25):
I think that's a pretty big deal - doing that inside an atomic transaction
Josh Mandel (Feb 04 2019 at 21:25):
We should also discuss the possibility of deprecating the Practitioner compartment and just doing a PractitionerRole compartment.
Josh Mandel (Feb 04 2019 at 21:26):
We could handle many use cases with that, I'd bet.
Michael Donnelly (Feb 05 2019 at 17:08):
I had an idea a couple of years ago that we could effectively replace Pracitioner with PractitionerRole and let PractitionerRoles nest. My intent was to support servers that don't have a concept of providers working at different locations (e.g. a national server that only cares about IDs and credentials) in the same structure as servers that do, but I think it'd work here too. It didn't get any traction back then, and I didn't feel strongly enough to pursue it. Is it worth considering in light of this challenge?
Lloyd McKenzie (Feb 05 2019 at 17:10):
@Brian Postlethwaite
Elliot Silver (Feb 05 2019 at 17:33):
Note that the resolution of this issue should consider the resolution of GF#19688, and vice-versa.
nicola (RIO/SS) (Feb 06 2019 at 07:25):
No problems to implement.
Christiaan Knaap (Mar 04 2019 at 07:25):
I haven't tested it, but I think we might already support it in our current implementation of compartment search. So sure we could solve this, and it should not be too hard. BTW, in R3 the Patient compartment had this problem already for Provenance ("target.subject or target.patient or patient").
Last updated: Apr 12 2022 at 19:14 UTC