0

Is there a specified or recommended way of merging two (or more) patients in FHIR?

Using the REST style merge could be implemented by posting an update to the Patient resource changing the Patient.link element, but this doesn't seem very explicit for a signficant operation such as merge.

An alternative possibility would be to define a $merge operation on the Patient resource.

Does the specification (or the FHIR community) have patterns/suggestions for this?

Jonny Rylands
  • 193
  • 4
  • 12

2 Answers2

0

RESTful changes tend not to be terribly explicit. You just replace one record with another one. (Which means that fine-grained permission control either needs to be done on the client side or there's extra work for the server to figure out what the update is actually doing.)

FHIR supports REST, Services (e.g. Operations) and Messaging as equally valid paradigms to maintain content. "Merge" could be handled by any of them - it really depends what behavior you want. An Operation or Message would allow you to easily establish a bi-directional linkage if that was important to you. Messaging would allow asynchronous and indirect invocation. REST is simplest and requires the least up-front negotiation.

In general, most implementers seem to follow the pattern of "do it with REST if you can, use services otherwise and fall back to messaging if that's your architecture or you require indirect/asynchronous response".

Lloyd McKenzie
  • 6,345
  • 1
  • 13
  • 10
0
Using the REST style merge could be implemented by posting an update to
the Patient resource changing the Patient.link element, but this doesn't
seem very explicit for a signficant operation such as merge.

Patient.link is Link to another patient resource that concerns the same actual person so it is not for merging records.

Person resource's link can be used to link various Patient.

And then query on patient may know from Person->link to find all Patients records/ to achieve merge records.

Jehy
  • 4,729
  • 1
  • 38
  • 55
Paperless
  • 45
  • 6