=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientService.java 2012-05-15 07:40:06 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientService.java 2012-06-12 07:46:25 +0000 @@ -55,14 +55,6 @@ Collection getAllPatients(); /** - * Get Patients base on isDead property - * - * @param isDead - * @return Patient List - */ - Collection getAllPatients( Boolean isDead ); - - /** * Search Patient base on firstname/middlename/lastname/birthDate/gender * * @param firstName @@ -72,7 +64,7 @@ * @param gender * @return Patient List */ - Collection getPatient( String firstName, String middleName, String lastName, Date birthdate, String gender ); + Collection getPatients( String firstName, String middleName, String lastName, Date birthdate, String gender ); /** * Search Patient base on gender @@ -96,17 +88,15 @@ * @param name fullName * @return Patient List */ - Collection getPatientsByNames( String name ); + Collection getPatientsByNames( String name, Integer min, Integer max ); /** - * Search Patient base on identifier value with result limited + * Search Patient base on full-name or identifier value * * @param searchText value - * @param min - * @param max * @return Patient List */ - Collection getPatients( String searchText, int min, int max ); + Collection getPatients( String searchText, Integer min, Integer max ); /** * Search Patient for mobile base on identifier value @@ -123,28 +113,18 @@ * @param organisationUnit organisationUnit * @return Patient List */ - Collection getPatients( OrganisationUnit organisationUnit ); + Collection getPatients( OrganisationUnit organisationUnit, Integer min, Integer max ); /** - * Search Patient base on organization unit with result limited - * - * @param organisationUnit organisationUnit - * @param min - * @param max - * @return Patient List - */ - Collection getPatients( OrganisationUnit organisationUnit, int min, int max ); - - /** * Search Patient base on organization unit and sort the result by PatientAttribute * * @param organisationUnit organisationUnit + * @param patientAttribute * @param min * @param max - * @param patientAttribute * @return Patient List */ - Collection getPatients( OrganisationUnit organisationUnit, int min, int max, PatientAttribute patientAttribute ); + Collection getPatients( OrganisationUnit organisationUnit, PatientAttribute patientAttribute, Integer min, Integer max ); /** * Search Patient base on organisationUnit and identifier value @@ -156,7 +136,7 @@ * @param max * @return */ - Collection getPatients( OrganisationUnit organisationUnit, String searchText, int min, int max ); + Collection getPatients( OrganisationUnit organisationUnit, String searchText, Integer min, Integer max ); /** * Search Patient base on PatientIdentifierType or Attribute or Patient's @@ -179,7 +159,7 @@ * @param max * @return */ - Collection getPatients( OrganisationUnit organisationUnit, Program program, int min, int max ); + Collection getPatients( OrganisationUnit organisationUnit, Program program, Integer min, Integer max ); /** * Sort the result by PatientAttribute @@ -190,16 +170,7 @@ */ Collection sortPatientsByAttribute( Collection patients, PatientAttribute patientAttribute ); - /** - * Search Patient base on firstname/middlename/lastname with result limited - * - * @param name firstName/middleName/lastName - * @param min - * @param max - * @return Patient List - */ - Collection getPatientsByNames( String name, int min, int max ); - + Collection getRepresentatives( Patient patient ); /** * Search Patient base on identifier value and get number of result === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientStore.java 2011-12-21 04:23:59 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientStore.java 2012-06-12 07:46:25 +0000 @@ -43,23 +43,17 @@ { String ID = PatientStore.class.getName(); - Collection get( Boolean isDead ); - Collection getByGender( String gender ); Collection getByBirthDate( Date birthDate ); - Collection getByNames( String name ); - - Collection getByNames( String name, int min, int max ); - - Collection getPatient( String firstName, String middleName, String lastName, Date birthdate, String gender ); - - Collection getByOrgUnit( OrganisationUnit organisationUnit ); - - Collection getByOrgUnit( OrganisationUnit organisationUnit, int min, int max ); - - Collection getByOrgUnitProgram( OrganisationUnit organisationUnit, Program program, int min, int max ); + Collection getByNames( String name, Integer min, Integer max ); + + Collection get( String firstName, String middleName, String lastName, Date birthdate, String gender ); + + Collection getByOrgUnit( OrganisationUnit organisationUnit, Integer min, Integer max ); + + Collection getByOrgUnitProgram( OrganisationUnit organisationUnit, Program program, Integer min, Integer max ); Collection getRepresentatives( Patient patient ); === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2012-06-06 04:31:43 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2012-06-12 07:46:25 +0000 @@ -187,16 +187,10 @@ } @Override - public Collection getAllPatients( Boolean isDead ) - { - return patientStore.get( isDead ); - } - - @Override - public Collection getPatient( String firstName, String middleName, String lastName, Date birthdate, + public Collection getPatients( String firstName, String middleName, String lastName, Date birthdate, String gender ) { - return patientStore.getPatient( firstName, middleName, lastName, birthdate, gender ); + return patientStore.get( firstName, middleName, lastName, birthdate, gender ); } @Override @@ -212,7 +206,7 @@ } @Override - public Collection getPatients( String searchText, int min, int max ) + public Collection getPatients( String searchText, Integer min, Integer max ) { int countPatientName = patientStore.countGetPatientsByName( searchText ); @@ -282,22 +276,16 @@ } @Override - public Collection getPatients( OrganisationUnit organisationUnit ) - { - return patientStore.getByOrgUnit( organisationUnit ); - } - - @Override - public Collection getPatients( OrganisationUnit organisationUnit, int min, int max ) + public Collection getPatients( OrganisationUnit organisationUnit, Integer min, Integer max ) { return patientStore.getByOrgUnit( organisationUnit, min, max ); } @Override - public Collection getPatients( OrganisationUnit organisationUnit, int min, int max, - PatientAttribute patientAttribute ) + public Collection getPatients( OrganisationUnit organisationUnit, PatientAttribute patientAttribute, + Integer min, Integer max ) { - List patientList = new ArrayList( patientStore.getByOrgUnit( organisationUnit ) ); + List patientList = new ArrayList( patientStore.getByOrgUnit( organisationUnit, min, max ) ); if ( patientAttribute != null ) { @@ -310,11 +298,12 @@ } @Override - public Collection getPatients( OrganisationUnit organisationUnit, String searchText, int min, int max ) + public Collection getPatients( OrganisationUnit organisationUnit, String searchText, Integer min, + Integer max ) { Collection patients = new ArrayList(); - Collection allPatients = getPatientsByNames( searchText ); + Collection allPatients = getPatientsByNames( searchText, min, max ); if ( allPatients.retainAll( getPatients( organisationUnit, min, max ) ) ) { @@ -351,7 +340,7 @@ } else { - return patientStore.getByNames( value ); + return patientStore.getByNames( value, null, null ); } return null; } @@ -395,13 +384,7 @@ } @Override - public Collection getPatientsByNames( String name ) - { - return patientStore.getByNames( name.toLowerCase() ); - } - - @Override - public Collection getPatientsByNames( String name, int min, int max ) + public Collection getPatientsByNames( String name, Integer min, Integer max ) { return patientStore.getByNames( name.toLowerCase(), min, max ); } @@ -484,11 +467,13 @@ return patient.getRepresentative() == null || !patient.getRepresentative().getId().equals( representativeId ); } - public Collection getPatients( OrganisationUnit organisationUnit, Program program, int min, int max ) + @Override + public Collection getPatients( OrganisationUnit organisationUnit, Program program, Integer min, Integer max ) { return patientStore.getByOrgUnitProgram( organisationUnit, program, min, max ); } + @Override public int countGetPatientsByOrgUnitProgram( OrganisationUnit organisationUnit, Program program ) { return patientStore.countGetPatientsByOrgUnitProgram( organisationUnit, program ); === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientDeletionHandler.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientDeletionHandler.java 2012-01-11 05:31:53 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientDeletionHandler.java 2012-06-12 07:46:25 +0000 @@ -73,7 +73,7 @@ @Override public void deleteOrganisationUnit( OrganisationUnit unit ) { - for ( Patient patient : patientService.getPatients( unit ) ) + for ( Patient patient : patientService.getPatients( unit, null, null ) ) { patientService.deletePatient( patient ); } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2011-12-21 04:23:59 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2012-06-12 07:46:25 +0000 @@ -89,58 +89,23 @@ // ------------------------------------------------------------------------- // Implementation methods // ------------------------------------------------------------------------- - - @SuppressWarnings( "unchecked" ) - public Collection get( Boolean isDead ) - { - return getCriteria( Restrictions.eq( "isDead", isDead ) ).list(); - } - - @SuppressWarnings( "unchecked" ) + + @SuppressWarnings( "unchecked" ) + @Override public Collection getByGender( String gender ) { return getCriteria( Restrictions.eq( "gender", gender ) ).list(); } @SuppressWarnings( "unchecked" ) + @Override public Collection getByBirthDate( Date birthDate ) { return getCriteria( Restrictions.eq( "birthDate", birthDate ) ).list(); } - public Collection getByNames( String name ) - { - String sql = statementBuilder.getPatientsByFullName( name ); - - StatementHolder holder = statementManager.getHolder(); - - Set patients = new HashSet(); - - try - { - Statement statement = holder.getStatement(); - - ResultSet resultSet = statement.executeQuery( sql ); - - while ( resultSet.next() ) - { - Patient p = get( resultSet.getInt( 1 ) ); - patients.add( p ); - } - } - catch ( Exception ex ) - { - ex.printStackTrace(); - } - finally - { - holder.close(); - } - - return patients; - } - - public Collection getByNames( String name, int min, int max ) + @Override + public Collection getByNames( String name, Integer min, Integer max ) { String sql = statementBuilder.getPatientsByFullName( name, min, max ); @@ -173,7 +138,8 @@ } @SuppressWarnings( "unchecked" ) - public Collection getPatient( String firstName, String middleName, String lastName, Date birthdate, + @Override + public Collection get( String firstName, String middleName, String lastName, Date birthdate, String gender ) { Criteria crit = getCriteria(); @@ -199,30 +165,38 @@ } @SuppressWarnings( "unchecked" ) - public Collection getByOrgUnit( OrganisationUnit organisationUnit ) - { - String hql = "select distinct p from Patient p where p.organisationUnit = :organisationUnit order by p.id DESC"; - - return getQuery( hql ).setEntity( "organisationUnit", organisationUnit ).list(); - } - - @SuppressWarnings( "unchecked" ) - public Collection getByOrgUnit( OrganisationUnit organisationUnit, int min, int max ) + @Override + public Collection getByOrgUnit( OrganisationUnit organisationUnit, Integer min, Integer max ) { String hql = "select p from Patient p where p.organisationUnit = :organisationUnit order by p.id DESC"; - return getQuery( hql ).setEntity( "organisationUnit", organisationUnit ).setFirstResult( min ).setMaxResults( - max ).list(); + Query query = getQuery( hql ); + query.setEntity( "organisationUnit", organisationUnit ); + + if ( min != null && max != null ) + { + query.setFirstResult( min ).setMaxResults( max ); + } + return query.list(); } @SuppressWarnings( "unchecked" ) - public Collection getByOrgUnitProgram( OrganisationUnit organisationUnit, Program program, int min, int max ) + @Override + public Collection getByOrgUnitProgram( OrganisationUnit organisationUnit, Program program, Integer min, Integer max ) { - return getCriteria( Restrictions.eq( "organisationUnit", organisationUnit ) ).createAlias( "programs", - "program" ).add( Restrictions.eq( "program.id", program.getId() ) ).addOrder( Order.desc( "id" ) ) - .setFirstResult( min ).setMaxResults( max ).list(); + Criteria criteria = getCriteria( Restrictions.eq( "organisationUnit", organisationUnit ) ).createAlias( "programs", + "program" ).add( Restrictions.eq( "program.id", program.getId() ) ); + + criteria.addOrder( Order.desc( "id" ) ); + + if( min != null && max != null ) + { + criteria.setFirstResult( min ).setMaxResults( max ); + } + return criteria.list(); } + @Override public int countGetPatientsByName( String name ) { String sql = statementBuilder.countPatientsByFullName( name ); @@ -274,6 +248,7 @@ } @SuppressWarnings( "unchecked" ) + @Override public Collection getRepresentatives( Patient patient ) { String hql = "select distinct p from Patient p where p.representative = :representative order by p.id DESC"; @@ -281,10 +256,11 @@ return getQuery( hql ).setEntity( "representative", patient ).list(); } + @Override public void removeErollmentPrograms( Program program ) { String sql = "delete from patient_programs where programid='" + program.getId() + "'"; - + jdbcTemplate.execute( sql ); } } === modified file 'dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/AttributeUtils.java' --- dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/AttributeUtils.java 2012-06-08 10:35:59 +0000 +++ dhis-2/dhis-support/dhis-support-system/src/main/java/org/hisp/dhis/system/util/AttributeUtils.java 2012-06-12 07:46:25 +0000 @@ -77,7 +77,6 @@ { if ( attributeValue.getValue() == null || attributeValue.getValue().length() == 0 ) { - attributeService.deleteAttributeValue( attributeValueItem ); } else === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SearchPatientAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SearchPatientAction.java 2011-08-03 07:44:26 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/caseentry/SearchPatientAction.java 2012-06-12 07:46:25 +0000 @@ -144,6 +144,7 @@ { OrganisationUnit organisationUnit = selectionManager.getSelectedOrganisationUnit(); + // List all patients if ( listAll ) { searchText = "list_all_patients"; @@ -168,6 +169,7 @@ } } + // Search patients by attribute if ( searchingAttributeId != null && searchText != null ) { PatientAttribute searchingPatientAttribute = patientAttributeService @@ -180,6 +182,8 @@ patients = patientAttributeValueService.searchPatients( searchingPatientAttribute, searchText, paging .getStartPos(), paging.getPageSize() ); } + + // Search patients by full-name / identifier else { total = patientService.countGetPatients( searchText ); === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SearchRelationshipPatientAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SearchRelationshipPatientAction.java 2011-12-27 07:35:54 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SearchRelationshipPatientAction.java 2012-06-12 07:46:25 +0000 @@ -160,7 +160,7 @@ } else { - patients = patientService.getPatientsByNames( searchText ); + patients = patientService.getPatientsByNames( searchText, null, null ); } } if ( patients != null && !patients.isEmpty() ) === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidateAddRelationshipPatientAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidateAddRelationshipPatientAction.java 2011-12-26 10:07:59 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidateAddRelationshipPatientAction.java 2012-06-12 07:46:25 +0000 @@ -181,7 +181,7 @@ { // Check duplication name, birthdate, gender - patients = patientService.getPatient( firstName, middleName, lastName, format.parseDate( birthDate ), + patients = patientService.getPatients( firstName, middleName, lastName, format.parseDate( birthDate ), gender ); if ( patients != null && patients.size() > 0 ) === modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidatePatientAction.java' --- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidatePatientAction.java 2012-03-12 10:20:25 +0000 +++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidatePatientAction.java 2012-06-12 07:46:25 +0000 @@ -188,7 +188,7 @@ if ( !checkedDuplicate ) { - patients = patientService.getPatient( firstName, middleName, lastName, format.parseDate( birthDate ), + patients = patientService.getPatients( firstName, middleName, lastName, format.parseDate( birthDate ), gender ); if ( patients != null && patients.size() > 0 )