← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 9828: wip, program/associations meta-data

 

------------------------------------------------------------
revno: 9828
committer: Morten Olav Hansen <mortenoh@xxxxxxxxx>
branch nick: dhis2
timestamp: Tue 2013-02-19 11:01:58 +0700
message:
  wip, program/associations meta-data
added:
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java
  dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm
modified:
  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/struts.xml


--
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
=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/GetProgramMetaDataAction.java	2013-02-19 04:01:58 +0000
@@ -0,0 +1,114 @@
+package org.hisp.dhis.caseentry.action;
+
+/*
+ * Copyright (c) 2004-2013, University of Oslo
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright notice, this
+ *   list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ * * Neither the name of the HISP project nor the names of its contributors may
+ *   be used to endorse or promote products derived from this software without
+ *   specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+import com.opensymphony.xwork2.Action;
+import org.hisp.dhis.organisationunit.OrganisationUnit;
+import org.hisp.dhis.program.Program;
+import org.hisp.dhis.program.ProgramService;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
+ */
+public class GetProgramMetaDataAction implements Action
+{
+    // -------------------------------------------------------------------------
+    // Dependencies
+    // -------------------------------------------------------------------------
+
+    private ProgramService programService;
+
+    public void setProgramService( ProgramService programService )
+    {
+        this.programService = programService;
+    }
+
+    // -------------------------------------------------------------------------
+    // Input & Output
+    // -------------------------------------------------------------------------
+
+    private Integer programType = Program.SINGLE_EVENT_WITHOUT_REGISTRATION;
+
+    public void setProgramType( Integer programType )
+    {
+        this.programType = programType;
+    }
+
+    public Integer getProgramType()
+    {
+        return programType;
+    }
+
+    private List<Program> programs = new ArrayList<Program>();
+
+    public List<Program> getPrograms()
+    {
+        return programs;
+    }
+
+    private Map<Integer, Set<Integer>> programAssociations = new HashMap<Integer, Set<Integer>>();
+
+    public Map<Integer, Set<Integer>> getProgramAssociations()
+    {
+        return programAssociations;
+    }
+
+    // -------------------------------------------------------------------------
+    // Action Impl
+    // -------------------------------------------------------------------------
+
+    @Override
+    public String execute() throws Exception
+    {
+        programs = new ArrayList<Program>( programService.getPrograms( programType ) );
+
+        for ( Program program : programs )
+        {
+            Set<OrganisationUnit> organisationUnits = program.getOrganisationUnits();
+
+            for ( OrganisationUnit organisationUnit : organisationUnits )
+            {
+                if ( !programAssociations.containsKey( organisationUnit.getId() ) )
+                {
+                    programAssociations.put( organisationUnit.getId(), new HashSet<Integer>() );
+                }
+
+                programAssociations.get( organisationUnit.getId() ).add( program.getId() );
+            }
+        }
+
+        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-02-18 09:50:45 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml	2013-02-19 04:01:58 +0000
@@ -355,6 +355,11 @@
 			ref="org.hisp.dhis.program.ProgramExpressionService" />
 	</bean>
 
+  <bean id="org.hisp.dhis.caseentry.action.GetProgramMetaDataAction" class="org.hisp.dhis.caseentry.action.GetProgramMetaDataAction"
+    scope="prototype">
+    <property name="programService" ref="org.hisp.dhis.program.ProgramService" />
+  </bean>
+
 	<bean
 		id="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction"
 		class="org.hisp.dhis.caseentry.action.caseentry.LoadAnonymousProgramsAction"

=== 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-01-31 07:19:15 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/struts.xml	2013-02-19 04:01:58 +0000
@@ -1,1065 +1,1072 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE struts PUBLIC
-"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
-"http://struts.apache.org/dtds/struts-2.0.dtd";>
+  "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
+  "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>
-			<param name="javascripts">../dhis-web-commons/ouwt/ouwt.js</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_UPDATE,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="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>
-			<param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_UPDATE,F_PATIENT_DATAVALUE_DELETE</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_UPDATE,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_UPDATE,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_UPDATE,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_UPDATE,F_PATIENT_DATAVALUE_DELETE</param>
-		</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="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_UPDATE,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="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>
-		
-		<!-- 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_UPDATE,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_UPDATE,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/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="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="javascripts">javascript/entry.js,../dhis-web-commons/javascripts/date.js</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_UPDATE,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_UPDATE,F_PATIENT_DATAVALUE_DELETE</param>
-		</action>
-
-		<!-- Single-event DataEntry -->
-
-		<action name="singleEventSelect"
-			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/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_UPDATE,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_UPDATE,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.report.ViewRecordsAction">
-			<result name="success" type="velocity">/content.vm</result>
-			<param name="page">/dhis-web-caseentry/records.vm</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>
-			<param name="requiredAuthorities">F_GENERATE_STATISTICAL_PROGRAM_REPORT</param>
-		</action>
-		
-		<action name="statisticalProgramDetailsReport"
-			class="org.hisp.dhis.caseentry.action.report.StatisticalProgramDetailsReportAction">
-			<result name="success" type="velocity">/content.vm</result>
-			<param name="page">/dhis-web-caseentry/statisticalProgramDetailsReport.vm</param>
-			<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="javascripts">javascript/caseagg.js</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,F_DATAVALUE_UPDATE</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="requiredAuthorities">F_PATIENT_UPDATE</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_UPDATE</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_UPDATE, F_PROGRAM_ENROLLMENT</param>
-		</action>
-
-		<action name="removeEnrollment"
-			class="org.hisp.dhis.caseentry.action.patient.RemoveEnrollmentAction">
-			<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_UPDATE</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="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-json">
-				/dhis-web-caseentry/responseRelationshipPatients.vm
-			</result>
-			<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="loadPatientProperties"
-			class="org.hisp.dhis.caseentry.action.report.LoadPatientPropertiesAction">
-			<result name="success" type="velocity-json">
-				/dhis-web-caseentry/jsonPatientProperties.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="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="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</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/jsonAggregateReportResult.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="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</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>
-		
-		<!-- 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/trackingMenu.vm</param>
-			<param name="stylesheets">style/style.css</param>
-			<param name="javascripts">
-				../dhis-web-commons/ouwt/ouwt.js,
-				javascript/commons.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>
-		
-		<!-- 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>
-		
-		<!-- Comment -->
-
-		<action name="addPatientComment"
-			class="org.hisp.dhis.caseentry.action.reminder.AddPatientCommentAction">
-			<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>
-		
-		<!-- Activity plan -->
-
-		<action name="activityPlanSelect"
-			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/activityPlanSelect.vm</param>
-			<param name="menu">/dhis-web-caseentry/trackingMenu.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/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>
-		</action>
-		
-		<action name="exportActitityList"
-			class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
-			<result name="xls" type="gridXlsResult" />
-			<result name="pdf" type="gridPdfResult" />
-            <param name="requiredAuthorities">F_ACTIVITY_PLAN_EXPORT</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>
+      <param name="javascripts">../dhis-web-commons/ouwt/ouwt.js</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_UPDATE,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="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>
+      <param name="requiredAuthorities">F_PATIENT_DATAVALUE_ADD,F_PATIENT_DATAVALUE_UPDATE,F_PATIENT_DATAVALUE_DELETE</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_UPDATE,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_UPDATE,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_UPDATE,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_UPDATE,F_PATIENT_DATAVALUE_DELETE</param>
+    </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="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_UPDATE,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="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>
+
+    <!-- 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_UPDATE,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_UPDATE,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/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="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="javascripts">javascript/entry.js,../dhis-web-commons/javascripts/date.js</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_UPDATE,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_UPDATE,F_PATIENT_DATAVALUE_DELETE</param>
+    </action>
+
+    <!-- Single-event DataEntry -->
+
+    <action name="singleEventSelect"
+      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/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_UPDATE,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_UPDATE,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.report.ViewRecordsAction">
+      <result name="success" type="velocity">/content.vm</result>
+      <param name="page">/dhis-web-caseentry/records.vm</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>
+      <param name="requiredAuthorities">F_GENERATE_STATISTICAL_PROGRAM_REPORT</param>
+    </action>
+
+    <action name="statisticalProgramDetailsReport"
+      class="org.hisp.dhis.caseentry.action.report.StatisticalProgramDetailsReportAction">
+      <result name="success" type="velocity">/content.vm</result>
+      <param name="page">/dhis-web-caseentry/statisticalProgramDetailsReport.vm</param>
+      <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="javascripts">javascript/caseagg.js</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,F_DATAVALUE_UPDATE</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="requiredAuthorities">F_PATIENT_UPDATE</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_UPDATE</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_UPDATE, F_PROGRAM_ENROLLMENT</param>
+    </action>
+
+    <action name="removeEnrollment"
+      class="org.hisp.dhis.caseentry.action.patient.RemoveEnrollmentAction">
+      <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_UPDATE</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="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-json">
+        /dhis-web-caseentry/responseRelationshipPatients.vm
+      </result>
+      <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="loadPatientProperties"
+      class="org.hisp.dhis.caseentry.action.report.LoadPatientPropertiesAction">
+      <result name="success" type="velocity-json">
+        /dhis-web-caseentry/jsonPatientProperties.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="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="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</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/jsonAggregateReportResult.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="requiredAuthorities">F_GENERATE_BENEFICIARY_TABULAR_REPORT</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>
+
+    <!-- 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/trackingMenu.vm</param>
+      <param name="stylesheets">style/style.css</param>
+      <param name="javascripts">
+        ../dhis-web-commons/ouwt/ouwt.js,
+        javascript/commons.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>
+
+    <!-- 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>
+
+    <!-- Comment -->
+
+    <action name="addPatientComment"
+      class="org.hisp.dhis.caseentry.action.reminder.AddPatientCommentAction">
+      <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>
+
+    <!-- Activity plan -->
+
+    <action name="activityPlanSelect"
+      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/activityPlanSelect.vm</param>
+      <param name="menu">/dhis-web-caseentry/trackingMenu.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/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>
+    </action>
+
+    <action name="exportActitityList"
+      class="org.hisp.dhis.caseentry.action.caseentry.GetDataRecordsAction">
+      <result name="xls" type="gridXlsResult" />
+      <result name="pdf" type="gridPdfResult" />
+      <param name="requiredAuthorities">F_ACTIVITY_PLAN_EXPORT</param>
+    </action>
+
+  </package>
 </struts>

=== added file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/webapp/dhis-web-caseentry/jsonProgramMetaData.vm	2013-02-19 04:01:58 +0000
@@ -0,0 +1,13 @@
+{ "metaData": {
+"programs": {
+#set( $psize = $programs.size() )
+#foreach( $program in $programs )
+"${program.id}":{"name":"$encoder.jsonEncode( ${program.displayName} )"}
+#if( $velocityCount < $psize ),#end
+#end },
+"programAssociations": {
+#set( $psize = $programAssociations.size() )
+#foreach( $ou in $programAssociations.keySet() )
+"${ou}":$programAssociations.get(${ou})#if( $velocityCount < $psize ),#end
+#end
+}}}