Stream: implementers
Topic: Match/Merge
Chris Grenz (Jun 11 2018 at 16:29):
Consider a situation where a system is aggregating resources from many sources. System A sends Encounter/A, B sends Encounter/B, and C Encounter/C - all three are successfully written. A match/merge process determines that A and B are actually the same encounter, but other systems have already used the URIs.
What's the best way for the FHIR server to indicate that Encounter/B is now A. In normal HTTP, we'd use a 301 response. The FHIR spec doesn't comment on this use, and there's no way for a client to ask for a redirect (e.g. a DELETE with redirect). Should we add this?
Lloyd McKenzie (Jun 11 2018 at 16:41):
We have the Linkage resource that allows you to identify both as representing the same thing, but that doesn't let you remove one. (And it relies on someone querying Linkage to realize that the relationship exists.)
Chris Grenz (Jun 11 2018 at 16:43):
Linkage type "source" is Provenance, no? This thing (Linkage) brings up all kinds of questions...
Chris Grenz (Jun 11 2018 at 16:46):
Should the presence of a Linkage from a DELETEd resource return a redirect?
Lloyd McKenzie (Jun 11 2018 at 16:56):
Linkage came into being on the clinical side to let systems capture that 5 different Condition records from 3 different systems are actually all talking about the same thing (though possibly from different timeframes/perspectives). If "source" is asserted, it's considered to be source of truth, but that assertion might not always be made for a Linkage instance. We haven't talked about redirects at all. (In part because, for the primary use-case, it wasn't expected that any of the representations would be deleted.)
Chris Grenz (Jun 11 2018 at 17:30):
Is a redirect legal in FHIR?
Lloyd McKenzie (Jun 11 2018 at 17:38):
Redirects are absolutely legal - SMART doesn't work terribly well without them.
Grahame Grieve (Jun 11 2018 at 23:13):
there's a difference between security layer redirects and conceptual redirects; a difference between 'this resource is found over there' and 'no, you want this other resource instead'
Grahame Grieve (Jun 11 2018 at 23:14):
we have not explored the latter use case; I think Epic @Michael Donnelly ) are using redirects after patient merge, but it doesn't sit well with me because of the difference between the two concepts
Michael Donnelly (Jun 12 2018 at 00:15):
We did that with DSTU2 but didn’t port it over to STU3. Currently if you try a read of a patient that was the source for a merge, you get a 400 and have to search again to find the target.
Last updated: Apr 12 2022 at 19:14 UTC