Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design and implementation for generation of UUID by FHIR Engine #784

Closed
Tarun-Bhardwaj opened this issue Sep 14, 2021 · 1 comment · Fixed by #1231 or #1235
Closed

Design and implementation for generation of UUID by FHIR Engine #784

Tarun-Bhardwaj opened this issue Sep 14, 2021 · 1 comment · Fixed by #1231 or #1235
Assignees
Labels
P1 High priority issue type:enhancement New feature or request

Comments

@Tarun-Bhardwaj
Copy link

Tarun-Bhardwaj commented Sep 14, 2021

Is your feature request related to a problem? Please describe.
How do we handle resource IDs by the FHIR SDK. This has implications for how we can do the Sync from the Android client to the FHIR Server and also resolve potential ID conflict issues

See this deck for exploration of the different approaches

Describe the solution you'd like
Use PUT to create new resources on the server side. The SDK does not enforce (but strongly recommends) UUID creation (option 3)

  • The SDK should be able to specify UUIDs for resources created by the client application
  • Resources created on the SDK side should be able to be sync'd to the FHIR server using PUT (not POST)
  • The FHIR SDK will not enforce, but strongly recommend UUID creation - default behaviour will be to create the UUIDs providing implementers the ability to override

Describe alternatives you've considered
See this deck for detailed alternatives. In summary these include:

  1. Server sets the resource IDs on POSTing the new resources
  2. FHIR SDK enforces the creation of UUIDs

Additional context

  1. UUIDs will only be generated for newly created resources.
  2. This conforms to the standard according to the FHIR spec. The FHIR SDK is effectively an extension of the FHIR server
  3. There will be server side requirements that will need to be enabled to support this. This will be documented as part of an ImplementationGuide
@fredhersch
Copy link
Collaborator

fredhersch commented Sep 20, 2021

@aditya-07 I updated the issue here to reflect option 3 as the desired approach. I thought that we could address this by:

  1. SDK will generate and assign resource IDs by default
  2. SDK will allow implementers to override this in the methods for creating new resources
  3. UUIDs provided by implementers should ideally conform to the UUID standard (and will be validated by the SDK) .. this will not be enforced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P1 High priority issue type:enhancement New feature or request
Projects
Archived in project
4 participants