← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 11952: Add functionality to allow displaying option-set as radio buttons in Add/Update program-stage for...

 

------------------------------------------------------------
revno: 11952
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Fri 2013-09-06 22:53:07 +0700
message:
  Add functionality to allow displaying option-set as radio buttons in Add/Update program-stage form. Allow to override this configuration to in user-setting. 
modified:
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageDataElement.java
  dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java
  dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java
  dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageDataElement.hbm.xml
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java
  dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml
  dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties
  dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataEntryForm.vm
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageInstance.vm
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/sectionDataEntryForm.vm
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonDataElements.vm
  dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/settings/userGeneralSettings.vm
  dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/GetGeneralSettingsAction.java
  dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/SetGeneralSettingsAction.java
  dhis-2/dhis-web/dhis-web-commons/src/main/resources/i18n_global.properties
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/AddProgramStageAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/UpdateProgramStageAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramStageForm.vm
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/addProgramStageForm.js
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programStage.js
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/updateProgramStageForm.js
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm


--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java	2013-09-06 09:34:21 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java	2013-09-06 15:53:07 +0000
@@ -83,6 +83,8 @@
     public static String FIXED_ATTR_INTEGER_AGE = "integerValueOfAge";
     public static String FIXED_ATTR_REGISTRATION_DATE = "registrationDate";
 
+    public static String FIXED_ATTR_FULL_NAME = "fullName";
+
     private String firstName;
 
     private String middleName;

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageDataElement.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageDataElement.java	2013-08-23 15:56:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/program/ProgramStageDataElement.java	2013-09-06 15:53:07 +0000
@@ -78,6 +78,8 @@
 
     private Boolean allowDateInFuture;
 
+    private Boolean displayAsRadioButton;
+
     // -------------------------------------------------------------------------
     // Constructors
     // -------------------------------------------------------------------------
@@ -179,6 +181,9 @@
         this.displayInReports = displayInReports;
     }
 
+    @JsonProperty
+    @JsonView( { DetailedView.class, ExportView.class } )
+    @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
     public Boolean getAllowDateInFuture()
     {
         return allowDateInFuture;
@@ -189,6 +194,19 @@
         this.allowDateInFuture = allowDateInFuture;
     }
 
+    @JsonProperty
+    @JsonView( { DetailedView.class, ExportView.class } )
+    @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
+    public Boolean getDisplayAsRadioButton()
+    {
+        return displayAsRadioButton;
+    }
+
+    public void setDisplayAsRadioButton( Boolean displayAsRadioButton )
+    {
+        this.displayAsRadioButton = displayAsRadioButton;
+    }
+
     // -------------------------------------------------------------------------
     // hashCode, equals and toString
     // -------------------------------------------------------------------------
@@ -201,7 +219,7 @@
 
         result = result * prime + programStage.hashCode();
         result = result * prime + dataElement.hashCode();
-        
+
         return result;
     }
 

=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java	2013-08-23 15:56:19 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/user/UserSettingService.java	2013-09-06 15:53:07 +0000
@@ -56,6 +56,7 @@
     final String AUTO_SAVE_CASE_ENTRY_FORM = "autoSaveCaseEntryForm";
     final String AUTO_SAVE_PATIENT_REGISTRATION_ENTRY_FORM = "autoSavePatientRegistration";
     final String DEFAULT_ANALYSIS_DISPLAY_PROPERTY = "name";
+    final String KEY_DISPLAY_OPTION_SET_AS_RADIO_BUTTON = "displayOptionSetAsRadioButton";
     
     final List<Integer> DASHBOARD_CHARTS_TO_DISPLAY = Arrays.asList( 4, 6, 8 );
 

=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java	2013-09-06 15:53:07 +0000
@@ -232,6 +232,7 @@
         executeSql( "ALTER TABLE program DROP COLUMN blockEntryForm" );
         executeSql( "ALTER TABLE program DROP COLUMN remindCompleted" );
         executeSql( "ALTER TABLE program DROP COLUMN displayProvidedOtherFacility" );
+        executeSql( "UPDATE programstage_dataelements SET displayAsRadioButton=false WHERE displayAsRadioButton is null" );
     }
 
     // -------------------------------------------------------------------------

=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageDataElement.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageDataElement.hbm.xml	2013-06-21 05:12:42 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/program/hibernate/ProgramStageDataElement.hbm.xml	2013-09-06 15:53:07 +0000
@@ -22,6 +22,8 @@
 	<property name="displayInReports"/>
 	
 	<property name="allowDateInFuture"/>
+	
+	<property name="displayAsRadioButton"/>
 
   </class>
 </hibernate-mapping>

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/LoadDataEntryAction.java	2013-09-06 15:53:07 +0000
@@ -56,6 +56,7 @@
 import org.hisp.dhis.program.comparator.ProgramStageDataElementSortOrderComparator;
 import org.hisp.dhis.program.comparator.ProgramStageSectionSortOrderComparator;
 import org.hisp.dhis.system.util.ValidationUtils;
+import org.hisp.dhis.user.UserSettingService;
 
 import com.opensymphony.xwork2.Action;
 
@@ -119,6 +120,20 @@
         this.organisationUnitService = organisationUnitService;
     }
 
+    private UserSettingService userSettingService;
+
+    public void setUserSettingService( UserSettingService userSettingService )
+    {
+        this.userSettingService = userSettingService;
+    }
+
+    private String displayOptionSetAsRadioButton;
+
+    public String getDisplayOptionSetAsRadioButton()
+    {
+        return displayOptionSetAsRadioButton;
+    }
+
     // -------------------------------------------------------------------------
     // Input && Output
     // -------------------------------------------------------------------------
@@ -356,6 +371,9 @@
             latitude = ValidationUtils.getLatitude( programStageInstance.getCoordinates() );
         }
 
+        displayOptionSetAsRadioButton = (String) userSettingService.getUserSetting(
+            UserSettingService.KEY_DISPLAY_OPTION_SET_AS_RADIO_BUTTON, "" );
+
         return SUCCESS;
     }
 

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml	2013-09-06 15:53:07 +0000
@@ -111,6 +111,8 @@
 			ref="org.hisp.dhis.organisationunit.OrganisationUnitService" />
 		<property name="programIndicatorService"
 			ref="org.hisp.dhis.program.ProgramIndicatorService" />
+		<property name="userSettingService"
+			ref="org.hisp.dhis.user.UserSettingService" />
 	</bean>
 
 	<bean

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties	2013-09-05 19:20:05 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/org/hisp/dhis/caseentry/i18n_module.properties	2013-09-06 15:53:07 +0000
@@ -677,4 +677,5 @@
 search_by_user_orgunits = Search by user orgunits
 show_data = Show data
 name_in_use = Name is in use
-incomplete_confirm_message = Are you sure this event is incompleted?
\ No newline at end of file
+incomplete_confirm_message = Are you sure this event is incompleted?
+non_value = No value
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml	2013-09-06 07:54:55 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml	2013-09-06 15:53:07 +0000
@@ -4,1204 +4,1225 @@
   "http://struts.apache.org/dtds/struts-2.0.dtd";>
 <struts>
 
-  <include file="dhis-web-commons.xml" />
-
-  <package name="dhis-web-caseentry" extends="dhis-web-commons"
-    namespace="/dhis-web-caseentry">
-
-    <action name="index" class="org.hisp.dhis.caseentry.action.NoAction">
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/index.vm</param>
-      <param name="menu">/dhis-web-caseentry/menu.vm</param>
-    </action>
-
-    <!-- Data Entry -->
-
-    <action name="validateSearch"
-      class="org.hisp.dhis.caseentry.action.caseentry.ValidateSearchAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-caseentry/responseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-caseentry/responseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-caseentry/responseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-    </action>
-
-    <action name="searchAllFacilities"
-      class="org.hisp.dhis.caseentry.action.NoAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <param name="requiredAuthorities">F_SEARCH_PATIENT_IN_ALL_FACILITIES</param>
-    </action>
-    
-    <action name="searchPatient"
-      class="org.hisp.dhis.caseentry.action.patient.SearchPatientAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/listPatient.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_SEARCH</param>
-    </action>
-
-    <action name="listAllPatients"
-      class="org.hisp.dhis.caseentry.action.patient.SearchPatientAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="listAll">true</param>
-      <param name="page">/dhis-web-caseentry/listPatient.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_LIST</param>
-    </action>
-
-    <action name="selectDataRecording"
-      class="org.hisp.dhis.caseentry.action.caseentry.DataRecordingSelectAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/dataRecordingSelect.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="loadProgramStageInstances"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadProgramStageInstancesAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonProgramStageInstances.vm
-      </result>
-    </action>
-
-    <action name="getProgramStageInstance" class="org.hisp.dhis.caseentry.action.caseentry.GetProgramStageInstanceAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStageInstance.vm</result>
-    </action>
-    
-    <action name="editDataEntryForm"
-      class="org.hisp.dhis.caseentry.action.NoAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-	
-	<action name="dataentryform"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/dataEntryForm.vm</param>
-      <param name="stylesheets">style/style.css</param>
-    </action>
-    
-    <action name="completeDataEntry"
-      class="org.hisp.dhis.caseentry.action.caseentry.CompleteDataEntryAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <result name="programcompleted" type="velocity-json">/dhis-web-caseentry/jsonResponseProgramCompleted.vm</result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="uncompleteDataEntry"
-      class="org.hisp.dhis.caseentry.action.caseentry.UncompleteDataEntryAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="saveExecutionDate"
-      class="org.hisp.dhis.caseentry.action.caseentry.SaveExecutionDateAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="input" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="registerIrregularEncounter"
-      class="org.hisp.dhis.caseentry.action.caseentry.RegisterIrregularEncounterAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="cacheManifest" class="org.hisp.dhis.commons.action.NoAction">
-      <result name="success" type="velocity-cache-manifest">/dhis-web-caseentry/cacheManifest.vm</result>
-    </action>
-
-    <action name="getProgramMetaData" class="org.hisp.dhis.caseentry.action.GetProgramMetaDataAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramMetaData.vm</result>
-    </action>
-
-    <action name="anonymousRegistration"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/anonymousRegistration.vm</param>
-      <param name="menu">/dhis-web-caseentry/dataEntryMenu.vm</param>
-      <param name="manifest">../dhis-web-caseentry/cacheManifest.action</param>
-      <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js
-        ,javascript/commons.js
-        ,javascript/anonymousRegistration.js
-        ,javascript/entry.js
-        ,../dhis-web-commons/javascripts/date.js
-      </param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_ANONYMOUS_DATA_ENTRY</param>
-    </action>
-
-    <action name="anonymousPrograms"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonSingleEventPrograms.vm</result>
-    </action>
-
-    <action name="createAnonymousEncounter"
-      class="org.hisp.dhis.caseentry.action.caseentry.CreateAnonymousEncounterAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="input" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseInput.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="loadAnonymousPrograms"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonProgramInstances.vm
-      </result>
-    </action>
-
-    <action name="uploadAnonymousEvent"
-      class="org.hisp.dhis.caseentry.action.caseentry.UploadAnonymousEventAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseError.vm
-      </result>
-    </action>
-
-    <action name="getOptionSet" class="org.hisp.dhis.caseentry.action.GetOptionSetAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonOptionSet.vm</result>
-    </action>
-
-    <action name="getUsernames" class="org.hisp.dhis.caseentry.action.GetUsernamesAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonUsers.vm</result>
-    </action>
-
-    <action name="removeCurrentEncounter"
-      class="org.hisp.dhis.caseentry.action.caseentry.RemoveCurrentEncounterAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseError.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PROGRAM_STAGE_INSTANCE_DELETE</param>
-    </action>
-
-    <action name="validateProgram"
-      class="org.hisp.dhis.caseentry.action.caseentry.ValidateProgramInstanceAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/validationResult.vm</param>
-    </action>
-
-    <action name="getOptions"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetOptionsByDataElementAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonOptions.vm
-      </result>
-    </action>
-
-    <action name="getProgramStageDataElementList"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetProgramStageDataElementsAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStageDataElements.vm
-      </result>
-    </action>
-
-    <action name="searchProgramStageInstances"
-      class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/programStageInstancesList.vm</param>
-    </action>
-
-    <action name="removeEmptyEvents"
-      class="org.hisp.dhis.caseentry.action.caseentry.RemoveEmptyEventsAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-    </action>
-
-    <action name="getUsernameList"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetUsernameListAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonUsernames.vm
-      </result>
-    </action>
-    
-   	<action name="getOrganisationUnitPaths"
-		class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitsAction">
-		<result name="success" type="velocity-json">
-			/dhis-web-caseentry/jsonminOrganisationUnitPaths.vm</result>
-	</action>
-	
-    <action name="markForFollowup"
-      class="org.hisp.dhis.caseentry.action.caseentry.MarkForFollowupAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-	
-	<action name="saveProgramInstanceComment"
-      class="org.hisp.dhis.caseentry.action.caseentry.SaveProgramInstanceCommentAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <!-- save value -->
-
-    <action name="saveValue"
-      class="org.hisp.dhis.caseentry.action.caseentry.SaveValueAction">
-      <result name="success" type="velocity-xml">status.vm</result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-caseentry/responseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-    
-     <action name="saveCoordinatesEvent"
-      class="org.hisp.dhis.caseentry.action.caseentry.SaveCoordinatesEventAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <!-- save providing-facility -->
-
-    <action name="saveProvidingFacility"
-      class="org.hisp.dhis.caseentry.action.caseentry.SaveProvidingFacilityAction">
-      <result name="success" type="velocity">status.vm</result>
-      <result name="input" type="velocity">status.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <!-- Multi DataEntry -->
-
-    <action name="multipledataEntrySelect"
-      class="org.hisp.dhis.caseentry.action.caseentry.MultiDataEntrySelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/multiDataEntrySelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/dataEntryMenu.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="javascripts">
-      	../dhis-web-commons/ouwt/ouwt.js,
-      	javascript/commons.js,
-      	javascript/patient.js,
-        javascript/entry.js,
-        javascript/relationshipPatient.js,
-      	javascript/multiDataEntry.js</param>
-      <param name="requiredAuthorities">F_NAME_BASED_DATA_ENTRY</param>
-    </action>
-
-    <action name="getPrograms"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetProgramsByOrgunitAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonPrograms.vm
-      </result>
-    </action>
-    
-    <action name="getAllPrograms"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetAllProgramsAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonPrograms.vm
-      </result>
-    </action>
-	
-    <action name="getDataRecords"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/dataentryRecords.vm</param>
-      <param name="stylesheets">style/style.css</param>
-    </action>
-
-    <action name="viewProgramStageRecords"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/reportDataEntryForm.vm</param>
-      <param name="stylesheets">style/style.css</param>
-    </action>
-
-    <action name="loadProgramStageRecords"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/dataEntryForm.vm</param>
-      <param name="javascripts">../dhis-web-commons/javascripts/date.js</param>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="completeProgramStageDataEntry"
-      class="org.hisp.dhis.caseentry.action.caseentry.CompleteDataEntryAction">
-      <result name="success" type="redirect">
-        getDataRecords.action?programId=${programId}
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <!-- Single-event DataEntry -->
-
-    <action name="singleEventSelect"
-      class="org.hisp.dhis.caseentry.action.caseentry.MultiDataEntrySelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/singleEventSelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/dataEntryMenu.vm</param>
-      <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js
-        ,javascript/commons.js
-        ,javascript/singleEvent.js
-        ,javascript/form.js
-        ,javascript/entry.js
-        ,../dhis-web-commons/javascripts/date.js
-      </param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_SINGLE_EVENT_DATA_ENTRY</param>
-    </action>
-
-    <action name="singleEventPrograms"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetSingleEventProgramListAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonSingleEventPrograms.vm
-      </result>
-    </action>
-
-    <action name="showEventWithRegistrationForm"
-      class="org.hisp.dhis.caseentry.action.caseentry.ShowEventWithRegistrationFormAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/addSingleEventRegistration.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PATIENT_ADD,F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="saveValues"
-      class="org.hisp.dhis.caseentry.action.caseentry.SaveValuesAction">
-      <result name="success" type="velocity-xml">status.vm</result>
-      <param name="requiredAuthorities">F_PATIENT_ADD,F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
-    </action>
-
-    <!-- Report -->
-
-    <action name="reportSelect"
-      class="org.hisp.dhis.caseentry.action.report.ReportSelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/reportSelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/reportsMenu.vm</param>
-      <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/report.js</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_GENERATE_PROGRAM_SUMMARY_REPORT</param>
-    </action>
-
-    <action name="generateReport"
-      class="org.hisp.dhis.caseentry.action.report.GenerateReportAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/report.vm</param>
-      <param name="javascripts">javascript/commons.js,javascript/report.js</param>
-      <param name="requiredAuthorities">F_GENERATE_PROGRAM_SUMMARY_REPORT</param>
-    </action>
-	
-    <action name="viewRecords"
-      class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/reportDataEntryForm.vm</param>
-      <param name="stylesheets">style/style.css</param>
-    </action>
-
-    <action name="statisticalProgramReportSelect"
-      class="org.hisp.dhis.caseentry.action.report.ReportSelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/statisticalProgramReportSelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/reportsMenu.vm</param>
-      <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/statisticalReport.js</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_GENERATE_STATISTICAL_PROGRAM_REPORT</param>
-    </action>
-
-    <action name="generateStatisticalProgramReport"
-      class="org.hisp.dhis.caseentry.action.report.GenerateStatisticalProgramReportAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/statisticalProgramReport.vm</param>
-      <result name="xls" type="gridXlsResult" />
-      <param name="requiredAuthorities">F_GENERATE_STATISTICAL_PROGRAM_REPORT</param>
-    </action>
-	
-    <!-- i18n -->
-
-    <action name="i18n" class="org.hisp.dhis.caseentry.action.NoAction">
-      <result name="success" type="velocity-javascript">/dhis-web-caseentry/i18n.vm
-      </result>
-    </action>
-
-    <!-- Case Aggregation -->
-
-    <action name="caseAggregationForm"
-      class="org.hisp.dhis.caseentry.action.caseaggregation.CaseAggregationFormAction">
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/caseAggregationForm.vm</param>
-      <param name="menu">/dhis-web-caseentry/caseAggregationMenu.vm</param>
-      <param name="javascripts">javascript/caseagg.js,javascript/caseAggregationForm.js</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PATIENT_AGGREGATION</param>
-    </action>
-
-    <action name="validateCaseAggregation"
-      class="org.hisp.dhis.caseentry.action.caseaggregation.ValidationCaseAggregationAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-caseentry/responseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-caseentry/responseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-caseentry/responseInput.vm
-      </result>
-    </action>
-
-    <action name="caseAggregationResult"
-      class="org.hisp.dhis.caseentry.action.caseaggregation.CaseAggregationResultAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/caseAggregationResult.vm</param>
-      <param name="menu">/dhis-web-caseentry/caseAggregationMenu.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_AGGREGATION</param>
-    </action>
-
-    <action name="saveAggregateDataValue"
-      class="org.hisp.dhis.caseentry.action.caseaggregation.SaveAggregateDataValueAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_DELETE</param>
-    </action>
-
-    <action name="caseAggregationResultDetails"
-      class="org.hisp.dhis.caseentry.action.caseaggregation.CaseAggregationResultDetailsAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/caseAggregationResultDetails.vm</param>
-    </action>
-
-    <!-- Patient -->
-
-    <action name="patient"
-      class="org.hisp.dhis.caseentry.action.patient.SelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/selectPatient.vm</param>
-      <param name="menu">/dhis-web-caseentry/registrationMenu.vm</param>
-      <param name="javascripts">
-        ../dhis-web-commons/ouwt/ouwt.js
-        ,javascript/commons.js
-        ,javascript/patient.js
-        ,javascript/entry.js
-        ,javascript/relationshipPatient.js
-      </param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PATIENT_MANAGEMENT</param>
-    </action>
-
-    <action name="searchRegistrationPatient"
-      class="org.hisp.dhis.caseentry.action.patient.SearchPatientAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/patientRegistrationList.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_SEARCH</param>
-    </action>
-
-    <action name="removePatient"
-      class="org.hisp.dhis.caseentry.action.patient.RemovePatientAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseError.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PATIENT_DELETE</param>
-    </action>
-
-    <action name="addPatient"
-      class="org.hisp.dhis.caseentry.action.patient.AddPatientAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="showAddPatientForm"
-      class="org.hisp.dhis.caseentry.action.patient.ShowAddPatientFormAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/addPatientForm.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="showUpdatePatientForm"
-      class="org.hisp.dhis.caseentry.action.patient.GetPatientAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">
-        /dhis-web-caseentry/updatePatientForm.vm
-      </param>
-      <param name="javascripts">
-      	../dhis-web-commons/javascripts/jQuery/jquery-barcode.min.js
-      </param>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="updatePatient"
-      class="org.hisp.dhis.caseentry.action.patient.UpdatePatientAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="validatePatient"
-      class="org.hisp.dhis.caseentry.action.patient.ValidatePatientAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseInput.vm
-      </result>
-      <result name="duplicate" type="velocity-xml">
-        /dhis-web-caseentry/responseDuplicate.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-    </action>
-
-    <action name="showAddRepresentative"
-      class="org.hisp.dhis.caseentry.action.patient.ShowAddRepresentativeAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/underAgeForm.vm</param>
-      <param name="javascripts">javascript/underage.js,
-        ../dhis-web-commons/javascripts/date.js
-      </param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="searchPerson"
-      class="org.hisp.dhis.caseentry.action.patient.SearchPersonAction">
-      <result name="success" type="velocity-xml">responsePatients.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_SEARCH</param>
-    </action>
-
-    <action name="addRepresentative"
-      class="org.hisp.dhis.caseentry.action.patient.AddRepresentativeAction">
-      <result name="success" type="velocity-xml">responseRepresentative.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="getPatientHistory"
-      class="org.hisp.dhis.caseentry.action.patient.GetPatientHistoryAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <result name="xls" type="gridXlsResult" />
-      <result name="pdf" type="gridPdfResult" />
-      <param name="page">/dhis-web-caseentry/patientHistory.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_HISTORY</param>
-    </action>
-
-    <action name="getProgramReportHistory"
-      class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceHistoryAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <result name="xls" type="gridXlsResult" />
-      <result name="pdf" type="gridPdfResult" />
-      <param name="page">/dhis-web-caseentry/programInstanceHistory.vm</param>
-    </action>
-
-    <action name="getPatientLocation"
-      class="org.hisp.dhis.caseentry.action.patient.GetPatientLocationAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/patientLocation.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_CHANGE_LOCATION</param>
-    </action>
-
-    <action name="registerPatientLocation"
-      class="org.hisp.dhis.caseentry.action.patient.RegisterPatientLocationAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <param name="requiredAuthorities">F_PATIENT_CHANGE_LOCATION</param>
-    </action>
-
-    <!-- Patient-Program Enrollment -->
-
-    <action name="showProgramEnrollmentForm"
-      class="org.hisp.dhis.caseentry.action.patient.ProgramEnrollmentSelectAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/programEnrollmentSelectForm.vm</param>
-      <param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
-    </action>
-
-    <action name="enrollmentform"
-      class="org.hisp.dhis.caseentry.action.patient.ProgramEnrollmentAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/programEnrollmentForm.vm</param>
-      <param name="requiredAuthorities">F_PROGRAM_INSTANCE_MANAGEMENT</param>
-    </action>
-
-    <action name="validatePatientProgramEnrollment"
-      class="org.hisp.dhis.caseentry.action.patient.ValidatePatientProgramEnrollmentAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseError.vm
-      </result>
-      <result name="input" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseInput.vm
-      </result>
-    </action>
-
-    <action name="saveProgramEnrollment"
-      class="org.hisp.dhis.caseentry.action.patient.SaveProgramEnrollmentAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonProgramEnrollment.vm
-      </result>
-      <param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
-    </action>
-
-    <action name="getProgramInstance"
-      class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/responseProgramInstance.vm
-      </result>
-    </action>
-
-    <action name="getEventMessages"
-      class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/eventMessage.vm</param>
-      <param name="requiredAuthorities">F_PROGRAM_STAGE_INSTANCE_REMINDER</param>
-    </action>
-
-    <action name="saveDueDate"
-      class="org.hisp.dhis.caseentry.action.patient.SaveDueDateAction">
-      <result name="success" type="velocity">status.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
-    </action>
-
-    <action name="savePatientIdentifierAndAttribute"
-      class="org.hisp.dhis.caseentry.action.patient.SaveIdentifierAndAttributeAction">
-      <result name="success" type="velocity-xml">status.vm</result>
-      <param name="requiredAuthorities">F_PATIENT_ADD, F_PROGRAM_ENROLLMENT</param>
-    </action>
-
-    <action name="setProgramInstanceStatus"
-      class="org.hisp.dhis.caseentry.action.patient.SetProgramInstanceStatusAction">
-      <result name="success" type="velocity-xml">status.vm</result>
-      <param name="requiredAuthorities">F_PROGRAM_UNENROLLMENT</param>
-    </action>
-
-    <action name="getPatientIdentifierAndAttribute"
-      class="org.hisp.dhis.caseentry.action.patient.GetProgramAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/identifierAndAttributeForm.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_ADD</param>
-    </action>
-
-    <action name="getVisitSchedule"
-      class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/visitSchedule.vm</param>
-      <param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
-    </action>
-
-    <!-- Relationship -->
-
-    <action name="getPartner"
-      class="org.hisp.dhis.caseentry.action.patient.GetPartnerAction">
-      <result name="success" type="velocity-xml">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/detailsPartner.vm</param>
-    </action>
-
-    <action name="showRelationshipList"
-      class="org.hisp.dhis.caseentry.action.patient.ShowRelationshipListAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/relationshipList.vm</param>
-       <param name="javascripts">
-      		../dhis-web-commons/javascripts/jQuery/jquery-barcode.min.js
-      </param>
-      <param name="requiredAuthorities">F_RELATIONSHIP_MANAGEMENT</param>
-    </action>
-
-    <action name="showAddRelationshipForm"
-      class="org.hisp.dhis.caseentry.action.patient.ShowAddRelationshipFormAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/addRelationshipForm.vm</param>
-      <param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
-    </action>
-
-    <action name="validateSearchRelationship"
-      class="org.hisp.dhis.caseentry.action.patient.ValidateSearchRelationshipAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-    </action>
-
-    <action name="searchRelationshipPatient"
-      class="org.hisp.dhis.caseentry.action.patient.SearchRelationshipPatientAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/relationshipPatients.vm</param>
-      <param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
-    </action>
-
-    <action name="saveRelationship"
-      class="org.hisp.dhis.caseentry.action.patient.SaveRelationshipAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
-    </action>
-
-    <action name="removeRelationship"
-      class="org.hisp.dhis.caseentry.action.patient.RemoveRelationshipAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_RELATIONSHIP_DELETE</param>
-    </action>
-
-    <action name="saveRepresentative"
-      class="org.hisp.dhis.caseentry.action.patient.SaveRepresentativeAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
-    </action>
-
-    <action name="removeRepresentative"
-      class="org.hisp.dhis.caseentry.action.patient.RemoveRepresentativeAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseInput.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_RELATIONSHIP_DELETE</param>
-    </action>
-
-    <action name="showAddRelationshipPatient"
-      class="org.hisp.dhis.caseentry.action.patient.GetPatientAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/addRelationshipPatientForm.vm</param>
-      <param name="requiredAuthorities">F_PATIENT_ADD, F_RELATIONSHIP_ADD</param>
-    </action>
-
-    <action name="validateAddRelationshipPatient"
-      class="org.hisp.dhis.caseentry.action.patient.ValidateAddRelationshipPatientAction">
-      <result name="success" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseError.vm
-      </result>
-      <result name="input" type="velocity-xml">
-        /dhis-web-commons/ajax/xmlResponseInput.vm
-      </result>
-      <result name="duplicate" type="velocity-xml">
-        /dhis-web-caseentry/responseDuplicate.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-    </action>
-
-    <action name="addRelationshipPatient"
-      class="org.hisp.dhis.caseentry.action.patient.AddRelationshipPatientAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
-    </action>
-
-    <!-- Tabular report -->
-
-    <action name="getOrganisationUnitChildren"
-      class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonminOrganisationUnitChildren.vm
-      </result>
-    </action>
-
-    <action name="tabularInitialize"
-      class="org.hisp.dhis.caseentry.action.report.TabularInitializeAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonTabularInitialize.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-	
-    <action name="loadReportProgramStages"
-      class="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStages.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-    
-    <action name="loadProgramStageSections"
-      class="org.hisp.dhis.caseentry.action.report.GetProgramStageSectionsAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStageSections.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="loadDataElements"
-      class="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/responseDataElements.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="getTabularParams"
-      class="org.hisp.dhis.caseentry.action.report.GetTabularParamsAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/responseTabularParams.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="validateTabularReport"
-      class="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="input" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseInput.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="generateTabularReport"
-      class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonTabularReportResult.vm
-      </result>
-      <result name="xls" type="gridXlsResult" />
-      <result name="pdf" type="gridPdfResult" />
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="saveTabularReport"
-      class="org.hisp.dhis.caseentry.action.report.SaveTabularReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="anyAuthorities">F_PATIENT_TABULAR_REPORT_PUBLIC_ADD,F_PATIENT_TABULAR_REPORT_PRIVATE_ADD</param>
-    </action>
-
-    <action name="getTabularReports"
-      class="org.hisp.dhis.caseentry.action.report.GetTabularReportsAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonTabularReportList.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="getTabularReport"
-      class="org.hisp.dhis.caseentry.action.report.GetTabularReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonTabularReport.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="updateTabularReportName"
-      class="org.hisp.dhis.caseentry.action.report.UpdateTabularReportNameAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="deleteTabularReport"
-      class="org.hisp.dhis.caseentry.action.report.DeleteTabularReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <!-- Aggregate Report -->
-
-    <action name="getAggregateReportList"
-      class="org.hisp.dhis.caseentry.action.report.GetAggregateReportListAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonTabularReportList.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="generateAggregateReport"
-      class="org.hisp.dhis.caseentry.action.report.GenerateAggregateReportAction">
-      <result name="success" type="velocity-json">/dhis-web-caseentry/jsonTabularAggregateReportResult.vm
-      </result>
-      <result name="xls" type="gridXlsResult" />
-      <result name="pdf" type="gridPdfResult" />
-      <result name="csv" type="gridCsvResult" />
-      <result name="jasper" type="gridJasperResult" />
-      <result name="jrxml" type="gridJrxmlResult" />
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="saveAggregateReport"
-      class="org.hisp.dhis.caseentry.action.report.SaveAggregateReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="anyAuthorities">F_PATIENT_AGGREGATE_REPORT_PUBLIC_ADD,F_PATIENT_AGGREGATE_REPORT_PRIVATE_ADD</param>
-    </action>
-
-    <action name="getAggregateReports"
-      class="org.hisp.dhis.caseentry.action.report.GetAggregateReportsAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonTabularReportList.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="getAggregateReport"
-      class="org.hisp.dhis.caseentry.action.report.GetAggregateReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonTabularAggregateReport.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="updateAggregateReportName"
-      class="org.hisp.dhis.caseentry.action.report.UpdateAggregateReportNameAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="deleteAggregateReport"
-      class="org.hisp.dhis.caseentry.action.report.DeleteAggregateReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <action name="getOrganisationUnitPathsByGroup"
-      class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitsByGroupAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-caseentry/jsonminOrganisationUnitPaths.vm
-      </result>
-    </action>
-    
-    <action name="validateAggregateReport"
-      class="org.hisp.dhis.caseentry.action.report.ValidateAggregateReportAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="input" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseInput.vm
-      </result>
-      <param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
-    </action>
-
-    <!-- SMS Reminder -->
-
-    <action name="smsReminderSelect"
-      class="org.hisp.dhis.caseentry.action.caseentry.MultiDataEntrySelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/programTrackingSelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/registrationMenu.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="javascripts">
-        ../dhis-web-commons/ouwt/ouwt.js,
-        javascript/commons.js,
-        javascript/patient.js,
-        javascript/relationshipPatient.js,
-        javascript/entry.js,
-        javascript/smsReminder.js
-      </param>
-      <param name="requiredAuthorities">F_PROGRAM_TRACKING_MANAGEMENT</param>
-    </action>
-
-    <action name="getSMSPatientRecords"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/programTrackingRecords.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PROGRAM_TRACKING_SEARCH</param>
-    </action>
-
-    <action name="programTrackingList"
-      class="org.hisp.dhis.caseentry.action.reminder.GetProgramTrackingListAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/programTrackingList.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PROGRAM_TRACKING_LIST</param>
-    </action>
-
-    <action name="sendSMS"
-      class="org.hisp.dhis.caseentry.action.reminder.SendSmsAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <result name="input" type="velocity-json">/dhis-web-commons/ajax/jsonResponseInput.vm</result>
-      <result name="error" type="velocity-json">/dhis-web-commons/ajax/jsonResponseError.vm</result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_MOBILE_SENDSMS</param>
-    </action>
-
-    <action name="sendSMSTotList"
-      class="org.hisp.dhis.caseentry.action.reminder.SendSmsToListAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-json">/dhis-web-commons/ajax/jsonResponseError.vm
-      </result>
-      <param name="onExceptionReturn">plainTextError</param>
-      <param name="requiredAuthorities">F_MOBILE_SENDSMS</param>
-    </action>
-
-    <action name="setEventStatus"
-      class="org.hisp.dhis.caseentry.action.reminder.SetEventStatusAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <result name="error" type="velocity-json">/dhis-web-commons/ajax/jsonResponseError.vm</result>
-      <param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
-    </action>
-    
-    <action name="getProgramStageInstanceById"
-      class="org.hisp.dhis.caseentry.action.reminder.GetProgramStageInstanceByIdAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/trackingEventMessage.vm</param>
-      <param name="stylesheets">style/style.css</param>
-    </action>
-
-    <!-- Dashboard -->
-
-    <action name="patientDashboard"
-      class="org.hisp.dhis.caseentry.action.patient.PatientDashboardAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/patientDashboard.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="requiredAuthorities">F_PATIENT_DASHBOARD</param>
-    </action>
-
- 	<action name="removeProgramInstance"
-      class="org.hisp.dhis.caseentry.action.caseentry.RemoveProgramInstanceAction">
-      <result name="success" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <result name="error" type="velocity-json">
-        /dhis-web-commons/ajax/jsonResponseError.vm
-      </result>
-      <param name="requiredAuthorities">F_PROGRAM_INSTANCE_DELETE</param>
-    </action>
-    
-    <!-- Comment && Message -->
-
-    <action name="savePatientComment"
-      class="org.hisp.dhis.caseentry.action.reminder.SavePatientCommentAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_COMMENT_ADD</param>
-    </action>
-
-    <action name="removePatientComment"
-      class="org.hisp.dhis.caseentry.action.reminder.RemovePatientCommentAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_COMMENT_DELETE</param>
-    </action>
-    
-     <action name="removeSms"
-      class="org.hisp.dhis.caseentry.action.reminder.RemoveSmsAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
-      </result>
-      <param name="requiredAuthorities">F_PATIENT_COMMENT_DELETE</param>
-    </action>
-
-    <!-- Activity plan -->
-
-    <action name="activityPlanSelect"
-      class="org.hisp.dhis.caseentry.action.patient.ShowActivityPlanFormAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/activityPlanSelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/registrationMenu.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="javascripts">
-        ../dhis-web-commons/ouwt/ouwt.js,
-        javascript/commons.js,
-        javascript/patient.js,
-        javascript/entry.js,
-        javascript/relationshipPatient.js,
-        javascript/activityPlan.js
-      </param>
-      <param name="requiredAuthorities">F_ACTIVITY_PLAN</param>
-    </action>
-
-    <action name="getActivityPlanRecords"
-      class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/activityPlanRecords.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <result name="xls" type="gridXlsResult" />
-      <result name="pdf" type="gridPdfResult" />
-    </action>
-    
-     <action name="accessPatientAttributes"
-      class="org.hisp.dhis.caseentry.action.NoAction">
-      <result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm</result>
-      <param name="requiredAuthorities">F_ACCESS_PATIENT_ATTRIBUTES</param>
-    </action>
-
-	
-	<!-- Program-stage-completeness -->
-	
-	  <action name="programStageCompletenessSelect"
-      class="org.hisp.dhis.caseentry.action.patient.SelectAction">
-      <interceptor-ref name="organisationUnitTreeStack" />
-      <result name="success" type="velocity">/main.vm</result>
-      <param name="page">/dhis-web-caseentry/programStageCompletenessSelect.vm</param>
-      <param name="menu">/dhis-web-caseentry/reportsMenuWithoutOrgunit.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <param name="javascripts">
-      	javascript/commons.js,
-      	javascript/programStageCompleteness.js</param>
-      <param name="requiredAuthorities">F_PROGRAM_STAGE_COMPLETENESS</param>
-    </action>
-    
-	<action name="generateProgramStageCompleteness"
-      class="org.hisp.dhis.caseentry.action.caseentry.ProgramStageInstanceCompletenessAction">
-      <result name="success" type="velocity">/content.vm</result>
-      <param name="page">/dhis-web-caseentry/programStageCompleteness.vm</param>
-      <param name="stylesheets">style/style.css</param>
-      <result name="xls" type="gridXlsResult" />
-      <result name="pdf" type="gridPdfResult" />
-      <param name="requiredAuthorities">F_PROGRAM_STAGE_COMPLETENESS</param>
-    </action>
-	
-  </package>
+	<include file="dhis-web-commons.xml" />
+
+	<package name="dhis-web-caseentry" extends="dhis-web-commons"
+		namespace="/dhis-web-caseentry">
+
+		<action name="index" class="org.hisp.dhis.caseentry.action.NoAction">
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/index.vm</param>
+			<param name="menu">/dhis-web-caseentry/menu.vm</param>
+		</action>
+
+		<!-- Data Entry -->
+
+		<action name="validateSearch"
+			class="org.hisp.dhis.caseentry.action.caseentry.ValidateSearchAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-caseentry/responseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-caseentry/responseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-caseentry/responseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+		</action>
+
+		<action name="searchAllFacilities" class="org.hisp.dhis.caseentry.action.NoAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_SEARCH_PATIENT_IN_ALL_FACILITIES</param>
+		</action>
+
+		<action name="searchPatient"
+			class="org.hisp.dhis.caseentry.action.patient.SearchPatientAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/listPatient.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_SEARCH</param>
+		</action>
+
+		<action name="listAllPatients"
+			class="org.hisp.dhis.caseentry.action.patient.SearchPatientAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="listAll">true</param>
+			<param name="page">/dhis-web-caseentry/listPatient.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_LIST</param>
+		</action>
+
+		<action name="selectDataRecording"
+			class="org.hisp.dhis.caseentry.action.caseentry.DataRecordingSelectAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/dataRecordingSelect.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="loadProgramStageInstances"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadProgramStageInstancesAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonProgramStageInstances.vm
+			</result>
+		</action>
+
+		<action name="getProgramStageInstance"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetProgramStageInstanceAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStageInstance.vm
+			</result>
+		</action>
+
+		<action name="editDataEntryForm" class="org.hisp.dhis.caseentry.action.NoAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="dataentryform"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/dataEntryForm.vm</param>
+			<param name="stylesheets">style/style.css</param>
+		</action>
+
+		<action name="completeDataEntry"
+			class="org.hisp.dhis.caseentry.action.caseentry.CompleteDataEntryAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="programcompleted" type="velocity-json">/dhis-web-caseentry/jsonResponseProgramCompleted.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="uncompleteDataEntry"
+			class="org.hisp.dhis.caseentry.action.caseentry.UncompleteDataEntryAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveExecutionDate"
+			class="org.hisp.dhis.caseentry.action.caseentry.SaveExecutionDateAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="input" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="registerIrregularEncounter"
+			class="org.hisp.dhis.caseentry.action.caseentry.RegisterIrregularEncounterAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="cacheManifest" class="org.hisp.dhis.commons.action.NoAction">
+			<result name="success" type="velocity-cache-manifest">/dhis-web-caseentry/cacheManifest.vm
+			</result>
+		</action>
+
+		<action name="getProgramMetaData"
+			class="org.hisp.dhis.caseentry.action.GetProgramMetaDataAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramMetaData.vm
+			</result>
+		</action>
+
+		<action name="anonymousRegistration"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/anonymousRegistration.vm</param>
+			<param name="menu">/dhis-web-caseentry/dataEntryMenu.vm</param>
+			<param name="manifest">../dhis-web-caseentry/cacheManifest.action</param>
+			<param name="javascripts">../dhis-web-commons/ouwt/ouwt.js
+				,javascript/commons.js
+				,javascript/anonymousRegistration.js
+				,javascript/entry.js
+				,../dhis-web-commons/javascripts/date.js
+			</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_ANONYMOUS_DATA_ENTRY</param>
+		</action>
+
+		<action name="anonymousPrograms"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonSingleEventPrograms.vm
+			</result>
+		</action>
+
+		<action name="createAnonymousEncounter"
+			class="org.hisp.dhis.caseentry.action.caseentry.CreateAnonymousEncounterAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="input" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseInput.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="loadAnonymousPrograms"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonProgramInstances.vm
+			</result>
+		</action>
+
+		<action name="uploadAnonymousEvent"
+			class="org.hisp.dhis.caseentry.action.caseentry.UploadAnonymousEventAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+		</action>
+
+		<action name="getOptionSet"
+			class="org.hisp.dhis.caseentry.action.GetOptionSetAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonOptionSet.vm
+			</result>
+		</action>
+
+		<action name="getUsernames"
+			class="org.hisp.dhis.caseentry.action.GetUsernamesAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonUsers.vm
+			</result>
+		</action>
+
+		<action name="removeCurrentEncounter"
+			class="org.hisp.dhis.caseentry.action.caseentry.RemoveCurrentEncounterAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PROGRAM_STAGE_INSTANCE_DELETE</param>
+		</action>
+
+		<action name="validateProgram"
+			class="org.hisp.dhis.caseentry.action.caseentry.ValidateProgramInstanceAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/validationResult.vm</param>
+		</action>
+
+		<action name="getOptions"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetOptionsByDataElementAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonOptions.vm
+			</result>
+		</action>
+
+		<action name="getProgramStageDataElementList"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetProgramStageDataElementsAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStageDataElements.vm
+			</result>
+		</action>
+
+		<action name="searchProgramStageInstances"
+			class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/programStageInstancesList.vm</param>
+		</action>
+
+		<action name="removeEmptyEvents"
+			class="org.hisp.dhis.caseentry.action.caseentry.RemoveEmptyEventsAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+		</action>
+
+		<action name="getUsernameList"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetUsernameListAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonUsernames.vm
+			</result>
+		</action>
+
+		<action name="getOrganisationUnitPaths"
+			class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitsAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonminOrganisationUnitPaths.vm
+			</result>
+		</action>
+
+		<action name="markForFollowup"
+			class="org.hisp.dhis.caseentry.action.caseentry.MarkForFollowupAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveProgramInstanceComment"
+			class="org.hisp.dhis.caseentry.action.caseentry.SaveProgramInstanceCommentAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<!-- save value -->
+
+		<action name="saveValue"
+			class="org.hisp.dhis.caseentry.action.caseentry.SaveValueAction">
+			<result name="success" type="velocity-xml">status.vm</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-caseentry/responseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveCoordinatesEvent"
+			class="org.hisp.dhis.caseentry.action.caseentry.SaveCoordinatesEventAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<!-- save providing-facility -->
+
+		<action name="saveProvidingFacility"
+			class="org.hisp.dhis.caseentry.action.caseentry.SaveProvidingFacilityAction">
+			<result name="success" type="velocity">status.vm</result>
+			<result name="input" type="velocity">status.vm</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<!-- Multi DataEntry -->
+
+		<action name="multipledataEntrySelect"
+			class="org.hisp.dhis.caseentry.action.caseentry.MultiDataEntrySelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/multiDataEntrySelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/dataEntryMenu.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js,
+				javascript/commons.js,
+				javascript/patient.js,
+				javascript/entry.js,
+				javascript/relationshipPatient.js,
+				javascript/multiDataEntry.js</param>
+			<param name="requiredAuthorities">F_NAME_BASED_DATA_ENTRY</param>
+		</action>
+
+		<action name="getPrograms"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetProgramsByOrgunitAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonPrograms.vm
+			</result>
+		</action>
+
+		<action name="getAllPrograms"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetAllProgramsAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonPrograms.vm
+			</result>
+		</action>
+
+		<action name="getDataRecords"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/dataentryRecords.vm</param>
+			<param name="stylesheets">style/style.css</param>
+		</action>
+
+		<action name="viewProgramStageRecords"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/reportDataEntryForm.vm</param>
+			<param name="stylesheets">style/style.css</param>
+		</action>
+
+		<action name="loadProgramStageRecords"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/dataEntryForm.vm</param>
+			<param name="javascripts">../dhis-web-commons/javascripts/date.js</param>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="completeProgramStageDataEntry"
+			class="org.hisp.dhis.caseentry.action.caseentry.CompleteDataEntryAction">
+			<result name="success" type="redirect">
+				getDataRecords.action?programId=${programId}
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<!-- Single-event DataEntry -->
+
+		<action name="singleEventSelect"
+			class="org.hisp.dhis.caseentry.action.caseentry.MultiDataEntrySelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/singleEventSelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/dataEntryMenu.vm</param>
+			<param name="javascripts">../dhis-web-commons/ouwt/ouwt.js
+				,javascript/commons.js
+				,javascript/singleEvent.js
+				,javascript/form.js
+				,javascript/entry.js
+				,../dhis-web-commons/javascripts/date.js
+			</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_SINGLE_EVENT_DATA_ENTRY</param>
+		</action>
+
+		<action name="singleEventPrograms"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetSingleEventProgramListAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonSingleEventPrograms.vm
+			</result>
+		</action>
+
+		<action name="showEventWithRegistrationForm"
+			class="org.hisp.dhis.caseentry.action.caseentry.ShowEventWithRegistrationFormAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/addSingleEventRegistration.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PATIENT_ADD,F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="saveValues"
+			class="org.hisp.dhis.caseentry.action.caseentry.SaveValuesAction">
+			<result name="success" type="velocity-xml">status.vm</result>
+			<param name="requiredAuthorities">F_PATIENT_ADD,F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_DELETE</param>
+		</action>
+
+		<!-- Report -->
+
+		<action name="reportSelect"
+			class="org.hisp.dhis.caseentry.action.report.ReportSelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/reportSelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/reportsMenu.vm</param>
+			<param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/report.js</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_GENERATE_PROGRAM_SUMMARY_REPORT</param>
+		</action>
+
+		<action name="generateReport"
+			class="org.hisp.dhis.caseentry.action.report.GenerateReportAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/report.vm</param>
+			<param name="javascripts">javascript/commons.js,javascript/report.js</param>
+			<param name="requiredAuthorities">F_GENERATE_PROGRAM_SUMMARY_REPORT</param>
+		</action>
+
+		<action name="viewRecords"
+			class="org.hisp.dhis.caseentry.action.caseentry.LoadDataEntryAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/reportDataEntryForm.vm</param>
+			<param name="stylesheets">style/style.css</param>
+		</action>
+
+		<action name="statisticalProgramReportSelect"
+			class="org.hisp.dhis.caseentry.action.report.ReportSelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/statisticalProgramReportSelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/reportsMenu.vm</param>
+			<param name="javascripts">../dhis-web-commons/ouwt/ouwt.js,javascript/statisticalReport.js</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_GENERATE_STATISTICAL_PROGRAM_REPORT</param>
+		</action>
+
+		<action name="generateStatisticalProgramReport"
+			class="org.hisp.dhis.caseentry.action.report.GenerateStatisticalProgramReportAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/statisticalProgramReport.vm</param>
+			<result name="xls" type="gridXlsResult" />
+			<param name="requiredAuthorities">F_GENERATE_STATISTICAL_PROGRAM_REPORT</param>
+		</action>
+
+		<!-- i18n -->
+
+		<action name="i18n" class="org.hisp.dhis.caseentry.action.NoAction">
+			<result name="success" type="velocity-javascript">/dhis-web-caseentry/i18n.vm
+			</result>
+		</action>
+
+		<!-- Case Aggregation -->
+
+		<action name="caseAggregationForm"
+			class="org.hisp.dhis.caseentry.action.caseaggregation.CaseAggregationFormAction">
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/caseAggregationForm.vm</param>
+			<param name="menu">/dhis-web-caseentry/caseAggregationMenu.vm</param>
+			<param name="javascripts">javascript/caseagg.js,javascript/caseAggregationForm.js</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PATIENT_AGGREGATION</param>
+		</action>
+
+		<action name="validateCaseAggregation"
+			class="org.hisp.dhis.caseentry.action.caseaggregation.ValidationCaseAggregationAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-caseentry/responseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-caseentry/responseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-caseentry/responseInput.vm
+			</result>
+		</action>
+
+		<action name="caseAggregationResult"
+			class="org.hisp.dhis.caseentry.action.caseaggregation.CaseAggregationResultAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/caseAggregationResult.vm</param>
+			<param name="menu">/dhis-web-caseentry/caseAggregationMenu.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_AGGREGATION</param>
+		</action>
+
+		<action name="saveAggregateDataValue"
+			class="org.hisp.dhis.caseentry.action.caseaggregation.SaveAggregateDataValueAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_DATAVALUE_ADD,F_DATAVALUE_DELETE</param>
+		</action>
+
+		<action name="caseAggregationResultDetails"
+			class="org.hisp.dhis.caseentry.action.caseaggregation.CaseAggregationResultDetailsAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/caseAggregationResultDetails.vm</param>
+		</action>
+
+		<!-- Patient -->
+
+		<action name="patient"
+			class="org.hisp.dhis.caseentry.action.patient.SelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/selectPatient.vm</param>
+			<param name="menu">/dhis-web-caseentry/registrationMenu.vm</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js
+				,javascript/commons.js
+				,javascript/patient.js
+				,javascript/entry.js
+				,javascript/relationshipPatient.js
+			</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PATIENT_MANAGEMENT</param>
+		</action>
+
+		<action name="searchRegistrationPatient"
+			class="org.hisp.dhis.caseentry.action.patient.SearchPatientAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/patientRegistrationList.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_SEARCH</param>
+		</action>
+
+		<action name="removePatient"
+			class="org.hisp.dhis.caseentry.action.patient.RemovePatientAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PATIENT_DELETE</param>
+		</action>
+
+		<action name="addPatient"
+			class="org.hisp.dhis.caseentry.action.patient.AddPatientAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="showAddPatientForm"
+			class="org.hisp.dhis.caseentry.action.patient.ShowAddPatientFormAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/addPatientForm.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="showUpdatePatientForm"
+			class="org.hisp.dhis.caseentry.action.patient.GetPatientAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">
+				/dhis-web-caseentry/updatePatientForm.vm
+			</param>
+			<param name="javascripts">
+				../dhis-web-commons/javascripts/jQuery/jquery-barcode.min.js
+			</param>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="updatePatient"
+			class="org.hisp.dhis.caseentry.action.patient.UpdatePatientAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="validatePatient"
+			class="org.hisp.dhis.caseentry.action.patient.ValidatePatientAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseInput.vm
+			</result>
+			<result name="duplicate" type="velocity-xml">
+				/dhis-web-caseentry/responseDuplicate.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+		</action>
+
+		<action name="showAddRepresentative"
+			class="org.hisp.dhis.caseentry.action.patient.ShowAddRepresentativeAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/underAgeForm.vm</param>
+			<param name="javascripts">javascript/underage.js,
+				../dhis-web-commons/javascripts/date.js
+			</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="searchPerson"
+			class="org.hisp.dhis.caseentry.action.patient.SearchPersonAction">
+			<result name="success" type="velocity-xml">responsePatients.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_SEARCH</param>
+		</action>
+
+		<action name="addRepresentative"
+			class="org.hisp.dhis.caseentry.action.patient.AddRepresentativeAction">
+			<result name="success" type="velocity-xml">responseRepresentative.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="getPatientHistory"
+			class="org.hisp.dhis.caseentry.action.patient.GetPatientHistoryAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<result name="xls" type="gridXlsResult" />
+			<result name="pdf" type="gridPdfResult" />
+			<param name="page">/dhis-web-caseentry/patientHistory.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_HISTORY</param>
+		</action>
+
+		<action name="getProgramReportHistory"
+			class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceHistoryAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<result name="xls" type="gridXlsResult" />
+			<result name="pdf" type="gridPdfResult" />
+			<param name="page">/dhis-web-caseentry/programInstanceHistory.vm</param>
+		</action>
+
+		<action name="getPatientLocation"
+			class="org.hisp.dhis.caseentry.action.patient.GetPatientLocationAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/patientLocation.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_CHANGE_LOCATION</param>
+		</action>
+
+		<action name="registerPatientLocation"
+			class="org.hisp.dhis.caseentry.action.patient.RegisterPatientLocationAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_CHANGE_LOCATION</param>
+		</action>
+
+		<!-- Patient-Program Enrollment -->
+
+		<action name="showProgramEnrollmentForm"
+			class="org.hisp.dhis.caseentry.action.patient.ProgramEnrollmentSelectAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/programEnrollmentSelectForm.vm</param>
+			<param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
+		</action>
+
+		<action name="enrollmentform"
+			class="org.hisp.dhis.caseentry.action.patient.ProgramEnrollmentAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/programEnrollmentForm.vm</param>
+			<param name="requiredAuthorities">F_PROGRAM_INSTANCE_MANAGEMENT</param>
+		</action>
+
+		<action name="validatePatientProgramEnrollment"
+			class="org.hisp.dhis.caseentry.action.patient.ValidatePatientProgramEnrollmentAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<result name="input" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseInput.vm
+			</result>
+		</action>
+
+		<action name="saveProgramEnrollment"
+			class="org.hisp.dhis.caseentry.action.patient.SaveProgramEnrollmentAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonProgramEnrollment.vm
+			</result>
+			<param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
+		</action>
+
+		<action name="getProgramInstance"
+			class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/responseProgramInstance.vm
+			</result>
+		</action>
+
+		<action name="getEventMessages"
+			class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/eventMessage.vm</param>
+			<param name="requiredAuthorities">F_PROGRAM_STAGE_INSTANCE_REMINDER</param>
+		</action>
+
+		<action name="saveDueDate"
+			class="org.hisp.dhis.caseentry.action.patient.SaveDueDateAction">
+			<result name="success" type="velocity">status.vm</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
+		</action>
+
+		<action name="savePatientIdentifierAndAttribute"
+			class="org.hisp.dhis.caseentry.action.patient.SaveIdentifierAndAttributeAction">
+			<result name="success" type="velocity-xml">status.vm</result>
+			<param name="requiredAuthorities">F_PATIENT_ADD, F_PROGRAM_ENROLLMENT</param>
+		</action>
+
+		<action name="setProgramInstanceStatus"
+			class="org.hisp.dhis.caseentry.action.patient.SetProgramInstanceStatusAction">
+			<result name="success" type="velocity-xml">status.vm</result>
+			<param name="requiredAuthorities">F_PROGRAM_UNENROLLMENT</param>
+		</action>
+
+		<action name="getPatientIdentifierAndAttribute"
+			class="org.hisp.dhis.caseentry.action.patient.GetProgramAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/identifierAndAttributeForm.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_ADD</param>
+		</action>
+
+		<action name="getVisitSchedule"
+			class="org.hisp.dhis.caseentry.action.patient.GetProgramInstanceAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/visitSchedule.vm</param>
+			<param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
+		</action>
+
+		<!-- Relationship -->
+
+		<action name="getPartner"
+			class="org.hisp.dhis.caseentry.action.patient.GetPartnerAction">
+			<result name="success" type="velocity-xml">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/detailsPartner.vm</param>
+		</action>
+
+		<action name="showRelationshipList"
+			class="org.hisp.dhis.caseentry.action.patient.ShowRelationshipListAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/relationshipList.vm</param>
+			<param name="javascripts">
+				../dhis-web-commons/javascripts/jQuery/jquery-barcode.min.js
+			</param>
+			<param name="requiredAuthorities">F_RELATIONSHIP_MANAGEMENT</param>
+		</action>
+
+		<action name="showAddRelationshipForm"
+			class="org.hisp.dhis.caseentry.action.patient.ShowAddRelationshipFormAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/addRelationshipForm.vm</param>
+			<param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
+		</action>
+
+		<action name="validateSearchRelationship"
+			class="org.hisp.dhis.caseentry.action.patient.ValidateSearchRelationshipAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+		</action>
+
+		<action name="searchRelationshipPatient"
+			class="org.hisp.dhis.caseentry.action.patient.SearchRelationshipPatientAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/relationshipPatients.vm</param>
+			<param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
+		</action>
+
+		<action name="saveRelationship"
+			class="org.hisp.dhis.caseentry.action.patient.SaveRelationshipAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
+		</action>
+
+		<action name="removeRelationship"
+			class="org.hisp.dhis.caseentry.action.patient.RemoveRelationshipAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_RELATIONSHIP_DELETE</param>
+		</action>
+
+		<action name="saveRepresentative"
+			class="org.hisp.dhis.caseentry.action.patient.SaveRepresentativeAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
+		</action>
+
+		<action name="removeRepresentative"
+			class="org.hisp.dhis.caseentry.action.patient.RemoveRepresentativeAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseInput.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_RELATIONSHIP_DELETE</param>
+		</action>
+
+		<action name="showAddRelationshipPatient"
+			class="org.hisp.dhis.caseentry.action.patient.GetPatientAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/addRelationshipPatientForm.vm</param>
+			<param name="requiredAuthorities">F_PATIENT_ADD, F_RELATIONSHIP_ADD</param>
+		</action>
+
+		<action name="validateAddRelationshipPatient"
+			class="org.hisp.dhis.caseentry.action.patient.ValidateAddRelationshipPatientAction">
+			<result name="success" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseError.vm
+			</result>
+			<result name="input" type="velocity-xml">
+				/dhis-web-commons/ajax/xmlResponseInput.vm
+			</result>
+			<result name="duplicate" type="velocity-xml">
+				/dhis-web-caseentry/responseDuplicate.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+		</action>
+
+		<action name="addRelationshipPatient"
+			class="org.hisp.dhis.caseentry.action.patient.AddRelationshipPatientAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_RELATIONSHIP_ADD</param>
+		</action>
+
+		<!-- Tabular report -->
+
+		<action name="getOrganisationUnitChildren"
+			class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitChildrenAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonminOrganisationUnitChildren.vm
+			</result>
+		</action>
+
+		<action name="tabularInitialize"
+			class="org.hisp.dhis.caseentry.action.report.TabularInitializeAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonTabularInitialize.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="loadReportProgramStages"
+			class="org.hisp.dhis.caseentry.action.report.LoadProgramStagesAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStages.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="loadProgramStageSections"
+			class="org.hisp.dhis.caseentry.action.report.GetProgramStageSectionsAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonProgramStageSections.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="loadDataElements"
+			class="org.hisp.dhis.caseentry.action.report.LoadDataElementsAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/responseDataElements.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="getTabularParams"
+			class="org.hisp.dhis.caseentry.action.report.GetTabularParamsAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/responseTabularParams.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="validateTabularReport"
+			class="org.hisp.dhis.caseentry.action.report.ValidateTabularReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="input" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseInput.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="generateTabularReport"
+			class="org.hisp.dhis.caseentry.action.report.GenerateTabularReportAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonTabularReportResult.vm
+			</result>
+			<result name="xls" type="gridXlsResult" />
+			<result name="pdf" type="gridPdfResult" />
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="saveTabularReport"
+			class="org.hisp.dhis.caseentry.action.report.SaveTabularReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="anyAuthorities">F_PATIENT_TABULAR_REPORT_PUBLIC_ADD,F_PATIENT_TABULAR_REPORT_PRIVATE_ADD</param>
+		</action>
+
+		<action name="getTabularReports"
+			class="org.hisp.dhis.caseentry.action.report.GetTabularReportsAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonTabularReportList.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="getTabularReport"
+			class="org.hisp.dhis.caseentry.action.report.GetTabularReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonTabularReport.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="updateTabularReportName"
+			class="org.hisp.dhis.caseentry.action.report.UpdateTabularReportNameAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="deleteTabularReport"
+			class="org.hisp.dhis.caseentry.action.report.DeleteTabularReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<!-- Aggregate Report -->
+
+		<action name="getAggregateReportList"
+			class="org.hisp.dhis.caseentry.action.report.GetAggregateReportListAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonTabularReportList.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="generateAggregateReport"
+			class="org.hisp.dhis.caseentry.action.report.GenerateAggregateReportAction">
+			<result name="success" type="velocity-json">/dhis-web-caseentry/jsonTabularAggregateReportResult.vm
+			</result>
+			<result name="xls" type="gridXlsResult" />
+			<result name="pdf" type="gridPdfResult" />
+			<result name="csv" type="gridCsvResult" />
+			<result name="jasper" type="gridJasperResult" />
+			<result name="jrxml" type="gridJrxmlResult" />
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="saveAggregateReport"
+			class="org.hisp.dhis.caseentry.action.report.SaveAggregateReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="anyAuthorities">F_PATIENT_AGGREGATE_REPORT_PUBLIC_ADD,F_PATIENT_AGGREGATE_REPORT_PRIVATE_ADD</param>
+		</action>
+
+		<action name="getAggregateReports"
+			class="org.hisp.dhis.caseentry.action.report.GetAggregateReportsAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonTabularReportList.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="getAggregateReport"
+			class="org.hisp.dhis.caseentry.action.report.GetAggregateReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonTabularAggregateReport.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="updateAggregateReportName"
+			class="org.hisp.dhis.caseentry.action.report.UpdateAggregateReportNameAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="deleteAggregateReport"
+			class="org.hisp.dhis.caseentry.action.report.DeleteAggregateReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<action name="getOrganisationUnitPathsByGroup"
+			class="org.hisp.dhis.caseentry.action.report.GetOrganisationUnitsByGroupAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-caseentry/jsonminOrganisationUnitPaths.vm
+			</result>
+		</action>
+
+		<action name="validateAggregateReport"
+			class="org.hisp.dhis.caseentry.action.report.ValidateAggregateReportAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="input" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseInput.vm
+			</result>
+			<param name="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</param>
+		</action>
+
+		<!-- SMS Reminder -->
+
+		<action name="smsReminderSelect"
+			class="org.hisp.dhis.caseentry.action.caseentry.MultiDataEntrySelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/programTrackingSelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/registrationMenu.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js,
+				javascript/commons.js,
+				javascript/patient.js,
+				javascript/relationshipPatient.js,
+				javascript/entry.js,
+				javascript/smsReminder.js
+			</param>
+			<param name="requiredAuthorities">F_PROGRAM_TRACKING_MANAGEMENT</param>
+		</action>
+
+		<action name="getSMSPatientRecords"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/programTrackingRecords.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PROGRAM_TRACKING_SEARCH</param>
+		</action>
+
+		<action name="programTrackingList"
+			class="org.hisp.dhis.caseentry.action.reminder.GetProgramTrackingListAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/programTrackingList.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PROGRAM_TRACKING_LIST</param>
+		</action>
+
+		<action name="sendSMS"
+			class="org.hisp.dhis.caseentry.action.reminder.SendSmsAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="input" type="velocity-json">/dhis-web-commons/ajax/jsonResponseInput.vm
+			</result>
+			<result name="error" type="velocity-json">/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_MOBILE_SENDSMS</param>
+		</action>
+
+		<action name="sendSMSTotList"
+			class="org.hisp.dhis.caseentry.action.reminder.SendSmsToListAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<param name="onExceptionReturn">plainTextError</param>
+			<param name="requiredAuthorities">F_MOBILE_SENDSMS</param>
+		</action>
+
+		<action name="setEventStatus"
+			class="org.hisp.dhis.caseentry.action.reminder.SetEventStatusAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<param name="requiredAuthorities">F_PROGRAM_ENROLLMENT</param>
+		</action>
+
+		<action name="getProgramStageInstanceById"
+			class="org.hisp.dhis.caseentry.action.reminder.GetProgramStageInstanceByIdAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/trackingEventMessage.vm</param>
+			<param name="stylesheets">style/style.css</param>
+		</action>
+
+		<!-- Dashboard -->
+
+		<action name="patientDashboard"
+			class="org.hisp.dhis.caseentry.action.patient.PatientDashboardAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/patientDashboard.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="requiredAuthorities">F_PATIENT_DASHBOARD</param>
+		</action>
+
+		<action name="removeProgramInstance"
+			class="org.hisp.dhis.caseentry.action.caseentry.RemoveProgramInstanceAction">
+			<result name="success" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<result name="error" type="velocity-json">
+				/dhis-web-commons/ajax/jsonResponseError.vm
+			</result>
+			<param name="requiredAuthorities">F_PROGRAM_INSTANCE_DELETE</param>
+		</action>
+
+		<!-- Comment && Message -->
+
+		<action name="savePatientComment"
+			class="org.hisp.dhis.caseentry.action.reminder.SavePatientCommentAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_COMMENT_ADD</param>
+		</action>
+
+		<action name="removePatientComment"
+			class="org.hisp.dhis.caseentry.action.reminder.RemovePatientCommentAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_COMMENT_DELETE</param>
+		</action>
+
+		<action name="removeSms"
+			class="org.hisp.dhis.caseentry.action.reminder.RemoveSmsAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_PATIENT_COMMENT_DELETE</param>
+		</action>
+
+		<!-- Activity plan -->
+
+		<action name="activityPlanSelect"
+			class="org.hisp.dhis.caseentry.action.patient.ShowActivityPlanFormAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/activityPlanSelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/registrationMenu.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="javascripts">
+				../dhis-web-commons/ouwt/ouwt.js,
+				javascript/commons.js,
+				javascript/patient.js,
+				javascript/entry.js,
+				javascript/relationshipPatient.js,
+				javascript/activityPlan.js
+			</param>
+			<param name="requiredAuthorities">F_ACTIVITY_PLAN</param>
+		</action>
+
+		<action name="getActivityPlanRecords"
+			class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/activityPlanRecords.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<result name="xls" type="gridXlsResult" />
+			<result name="pdf" type="gridPdfResult" />
+		</action>
+
+		<action name="accessPatientAttributes" class="org.hisp.dhis.caseentry.action.NoAction">
+			<result name="success" type="velocity-json">/dhis-web-commons/ajax/jsonResponseSuccess.vm
+			</result>
+			<param name="requiredAuthorities">F_ACCESS_PATIENT_ATTRIBUTES</param>
+		</action>
+
+
+		<!-- Program-stage-completeness -->
+
+		<action name="programStageCompletenessSelect"
+			class="org.hisp.dhis.caseentry.action.patient.SelectAction">
+			<interceptor-ref name="organisationUnitTreeStack" />
+			<result name="success" type="velocity">/main.vm</result>
+			<param name="page">/dhis-web-caseentry/programStageCompletenessSelect.vm</param>
+			<param name="menu">/dhis-web-caseentry/reportsMenuWithoutOrgunit.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<param name="javascripts">
+				javascript/commons.js,
+				javascript/programStageCompleteness.js</param>
+			<param name="requiredAuthorities">F_PROGRAM_STAGE_COMPLETENESS</param>
+		</action>
+
+		<action name="generateProgramStageCompleteness"
+			class="org.hisp.dhis.caseentry.action.caseentry.ProgramStageInstanceCompletenessAction">
+			<result name="success" type="velocity">/content.vm</result>
+			<param name="page">/dhis-web-caseentry/programStageCompleteness.vm</param>
+			<param name="stylesheets">style/style.css</param>
+			<result name="xls" type="gridXlsResult" />
+			<result name="pdf" type="gridPdfResult" />
+			<param name="requiredAuthorities">F_PROGRAM_STAGE_COMPLETENESS</param>
+		</action>
+
+	</package>
 </struts>

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataEntryForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataEntryForm.vm	2013-09-06 07:54:55 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/dataEntryForm.vm	2013-09-06 15:53:07 +0000
@@ -18,6 +18,7 @@
 <input type='hidden' name='currentUsername' id='currentUsername'>
 <input type='hidden' name='blockEntryForm' id='blockEntryForm'>
 <input type='hidden' name='remindCompleted' id='remindCompleted'>
+<input type='hidden' name='displayOptionSetAsRadioButton' id='displayOptionSetAsRadioButton'>
 
 <div id='entryForm' class='hidden'>
 	<table style="width:600px;margin-top:-30px" class="listTable">

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/defaultDataEntryForm.vm	2013-09-06 15:53:07 +0000
@@ -8,8 +8,7 @@
 <table id="defaultEntryScreenContainer" class='entryScreen formSection'>
 	<colgroup>
 		<col id="deCol">
-		<col id="deCol">
-		<col id="entryCol">
+		<col width="45%">
 		#if( $hasProvideElsewhere=='true')
 		<col width="5%" />
 		#end
@@ -71,7 +70,36 @@
 					#end
 				</script> 
 			#elseif($hasOptionSet=='true')
-				<input name="entryfield" options='$hasOptionSet' data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" id="$id" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" class="auto-field optionset" />
+				#if(($displayOptionSetAsRadioButton=='dropdown') || ( $displayOptionSetAsRadioButton=='' && $programStageDataElement.displayAsRadioButton =='false' ) )
+					<input id='$id' name="entryfield" options='$hasOptionSet' data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" class="auto-field optionset" />
+				#elseif(($displayOptionSetAsRadioButton=='radio' && $programStageDataElement.displayAsRadioButton =='true' ) || ( $displayOptionSetAsRadioButton=='' && $programStageDataElement.displayAsRadioButton =='true' ) )
+					<table style='width:100%'>
+						<tr>
+							<td>
+					<input id='$id' name="$id" options='no' type='radio'
+						data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" 
+						#if( $patientDataValue.value == $option) checked #end
+						onclick="saveRadio( '$programStageDataElement.dataElement.uid', '$option' )" tabindex="$tabIndex" />$i18n.getString("non_value")
+						</td>
+					#set($index=1)
+					#foreach($option in $programStageDataElement.dataElement.optionSet.options)
+						#if($index==4)
+							</tr><tr>
+							#set($index=0)
+						#end
+						<td>
+						<input id='$id' name="$id" type='radio' options='no'
+						data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" 
+						#if( $patientDataValue.value == $option) checked #end
+						onclick="saveRadio( '$programStageDataElement.dataElement.uid', '$option' )" tabindex="$tabIndex" />$encoder.htmlEncode($option)
+						</td>
+						#set($index=$index + 1)
+					#end
+					</tr>
+					</table>
+				#else
+					<input id='$id' name="entryfield" options='$hasOptionSet' data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" class="auto-field optionset" />
+				#end
 			#elseif($programStageDataElement.dataElement.type=='username')
 				<input name="entryfield" username='true' class="auto-field optionset" data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" id="$id" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" />
 			#else
@@ -82,12 +110,14 @@
 					onkeypress="return keyPress(event, this)" tabindex="$tabIndex"/>
 			#end
 		</td> 
+		#if($hasProvideElsewhere == true)
 		<td style='width:20px;' align='center'>
 			#set( $id = $programStageDataElement.programStage.uid + '-' + $programStageDataElement.dataElement.uid + '-facility' )
 			#if( $programStageDataElement.allowProvidedElsewhere == 'true')
 			<input class='provided-elsewhere' name="$id" id="$id" type="checkbox" onclick="updateProvidingFacility( '$programStageDataElement.dataElement.uid', this )" #if($patientDataValue.providedElsewhere == 'true') checked #end />
 			#end
 		</td>
+		#end
 	</tr>
 	#set( $tabIndex = $tabIndex + 1 )
 #end	

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js	2013-09-06 07:54:55 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/javascript/entry.js	2013-09-06 15:53:07 +0000
@@ -92,6 +92,12 @@
     valueSaver.save();
 }
 
+function saveRadio( dataElementUid, value )
+{
+	var valueSaver = new ValueSaver( dataElementUid, value, 'bool', SUCCESS_COLOR );
+    valueSaver.save();
+}
+
 function updateProvidingFacility( dataElementUid, checkField )
 {
 	var programStageUid = byId( 'programStageUid' ).value;
@@ -799,6 +805,7 @@
             $( "#entryFormContainer input[id='blockEntryForm']" ).val( data.programStage.blockEntryForm );
             $( "#entryFormContainer input[id='remindCompleted']" ).val( data.programStage.remindCompleted );
 			$( "#entryFormContainer input[id='commentInput']" ).val( data.comment );
+			$( "#entryFormContainer input[id='displayOptionSetAsRadioButton']" ).val( data.displayOptionSetAsRadioButton );
 
             $( "input[id='dueDate']" ).val( data.dueDate );
             $( "input[id='executionDate']" ).val( data.executionDate );
@@ -985,6 +992,11 @@
 function autocompletedField( idField )
 {
 	var input = jQuery( "#" +  idField );
+	if(input.attr('options')=='no')
+	{
+		return;
+	}
+	
 	input.parent().width( input.width() + 50 );
 	var dataElementUid = input.attr('id').split('-')[1];
 	

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageInstance.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageInstance.vm	2013-09-06 07:54:55 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramStageInstance.vm	2013-09-06 15:53:07 +0000
@@ -1,5 +1,6 @@
 {
     "currentUsername": "$encoder.jsonEncode( $currentUsername )",
+	"displayOptionSetAsRadioButton": "$!displayOptionSetAsRadioButton" ,
     "id": "$!programStageInstance.id",
     "dueDate": "$format.formatDate( $!programStageInstance.dueDate )",
     "executionDate": "$!format.formatDate( $programStageInstance.executionDate )",

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/sectionDataEntryForm.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/sectionDataEntryForm.vm	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/sectionDataEntryForm.vm	2013-09-06 15:53:07 +0000
@@ -81,7 +81,36 @@
 										#end
 									</script> 
 								#elseif($hasOptionSet=='true')
-									<input name="entryfield" options='$hasOptionSet' class="auto-field optionset" #if($hasOptionSet == 'true') #end data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" id="$id" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" />
+									#if(($displayOptionSetAsRadioButton=='dropdown') || ( $displayOptionSetAsRadioButton=='' && $programStageDataElement.displayAsRadioButton =='false' ) )
+										<input id='$id' name="entryfield" options='$hasOptionSet' data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" class="auto-field optionset" />
+									#elseif(($displayOptionSetAsRadioButton=='radio' && $programStageDataElement.displayAsRadioButton =='true' ) || ( $displayOptionSetAsRadioButton=='' && $programStageDataElement.displayAsRadioButton =='true' ) )
+										<table style='width:100%'>
+											<tr>
+												<td>
+										<input id='$id' name="$id" options='no' type='radio'
+											data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" 
+											#if( $patientDataValue.value == $option) checked #end
+											onclick="saveRadio( '$programStageDataElement.dataElement.uid', '$option' )" tabindex="$tabIndex" />$i18n.getString("non_value")
+											</td>
+										#set($index=1)
+										#foreach($option in $programStageDataElement.dataElement.optionSet.options)
+											#if($index==4)
+												</tr><tr>
+												#set($index=0)
+											#end
+											<td>
+											<input id='$id' name="$id" type='radio' options='no'
+											data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" 
+											#if( $patientDataValue.value == $option) checked #end
+											onclick="saveRadio( '$programStageDataElement.dataElement.uid', '$option' )" tabindex="$tabIndex" />$encoder.htmlEncode($option)
+											</td>
+											#set($index=$index + 1)
+										#end
+										</tr>
+										</table>
+									#else
+										<input id='$id' name="entryfield" options='$hasOptionSet' data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" class="auto-field optionset" />
+									#end
 								#elseif($programStageDataElement.dataElement.type=='username')
 									<input name="entryfield" username='true' class="auto-field optionset" data="{compulsory: $programStageDataElement.compulsory, deName:'$programStageDataElement.dataElement.name', deType:'$programStageDataElement.dataElement.getDetailedNumberType()' }" id="$id" type="text" value="$!encoder.htmlEncode( $patientDataValue.value )" onkeypress="return keyPress(event, this)" tabindex="$tabIndex" />
 								#else

=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonDataElements.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonDataElements.vm	2013-01-05 15:22:55 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/ajax/jsonDataElements.vm	2013-09-06 15:53:07 +0000
@@ -11,6 +11,7 @@
 	"shortName": "$!encoder.jsonEncode( ${dataElement.displayShortName} )",
 	"code": "$!encoder.jsonEncode( ${dataElement.code} )",
 	"type": "$!{dataElement.type}",
+	"optionSet": #if($!dataElement.optionSet) "true"  #else "false" #end,
 	"aggregationOperator": "$!{dataElement.aggregationOperator}",
 	"zeroIsSignificant": "$!{dataElement.zeroIsSignificant}",
 	"dataSets": [ #foreach( $dataSet in $dataSets )${dataSet.id}#if( $velocityCount < $dataSets.size() ),#end#end ],

=== modified file 'dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/settings/userGeneralSettings.vm'
--- dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/settings/userGeneralSettings.vm	2013-08-01 05:25:14 +0000
+++ dhis-2/dhis-web/dhis-web-commons-resources/src/main/webapp/dhis-web-commons/settings/userGeneralSettings.vm	2013-09-06 15:53:07 +0000
@@ -7,7 +7,8 @@
 				currentStyle: getFieldValue( 'currentStyle' ),
 				analysisDisplayProperty: getFieldValue( 'analysisDisplayProperty' ),
                 messageEmailNotification: jQuery( '#messageEmailNotification' ).is(':checked' ),
-                messageSmsNotification: jQuery( '#messageSmsNotification' ).is(':checked' )
+                messageSmsNotification: jQuery( '#messageSmsNotification' ).is(':checked' ),
+				displayOptionSetAsRadioButton: getFieldValue( 'displayOptionSetAsRadioButton' )
 			}, function ( json ) {
 				if ( json.response == "success" )
 				{	
@@ -66,6 +67,16 @@
 </select>
 </div>
 
+
+<div class="settingLabel">$i18n.getString( "refer_option_set_fields_in_data_entry_form_as_dropdown_box_or_ratio_button" )</div>
+<div class="setting">
+	<select id="displayOptionSetAsRadioButton" name="displayOptionSetAsRadioButton">
+		<option value="" #if( "" == $displayOptionSetAsRadioButton ) selected="selected" #end>[$i18n.getString( "please_select" )]</option>
+		<option value="dropdown" #if( "dropdown" == $displayOptionSetAsRadioButton ) selected="selected" #end>$i18n.getString( "drowndown_box" )</option>
+		<option value="radio" #if( "radio" == $displayOptionSetAsRadioButton ) selected="selected" #end>$i18n.getString( "radio_button" )</option>
+	</select>
+</div>
+
 <div class="setting">
 	<input type="checkbox" id="messageEmailNotification" name="messageEmailNotification" #if( $messageEmailNotification ) checked="checked"#end/>
 	<label for="messageEmailNotification">$i18n.getString( "enable_message_email_notifications" )</label>

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/GetGeneralSettingsAction.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/GetGeneralSettingsAction.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/GetGeneralSettingsAction.java	2013-09-06 15:53:07 +0000
@@ -32,6 +32,7 @@
 import static org.hisp.dhis.user.UserSettingService.KEY_MESSAGE_SMS_NOTIFICATION;
 import static org.hisp.dhis.user.UserSettingService.KEY_ANALYSIS_DISPLAY_PROPERTY;
 import static org.hisp.dhis.user.UserSettingService.DEFAULT_ANALYSIS_DISPLAY_PROPERTY;
+import static org.hisp.dhis.user.UserSettingService.KEY_DISPLAY_OPTION_SET_AS_RADIO_BUTTON;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -112,7 +113,7 @@
     {
         return currentLocale;
     }
-    
+
     private List<Locale> availableLocalesDb;
 
     public List<Locale> getAvailableLocalesDb()
@@ -162,6 +163,13 @@
         return messageSmsNotification;
     }
 
+    private String displayOptionSetAsRadioButton;
+
+    public String getDisplayOptionSetAsRadioButton()
+    {
+        return displayOptionSetAsRadioButton;
+    }
+
     // -------------------------------------------------------------------------
     // Action implementation
     // -------------------------------------------------------------------------
@@ -189,7 +197,7 @@
         {
             currentLocale = localeManager.getFallbackLocale();
         }
-        
+
         // ---------------------------------------------------------------------
         // Get available locales in db
         // ---------------------------------------------------------------------
@@ -205,7 +213,7 @@
         } );
 
         currentLocaleDb = i18nService.getCurrentLocale();
-        
+
         // ---------------------------------------------------------------------
         // Get styles
         // ---------------------------------------------------------------------
@@ -213,13 +221,17 @@
         styles = styleManager.getStyles();
 
         currentStyle = styleManager.getCurrentStyle();
-        
-        analysisDisplayProperty = (String) userSettingService.getUserSetting( KEY_ANALYSIS_DISPLAY_PROPERTY, DEFAULT_ANALYSIS_DISPLAY_PROPERTY );
+
+        analysisDisplayProperty = (String) userSettingService.getUserSetting( KEY_ANALYSIS_DISPLAY_PROPERTY,
+            DEFAULT_ANALYSIS_DISPLAY_PROPERTY );
 
         messageEmailNotification = (Boolean) userSettingService.getUserSetting( KEY_MESSAGE_EMAIL_NOTIFICATION, false );
 
         messageSmsNotification = (Boolean) userSettingService.getUserSetting( KEY_MESSAGE_SMS_NOTIFICATION, false );
 
+        displayOptionSetAsRadioButton = (String) userSettingService.getUserSetting(
+            KEY_DISPLAY_OPTION_SET_AS_RADIO_BUTTON, "" );
+
         return SUCCESS;
     }
 }

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/SetGeneralSettingsAction.java'
--- dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/SetGeneralSettingsAction.java	2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/java/org/hisp/dhis/settings/user/action/SetGeneralSettingsAction.java	2013-09-06 15:53:07 +0000
@@ -29,8 +29,6 @@
  */
 
 import static org.hisp.dhis.user.UserSettingService.*;
-import static org.hisp.dhis.user.UserSettingService.KEY_MESSAGE_EMAIL_NOTIFICATION;
-import static org.hisp.dhis.user.UserSettingService.KEY_MESSAGE_SMS_NOTIFICATION;
 
 import java.util.Locale;
 
@@ -120,6 +118,13 @@
         this.messageSmsNotification = messageSmsNotification;
     }
 
+    private String displayOptionSetAsRadioButton;
+
+    public void setDisplayOptionSetAsRadioButton( String displayOptionSetAsRadioButton )
+    {
+        this.displayOptionSetAsRadioButton = displayOptionSetAsRadioButton;
+    }
+
     private String message;
 
     public String getMessage()
@@ -143,17 +148,19 @@
     {
         localeManager.setCurrentLocale( getRespectiveLocale( currentLocale ) );
 
-        userSettingService.saveUserSetting( KEY_DB_LOCALE, getRespectiveLocale( StringUtils
-            .trimToNull( currentLocaleDb ) ) );
+        userSettingService.saveUserSetting( KEY_DB_LOCALE,
+            getRespectiveLocale( StringUtils.trimToNull( currentLocaleDb ) ) );
 
         styleManager.setUserStyle( currentStyle );
-        
+
         userSettingService.saveUserSetting( KEY_ANALYSIS_DISPLAY_PROPERTY, analysisDisplayProperty );
-        
+
         userSettingService.saveUserSetting( KEY_MESSAGE_EMAIL_NOTIFICATION, messageEmailNotification );
 
         userSettingService.saveUserSetting( KEY_MESSAGE_SMS_NOTIFICATION, messageSmsNotification );
 
+        userSettingService.saveUserSetting( KEY_DISPLAY_OPTION_SET_AS_RADIO_BUTTON, displayOptionSetAsRadioButton );
+
         message = i18n.getString( "settings_updated" );
 
         return SUCCESS;

=== modified file 'dhis-2/dhis-web/dhis-web-commons/src/main/resources/i18n_global.properties'
--- dhis-2/dhis-web/dhis-web-commons/src/main/resources/i18n_global.properties	2013-09-03 14:53:19 +0000
+++ dhis-2/dhis-web/dhis-web-commons/src/main/resources/i18n_global.properties	2013-09-06 15:53:07 +0000
@@ -402,6 +402,10 @@
 server_memory=Server memory
 cpu_cores=CPU cores
 user_groups=User groups
+refer_option_set_fields_in_data_entry_form_as_dropdown_box_or_ratio_button = Refer option set fields in data entry form as dropdown/ratio button
+dropdown_box = Dropdown box
+radio_button = Radio button
+please_select = Please select
 
 #-- Change Log------------------------------------------------------------------#
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/AddProgramStageAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/AddProgramStageAction.java	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/AddProgramStageAction.java	2013-09-06 15:53:07 +0000
@@ -152,6 +152,13 @@
         this.allowProvidedElsewhere = allowProvidedElsewhere;
     }
 
+    private List<Boolean> displayAsRadioButtons = new ArrayList<Boolean>();
+
+    public void setDisplayAsRadioButtons( List<Boolean> displayAsRadioButtons )
+    {
+        this.displayAsRadioButtons = displayAsRadioButtons;
+    }
+
     private Boolean irregular;
 
     public void setIrregular( Boolean irregular )
@@ -343,12 +350,14 @@
             Boolean allowed = allowProvidedElsewhere.get( i ) == null ? false : allowProvidedElsewhere.get( i );
             Boolean displayInReport = displayInReports.get( i ) == null ? false : displayInReports.get( i );
             Boolean allowDate = allowDateInFutures.get( i ) == null ? false : allowDateInFutures.get( i );
+            Boolean displayRadioButton = displayAsRadioButtons.get( i ) == null ? false : displayAsRadioButtons.get( i );
 
             ProgramStageDataElement programStageDataElement = new ProgramStageDataElement( programStage, dataElement,
                 this.compulsories.get( i ), new Integer( i ) );
             programStageDataElement.setAllowProvidedElsewhere( allowed );
             programStageDataElement.setDisplayInReports( displayInReport );
             programStageDataElement.setAllowDateInFuture( allowDate );
+            programStageDataElement.setDisplayAsRadioButton( displayRadioButton );
             programStageDataElementService.addProgramStageDataElement( programStageDataElement );
         }
 

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/UpdateProgramStageAction.java'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/UpdateProgramStageAction.java	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/java/org/hisp/dhis/patient/action/programstage/UpdateProgramStageAction.java	2013-09-06 15:53:07 +0000
@@ -29,6 +29,7 @@
  */
 
 import com.opensymphony.xwork2.Action;
+
 import org.hisp.dhis.dataelement.DataElement;
 import org.hisp.dhis.dataelement.DataElementService;
 import org.hisp.dhis.patient.PatientReminder;
@@ -256,7 +257,6 @@
         this.generatedByEnrollmentDate = generatedByEnrollmentDate;
     }
 
-
     private Boolean blockEntryForm;
 
     public void setBlockEntryForm( Boolean blockEntryForm )
@@ -271,6 +271,13 @@
         this.remindCompleted = remindCompleted;
     }
 
+    private List<Boolean> displayAsRadioButtons = new ArrayList<Boolean>();
+
+    public void setDisplayAsRadioButtons( List<Boolean> displayAsRadioButtons )
+    {
+        this.displayAsRadioButtons = displayAsRadioButtons;
+    }
+
     // -------------------------------------------------------------------------
     // Action implementation
     // -------------------------------------------------------------------------
@@ -344,6 +351,7 @@
             Boolean allowed = allowProvidedElsewhere.get( i ) == null ? false : allowProvidedElsewhere.get( i );
             Boolean displayInReport = displayInReports.get( i ) == null ? false : displayInReports.get( i );
             Boolean allowDate = allowDateInFutures.get( i ) == null ? false : allowDateInFutures.get( i );
+            Boolean displayRadioButton = displayAsRadioButtons.get( i ) == null ? false : displayAsRadioButtons.get( i );
 
             ProgramStageDataElement programStageDataElement = programStageDataElementService.get( programStage,
                 dataElement );
@@ -354,7 +362,8 @@
                     this.compulsories.get( i ), i );
                 programStageDataElement.setAllowProvidedElsewhere( allowed );
                 programStageDataElement.setDisplayInReports( displayInReport );
-                programStageDataElement.setAllowDateInFuture( allowDate );
+                programStageDataElement.setAllowDateInFuture( allowDate ); 
+                programStageDataElement.setDisplayAsRadioButton( displayRadioButton );
                 programStageDataElementService.addProgramStageDataElement( programStageDataElement );
             }
             else
@@ -364,6 +373,7 @@
                 programStageDataElement.setAllowProvidedElsewhere( allowed );
                 programStageDataElement.setDisplayInReports( displayInReport );
                 programStageDataElement.setAllowDateInFuture( allowDate );
+                programStageDataElement.setDisplayAsRadioButton( displayRadioButton );
                 programStageDataElementService.updateProgramStageDataElement( programStageDataElement );
 
                 programStageDataElements.remove( programStageDataElement );

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties	2013-09-05 18:46:04 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/resources/org/hisp/dhis/patient/i18n_module.properties	2013-09-06 15:53:07 +0000
@@ -457,4 +457,5 @@
 relationship_type = Relationship type
 relationship_details = Relationship details
 program_related = Program related
-no_program = No program
\ No newline at end of file
+no_program = No program
+display_as_radio_button = Display as radio button
\ No newline at end of file

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramStageForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramStageForm.vm	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/addProgramStageForm.vm	2013-09-06 15:53:07 +0000
@@ -120,7 +120,8 @@
 			<select id="compulsories" name='compulsories' multiple="multiple" class="hidden"></select>     
 			<select id="allowProvidedElsewhere" name='allowProvidedElsewhere' multiple="multiple" class="hidden"></select>     
 			<select id="displayInReports" name='displayInReports' multiple="multiple" class="hidden"></select>     
-			<select id="allowDateInFutures" name='allowDateInFutures' multiple="multiple" class="hidden"></select>     
+			<select id="allowDateInFutures" name='allowDateInFutures' multiple="multiple" class="hidden"></select>   
+			<select id="displayAsRadioButtons" name='displayAsRadioButtons' multiple="multiple" class="hidden"></select>      
 		</th>
       </tr>
     </thead>
@@ -155,6 +156,7 @@
 							<th>$i18n.getString( "allow_provided_elsewhere" )</th>
 							<th>$i18n.getString( "display_in_reports" )</th>
 							<th>$i18n.getString( "date_in_future" )</th>
+							<th>$i18n.getString( "display_as_radio_button" )</th>
 					</thead>
 					<tbody id="selectedList"></tbody>
 				</table>

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/addProgramStageForm.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/addProgramStageForm.js	2013-08-01 03:36:44 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/addProgramStageForm.js	2013-09-06 15:53:07 +0000
@@ -34,6 +34,9 @@
 		var allowDateInFutures = jQuery( "#allowDateInFutures" );
 		allowDateInFutures.empty();
 		
+		var displayAsRadioButtons = jQuery( "#displayAsRadioButtons" );
+		displayAsRadioButtons.empty();
+		
 		var templateMessages = jQuery( "#templateMessages" );
 		templateMessages.empty();
 		
@@ -68,6 +71,10 @@
 			var allowDateInFuture = jQuery( item ).find( "input[name='allowDateInFuture']:first");
 			checked = allowDateInFuture.attr('checked') ? true : false;
 			allowDateInFutures.append( "<option value='" + checked + "' selected='true'>" + checked + "</option>" );
+			
+			var displayAsRadioButton = jQuery( item ).find( "input[name='displayAsRadioButton']:first");
+			checked = displayAsRadioButton.attr('checked') ? true : false;
+			displayAsRadioButtons.append( "<option value='" + checked + "' selected='true'>" + checked + "</option>" );
 		});
 		jQuery(".daysAllowedSendMessage").each( function( i, item ){ 
 			daysAllowedSendMessages.append( "<option value='" + item.value + "' selected='true'>" + item.value +"</option>" );
@@ -94,8 +101,13 @@
 				var option = jQuery("<option />");
 				option.text( item.name );
 				option.attr( "value", item.id );
-				option.attr( "valuetype", item.type );
-
+				
+				if( item.optionSet == "true"){
+					option.attr( "valuetype", "optionset" );
+				}
+				else{
+					option.attr( "valuetype", item.type );
+				}
 				return option;
 			}
 		});

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programStage.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programStage.js	2013-09-02 21:20:47 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/programStage.js	2013-09-06 15:53:07 +0000
@@ -124,6 +124,15 @@
 			else{
 				html += "<td align='center'><input type='hidden' name='allowDateInFuture'></td>";
 			}
+			
+			if( jQuery(item).attr('valuetype') =='optionset')
+			{
+				html += "<td align='center'><input type='checkbox' name='displayAsRadioButton'></td>";
+			}
+			else{
+				html += "<td align='center'><input type='hidden' name='displayAsRadioButton'></td>";
+			}
+			
 			html += "</tr>";
 			selectedList.append( html );
 			jQuery( item ).remove();
@@ -140,12 +149,22 @@
 		html += "<td align='center'><input type='checkbox' name='compulsory'></td>";
 		html += "<td align='center'><input type='checkbox' name='allowProvided'></td>";
 		html += "<td align='center'><input type='checkbox' name='displayInReport'></td>";
+		
 		if( jQuery(item).attr('valuetype') =='date'){
 			html += "<td align='center'><input type='checkbox' name='allowDateInFuture'></td>";
 		}
 		else{
 			html += "<td align='center'><input type='hidden' name='allowDateInFuture'></td>";
 		}
+		
+		if( jQuery(item).attr('valuetype') =='optionset')
+		{
+			html += "<td align='center'><input type='checkbox' name='displayAsRadioButton'></td>";
+		}
+		else{
+			html += "<td align='center'><input type='hidden' name='displayAsRadioButton'></td>";
+		}
+		
 		html += "</tr>";
 		selectedList.append( html );
 		jQuery( item ).remove();

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/updateProgramStageForm.js'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/updateProgramStageForm.js	2013-08-27 03:49:43 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/javascript/updateProgramStageForm.js	2013-09-06 15:53:07 +0000
@@ -32,6 +32,9 @@
 		var allowDateInFutures = jQuery( "#allowDateInFutures" );
 		allowDateInFutures.empty();
 		
+		var displayAsRadioButtons = jQuery( "#displayAsRadioButtons" );
+		displayAsRadioButtons.empty();
+		
 		var daysAllowedSendMessages = jQuery( "#daysAllowedSendMessages" );
 		daysAllowedSendMessages.empty();
 		
@@ -69,6 +72,10 @@
 			var allowDateInFuture = jQuery( item ).find( "input[name='allowDateInFuture']:first");
 			checked = allowDateInFuture.attr('checked') ? true : false;
 			allowDateInFutures.append( "<option value='" + checked + "' selected='true'>" + checked + "</option>" );
+			
+			var displayAsRadioButton = jQuery( item ).find( "input[name='displayAsRadioButton']:first");
+			checked = displayAsRadioButton.attr('checked') ? true : false;
+			displayAsRadioButtons.append( "<option value='" + checked + "' selected='true'>" + checked + "</option>" );
 		});
 		jQuery(".daysAllowedSendMessage").each( function( i, item ){ 
 			daysAllowedSendMessages.append( "<option value='" + item.value + "' selected='true'>" + item.value +"</option>" );
@@ -98,6 +105,13 @@
 			option.text( item.name );
 			option.attr( "value", item.id );
 			
+			if( item.optionSet == "true"){
+				option.attr( "valuetype", "optionset" );
+			}
+			else{
+				option.attr( "valuetype", item.type );
+			}
+			
 			var flag = false;
 			jQuery("#selectedList").find("tr").each( function( k, selectedItem ){ 
 				if(selectedItem.id == item.id )

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm	2013-09-06 09:06:36 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/updateProgramStageForm.vm	2013-09-06 15:53:07 +0000
@@ -122,6 +122,7 @@
 					<select id="allowProvidedElsewhere" name='allowProvidedElsewhere' multiple="multiple" class="hidden"></select>
 					<select id="displayInReports" name='displayInReports' multiple="multiple" class="hidden"></select>
 					<select id="allowDateInFutures" name='allowDateInFutures' multiple="multiple" class="hidden"></select>     
+					<select id="displayAsRadioButtons" name='displayAsRadioButtons' multiple="multiple" class="hidden"></select>     
 				</th>
 			</tr>
 		</thead>
@@ -156,6 +157,7 @@
 								<th>$i18n.getString( "allow_provided_elsewhere" )</th>
 								<th>$i18n.getString( "display_in_reports" )</th>
 								<th>$i18n.getString( "date_in_future" )</th>
+								<th>$i18n.getString( "display_as_radio_button" )</th>
 							</tr>
 						</thead>
 						<tbody id="selectedList">
@@ -164,14 +166,21 @@
 									<td onmousedown="select(event,this)">$encoder.htmlEncode( $programStageDataElement.dataElement.name )</td>
 									<td align="center"><input type="checkbox" name="compulsory" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.compulsory == true ) checked #end /></td>
 									<td align="center"><input type="checkbox" name="allowProvided" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.allowProvidedElsewhere == true ) checked #end /></td>
-									<td align="center"><input type="checkbox" name="displayInReport" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.displayInReports == true ) checked #end /></td>
+									<td align="center"><input type="checkbox" name="displayInReport" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.displayInReports == 'true' ) checked #end /></td>
 									<td align="center">
 										#if($programStageDataElement.dataElement.type=='date')
-										<input type="checkbox" name="allowDateInFuture" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.allowDateInFuture == true ) checked #end />
+										<input type="checkbox" name="allowDateInFuture" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.allowDateInFuture == 'true' ) checked #end />
 										#else
 										<input type="hidden" name="allowDateInFuture" />
 										#end
 									</td>
+									<td align="center">
+										#if($programStageDataElement.dataElement.optionSet)
+										<input type="checkbox" name="displayAsRadioButton" value="$programStageDataElement.dataElement.id" #if($programStageDataElement.displayAsRadioButton == 'true' ) checked #end />
+										#else
+										<input type="hidden" name="displayAsRadioButton" />
+										#end
+									</td>
 								</tr>
 							#end
 						</tbody>