Skip to content

Managing resource contention when suggesting/accepting updates #452

Description

@dennispatterson

FHIR manages resource contention by the inclusion of an If-Match request header on a PUT to indicate that an update should only be applied if the current version of the resource matches what that caller received when it was read. Otherwise, two "simultaneous" updates could trample one another.

When a CDS service returns a card with a suggested update to a FHIR resource, there is no concept of supplying something like an If-Match. However, if another workflow makes an update before the action is accepted, loss of data could result. Semantics/documentation need to be added for handling this scenario.

Activity

  1. dennispatterson commented on Dec 13, 2018

    @dennispatterson
    CollaboratorAuthor

    Note that this is referring to scenarios where the suggested update is to a persisted resource, not a scratch pad or otherwise in-memory resource that is not yet persisted.

  2. isaacvetter commented on Aug 7, 2019

    @isaacvetter
    Member

    Hey @dennispatterson ,

    I think that the optimal case is that it's not possible for

    another workflow [to] make an update before the [CDS Hook's card's] action is accepted

    But, perhaps that's a short-sighted perspective.

    Did you have in mind specific "Semantics/documentation" that would handle this scenario?

    Why not simply declare it as out of scope?

    Isaac

  3. added a commit that references this issue on Jul 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions