Uploaded image for project: 'OpenMRS 3.x'
  1. OpenMRS 3.x
  2. O3-328

Support Address Hierarchy



    • Task
    • Status: Done
    • Should
    • Resolution: Fixed
    • None
    • None
    • Registration
    • Undetermined
    • Micro Frontends Sprint 5, Micro Frontends Sprint 6, Micro Frontends Sprint 7, Micro Frontends Sprint 8, Micro Frontends Sprint 9, Micro Frontends Sprint 10, April 2021, May 2021, 3.0 Aug 2021, 3.0 Sept 2021, 3.0 Oct 2021


      (Note Oct 2021: This is needed for the PIH Mexico 3.x pilot. Screenshot attached.)

      BA: ddesimone (for any requirements questions)


      As a health care provider
      I want to be able to record the patient's address in a quick and easy manner
      So that I avoid typing mistakes and long registration process


      In continuation of MF-250 we would like to provide dropdown options for the address input fields in order to improve the user experience. To provide an intuitive way for the user to enter the address of a patient, we would like to add a search field to search for addresses across all levels (leveraging the Address Hierarchy module):

      Upon click, the address input fields will be filled in with the selected data provided by the Address Hierarchy module.

      Addresses are stored in form of a hierarchy where each entry is related to its higher level parent (example below): 

      Place du Tertre is a Rue that belongs to 18ème Arrondissment, itself belonging to City Paris, itself in Département Ile de France, itself in Pays France

      • Pays
        • Département
          • City
            • Arrondissement
              • Rue

       In scope

      • addition of a 'search bar' to search across all levels as a shortcut to having to scroll through a dropdown
      • on typing a list of dropdown options is shown (provided by the Address Hierarchy module)
      • keep the ability to manually enter the field without searching in the Address Hierarchy

      Out of scope

      • ability to search by Level, and to narrow down the possible choices for the levels below.

      Implementation Context

      1. https://openmrs-spa.org/openmrs/module/addresshierarchy/ajax/getPossibleFullAddresses.form?separator=%7C&searchString=bo with separator=delimiter being the delimiter used so separate hierarchy levels in the returned address strings and searchString=value being the query parameter specifying the search value entered by the user
      2. https://openmrs-spa.org/openmrs/module/addresshierarchy/ajax/getPossibleAddressHierarchyEntriesWithParents.form?addressField=country&limit=20&searchString=cam where searchString=value is the query parameter specifying the search value entered by the user and addressField=field is the query parameter specifying which hierarchy level will be searched.

      Gliffy Diagrams


          Issue Links



                vasharma05 Vineet Sharma
                mksrom Romain Buisson
                0 Vote for this issue
                7 Start watching this issue