=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttributeService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttributeService.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttributeService.java 2013-10-28 07:12:28 +0000 @@ -52,16 +52,48 @@ Collection getAllPatientAttributes(); + /** + * Get patient attributes by value type + * + * @param valueType Value type + * + * @return List of patient attributes + */ Collection getPatientAttributesByValueType( String valueType ); + /** + * Get mandatory patient attributes without groups + * + * @return List of patient attributes + */ Collection getOptionalPatientAttributesWithoutGroup(); + /** + * Get patient attributes by mandatory option + * + * @param mandatory True/False value + */ Collection getPatientAttributesByMandatory( boolean mandatory ); + /** + * Get patient attributes by groupBy option + * + * @param groupBy True/False value + */ PatientAttribute getPatientAttributeByGroupBy( boolean groupBy ); + /** + * Get patient attributes without groups + * + * @return List of patient attributes + */ Collection getPatientAttributesWithoutGroup(); - + + /** + * Get patient attributes which are displayed in visit schedule + * + * @return List of patient attributes + */ Collection getPatientAttributesByDisplayOnVisitSchedule( boolean displayOnVisitSchedule ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttributeStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttributeStore.java 2013-09-27 10:43:38 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttributeStore.java 2013-10-28 07:12:28 +0000 @@ -40,16 +40,43 @@ { String ID = PatientAttributeStore.class.getName(); + /** + * Get patient attributes by value type + * + * @param valueType Value type + * + * @return List of patient attributes + */ Collection getByValueType( String valueType ); + /** + * Get mandatory patient attributes without groups + * + * @return List of patient attributes + */ Collection getOptionalPatientAttributesWithoutGroup(); + /** + * Get patient attributes by mandatory option + * + * @param mandatory True/False value + */ Collection getByMandatory( boolean mandatory ); Collection getWithoutGroup(); + /** + * Get patient attributes by groupBy option + * + * @param groupBy True/False value + */ PatientAttribute getByGroupBy( boolean groupBy ); + /** + * Get patient attributes which are displayed in visit schedule + * + * @return List of patient attributes + */ Collection getByDisplayOnVisitSchedule( boolean displayOnVisitSchedule ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAuditService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAuditService.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAuditService.java 2013-10-28 07:12:28 +0000 @@ -48,8 +48,25 @@ Collection getAllPatientAudit(); + /** + * Get all patient audits of a patient + * + * @param patient Patient + * + * @return List of PatientAudit + */ Collection getPatientAudits( Patient patient ); + /** + * Get patient audit of a patient + * + * @param patientId The id of patient + * @param visitor The user who accessed to see a certain information of the patient + * @param date The data this user visited + * @param accessedModule The module this user accessed + * + * @return PatientAudit + */ PatientAudit getPatientAudit( Integer patientId, String visitor, Date date, String accessedModule ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAuditStore.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAuditStore.java 2013-08-23 15:56:19 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAuditStore.java 2013-10-28 07:12:28 +0000 @@ -35,12 +35,31 @@ /** * @author Chau Thu Tran - * + * * @version PatientAuditStore.java 9:04:53 AM Sep 26, 2012 $ */ -public interface PatientAuditStore extends GenericStore +public interface PatientAuditStore + extends GenericStore { + /** + * Get all patient audits of a patient + * + * @param patient Patient + * + * @return List of PatientAudit + */ Collection get( Patient patient ); - + + /** + * Get patient audit of a patient + * + * @param patientId The id of patient + * @param visitor The user who accessed to see a certain information of the + * patient + * @param date The data this user visited + * @param accessedModule The module this user accessed + * + * @return PatientAudit + */ PatientAudit get( Integer patientId, String visitor, Date date, String accessedModule ); } === modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierService.java' --- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierService.java 2013-10-25 05:00:41 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientIdentifierService.java 2013-10-28 07:12:28 +0000 @@ -46,31 +46,119 @@ PatientIdentifier getPatientIdentifier( int id ); + Collection getAllPatientIdentifiers(); + + /** + * Retrieve patient identifiers of patient + * + * @param patient Patient + */ PatientIdentifier getPatientIdentifier( Patient patient ); - Collection getAllPatientIdentifiers(); - + /** + * Retrieve patient identifiers by type + * + * @param identifierType PatientIdentifierType + */ Collection getPatientIdentifiersByType( PatientIdentifierType identifierType ); + /** + * Search patient identifiers by identifier (performs partial search ) + * + * @param identifier A string for searching by identifier + * + * @return PatientIdentifier list + */ Collection getPatientIdentifiersByIdentifier( String identifier ); + /** + * Search a patient identifier of a patient by identifier + * + * @param identifier An identifier string for searching + * @param patient Patient + * + * @return PatientIdentifier + */ PatientIdentifier getPatientIdentifier( String identifier, Patient patient ); + /** + * Retrieve PatientIdentifier of a patient by identifier type + * + * @param identifierType PatientIdentifierType + * @param patient Patient + * + * @return PatientIdentifier + */ PatientIdentifier getPatientIdentifier( PatientIdentifierType identifierType, Patient patient ); + /** + * Retrieve patient identifiers of a patient + * + * @param patient Patient + * + * @return PatientIdentifier list + */ Collection getPatientIdentifiers( Patient patient ); + /** + * Retrieve first patient based on type and identifier + * + * @param type PatientIdentifierType + * @param identifier Identifier of patient + * + * @return PatientIdentifier + */ PatientIdentifier get( PatientIdentifierType type, String identifier ); + /** + * Retrieve patients based on type and identifier. We need this since we + * have allowed identifiers with duplicate values in the past. This returns + * a list instead. + * + * @param type PatientIdentifierType + * @param identifier Identifier of patient + * + * @return PatientIdentifier list + */ Collection getAll( PatientIdentifierType type, String identifier ); + /** + * Retrieve a patient based on identifier type and a identifier value + * + * @param identifierType PatientIdentifierType + * @param value Identifier value + */ Patient getPatient( PatientIdentifierType identifierType, String value ); + /** + * Retrieve patients based on identifier value with limit result (performs + * partial search ) + * + * @param identifier identifier value + * @param min + * @param max + * + * @result Patient list + */ Collection getPatientsByIdentifier( String identifier, Integer min, Integer max ); + /** + * Get the number of patient who has a identifier value (performs partial + * search ) + * + * @param identifier Identifier value + * + * @return The number of patients + */ int countGetPatientsByIdentifier( String identifier ); + /** + * Retrieve patient identifiers based on identifier types + * + * @param identifierTypes PatientIdentifierType collection + * @param patient Patient + */ Collection getPatientIdentifiers( Collection identifierTypes, Patient patient ); - + } === 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 2013-10-23 12:24:18 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientService.java 2013-10-28 07:12:28 +0000 @@ -66,10 +66,18 @@ Collection getAllPatients(); + /** + * Retrieve patients who is the same name, birthdate and gender + * + * @param name + * @param birthDate + * @param gender + * @return Patient List + * **/ Collection getPatients( String name, Date birthdate, String gender ); /** - * Search Patient base on birthDate + * Retrieve patients base on birthDate * * @param birthDate * @return Patient List @@ -77,7 +85,7 @@ Collection getPatientsByBirthDate( Date birthDate ); /** - * Search Patient base on fullName + * Retrieve patients by full name (performs partial search ) * * @param name fullName * @return Patient List @@ -85,7 +93,7 @@ Collection getPatientsByNames( String name, Integer min, Integer max ); /** - * Search Patient base on full-name or identifier value + * Retrieve patients base on full-name or identifier value * * @param searchText value * @return Patient List @@ -93,7 +101,7 @@ Collection getPatients( String searchText, Integer min, Integer max ); /** - * Search Patient for mobile base on identifier value + * Retrieve patients for mobile base on identifier value * * @param searchText value * @param orgUnitId @@ -102,7 +110,7 @@ Collection getPatientsForMobile( String searchText, int orgUnitId ); /** - * Search Patient base on organization unit with result limited + * Retrieve patients base on organization unit with result limited * * @param organisationUnit organisationUnit * @return Patient List @@ -110,7 +118,7 @@ Collection getPatients( OrganisationUnit organisationUnit, Integer min, Integer max ); /** - * Search Patient base on organization unit with result limited + * Retrieve patients base on organization unit with result limited * * @param organisationUnit organisationUnit * @return Patient List @@ -118,13 +126,15 @@ Collection getPatients( OrganisationUnit organisationUnit ); /** + * Retrieve patients who enrolled into a program with active status * - * @param program - * @return + * @param program Program + * @return Patient list */ Collection getPatients( Program program ); /** + * Retrieve patients registered in a orgunit and enrolled into a program with active status * * @param organisationUnit * @param program @@ -133,7 +143,7 @@ Collection getPatients( OrganisationUnit organisationUnit, Program program ); /** - * Search Patient base on organization unit and sort the result by + * Retrieve patients base on organization unit and sort the result by * PatientAttribute * * @param organisationUnit organisationUnit @@ -146,7 +156,7 @@ Integer max ); /** - * Search Patient base on organisationUnit and identifier value name + * Retrieve patients base on organisationUnit and identifier value name * * @param organisationUnit * @param searchText identifier value @@ -157,7 +167,7 @@ Collection getPatientsLikeName( OrganisationUnit organisationUnit, String name, Integer min, Integer max ); /** - * Search Patient base on PatientIdentifierType or Attribute or Patient's + * Retrieve patients base on PatientIdentifierType or Attribute or Patient's * name * * @param identifierTypeId @@ -168,7 +178,7 @@ Collection getPatient( Integer identifierTypeId, Integer attributeId, String value ); /** - * Search Patient base on OrganisationUnit and Program with result limited + * Search patients base on OrganisationUnit and Program with result limited * name * * @param organisationUnit @@ -188,12 +198,20 @@ */ Collection sortPatientsByAttribute( Collection patients, PatientAttribute patientAttribute ); + /** + * Get patients who has the same representative + * + * @params patient The representatives + * + * @return Patient List + * **/ Collection getRepresentatives( Patient patient ); /** * Search Patient base on identifier value and get number of result * * @param searchText + * * @return number of patients */ int countGetPatients( String searchText ); @@ -202,47 +220,237 @@ * Search Patient base on name and get number of result * * @param name + * * @return number of patients */ int countGetPatientsByName( String name ); + /** + * Register a new patient + * + * @param patient Patient + * @param representativeId The id of patient who is representative + * @param relationshipTypeId The id of relationship type defined + * @param patientAttributeValues List of attribute values + * + * @return The error code after registering patient + */ int createPatient( Patient patient, Integer representativeId, Integer relationshipTypeId, List patientAttributeValues ); + /** + * Update information of an patient existed + * + * @param patient Patient + * @param representativeId The id of representative of this patient + * @param relationshipTypeId The id of relationship type of this person + * @param valuesForSave The patient attribute values for adding + * @param valuesForUpdate The patient attribute values for updating + * @param valuesForDelete The patient attribute values for deleting + * + */ void updatePatient( Patient patient, Integer representativeId, Integer relationshipTypeId, List valuesForSave, List valuesForUpdate, Collection valuesForDelete ); + /** + * Get the number of patients who registered into an organisation unit + * + * @param organisationUnit Organisation Unit + * + * @return The number of patients + */ int countGetPatientsByOrgUnit( OrganisationUnit organisationUnit ); + /** + * Get the number of patients who registered into an organisation unit and + * enrolled into a program + * + * @param organisationUnit Organisation Unit + * @param program Program + * + * @return The number of patients + */ int countGetPatientsByOrgUnitProgram( OrganisationUnit organisationUnit, Program program ); + /** + * Cache value from String to the value type based on property + * + * @param property Property name of patient + * @param value Value + * @param format I18nFormat + * + * @return An object + */ Object getObjectValue( String property, String value, I18nFormat format ); + /** + * Search patients by attribute values, identifiers and/or a program which + * patients enrolled into + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param patientAttributes The attribute values of these attribute are + * displayed into result + * @param identifierTypes The identifiers are displayed into the result + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @param min + * @param max + * + * @return An object + */ Collection searchPatients( List searchKeys, Collection orgunit, Boolean followup, Collection patientAttributes, Collection identifierTypes, Integer statusEnrollment, Integer min, Integer max ); + /** + * Get the number of patients who meet the criteria for searching + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * + * @return The number of patients + */ int countSearchPatients( List searchKeys, Collection orgunit, Boolean followup, Integer statusEnrollment ); + /** + * Get phone numbers of persons who meet the criteria for searching * + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @parma min + * @param max + * + * @return List of patient + */ Collection getPatientPhoneNumbers( List searchKeys, Collection orgunit, Boolean followup, Integer statusEnrollment, Integer min, Integer max ); + /** + * Get events which meet the criteria for searching + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @parma min + * @param max + * + * @return List of patient + */ List getProgramStageInstances( List searchKeys, Collection orgunit, Boolean followup, Integer statusEnrollment, Integer min, Integer max ); + /** + * Get visit schedule of person who meet the criteria for searching + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @parma min + * @param max + * + * @return Grid + */ Grid getScheduledEventsReport( List searchKeys, Collection orgunits, Boolean followup, Integer statusEnrollment, Integer min, Integer max, I18n i18n ); + /** + * Search patients by phone number (performs partial search) + * + * @param phoneNumber The string for searching by phone number + * @param min + * @param max + * + * @return List of patient + */ Collection getPatientsByPhone( String phoneNumber, Integer min, Integer max ); + /** + * Search patients who registered into a certain organisation unit by + * full-name + * + * @param fullName The full name of patient + * @param organisationUnit Organisation Unit where patients registered + * private information + * + * @return List of patient + */ Collection getPatientByFullname( String fullName, OrganisationUnit organisationUnit ); + /** + * Get ids of orgunits where patient registered in a certain period + * + * @param startDate Start date + * @param endDate End date + * + * @return List of patient + */ Collection getRegistrationOrgunitIds( Date startDate, Date endDate ); - Grid getTrackingEventsReport( Program program, List searchKeys, Collection orgunit, + /** + * Get events of patients who meet the criteria for searching + * + * @param program Program. It's is used for getting identifier-types of this + * program and put identifiers of patients into the result + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @param i18n I18n + * + * @return Grid + */ + Grid getTrackingEventsReport( Program program, List searchKeys, Collection orgunits, Boolean followup, Integer statusEnrollment, I18n i18n ); + /** + * Validate patient identifiers and validation criteria by program before + * registering / updating information + * + * @param patient Patient object + * @param program Progam which person needs to enroll. If this paramameter + * is null, the system check idenfifiers of the patient + * + * @return Error code 0 : Validation is OK 1 : The identifier is duplicated + * 2 : Violate validation criteria of the program + */ int validatePatient( Patient patient, Program program ); } === 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 2013-10-23 12:24:18 +0000 +++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientStore.java 2013-10-28 07:12:28 +0000 @@ -48,50 +48,260 @@ final int MAX_RESULTS = 50000; + /** + * Search patients by birth date + * + * @param birthDate Data of birth + * + * @return List of patient + */ Collection getByBirthDate( Date birthDate ); + /** + * Search patients by full name (performs partial search ) + * + * @param name Full name of patients + * @param min + * @param max + * + * @return List of patients + */ Collection getByNames( String name, Integer min, Integer max ); + /** + * Search patients by full name, date of birth and gender + * + * @param name Full name + * @param birthdate Date of birth + * + * @return List of patients + */ Collection get( String name, Date birthdate, String gender ); + /** + * Search patients who registered in a certain organisation unit + * + * @param organisationUnit Organisation unit where patients registered + * @param min + * @param max + * + * @return List of patients + */ Collection getByOrgUnit( OrganisationUnit organisationUnit, Integer min, Integer max ); + /** + * Search patients who registered in a certain organisation unit by full name + * (performs partial search) + * + * @param organisationUnit Organisation unit where patients registered + * @param nameLike A string for searching by full name + * @param min + * @param max + * + * @return List of patient + */ Collection getByOrgUnitAndNameLike( OrganisationUnit organisationUnit, String nameLike, Integer min, Integer max ); + /** + * Search patients registered into a certain organisation unit and enrolled + * into a program with active status + * + * @param organisationUnit Organisation unit where patients registered + * @param program Program. It's is used for getting identifier-types of this + * program and put identifiers of patients into the result + * @param min + * @param max + * + * @return List of patients + */ Collection getByOrgUnitProgram( OrganisationUnit organisationUnit, Program program, Integer min, Integer max ); + /** + * Search patient who has the same representative + * + * @param patient Representative + * + * @return List of patients + */ Collection getRepresentatives( Patient patient ); + /** + * Search the number of patients who registered into an organisation unit + * + * @param organisationUnit Organisation unit + * + * @return The number of patients + */ int countListPatientByOrgunit( OrganisationUnit organisationUnit ); + /** + * Get the number of patients by full name (performs partial search ) + * + * @param name A string for searching by full name + * + * @return The number of patients + */ int countGetPatientsByName( String name ); + /** + * Get the number of patients who registered into a certain organisation + * unit and enrolled into a program with active status + * + * @param organisationUnit Organisation unit where patients registered + * @param program Program. It's is used for getting identifier-types of this + * program and put identifiers of patients into the result + * + * @return The number of patients + */ int countGetPatientsByOrgUnitProgram( OrganisationUnit organisationUnit, Program program ); + /** + * Get number of patients who meet the criteria for searching + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * + * @return The number of patients + */ int countSearch( List searchKeys, Collection orgunit, Boolean followup, Integer statusEnrollment ); + /** + * Search patients by phone number (performs partial search) + * + * @param phoneNumber The string for searching by phone number + * @param min + * @param max + * + * @return List of patient + */ Collection getByPhoneNumber( String phoneNumber, Integer min, Integer max ); + /** + * Search patients who registered into a certain organisation unit by + * full-name + * + * @param fullName The full name of patient + * @param organisationUnit Organisation Unit where patients registered + * private information + * + * @return List of patient + */ Collection getByFullName( String name, OrganisationUnit organisationUnit ); + /** + * Retrieve ids of orgunits where patient registered in a certain period + * + * @param startDate Start date + * @param endDate End date + * + * @return List of patient + */ Collection getRegistrationOrgunitIds( Date startDate, Date endDate ); + /** + * Search events of patients who meet the criteria for searching + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param patientAttributes The attribute values of these attribute are + * displayed into result + * @param identifierTypes The identifiers are displayed into the result + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @param min + * @param max + * + * @return List of patients + */ Collection search( List searchKeys, Collection orgunit, Boolean followup, Collection patientAttributes, Collection identifierTypes, Integer statusEnrollment, Integer min, Integer max ); + /** + * Search events which meet the criteria for searching + * + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param patientAttributes The attribute values of these attribute are + * displayed into result + * @param identifierTypes The identifiers are displayed into the result + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @param min + * @param max + * + * @return List of patients + */ List getProgramStageInstances( List searchKeys, Collection orgunits, Boolean followup, Collection patientAttributes, Collection identifierTypes, Integer statusEnrollment, Integer min, Integer max ); + /** + * Search patients who enrolled into a program with active status + * + * @param program Program + * @param min + * @param max + * + * return List of patients + */ Collection getByProgram( Program program, Integer min, Integer max ); + /** + * Search events of patients who meet the criteria for searching + * + * @param grid Grid with headers + * @param searchKeys The key for searching patients by attribute values, + * identifiers and/or a program + * @param orgunit Organisation unit where patients registered + * @param followup Only getting patients with program risked if this + * property is true. And getting patients without program risked if + * its value is false + * @param patientAttributes The attribute values of these attribute are + * displayed into result + * @param identifierTypes The identifiers are displayed into the result + * @param statusEnrollment The status of program of patients. There are + * three status, includes Active enrollments only, Completed + * enrollments only and Active and completed enrollments + * @param min + * @param max + * + * @return Grid + */ Grid getPatientEventReport( Grid grid, List searchKeys, Collection orgunit, Boolean followup, Collection patientAttributes, Collection identifierTypes, Integer statusEnrollment, Integer min, Integer max ); + /** + * Validate patient identifiers and validation criteria by program before + * registering / updating information + * + * @param patient Patient object + * @param program Progam which person needs to enroll. If this paramameter + * is null, the system check idenfifiers of the patient + * + * @return Error code 0 : Validation is OK 1 : The identifier is duplicated + * 2 : Violate validation criteria of the program + */ int validate( Patient patient, Program program ); } === modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientIdentifierStore.java' --- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientIdentifierStore.java 2013-10-25 05:00:41 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientIdentifierStore.java 2013-10-28 07:12:28 +0000 @@ -29,7 +29,6 @@ */ import java.util.Collection; -import java.util.Date; import org.hibernate.criterion.Projections; import org.hibernate.criterion.Restrictions; @@ -39,10 +38,6 @@ import org.hisp.dhis.patient.PatientIdentifier; import org.hisp.dhis.patient.PatientIdentifierStore; import org.hisp.dhis.patient.PatientIdentifierType; -import org.hisp.dhis.period.Period; -import org.hisp.dhis.period.PeriodType; -import org.hisp.dhis.program.Program; -import org.hisp.dhis.system.util.DateUtils; /** * @author Abyot Asalefew Gizaw === 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 2013-10-24 08:31:35 +0000 +++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2013-10-28 07:12:28 +0000 @@ -312,7 +312,7 @@ Collection identifierTypes, Integer statusEnrollment, Integer min, Integer max ) { String sql = searchPatientSql( false, searchKeys, orgunits, followup, patientAttributes, identifierTypes, - statusEnrollment, null, null ); + statusEnrollment, min, max ); SqlRowSet rowSet = jdbcTemplate.queryForRowSet( sql );