@samuel34 What stops you from dumping the sync data into a file and uploading it into another server?
Obviously nothing stops me but I was confused on why we should depend on sync
@samuel34 What options did you envisage other than sync?
Hi, @samuel34
I can see nothing wrong in your config, but I suspect that your local instance may not be accessible from outside and thatās why sync4 canāt access it as well.
Regards, Tomasz
I think I was getting it wrongly.
Since its in the same circles, I think its sync.
@dkayiwa @samuel34 Just to confirm that we are on the same pageā¦ Below is my understanding.
-
The purpose of this project is to be able to merge patient data from multiple installations
-
The default way is to extract the patient information from each of the different tables and package it in a way that can be imported into another instance
-
However with sync2 in progress, there is a possibility to leverage this. How:
- Sync currently exposes patients, observations etc into a FHIR/REST interface, but underneath all that the data is stored in tables (in case of no connection)
- The idea in this case is to export the data from the sync tables and import it into another instanceā¦
- That way the project is dependent on the sync structure, but extends it in a way that was not planned earlier
@tmueller Please do add your thoughts too - I may be totally off track here
I think I now understand and agree with that design.
Sorry, just jumped in here with very little context, but it does sound like if this project could leverage sync like @ssmusoke suggests, that would be greatā¦ I would definitely get the thoughts of the team working on Sync about this use case.
Take care, Mark
@samuel34 @ssmusoke is your primary mentor and hence has the final say in regards to the direction of this project.
@dkayiwa I am happy to be swayed ā¦ in a direction that is best for OpenMRS and the overall implementation community a sanity check for my tunnel visionā¦
Hi all!
Iām still getting myself familiar of how sync2 works by looking directly at the code base.
Iām atleast aware that sync uses the atomfeed module for getting aware of events in the entire platform ie. New Patient update. But I was curious of how it happens(is it through some AOP logic!). Looking at the codebase, I hit upon this AtomFeedClient#process() method delegated here. Is that the method that checks the entire OpenMRS context for new events(Atom feeds) ? If not, could you try explain this for me or point me to related resources!
cc: @tmueller , @ssmusoke , @mogoodrich and Others.
Yes,
but the methods that trigger the whole synchronization process are:
LocalFeedWorker#process and ParentFeedWorker#process
Regards, Tomasz
Hi @ssmusoke!
I think I should get started with ārealā work on this today.
How to get started
I thought of starting with implementing service layers that retrieve the sync-able data from the entire OpenMRS context first. Could you come in here now, help me get moving by giving me directives in form of TODOs? I feel its the best way we can get movingHi !
As a starting point, I have so far focused on a Patient as a Resource. I made a PatientResourceService, however, this doesnāt have a DAO. Iām thinking of just it just delegating the core PatientService here. However, running this test case fails with the error below.
ERROR - Context.getServiceContext(258) |2018-05-25 04:07:20,859| serviceContext is null. Creating new ServiceContext()
@samuel34 What task are you working on? What are you trying to achieve?
Looking at a Patient as a Resource, Iām trying to implement some service that will have to persist the āmerged/uploadedā Patient into the DB.
At the same time retrieve a batch of data from the DM for exportation
BTW @ssmusoke , does this use case make any sense? If so, could the problem be with my moduleApplicationContext.xml?
The problem was solved
But just to ask a little about openmrs-platform .
Should snapshot 1.0.0 depend on platform 1.11.6 as it is by default? Or!
How do we basically handle platform compatibility?
cc: @ssmusoke, @dkayiwa
Iām gonna depend on platform 2.0.5