Address hierarchy technical overview (Prior version)
This documentation refers to an old version of Address Hierarchy Module.
Manage Hierarchy
The user are allowed to edit the names of the hierarchy components of their wish.
The data from the text boxes are pulled out dynamically and saved in the table (address_hierarchy_type).
Then the page is loaded dynamically with the new values.
Address Hierarchy Tree
Built with the dojo tree widget.
Tree has the functionality of context menus which let users to
1) Add Location Component
2) Edit Location Component
3) Delete Location Component.
1) Add Location Component
2) Edit Location Component
3) Delete Location Component.
Add Location Component : Popups out a thick box which lets user to add bulk location entries with the chosen address hierarchy type. When the "Add" button is selected the locations are added dynamically to the tree after storing the locations in the table (address_hierarchy) with the fields filled with parent location id and the type of the location.
Edit Location Component: Popups out a box to rename the location. After renaming it updates the location name in the table (address_hierarchy)
Delete Location Component: Popups out a confirmation box. It deletes the location from the table (address_hierarchy).
New Patient Form
AddressLayout.jsp is overridden here. It gives out a list of drop down menus which lets user to select the locations hierarchically one by one. NewPatientFormController takes care of the page it creates the patient records with the address selected by user. The AddressLayoutPortletController is used to override the AddressLayout.jsp. The address entered here is stored in the person_address table.
PatientDashboard
AddressLayout.jsp is overridden here but it has different property. It shows the address of the patient here.
The address is feed into the page dynamically and coded in the page.
Patient Form
AddressLayout.jsp is overridden here it lets the user to edit the patient record here.
User can add more than one address to the patient with the help of the portlet.
User can also update the address using the portlet.
PatientFormController takes care of the storing and updating the address in the table (person_address).