Uploaded image for project: 'mUzima'
  1. mUzima
  2. MUZIMA-461

Making mUzima patient registration generically handle person address and person attributes

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Medium
    • Resolution: Done
    • Labels:

      Description

      There's need to update mUzima mobile and OpenMRs side handlers to generically process patient data that includes demographics (patient names, date of birth, gender), identifiers, person attributes, and person address.
      To achieve this, mUzima mobile and mUzima core need updates to meet the following criteria:

      1. The payload shall contain the following under patient object
        1. patient.personattribute will be an array of person attribute objects containing Attribute Type Uuid and Attribute value ( and Attribute uuid for attributes being edited).
        2. patient.personaddress will be an array of objects containing a select list of fields of the OpenMRS person_address table. See design notes
        3. patient.medical_record_number will be an object containing the primary (preferred) medical record number
        4. patient.otheridentifiers will be an array of objects containing other medical record numbers
      2. The server side demographics update and registration handlers shall be updated to process values described above if present in the payload
      3. mUzima mobile shall be updated to:
      • Download person address, person attributes and patient identifiers when downloading patient records
      • Be able to parse registration & demographic update forms to create payload, and to prepopulate the forms, while matching the logic described for server side handlers above.

      For a complete listing of examples and description of payload structure, please see design notes here

      Activities of this ticket shall be done under sub-tasks

      OTHER NOTES: Needs design discussion
      Currently, mUzima requires the primary medical record number to be collected on every registration form. However, there are some OpenMRS implementations that autogenerate registration numbers, and therefore do not require manual user input during registration. There's need to decide further whether and how to accomodate such implementations. Some suggested approaches:

      • Create a server side setting that is downloaded by mUzima app, that defines whether to require medical record number for an implementation. The same setting is used by handlers to determine whether the identifier is required in a payload.
      • Make patient medical record number optional on mobile app side, and let the server side handler generate during processing payload if the number is missing in payload.
      • Make the patient number required, but let the server side handler decide whether to make it preferred on not, based on a server side setting

      UPDATE: Per design discussion, we've decided to go with option 1 (Use server side setting that defines whether the medical record number is required or not for an implementation). This will be done as sub tasks 4 and 5.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                sam_programiz Samuel Owino Omondi
                Reporter:
                ssavai Simon Savai
                Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved: