Spike on HAPI FHIR resource updates syncing with OpenLMIS reference data

Description

This spike deals with determining how to trigger an update to reference data when the FHIR resource is updated in the HAPI FHIR server.

Considerations:

  • How does the update get triggered?

  • What happens with conflicts? (determining FHIR resources that are "owned" by OpenLMIS vs. FHIR resources that are not, so OpenLMIS cannot update those resources)

  • How to determine OpenLMIS resources that can be modified by OpenLMIS (because they were created in Reference Data and synced to FHIR), vs. those that cannot (because they were created in FHIR and synced to Reference Data)?

  • How to "ignore" mCSD FHIR resources that OpenLMIS reference data does not need to sync

Acceptance Criteria

  • Add findings, giving high-level answers to above questions and level-of-effort (LoE), to FHIR server options

Activity

Show:

Łukasz Lewczyński 
September 18, 2018 at 7:41 AM

The ticket has been created - OLMIS‌-5415 - and I moved this ticket to done.

Chongsun Ahn 
September 17, 2018 at 6:13 PM

Great; can you make a ticket for this upcoming work and then this ticket can be moved to Done?

Łukasz Lewczyński 
September 17, 2018 at 11:32 AM

It seems like the 2nd use case is straightforward but I would say we could do a PoC for checking if it would be easy to send a request from FHIR server to another server (in our case to the reference data service) and if this part would not bring any problem then we could implement the solution. I think checking when and what request should be sent from the FHIR server will be the hardest part.

If we don’t have too much time then I would say we should simply go and implement use case 2.

cc:

Chongsun Ahn 
September 14, 2018 at 5:32 PM
(edited)

Thanks for doing this so quickly. Have you thought of other potential considerations that were not outlined in the ticket? The goal here is to understand what would be involved in doing use case 2. If you feel like we've written down enough research, there are two options from here:

  1. If we feel like there are still some unknowns, we can timebox a PoC to see if we find more questions and potential solutions to those questions. We would create a ticket to do that PoC.

  2. If we don't anticipate too many unknowns, we can go ahead and start implementing use case 2 with our HAPI FHIR server. We would create a ticket do that implementation.

What do you feel like would be the better option at this point?

Łukasz Lewczyński 
September 11, 2018 at 2:28 PM

I updated the related wiki page with a table that contains the above questions and propositions how we could solve them. Feel free to comment.

cc:

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Story Points

Original estimate

Time tracking

1d 2h logged1d 6h remaining

Sprint

Fix versions

Priority

Time Assistant

Created August 29, 2018 at 8:38 PM
Updated September 18, 2018 at 7:41 AM
Resolved September 18, 2018 at 7:39 AM