← Back to team overview

dhis2-devs team mailing list archive

[Branch ~dhis2-devs-core/dhis2/trunk] Rev 10857: Reorganize code to generate patient-system-identifier in tracker module.

 

------------------------------------------------------------
revno: 10857
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Thu 2013-05-16 15:06:31 +0700
message:
  Reorganize code to generate patient-system-identifier in tracker module.
removed:
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/PatientIdentifierGenerator.java
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/idgen/
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/idgen/PatientIdentifierGenerator.java
added:
  dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/util/
  dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/util/PatientIdentifierGenerator.java
modified:
  dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRelationshipPatientAction.java
  dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRepresentativeAction.java
  dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/viewDataEntryForm.vm


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

Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java	2013-05-16 03:53:39 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java	2013-05-16 08:06:31 +0000
@@ -66,6 +66,7 @@
 import org.hisp.dhis.patient.PatientIdentifierTypeService;
 import org.hisp.dhis.patient.PatientMobileSetting;
 import org.hisp.dhis.patient.PatientService;
+import org.hisp.dhis.patient.util.PatientIdentifierGenerator;
 import org.hisp.dhis.patientattributevalue.PatientAttributeValue;
 import org.hisp.dhis.patientattributevalue.PatientAttributeValueService;
 import org.hisp.dhis.patientdatavalue.PatientDataValue;

=== removed file 'dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/PatientIdentifierGenerator.java'
--- dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/PatientIdentifierGenerator.java	2013-05-16 03:53:39 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/PatientIdentifierGenerator.java	1970-01-01 00:00:00 +0000
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2004-2009, 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.
- */
-
-package org.hisp.dhis.mobile.service;
-
-import java.text.DecimalFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Random;
-
-/**
- * @author Viet
- */
-public class PatientIdentifierGenerator
-{
-    /**
-     * Creates a new Patient Identifier: (BirthDate)(Gender)(XXXXXX)(checkdigit) <br>
-     * <strong>BirthDate</strong> = YYYYMMDD <br>
-     * <strong>Gender</strong> = Male : 1 | Female : 0<br>
-     * <strong>XXXXXX</strong> = random digits e.g. from 0 - 999999 <br>
-     * <strong>checkdigit</strong>= using the Lunh Algorithm
-     * 
-     * @param birthDate
-     * @param gender
-     * @return
-     */
-    public static String getNewIdentifier( Date birthDate, String gender )
-    {
-        String noCheck = formatDate( birthDate ) + formatGender( gender )
-            + getFixLengthOfNumber( new Random().nextInt( 100000 ), 6 );
-        return noCheck + getCheckdigit( noCheck );
-    }
-
-    /**
-     * Using the Luhn Algorithm to generate check digits
-     * 
-     * @param idWithoutCheckdigit
-     * @return idWithCheckdigit
-     */
-    private static int getCheckdigit( String idWithoutCheckdigit )
-    {
-        idWithoutCheckdigit = idWithoutCheckdigit.trim().toUpperCase();
-        int sum = 0;
-        for ( int i = 0; i < idWithoutCheckdigit.length(); i++ )
-        {
-            char ch = idWithoutCheckdigit.charAt( idWithoutCheckdigit.length() - i - 1 );
-
-            int digit = ch - 48;
-            int weight;
-            if ( i % 2 == 0 )
-            {
-                weight = (2 * digit) - (digit / 5) * 9;
-            }
-            else
-            {
-                weight = digit;
-            }
-            sum += weight;
-        }
-        sum = Math.abs( sum ) + 10;
-        return (10 - (sum % 10)) % 10;
-    }
-
-    public static boolean isValidCC( String num )
-    {
-        final int[][] sumTable = { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 } };
-        int sum = 0, flip = 0;
-
-        for ( int i = num.length() - 1; i >= 0; i--, flip++ )
-            sum += sumTable[flip & 0x1][num.charAt( i ) - '0'];
-        return sum % 10 == 0;
-    }
-
-    private static String getFixLengthOfNumber( long number, int length )
-    {
-        int i = 0;
-        String pattern = "";
-        if ( length == 0 )
-            pattern = "000000";
-        while ( i < length && length > 0 )
-        {
-            pattern += "0";
-            i++;
-        }
-        DecimalFormat df = new DecimalFormat( pattern );
-        return df.format( number );
-    }
-
-    private static String formatDate( Date birthDate )
-    {
-        SimpleDateFormat formater = new SimpleDateFormat( "yyyyMMdd" );
-        String bd = formater.format( birthDate );
-        return bd;
-    }
-
-    private static String formatGender( String gender )
-    {
-        return gender.equalsIgnoreCase( "f" ) ? "0" : "1";
-    }
-}

=== added directory 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/util'
=== added file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/util/PatientIdentifierGenerator.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/util/PatientIdentifierGenerator.java	1970-01-01 00:00:00 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/util/PatientIdentifierGenerator.java	2013-05-16 08:06:31 +0000
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2004-2009, 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.
+ */
+
+package org.hisp.dhis.patient.util;
+
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Random;
+
+/**
+ * @author Viet
+ */
+public class PatientIdentifierGenerator
+{
+    /**
+     * Creates a new Patient Identifier: (BirthDate)(Gender)(XXXXXX)(checkdigit) <br>
+     * <strong>BirthDate</strong> = YYYYMMDD <br>
+     * <strong>Gender</strong> = Male : 1 | Female : 0<br>
+     * <strong>XXXXXX</strong> = random digits e.g. from 0 - 999999 <br>
+     * <strong>checkdigit</strong>= using the Lunh Algorithm
+     * 
+     * @param birthDate
+     * @param gender
+     * @return
+     */
+    public static String getNewIdentifier( Date birthDate, String gender )
+    {
+        String noCheck = formatDate( birthDate ) + formatGender( gender )
+            + getFixLengthOfNumber( new Random().nextInt( 100000 ), 6 );
+        return noCheck + getCheckdigit( noCheck );
+    }
+
+    /**
+     * Using the Luhn Algorithm to generate check digits
+     * 
+     * @param idWithoutCheckdigit
+     * @return idWithCheckdigit
+     */
+    private static int getCheckdigit( String idWithoutCheckdigit )
+    {
+        idWithoutCheckdigit = idWithoutCheckdigit.trim().toUpperCase();
+        int sum = 0;
+        for ( int i = 0; i < idWithoutCheckdigit.length(); i++ )
+        {
+            char ch = idWithoutCheckdigit.charAt( idWithoutCheckdigit.length() - i - 1 );
+
+            int digit = ch - 48;
+            int weight;
+            if ( i % 2 == 0 )
+            {
+                weight = (2 * digit) - (digit / 5) * 9;
+            }
+            else
+            {
+                weight = digit;
+            }
+            sum += weight;
+        }
+        sum = Math.abs( sum ) + 10;
+        return (10 - (sum % 10)) % 10;
+    }
+
+    public static boolean isValidCC( String num )
+    {
+        final int[][] sumTable = { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 } };
+        int sum = 0, flip = 0;
+
+        for ( int i = num.length() - 1; i >= 0; i--, flip++ )
+            sum += sumTable[flip & 0x1][num.charAt( i ) - '0'];
+        return sum % 10 == 0;
+    }
+
+    private static String getFixLengthOfNumber( long number, int length )
+    {
+        int i = 0;
+        String pattern = "";
+        if ( length == 0 )
+            pattern = "000000";
+        while ( i < length && length > 0 )
+        {
+            pattern += "0";
+            i++;
+        }
+        DecimalFormat df = new DecimalFormat( pattern );
+        return df.format( number );
+    }
+
+    private static String formatDate( Date birthDate )
+    {
+        SimpleDateFormat formater = new SimpleDateFormat( "yyyyMMdd" );
+        String bd = formater.format( birthDate );
+        return bd;
+    }
+
+    private static String formatGender( String gender )
+    {
+        return gender.equalsIgnoreCase( "f" ) ? "0" : "1";
+    }
+}

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java	2013-04-22 08:18:41 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java	2013-05-16 08:06:31 +0000
@@ -37,7 +37,6 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.struts2.ServletActionContext;
-import org.hisp.dhis.caseentry.idgen.PatientIdentifierGenerator;
 import org.hisp.dhis.caseentry.state.SelectedStateManager;
 import org.hisp.dhis.i18n.I18nFormat;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
@@ -52,6 +51,7 @@
 import org.hisp.dhis.patient.PatientIdentifierType;
 import org.hisp.dhis.patient.PatientIdentifierTypeService;
 import org.hisp.dhis.patient.PatientService;
+import org.hisp.dhis.patient.util.PatientIdentifierGenerator;
 import org.hisp.dhis.patientattributevalue.PatientAttributeValue;
 import org.hisp.dhis.user.UserService;
 

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRelationshipPatientAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRelationshipPatientAction.java	2012-10-03 08:45:36 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRelationshipPatientAction.java	2013-05-16 08:06:31 +0000
@@ -33,6 +33,7 @@
 import org.apache.commons.lang.StringUtils;
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.struts2.ServletActionContext;
+import org.hisp.dhis.caseentry.state.SelectedStateManager;
 import org.hisp.dhis.i18n.I18nFormat;
 import org.hisp.dhis.organisationunit.OrganisationUnit;
 import org.hisp.dhis.patient.Patient;
@@ -45,8 +46,7 @@
 import org.hisp.dhis.patient.PatientIdentifierType;
 import org.hisp.dhis.patient.PatientIdentifierTypeService;
 import org.hisp.dhis.patient.PatientService;
-import org.hisp.dhis.caseentry.idgen.PatientIdentifierGenerator;
-import org.hisp.dhis.caseentry.state.SelectedStateManager;
+import org.hisp.dhis.patient.util.PatientIdentifierGenerator;
 import org.hisp.dhis.patientattributevalue.PatientAttributeValue;
 import org.hisp.dhis.patientattributevalue.PatientAttributeValueService;
 import org.hisp.dhis.relationship.Relationship;

=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRepresentativeAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRepresentativeAction.java	2012-05-29 15:37:40 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRepresentativeAction.java	2013-05-16 08:06:31 +0000
@@ -42,7 +42,7 @@
 import org.hisp.dhis.patient.PatientIdentifierType;
 import org.hisp.dhis.patient.PatientIdentifierTypeService;
 import org.hisp.dhis.patient.PatientService;
-import org.hisp.dhis.caseentry.idgen.PatientIdentifierGenerator;
+import org.hisp.dhis.patient.util.PatientIdentifierGenerator;
 
 import com.opensymphony.xwork2.Action;
 

=== removed directory 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/idgen'
=== removed file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/idgen/PatientIdentifierGenerator.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/idgen/PatientIdentifierGenerator.java	2013-04-04 18:06:19 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/idgen/PatientIdentifierGenerator.java	1970-01-01 00:00:00 +0000
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 2004-2009, 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.
- */
-
-package org.hisp.dhis.caseentry.idgen;
-
-import java.text.DecimalFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Random;
-
-/**
- * @author Viet
- */
-public class PatientIdentifierGenerator
-{
-    /**
-     * Creates a new Patient Identifier: (BirthDate)(Gender)(XXXXXX)(checkdigit) <br>
-     * <strong>BirthDate</strong> = YYYYMMDD <br>
-     * <strong>Gender</strong> = Male : 1 | Female : 0<br>
-     * <strong>XXXXXX</strong> = random digits e.g. from 0 - 999999 <br>
-     * <strong>checkdigit</strong>= using the Lunh Algorithm
-     * 
-     * @param birthDate
-     * @param gender
-     * @return
-     */
-    public static String getNewIdentifier( Date birthDate, String gender )
-    {
-        String noCheck = formatDate( birthDate ) + formatGender( gender )
-            + getFixLengthOfNumber( new Random().nextInt( 100000 ), 6 );
-        return noCheck + getCheckdigit( noCheck );
-    }
-
-    /**
-     * Using the Luhn Algorithm to generate check digits
-     * 
-     * @param idWithoutCheckdigit
-     * @return idWithCheckdigit
-     */
-    private static int getCheckdigit( String idWithoutCheckdigit )
-    {
-        idWithoutCheckdigit = idWithoutCheckdigit.trim().toUpperCase();
-        int sum = 0;
-        for ( int i = 0; i < idWithoutCheckdigit.length(); i++ )
-        {
-            char ch = idWithoutCheckdigit.charAt( idWithoutCheckdigit.length() - i - 1 );
-
-            int digit = ch - 48;
-            int weight;
-            if ( i % 2 == 0 )
-            {
-                weight = (2 * digit) - (digit / 5) * 9;
-            }
-            else
-            {
-                weight = digit;
-            }
-            sum += weight;
-        }
-        sum = Math.abs( sum ) + 10;
-        return (10 - (sum % 10)) % 10;
-    }
-
-    public static boolean isValidCC( String num )
-    {
-        final int[][] sumTable = { { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }, { 0, 2, 4, 6, 8, 1, 3, 5, 7, 9 } };
-        int sum = 0, flip = 0;
-
-        for ( int i = num.length() - 1; i >= 0; i--, flip++ )
-            sum += sumTable[flip & 0x1][num.charAt( i ) - '0'];
-        return sum % 10 == 0;
-    }
-
-    private static String getFixLengthOfNumber( long number, int length )
-    {
-        int i = 0;
-        String pattern = "";
-        if ( length == 0 )
-            pattern = "000000";
-        while ( i < length && length > 0 )
-        {
-            pattern += "0";
-            i++;
-        }
-        DecimalFormat df = new DecimalFormat( pattern );
-        return df.format( number );
-    }
-
-    private static String formatDate( Date birthDate )
-    {
-        SimpleDateFormat formater = new SimpleDateFormat( "yyyyMMdd" );
-        String bd = formater.format( birthDate );
-        return bd;
-    }
-
-    private static String formatGender( String gender )
-    {
-        return gender.equalsIgnoreCase( "f" ) ? "0" : "1";
-    }
-}

=== modified file 'dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/viewDataEntryForm.vm'
--- dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/viewDataEntryForm.vm	2013-05-16 07:31:48 +0000
+++ dhis-2/dhis-web/dhis-web-maintenance/dhis-web-maintenance-patient/src/main/webapp/dhis-web-maintenance-patient/viewDataEntryForm.vm	2013-05-16 08:06:31 +0000
@@ -112,9 +112,6 @@
 			#if(!$dataElements.isEmpty())
 			<button type="button" id='insertDataElements' onclick="openDataElementSelector()">$i18n.getString( 'insert_data_elements' )</button>
 			#end
-			#if(!$programStages.isEmpty())
-			<button type="button" id='insertOtherDataElements' onclick="openOtherProgramStageDataElements()">$i18n.getString( 'other_program_stage_data_element')</button>
-			#end
 			<button type="button" id="insertImagesButton">$i18n.getString( 'insert_images' )</button>
 			
 			#if( $!dataEntryForm )
@@ -181,7 +178,9 @@
 		</tr>
 		<tr>
 			<td colspan='2'><hr/>
+				#if(!$programStages.isEmpty())
 				<input type="button" value="$i18n.getString('other_program_stages')" onclick="hideById('dataElementSelection');showById('otherProgramStageDataElements');" >
+				#end
 				<input type="button" id="insertButton" value="$i18n.getString('insert')" onclick="insertDataElement( '#dataElementSelection', '$programStage.uid')" style="width:100px">
 			</td>
 		</tr>