Mergepatientdata Module

Overview

The Merge Patient data from Multiple Installations project was as a result of GSoC 2018. The module is used for merging Patient and related metadata from one Openmrs instance to another. Data is transferred using an external drive from one machine to another. 


Documentation / How-To

Use The Module

The mergepatientdata module is very easy to use. It doesn't required complicated configurations to get working. Currently the module initial version isn't yet released on Openmrs Add ons platform neither bamboo CI. However, for now we could go ahead and manually build the .omod file manually from the repo, install in on your distro. 

Required Dependencies 
  • Java SDK -1.8
  • Openmrs platform -2.0.5 - *
  • uiframework - 3.6 - *
  • uicommons - 2.3.*
Currently Supported Resources
  • Patient
  • Encounter
    • Obs

An Encounter is a complex OpenmrsObject with lots of metadata it wraps. We still have a few resources to add by the next releases.

  • Visit
  • Diagnosis
  • Order
  • Drug

After the installation is complete, you would like to :

  •  Move to the Merge Patient Data module dashboard.

           

  • Update the configuration section as described below.
  • Go ahead and share data either by Export or Import 
  • When importing, you should upload a valid '.mpd' file.
  • You could be curious to know how the Transaction was encountered, you then wanna look at the 'Audit log'  section.

 Configurations

Not every implementation is satisfied by the default config. Could be you only wanna export Patients without Encounters. This can all be configured at the 'Load Configuration' section.

{
  "general" : {
    "localInstanceId" : "Development Server",
    "persistSuccessAudit" : true,
    "persistFailureAudit" : true
  },
  "exporting" : {
    "enabled" : true,
    "classes" : [ {
      "classTitle" : "Patient",
      "enabled" : true,
      "openmrsClass" : "org.openmrs.Patient"
    }, {
      "classTitle" : "Location",
      "enabled" : true,
      "openmrsClass" : "org.openmrs.Location"
    }, {
      "classTitle" : "Encounter",
      "enabled" : true,
      "openmrsClass" : "org.openmrs.Encounter"
    } ]
  },
  "importing" : {
    "enabled" : true,
    "classes" : [ {
      "classTitle" : "Patient",
      "enabled" : true,
      "openmrsClass" : "org.openmrs.Patient"
    }, {
      "classTitle" : "Location",
      "enabled" : true,
      "openmrsClass" : "org.openmrs.Location"
    }, {
      "classTitle" : "Encounter",
      "enabled" : true,
      "openmrsClass" : "org.openmrs.Encounter"
    } ]
  }
}
  • For every implementation, its always required to update the 'localInstanceId' property to a value that can identify the server from others.
  • Disabling support of a given resource type is done by toggling between 'true' and 'false' of property 'enabled's value.
  • Don't explicitly add a definition of a given Resource type and enable it yet its not supported by the module.



Downloads


Code - https://github.com/samuelmale/openmrs-module-mergepatientdata


Release Notes

TBD


About


This module was developed by Samuel Male for Summer Of Code 2018.