Logical ids - Do they change?

I’m getting very confused https://www.hl7.org/FHIR/resource.html#id says in “Once assigned by the server, the [logical] id is never changed.” and in “Although the logical id of a resource changes as it moves from server to server” which is it?



Think of the Resource.id as if it’s a primary key. On a single server, the id is going to remain the same. If it ‘changes’, then from the perspective of the outside world, the old record has been deleted and a new one has been added.

However, if the same information is stored on multiple servers, each server is likely to have a distinct ‘key’ for their record, even though it’s representing the same patient, allergy, encounter, etc. Servers can choose to synchronize their keys but most won’t and there’s no expectation that they should.

1 Like