OpenSRP atomfeed module

OpenSRP atomfeed module is based on ICT4H Atomfeed Module and it`s source code can be cloned here. This module creates feeds for different transactions happening into OpenMRS.

Setup instructions:

  • Download module release from here
  • Once installed goto configure and change property 'atomfeed.data-update.data-entry.roles-to-ignore'.
    • NOTE: For data pushed by OpenSRP we may only want to get feeds which are generated by direct usage of OpenMRS system or are from any other external system.
    • We would want to skip data pushed by OpenSRP daemon service (syncer service which push data updated on OpenSRP side)
    • This property would force system to skip entries from specified roles.
    • OpenSRP daemon (data sync) service should not use credentials of admin or any other user. Rather it should be a special daemon service credentials with Developer Role and Another role which distinguishes i from all other users and should never be used for administering OpenMRS via UI.
  • If your system handles all atomfeeds make value empty.

 

Rightnow feeds are available for Patient data Save and Update and Encounter data Save and Update. Full implementation would have following 

Entity TypeChild EntityTransaction TypeIs AvailableAPI MethodCategory
Patient

Patient Demographics

Save, Update, VoidYessavePatientOpenSRP_Patient
 Patient IdentifierSave, Update, VoidYessavePatientOpenSRP_Patient
 Patient AddressSave, Update, VoidYessavePatientOpenSRP_Patient
 Patient AttributesSave, Update, VoidYessavePatientOpenSRP_Patient
EncounterEncounter DataSave, Update, VoidYessaveEncounterOpenSRP_Encounter
 ObservationsSave, Update, VoidYessaveEncounterOpenSRP_Encounter
OrderDrug Orderssave, Update, VoidYessaveOrderOpenSRP_DrugOrder
CohortCohort DataSave, Update, VoidNosaveCohortOpenSRP_Cohort
 Cohort AttributesSave, Update, VoidNosaveCohortOpenSRP_Cohort
 Cohort MembersSave, Update, VoidNosaveCohortOpenSRP_Cohort
RelationshipPatient RelationshipSave, Update, VoidNosaveRelationship, voidRelationship, purgeRelationshipOpenSRP_Relationship
      

 

ERD of Atomfeed module:

Note: The highlighted part shows new addition to original module. This module is supposed to work well with orignal module without any conflicts and is using same tables to maintain feeds. The category used by this module has Prefix OpenSRP_category-type. Hence system interested in OpenSRP feeds should be able to distinguish feeds generated by both systems.

 

Flow diagram or protocol for all Spring Advices module is handling: