dhis2-devs team mailing list archive
-
dhis2-devs team
-
Mailing list archive
-
Message #26773
[Branch ~dhis2-devs-core/dhis2/trunk] Rev 13239: Replace fixed attributes to dynamic attributes (WIP)
------------------------------------------------------------
revno: 13239
committer: Tran Chau <tran.hispvietnam@xxxxxxxxx>
branch nick: dhis2
timestamp: Mon 2013-12-16 11:27:26 +0700
message:
Replace fixed attributes to dynamic attributes (WIP)
removed:
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirth.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirthType.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Gender.java
modified:
dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttribute.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationForm.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientService.java
dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientStore.java
dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaServiceTest.java
dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaStoreTest.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/AbstractPersonService.java
dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Person.java
dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/EnrollmentServiceTest.java
dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/PersonServiceTest.java
dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java
dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java
dhis-2/dhis-services/dhis-service-eventreporting/src/main/java/org/hisp/dhis/caseaggregation/hibernate/HibernateCaseAggregationConditionStore.java
dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java
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/PatientDeletionHandler.java
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/startup/TableAlteror.java
dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java
dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patient/hibernate/Patient.hbm.xml
dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientServiceTest.java
dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientStoreTest.java
dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.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/AddRepresentativeAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/PatientDashboardAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ProgramEnrollmentAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/RemoveRepresentativeAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveRepresentativeAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java
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/report/GetProgramStageSectionsAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/LoadDataElementsAction.java
dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml
dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryregistration/action/SaveBeneficiaryAction.java
--
lp:dhis2
https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk
Your team DHIS 2 developers is subscribed to branch lp:dhis2.
To unsubscribe from this branch go to https://code.launchpad.net/~dhis2-devs-core/dhis2/trunk/+edit-subscription
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java 2013-11-29 09:24:58 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/caseaggregation/CaseAggregationCondition.java 2013-12-16 04:27:26 +0000
@@ -66,8 +66,6 @@
public static String OBJECT_PATIENT_ATTRIBUTE = "CA";
- public static String OBJECT_PATIENT_PROPERTY = "CP";
-
public static String OBJECT_PROGRAM_PROPERTY = "PP";
public static String OBJECT_PROGRAM = "PG";
@@ -97,8 +95,8 @@
public static final String regExp = "\\[(" + OBJECT_ORGUNIT_COMPLETE_PROGRAM_STAGE + "|" + OBJECT_PATIENT + "|"
+ OBJECT_PROGRAM + "|" + OBJECT_PROGRAM_STAGE_PROPERTY + "|" + OBJECT_PROGRAM_STAGE + "|"
+ OBJECT_PATIENT_PROGRAM_STAGE_PROPERTY + "|" + OBJECT_PROGRAM_STAGE_DATAELEMENT + "|"
- + OBJECT_PATIENT_ATTRIBUTE + "|" + OBJECT_PATIENT_PROPERTY + "|" + OBJECT_PROGRAM_PROPERTY + ")"
- + SEPARATOR_OBJECT + "([a-zA-Z0-9@#\\- ]+[" + SEPARATOR_ID + "[a-zA-Z0-9]*]*)" + "\\]";
+ + OBJECT_PATIENT_ATTRIBUTE + "|" + OBJECT_PROGRAM_PROPERTY + ")" + SEPARATOR_OBJECT + "([a-zA-Z0-9@#\\- ]+["
+ + SEPARATOR_ID + "[a-zA-Z0-9]*]*)" + "\\]";
public static final String dataelementRegExp = MINUS_OPERATOR + "{1}\\s*\\(\\s*(\\["
+ OBJECT_PROGRAM_STAGE_DATAELEMENT + SEPARATOR_OBJECT + "([0-9]+" + SEPARATOR_ID + "[0-9]+" + SEPARATOR_ID
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java 2013-11-25 07:31:02 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/Patient.java 2013-12-16 04:27:26 +0000
@@ -28,8 +28,6 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import java.util.Calendar;
-import java.util.Date;
import java.util.HashSet;
import java.util.Set;
@@ -60,30 +58,10 @@
*/
private static final long serialVersionUID = 884114994005945275L;
- public static final String MALE = "M";
-
- public static final String FEMALE = "F";
-
- public static final String TRANSGENDER = "T";
-
- public static final char DOB_TYPE_VERIFIED = 'V';
-
- public static final char DOB_TYPE_DECLARED = 'D';
-
- public static final char DOB_TYPE_APPROXIMATED = 'A';
-
- public static final char AGE_TYPE_YEAR = 'Y';
-
- public static final char AGE_TYPE_MONTH = 'M';
-
- public static final char AGE_TYPE_DAY = 'D';
-
public static String SEARCH_SAPERATE = "_";
public static String PREFIX_IDENTIFIER_TYPE = "iden";
- public static String PREFIX_FIXED_ATTRIBUTE = "fixedAttr";
-
public static String PREFIX_PATIENT_ATTRIBUTE = "attr";
public static String PREFIX_PROGRAM = "prg";
@@ -94,28 +72,6 @@
public static String PREFIX_PROGRAM_STAGE = "prgst";
- public static String FIXED_ATTR_BIRTH_DATE = "birthDate";
-
- public static String FIXED_ATTR_AGE = "age";
-
- public static String FIXED_ATTR_INTEGER_AGE = "integerValueOfAge";
-
- public static String FIXED_ATTR_REGISTRATION_DATE = "registrationDate";
-
- public static String FIXED_ATTR_FULL_NAME = "fullName";
-
- private String gender;
-
- private Date birthDate;
-
- private String phoneNumber;
-
- private Date deathDate;
-
- private Date registrationDate;
-
- private boolean isDead;
-
private Set<PatientIdentifier> identifiers = new HashSet<PatientIdentifier>();
private Set<PatientAttributeValue> attributeValues = new HashSet<PatientAttributeValue>();
@@ -124,12 +80,10 @@
private OrganisationUnit organisationUnit;
+ private String phoneNumber;
+
private Patient representative;
- private boolean underAge;
-
- private Character dobType;
-
private User associate;
// -------------------------------------------------------------------------
@@ -144,11 +98,6 @@
// Getters and setters
// -------------------------------------------------------------------------
- public String getFullName()
- {
- return name;
- }
-
@JsonProperty
@JsonSerialize( as = BaseIdentifiableObject.class )
@JsonView( { DetailedView.class, ExportView.class } )
@@ -163,58 +112,6 @@
this.organisationUnit = organisationUnit;
}
- @JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public String getGender()
- {
- return gender;
- }
-
- public void setGender( String gender )
- {
- this.gender = gender;
- }
-
- @JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Date getBirthDate()
- {
- return birthDate;
- }
-
- public void setBirthDate( Date birthDate )
- {
- this.birthDate = birthDate;
- }
-
- @JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Date getDeathDate()
- {
- return deathDate;
- }
-
- public void setDeathDate( Date deathDate )
- {
- this.deathDate = deathDate;
- }
-
- @JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Boolean getIsDead()
- {
- return isDead;
- }
-
- public void setIsDead( Boolean isDead )
- {
- this.isDead = isDead;
- }
-
public Set<PatientIdentifier> getIdentifiers()
{
return identifiers;
@@ -260,19 +157,6 @@
}
@JsonProperty
- @JsonView( { DetailedView.class, ExportView.class } )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Date getRegistrationDate()
- {
- return registrationDate;
- }
-
- public void setRegistrationDate( Date registrationDate )
- {
- this.registrationDate = registrationDate;
- }
-
- @JsonProperty
@JsonSerialize( as = BaseIdentifiableObject.class )
@JsonView( { DetailedView.class, ExportView.class } )
@JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
@@ -290,131 +174,6 @@
// Convenience method
// -------------------------------------------------------------------------
- public String getAge()
- {
- if ( birthDate == null )
- {
- return "0";
- }
-
- Calendar birthCalendar = Calendar.getInstance();
- birthCalendar.setTime( birthDate );
-
- Calendar todayCalendar = Calendar.getInstance();
-
- int age = todayCalendar.get( Calendar.YEAR ) - birthCalendar.get( Calendar.YEAR );
-
- if ( todayCalendar.get( Calendar.MONTH ) < birthCalendar.get( Calendar.MONTH ) )
- {
- age--;
- }
- else if ( todayCalendar.get( Calendar.MONTH ) == birthCalendar.get( Calendar.MONTH )
- && todayCalendar.get( Calendar.DAY_OF_MONTH ) < birthCalendar.get( Calendar.DAY_OF_MONTH ) )
- {
- age--;
- }
-
- if ( age < 1 )
- {
- return "< 1 yr";
- }
-
- return age + " yr";
- }
-
- public int getIntegerValueOfAge()
- {
- return getIntegerValueOfAge( birthDate );
- }
-
- public static int getIntegerValueOfAge( Date birthDate )
- {
- if ( birthDate == null )
- {
- return 0;
- }
-
- Calendar birthCalendar = Calendar.getInstance();
- birthCalendar.setTime( birthDate );
-
- Calendar todayCalendar = Calendar.getInstance();
-
- int age = todayCalendar.get( Calendar.YEAR ) - birthCalendar.get( Calendar.YEAR );
-
- if ( todayCalendar.get( Calendar.MONTH ) < birthCalendar.get( Calendar.MONTH ) )
- {
- age--;
- }
- else if ( todayCalendar.get( Calendar.MONTH ) == birthCalendar.get( Calendar.MONTH )
- && todayCalendar.get( Calendar.DAY_OF_MONTH ) < birthCalendar.get( Calendar.DAY_OF_MONTH ) )
- {
- age--;
- }
-
- return age;
- }
-
- public static Date getBirthFromAge( int age, char ageType )
- {
- Calendar todayCalendar = Calendar.getInstance();
- todayCalendar.clear( Calendar.MILLISECOND );
- todayCalendar.clear( Calendar.SECOND );
- todayCalendar.clear( Calendar.MINUTE );
- todayCalendar.set( Calendar.HOUR_OF_DAY, 0 );
-
- // Assumed relative to the 1st of January
- // todayCalendar.set( Calendar.DATE, 1 );
- // todayCalendar.set( Calendar.MONTH, Calendar.JANUARY );
-
- if ( ageType == AGE_TYPE_YEAR )
- {
- todayCalendar.add( Calendar.YEAR, -1 * age );
- }
- else if ( ageType == AGE_TYPE_MONTH )
- {
- todayCalendar.add( Calendar.MONTH, -1 * age );
- }
- else if ( ageType == AGE_TYPE_DAY )
- {
- todayCalendar.add( Calendar.DATE, -1 * age );
- }
-
- return todayCalendar.getTime();
- }
-
- public void setBirthDateFromAge( int age, char ageType )
- {
- Date fromAge = getBirthFromAge( age, ageType );
- setBirthDate( fromAge );
- }
-
- public char getAgeType()
- {
- Calendar todayCalendar = Calendar.getInstance();
- todayCalendar.clear( Calendar.MILLISECOND );
- todayCalendar.clear( Calendar.SECOND );
- todayCalendar.clear( Calendar.MINUTE );
- todayCalendar.set( Calendar.HOUR_OF_DAY, 0 );
-
- Calendar birthCalendar = Calendar.getInstance();
- birthCalendar.setTime( birthDate );
-
- int age = todayCalendar.get( Calendar.YEAR ) - birthCalendar.get( Calendar.YEAR );
-
- if ( age > 0 )
- {
- return AGE_TYPE_YEAR;
- }
-
- age = todayCalendar.get( Calendar.MONTH ) - birthCalendar.get( Calendar.MONTH );
- if ( age > 0 )
- {
- return AGE_TYPE_MONTH;
- }
-
- return AGE_TYPE_DAY;
- }
-
public void addIdentifier( PatientIdentifier identifier )
{
identifiers.add( identifier );
@@ -453,41 +212,4 @@
this.phoneNumber = phoneNumber;
}
- public boolean isUnderAge()
- {
- return underAge;
- }
-
- public void setUnderAge( boolean underAge )
- {
- this.underAge = underAge;
- }
-
- public String getTextGender()
- {
- return gender.equalsIgnoreCase( MALE ) ? "male" : "female";
- }
-
- public Character getDobType()
- {
- return dobType;
- }
-
- public void setDobType( Character dobType )
- {
- this.dobType = dobType;
- }
-
- public String getTextDoBType()
- {
- switch ( dobType )
- {
- case DOB_TYPE_VERIFIED:
- return "Verified";
- case DOB_TYPE_DECLARED:
- return "Declared";
- default:
- return "Approxiated";
- }
- }
}
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttribute.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttribute.java 2013-12-03 17:53:29 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientAttribute.java 2013-12-16 04:27:26 +0000
@@ -34,6 +34,7 @@
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
+
import org.hisp.dhis.common.BaseIdentifiableObject;
import org.hisp.dhis.common.DxfNamespaces;
import org.hisp.dhis.common.view.DetailedView;
@@ -44,7 +45,7 @@
/**
* @author Abyot Asalefew
*/
-@JacksonXmlRootElement(localName = "personAttribute", namespace = DxfNamespaces.DXF_2_0)
+@JacksonXmlRootElement( localName = "personAttribute", namespace = DxfNamespaces.DXF_2_0 )
public class PatientAttribute
extends BaseIdentifiableObject
{
@@ -54,10 +55,15 @@
private static final long serialVersionUID = 3026922158464592390L;
public static final String TYPE_DATE = "date";
+
public static final String TYPE_STRING = "string";
+
public static final String TYPE_INT = "number";
+
public static final String TYPE_BOOL = "bool";
+
public static final String TYPE_TRUE_ONLY = "trueOnly";
+
public static final String TYPE_COMBO = "combo";
private String description;
@@ -89,6 +95,19 @@
setAutoFields();
}
+ public PatientAttribute( String name, String description, String valueType, boolean mandatory, Boolean inherit,
+ Boolean displayOnVisitSchedule )
+ {
+ this.name = name;
+ this.description = description;
+ this.valueType = valueType;
+ this.mandatory = mandatory;
+ this.inherit = inherit;
+ this.displayOnVisitSchedule = displayOnVisitSchedule;
+
+ setAutoFields();
+ }
+
// -------------------------------------------------------------------------
// Logic
// -------------------------------------------------------------------------
@@ -143,8 +162,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public Boolean getGroupBy()
{
return groupBy;
@@ -156,8 +175,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public boolean isMandatory()
{
return mandatory;
@@ -169,8 +188,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getDescription()
{
return description;
@@ -182,8 +201,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getValueType()
{
return valueType;
@@ -209,8 +228,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public String getExpression()
{
return expression;
@@ -222,8 +241,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public Boolean getDisplayOnVisitSchedule()
{
return displayOnVisitSchedule;
@@ -235,8 +254,8 @@
}
@JsonProperty
- @JsonView({ DetailedView.class })
- @JacksonXmlProperty(namespace = DxfNamespaces.DXF_2_0)
+ @JsonView( { DetailedView.class } )
+ @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public Integer getSortOrderInVisitSchedule()
{
return sortOrderInVisitSchedule;
=== modified file 'dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationForm.java'
--- dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationForm.java 2013-11-25 07:31:02 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientRegistrationForm.java 2013-12-16 04:27:26 +0000
@@ -40,24 +40,6 @@
{
private static final long serialVersionUID = -6000530171659755186L;
- public static String FIXED_ATTRIBUTE_FULLNAME = "fullName";
-
- public static String FIXED_ATTRIBUTE_GENDER = "gender";
-
- public static String FIXED_ATTRIBUTE_BIRTHDATE = "birthDate";
-
- public static String FIXED_ATTRIBUTE_AGE = "age";
-
- public static String FIXED_ATTRIBUTE_PHONE_NUMBER = "phoneNumber";
-
- public static String FIXED_ATTRIBUTE_DEATH_DATE = "deathDate";
-
- public static String FIXED_ATTRIBUTE_REGISTRATION_DATE = "registrationDate";
-
- public static String FIXED_ATTRIBUTE_IS_DEAD = "isDead";
-
- public static String FIXED_ATTRIBUTE_DOB_TYPE = "dobType";
-
public static String FIXED_ATTRIBUTE_ASSOCIATE = "associate";
private Program program;
=== 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-11-18 11:50:20 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientService.java 2013-12-16 04:27:26 +0000
@@ -28,6 +28,10 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
import org.hisp.dhis.common.Grid;
import org.hisp.dhis.i18n.I18n;
import org.hisp.dhis.i18n.I18nFormat;
@@ -35,11 +39,6 @@
import org.hisp.dhis.patientattributevalue.PatientAttributeValue;
import org.hisp.dhis.program.Program;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
-
/**
* @author Abyot Asalefew Gizaw
* @version $Id$
@@ -104,16 +103,6 @@
Collection<Patient> getAllPatients();
/**
- * Retrieve patients who is the same name, birthdate and gender
- *
- * @param name
- * @param birthDate
- * @param gender
- * @return Patient List
- * **/
- Collection<Patient> getPatients( String name, Date birthdate, String gender );
-
- /**
* Retrieve patients by full name (performs partial search )
*
* @param name fullName
@@ -171,7 +160,7 @@
* @return
*/
Collection<Patient> getPatients( OrganisationUnit organisationUnit, Program program );
-
+
/**
* Retrieve patients base on organisationUnit and identifier value name
*
@@ -428,16 +417,6 @@
Collection<Patient> 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<Integer> getRegistrationOrgunitIds( Date startDate, Date endDate );
-
- /**
* Get events of patients who meet the criteria for searching
*
* @param program Program. It's is used for getting identifier-types of this
=== 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-12-06 16:26:51 +0000
+++ dhis-2/dhis-api/src/main/java/org/hisp/dhis/patient/PatientStore.java 2013-12-16 04:27:26 +0000
@@ -60,16 +60,6 @@
Collection<Patient> 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<Patient> get( String name, Date birthdate, String gender );
-
- /**
* Search patients who registered in a certain organisation unit
*
* @param organisationUnit Organisation unit where patients registered
@@ -110,7 +100,7 @@
Integer max );
List<Patient> query( TrackedEntityQueryParams params );
-
+
/**
* Search patient who has the same representative
*
@@ -192,16 +182,6 @@
Collection<Patient> 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<Integer> 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,
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaServiceTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaServiceTest.java 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaServiceTest.java 2013-12-16 04:27:26 +0000
@@ -34,7 +34,6 @@
import static org.junit.Assert.assertTrue;
import java.util.Collection;
-import java.util.Date;
import org.hisp.dhis.DhisSpringTest;
import org.hisp.dhis.patient.Patient;
@@ -71,11 +70,11 @@
{
validationCriteriaService = (ValidationCriteriaService) getBean( ValidationCriteriaService.ID );
- propertyA = Patient.class.getDeclaredField( "birthDate" ).getName();
- propertyB = Patient.class.getDeclaredField( "dobType" ).getName();
+ propertyA = "name";
+ propertyB = "name";
- valueA = new Date();
- valueB = (char)'A';
+ valueA = "A";
+ valueB = "B";
validationCriteriaA = createValidationCriteria( 'A', propertyA, ValidationCriteria.OPERATOR_EQUAL_TO, valueA );
validationCriteriaB = createValidationCriteria( 'B', propertyB, ValidationCriteria.OPERATOR_EQUAL_TO, valueB );
=== modified file 'dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaStoreTest.java'
--- dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaStoreTest.java 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-services/dhis-service-core/src/test/java/org/hisp/dhis/validation/ValidationCriteriaStoreTest.java 2013-12-16 04:27:26 +0000
@@ -34,11 +34,9 @@
import static org.junit.Assert.assertTrue;
import java.util.Collection;
-import java.util.Date;
import org.hisp.dhis.DhisSpringTest;
import org.hisp.dhis.common.GenericIdentifiableObjectStore;
-import org.hisp.dhis.patient.Patient;
import org.junit.Test;
/**
@@ -69,13 +67,11 @@
{
validationCriteriaStore = (GenericIdentifiableObjectStore<ValidationCriteria>) getBean( "org.hisp.dhis.validation.ValidationCriteriaStore" );
- propertyA = Patient.class.getDeclaredField( "birthDate" ).getName();
-
- propertyB = Patient.class.getDeclaredField( "dobType" ).getName();
-
- valueA = new Date();
-
- valueB = (char) 'A';
+ propertyA = "name";
+ propertyB = "name";
+
+ valueA = "A";
+ valueB = "B";
}
// -------------------------------------------------------------------------
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/AbstractPersonService.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/AbstractPersonService.java 2013-11-05 08:07:19 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/AbstractPersonService.java 2013-12-16 04:27:26 +0000
@@ -124,7 +124,7 @@
// -------------------------------------------------------------------------
// READ
- // -------------------------------------------------------------------------
+ // --------------------T-----------------------------------------------------
@Override
public Persons getPersons()
@@ -136,7 +136,8 @@
@Override
public Person getPerson( Identifier identifier )
{
- PatientIdentifierType patientIdentifierType = patientIdentifierTypeService.getPatientIdentifierTypeByUid( identifier.getType() );
+ PatientIdentifierType patientIdentifierType = patientIdentifierTypeService
+ .getPatientIdentifierTypeByUid( identifier.getType() );
Patient patient = patientIdentifierService.getPatient( patientIdentifierType, identifier.getValue() );
return getPerson( patient );
}
@@ -151,7 +152,8 @@
@Override
public Persons getPersons( OrganisationUnit organisationUnit, String nameLike )
{
- List<Patient> patients = new ArrayList<Patient>( patientService.getPatientsLikeName( organisationUnit, nameLike, 0, Integer.MAX_VALUE ) );
+ List<Patient> patients = new ArrayList<Patient>( patientService.getPatientsLikeName( organisationUnit,
+ nameLike, 0, Integer.MAX_VALUE ) );
return getPersons( patients );
}
@@ -201,10 +203,6 @@
person.setOrgUnit( patient.getOrganisationUnit().getUid() );
person.setName( patient.getName() );
- person.setGender( Gender.fromString( patient.getGender() ) );
-
- person.setDeceased( patient.getIsDead() );
- person.setDateOfDeath( patient.getDeathDate() );
Contact contact = new Contact();
contact.setPhoneNumber( nullIfEmpty( patient.getPhoneNumber() ) );
@@ -214,28 +212,6 @@
person.setContact( contact );
}
- DateOfBirth dateOfBirth;
-
- Character dobType = patient.getDobType();
-
- if ( dobType != null && patient.getBirthDate() != null )
- {
- if ( dobType.equals( Patient.DOB_TYPE_VERIFIED ) || dobType.equals( Patient.DOB_TYPE_DECLARED ) )
- {
- dateOfBirth = new DateOfBirth( patient.getBirthDate(),
- DateOfBirthType.fromString( String.valueOf( dobType ) ) );
- }
- else
- {
- // assume APPROXIMATE
- dateOfBirth = new DateOfBirth( patient.getIntegerValueOfAge() );
- }
-
- person.setDateOfBirth( dateOfBirth );
- }
-
- person.setDateOfRegistration( patient.getRegistrationDate() );
-
Collection<Relationship> relationshipsForPatient = relationshipService.getRelationshipsForPatient( patient );
for ( Relationship relationshipPatient : relationshipsForPatient )
@@ -250,15 +226,18 @@
for ( PatientIdentifier patientIdentifier : patient.getIdentifiers() )
{
- String identifierType = patientIdentifier.getIdentifierType() == null ? null : patientIdentifier.getIdentifierType().getUid();
- String displayName = patientIdentifier.getIdentifierType() != null ? patientIdentifier.getIdentifierType().getDisplayName() : null;
+ String identifierType = patientIdentifier.getIdentifierType() == null ? null : patientIdentifier
+ .getIdentifierType().getUid();
+ String displayName = patientIdentifier.getIdentifierType() != null ? patientIdentifier.getIdentifierType()
+ .getDisplayName() : null;
Identifier identifier = new Identifier( identifierType, patientIdentifier.getIdentifier() );
identifier.setDisplayName( displayName );
person.getIdentifiers().add( identifier );
}
- Collection<PatientAttributeValue> patientAttributeValues = patientAttributeValueService.getPatientAttributeValues( patient );
+ Collection<PatientAttributeValue> patientAttributeValues = patientAttributeValueService
+ .getPatientAttributeValues( patient );
for ( PatientAttributeValue patientAttributeValue : patientAttributeValues )
{
@@ -279,45 +258,17 @@
Patient patient = new Patient();
patient.setName( person.getName() );
- patient.setGender( person.getGender().getValue() );
OrganisationUnit organisationUnit = manager.get( OrganisationUnit.class, person.getOrgUnit() );
Assert.notNull( organisationUnit );
patient.setOrganisationUnit( organisationUnit );
- DateOfBirth dateOfBirth = person.getDateOfBirth();
-
- if ( dateOfBirth != null )
- {
- if ( dateOfBirth.getDate() != null && (dateOfBirth.getType().equals( DateOfBirthType.DECLARED ) ||
- dateOfBirth.getType().equals( DateOfBirthType.VERIFIED )) )
- {
- char dobType = dateOfBirth.getType().getValue().charAt( 0 );
- patient.setDobType( dobType );
- patient.setBirthDate( dateOfBirth.getDate() );
- }
- else if ( dateOfBirth.getAge() != null && dateOfBirth.getType().equals( DateOfBirthType.APPROXIMATE ) )
- {
- char dobType = dateOfBirth.getType().getValue().charAt( 0 );
- patient.setDobType( dobType );
- patient.setBirthDateFromAge( dateOfBirth.getAge(), dobType );
- }
- }
-
if ( person.getContact() != null && person.getContact().getPhoneNumber() != null )
{
patient.setPhoneNumber( person.getContact().getPhoneNumber() );
}
- patient.setIsDead( person.isDeceased() );
-
- if ( person.isDeceased() && person.getDateOfDeath() != null )
- {
- patient.setDeathDate( person.getDateOfDeath() );
- }
-
- patient.setRegistrationDate( person.getDateOfRegistration() );
updateIdentifiers( person, patient );
return patient;
@@ -380,24 +331,16 @@
if ( patient == null )
{
- importConflicts.add(
- new ImportConflict( "Person", "person " + person.getPerson() + " does not point to valid person" ) );
+ importConflicts.add( new ImportConflict( "Person", "person " + person.getPerson()
+ + " does not point to valid person" ) );
}
OrganisationUnit organisationUnit = manager.get( OrganisationUnit.class, person.getOrgUnit() );
if ( organisationUnit == null )
{
- importConflicts.add(
- new ImportConflict( "OrganisationUnit", "orgUnit " + person.getOrgUnit() + " does not point to valid organisation unit" ) );
- }
-
- DateOfBirth dateOfBirth = person.getDateOfBirth();
-
- if ( dateOfBirth == null )
- {
- importConflicts.add(
- new ImportConflict( "DateOfBirth", "dateOfBirth is not present" ) );
+ importConflicts.add( new ImportConflict( "OrganisationUnit", "orgUnit " + person.getOrgUnit()
+ + " does not point to valid organisation unit" ) );
}
importSummary.setConflicts( importConflicts );
@@ -410,23 +353,9 @@
}
patient.setName( person.getName() );
- patient.setGender( person.getGender().getValue() );
- patient.setIsDead( person.isDeceased() );
- patient.setDeathDate( person.getDateOfDeath() );
- // TODO should we allow update of this property?
- patient.setRegistrationDate( person.getDateOfRegistration() );
-
String phoneNumber = person.getContact() != null ? person.getContact().getPhoneNumber() : null;
patient.setPhoneNumber( phoneNumber );
- if ( DateOfBirthType.APPROXIMATE.equals( dateOfBirth.getType() ) )
- {
- dateOfBirth = new DateOfBirth( dateOfBirth.getAge() );
- }
-
- patient.setDobType( dateOfBirth.getType().getValue().charAt( 0 ) );
- patient.setBirthDate( dateOfBirth.getDate() );
-
updateSystemIdentifier( person );
removeRelationships( patient );
removeIdentifiers( patient );
@@ -489,23 +418,24 @@
{
if ( !cacheMap.keySet().contains( patientIdentifierType.getUid() ) )
{
- importConflicts.add(
- new ImportConflict( "Identifier.type", "Missing required identifier type " + patientIdentifierType.getUid() ) );
+ importConflicts.add( new ImportConflict( "Identifier.type", "Missing required identifier type "
+ + patientIdentifierType.getUid() ) );
}
}
- List<PatientIdentifier> patientIdentifiers = new ArrayList<PatientIdentifier>( patientIdentifierService.getAll(
- patientIdentifierType, cacheMap.get( patientIdentifierType.getUid() ) ) );
+ List<PatientIdentifier> patientIdentifiers = new ArrayList<PatientIdentifier>(
+ patientIdentifierService.getAll( patientIdentifierType, cacheMap.get( patientIdentifierType.getUid() ) ) );
if ( !patientIdentifiers.isEmpty() )
{
- // if .size() > 1, there is something wrong with the db.. but we for-loop for now
+ // if .size() > 1, there is something wrong with the db.. but we
+ // for-loop for now
for ( PatientIdentifier patientIdentifier : patientIdentifiers )
{
if ( !patientIdentifier.getPatient().equals( patient ) )
{
- importConflicts.add(
- new ImportConflict( "Identifier.value", "Value already exists for patient " + patientIdentifier.getPatient().getUid()
+ importConflicts.add( new ImportConflict( "Identifier.value",
+ "Value already exists for patient " + patientIdentifier.getPatient().getUid()
+ " with identifier type " + patientIdentifierType.getUid() ) );
}
}
@@ -514,12 +444,12 @@
for ( Identifier identifier : person.getIdentifiers() )
{
- PatientIdentifierType patientIdentifierType = manager.get( PatientIdentifierType.class, identifier.getType() );
+ PatientIdentifierType patientIdentifierType = manager.get( PatientIdentifierType.class,
+ identifier.getType() );
if ( patientIdentifierType == null )
{
- importConflicts.add(
- new ImportConflict( "Identifier.type", "Invalid type " + identifier.getType() ) );
+ importConflicts.add( new ImportConflict( "Identifier.type", "Invalid type " + identifier.getType() ) );
}
}
@@ -546,8 +476,8 @@
{
if ( !cache.contains( patientAttribute.getUid() ) )
{
- importConflicts.add(
- new ImportConflict( "Attribute.type", "Missing required attribute type " + patientAttribute.getUid() ) );
+ importConflicts.add( new ImportConflict( "Attribute.type", "Missing required attribute type "
+ + patientAttribute.getUid() ) );
}
}
}
@@ -558,8 +488,7 @@
if ( patientAttribute == null )
{
- importConflicts.add(
- new ImportConflict( "Attribute.type", "Invalid type " + attribute.getType() ) );
+ importConflicts.add( new ImportConflict( "Attribute.type", "Invalid type " + attribute.getType() ) );
}
}
@@ -576,23 +505,22 @@
if ( relationshipType == null )
{
- importConflicts.add(
- new ImportConflict( "Relationship.type", "Invalid type " + relationship.getType() ) );
+ importConflicts
+ .add( new ImportConflict( "Relationship.type", "Invalid type " + relationship.getType() ) );
}
Patient patient = manager.get( Patient.class, relationship.getPerson() );
if ( patient == null )
{
- importConflicts.add(
- new ImportConflict( "Relationship.person", "Invalid person " + relationship.getPerson() ) );
+ importConflicts.add( new ImportConflict( "Relationship.person", "Invalid person "
+ + relationship.getPerson() ) );
}
}
return importConflicts;
}
-
private void updateAttributeValues( Person person, Patient patient )
{
for ( Attribute attribute : person.getAttributes() )
@@ -613,15 +541,6 @@
private void updateSystemIdentifier( Person person )
{
- Date birthDate = person.getDateOfBirth() != null ? person.getDateOfBirth().getDate() : null;
- String gender = person.getGender() != null ? person.getGender().getValue() : null;
-
- if ( birthDate == null || gender == null )
- {
- birthDate = new Date();
- gender = "F";
- }
-
Iterator<Identifier> iterator = person.getIdentifiers().iterator();
// remove any old system identifiers
@@ -634,12 +553,9 @@
iterator.remove();
}
}
-
- Identifier identifier = generateSystemIdentifier( birthDate, gender );
-
+ Identifier identifier = null;
if ( person.getPerson() != null )
{
- identifier = generateSystemIdentifier( birthDate, gender );
Patient patient = manager.get( Patient.class, person.getPerson() );
for ( PatientIdentifier patientIdentifier : patient.getIdentifiers() )
@@ -652,25 +568,10 @@
}
}
- person.getIdentifiers().add( identifier );
- }
-
- private Identifier generateSystemIdentifier( Date birthDate, String gender )
- {
- String systemId = PatientIdentifierGenerator.getNewIdentifier( birthDate, gender );
-
- PatientIdentifier patientIdentifier = patientIdentifierService.get( null, systemId );
-
- while ( patientIdentifier != null )
+ if ( identifier != null )
{
- systemId = PatientIdentifierGenerator.getNewIdentifier( birthDate, gender );
- patientIdentifier = patientIdentifierService.get( null, systemId );
+ person.getIdentifiers().add( identifier );
}
-
- Identifier identifier = new Identifier();
- identifier.setValue( systemId );
-
- return identifier;
}
// add identifiers from person => patient
=== removed file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirth.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirth.java 2013-10-15 07:40:07 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirth.java 1970-01-01 00:00:00 +0000
@@ -1,133 +0,0 @@
-package org.hisp.dhis.dxf2.events.person;
-
-/*
- * 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.fasterxml.jackson.annotation.JsonProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
-import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import org.hisp.dhis.common.DxfNamespaces;
-import org.hisp.dhis.patient.Patient;
-
-import java.util.Date;
-
-/**
- * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
- */
-@JacksonXmlRootElement( localName = "dateOfBirth", namespace = DxfNamespaces.DXF_2_0 )
-public class DateOfBirth
-{
- private final Date date;
-
- private final DateOfBirthType type;
-
- private final Integer age;
-
- public DateOfBirth()
- {
- this.type = DateOfBirthType.APPROXIMATE;
- this.age = 0;
- this.date = Patient.getBirthFromAge( age, Patient.AGE_TYPE_YEAR );
- }
-
- public DateOfBirth( Date date )
- {
- this.type = DateOfBirthType.VERIFIED;
- this.age = Patient.getIntegerValueOfAge( date );
- this.date = date;
- }
-
- public DateOfBirth( Date date, DateOfBirthType type )
- {
- this.type = type;
- this.age = Patient.getIntegerValueOfAge( date );
- this.date = date;
- }
-
- public DateOfBirth( Integer age )
- {
- this.type = DateOfBirthType.APPROXIMATE;
- this.age = age;
- this.date = Patient.getBirthFromAge( age, Patient.AGE_TYPE_YEAR );
- }
-
- @JsonProperty( required = true )
- @JacksonXmlProperty( isAttribute = true )
- public Date getDate()
- {
- return date;
- }
-
- @JsonProperty( required = true )
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public DateOfBirthType getType()
- {
- return type;
- }
-
- @JsonProperty( required = true )
- @JacksonXmlProperty( isAttribute = true )
- public Integer getAge()
- {
- return age;
- }
-
- @Override
- public boolean equals( Object o )
- {
- if ( this == o ) return true;
- if ( o == null || getClass() != o.getClass() ) return false;
-
- DateOfBirth that = (DateOfBirth) o;
-
- if ( age != null ? !age.equals( that.age ) : that.age != null ) return false;
- if ( date != null ? !date.equals( that.date ) : that.date != null ) return false;
- if ( type != that.type ) return false;
-
- return true;
- }
-
- @Override
- public int hashCode()
- {
- int result = date != null ? date.hashCode() : 0;
- result = 31 * result + (type != null ? type.hashCode() : 0);
- result = 31 * result + (age != null ? age.hashCode() : 0);
- return result;
- }
-
- @Override
- public String toString()
- {
- return "DateOfBirth{" +
- "date=" + date +
- ", type=" + type +
- ", age=" + age +
- '}';
- }
-}
=== removed file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirthType.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirthType.java 2013-09-17 12:15:39 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/DateOfBirthType.java 1970-01-01 00:00:00 +0000
@@ -1,64 +0,0 @@
-package org.hisp.dhis.dxf2.events.person;
-
-/*
- * 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.
- */
-
-/**
- * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
- */
-public enum DateOfBirthType
-{
- VERIFIED( "V" ),
- DECLARED( "D" ),
- APPROXIMATE( "A" );
-
- private final String value;
-
- private DateOfBirthType( String value )
- {
- this.value = value;
- }
-
- public String getValue()
- {
- return value;
- }
-
- public static DateOfBirthType fromString( String text )
- {
- for ( DateOfBirthType dateOfBirthType : DateOfBirthType.values() )
- {
- if ( text.equals( dateOfBirthType.getValue() ) )
- {
- return dateOfBirthType;
- }
- }
-
- throw new IllegalArgumentException();
- }
-}
=== removed file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Gender.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Gender.java 2013-09-17 12:15:39 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Gender.java 1970-01-01 00:00:00 +0000
@@ -1,66 +0,0 @@
-package org.hisp.dhis.dxf2.events.person;
-
-/*
- * 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.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import org.hisp.dhis.common.DxfNamespaces;
-
-/**
- * @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
- */
-@JacksonXmlRootElement( localName = "gender", namespace = DxfNamespaces.DXF_2_0 )
-public enum Gender
-{
- MALE( "M" ), FEMALE( "F" ), TRANSGENDER( "T" );
-
- private final String value;
-
- private Gender( String value )
- {
- this.value = value;
- }
-
- public String getValue()
- {
- return value;
- }
-
- public static Gender fromString( String text )
- {
- for ( Gender gender : Gender.values() )
- {
- if ( text.equals( gender.getValue() ) )
- {
- return gender;
- }
- }
-
- throw new IllegalArgumentException();
- }
-}
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Person.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Person.java 2013-09-19 08:51:41 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/main/java/org/hisp/dhis/dxf2/events/person/Person.java 2013-12-16 04:27:26 +0000
@@ -28,14 +28,14 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import java.util.ArrayList;
+import java.util.List;
+
+import org.hisp.dhis.common.DxfNamespaces;
+
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
-import org.hisp.dhis.common.DxfNamespaces;
-
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
/**
* @author Morten Olav Hansen <mortenoh@xxxxxxxxx>
@@ -49,16 +49,6 @@
private String name;
- private Gender gender;
-
- private DateOfBirth dateOfBirth;
-
- private boolean deceased;
-
- private Date dateOfDeath;
-
- private Date dateOfRegistration = new Date();
-
private Contact contact;
private List<Relationship> relationships = new ArrayList<Relationship>();
@@ -109,66 +99,6 @@
@JsonProperty
@JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Gender getGender()
- {
- return gender;
- }
-
- public void setGender( Gender gender )
- {
- this.gender = gender;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public DateOfBirth getDateOfBirth()
- {
- return dateOfBirth;
- }
-
- public void setDateOfBirth( DateOfBirth dateOfBirth )
- {
- this.dateOfBirth = dateOfBirth;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public boolean isDeceased()
- {
- return deceased;
- }
-
- public void setDeceased( boolean deceased )
- {
- this.deceased = deceased;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Date getDateOfDeath()
- {
- return dateOfDeath;
- }
-
- public void setDateOfDeath( Date dateOfDeath )
- {
- this.dateOfDeath = dateOfDeath;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
- public Date getDateOfRegistration()
- {
- return dateOfRegistration;
- }
-
- public void setDateOfRegistration( Date dateOfRegistration )
- {
- this.dateOfRegistration = dateOfRegistration;
- }
-
- @JsonProperty
- @JacksonXmlProperty( namespace = DxfNamespaces.DXF_2_0 )
public Contact getContact()
{
return contact;
@@ -218,24 +148,26 @@
@Override
public boolean equals( Object o )
{
- if ( this == o ) return true;
- if ( o == null || getClass() != o.getClass() ) return false;
+ if ( this == o )
+ return true;
+ if ( o == null || getClass() != o.getClass() )
+ return false;
Person person1 = (Person) o;
-
- if ( deceased != person1.deceased ) return false;
- if ( attributes != null ? !attributes.equals( person1.attributes ) : person1.attributes != null ) return false;
- if ( contact != null ? !contact.equals( person1.contact ) : person1.contact != null ) return false;
- if ( dateOfBirth != null ? !dateOfBirth.equals( person1.dateOfBirth ) : person1.dateOfBirth != null ) return false;
- if ( dateOfDeath != null ? !dateOfDeath.equals( person1.dateOfDeath ) : person1.dateOfDeath != null ) return false;
- if ( dateOfRegistration != null ? !dateOfRegistration.equals( person1.dateOfRegistration ) : person1.dateOfRegistration != null )
- return false;
- if ( gender != person1.gender ) return false;
- if ( identifiers != null ? !identifiers.equals( person1.identifiers ) : person1.identifiers != null ) return false;
- if ( name != null ? !name.equals( person1.name ) : person1.name != null ) return false;
- if ( orgUnit != null ? !orgUnit.equals( person1.orgUnit ) : person1.orgUnit != null ) return false;
- if ( person != null ? !person.equals( person1.person ) : person1.person != null ) return false;
- if ( relationships != null ? !relationships.equals( person1.relationships ) : person1.relationships != null ) return false;
+ if ( attributes != null ? !attributes.equals( person1.attributes ) : person1.attributes != null )
+ return false;
+ if ( contact != null ? !contact.equals( person1.contact ) : person1.contact != null )
+ return false;
+ if ( identifiers != null ? !identifiers.equals( person1.identifiers ) : person1.identifiers != null )
+ return false;
+ if ( name != null ? !name.equals( person1.name ) : person1.name != null )
+ return false;
+ if ( orgUnit != null ? !orgUnit.equals( person1.orgUnit ) : person1.orgUnit != null )
+ return false;
+ if ( person != null ? !person.equals( person1.person ) : person1.person != null )
+ return false;
+ if ( relationships != null ? !relationships.equals( person1.relationships ) : person1.relationships != null )
+ return false;
return true;
}
@@ -246,11 +178,6 @@
int result = person != null ? person.hashCode() : 0;
result = 31 * result + (orgUnit != null ? orgUnit.hashCode() : 0);
result = 31 * result + (name != null ? name.hashCode() : 0);
- result = 31 * result + (gender != null ? gender.hashCode() : 0);
- result = 31 * result + (dateOfBirth != null ? dateOfBirth.hashCode() : 0);
- result = 31 * result + (deceased ? 1 : 0);
- result = 31 * result + (dateOfDeath != null ? dateOfDeath.hashCode() : 0);
- result = 31 * result + (dateOfRegistration != null ? dateOfRegistration.hashCode() : 0);
result = 31 * result + (contact != null ? contact.hashCode() : 0);
result = 31 * result + (relationships != null ? relationships.hashCode() : 0);
result = 31 * result + (identifiers != null ? identifiers.hashCode() : 0);
@@ -258,21 +185,11 @@
return result;
}
- @Override public String toString()
+ @Override
+ public String toString()
{
- return "Person{" +
- "person='" + person + '\'' +
- ", orgUnit='" + orgUnit + '\'' +
- ", name='" + name + '\'' +
- ", gender=" + gender +
- ", dateOfBirth=" + dateOfBirth +
- ", deceased=" + deceased +
- ", dateOfDeath=" + dateOfDeath +
- ", dateOfRegistration=" + dateOfRegistration +
- ", contact=" + contact +
- ", relationships=" + relationships +
- ", identifiers=" + identifiers +
- ", attributes=" + attributes +
- '}';
+ return "Person{" + "person='" + person + '\'' + ", orgUnit='" + orgUnit + '\'' + ", name='" + name + '\''
+ + ", contact=" + contact + ", relationships=" + relationships + ", identifiers=" + identifiers
+ + ", attributes=" + attributes + '}';
}
}
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/EnrollmentServiceTest.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/EnrollmentServiceTest.java 2013-12-01 22:32:50 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/EnrollmentServiceTest.java 2013-12-16 04:27:26 +0000
@@ -96,10 +96,10 @@
manager.save( organisationUnitA );
manager.save( organisationUnitB );
- maleA = createPatient( 'A', Patient.MALE, organisationUnitA );
- maleB = createPatient( 'B', Patient.MALE, organisationUnitB );
- femaleA = createPatient( 'C', Patient.FEMALE, organisationUnitA );
- femaleB = createPatient( 'D', Patient.FEMALE, organisationUnitB );
+ maleA = createPatient( 'A', organisationUnitA );
+ maleB = createPatient( 'B', organisationUnitB );
+ femaleA = createPatient( 'C', organisationUnitA );
+ femaleB = createPatient( 'D', organisationUnitB );
manager.save( maleA );
manager.save( maleB );
@@ -152,6 +152,7 @@
@Test
public void testGetEnrollmentsByPerson()
{
+
programInstanceService.enrollPatient( maleA, programA, null, null, organisationUnitA, mock( I18nFormat.class ) );
programInstanceService.enrollPatient( femaleA, programA, null, null, organisationUnitA, mock( I18nFormat.class ) );
@@ -191,6 +192,8 @@
Enrollment enrollment = new Enrollment();
enrollment.setPerson( maleA.getUid() );
enrollment.setProgram( programA.getUid() );
+ enrollment.setDateOfIncident( new Date() );
+ enrollment.setDateOfEnrollment( new Date() );
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
@@ -238,6 +241,8 @@
Enrollment enrollment = new Enrollment();
enrollment.setPerson( maleA.getUid() );
enrollment.setProgram( programA.getUid() );
+ enrollment.setDateOfIncident( new Date() );
+ enrollment.setDateOfEnrollment( new Date() );
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
@@ -260,6 +265,8 @@
Enrollment enrollment = new Enrollment();
enrollment.setPerson( maleA.getUid() );
enrollment.setProgram( programA.getUid() );
+ enrollment.setDateOfIncident( new Date() );
+ enrollment.setDateOfEnrollment( new Date() );
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
@@ -282,6 +289,8 @@
Enrollment enrollment = new Enrollment();
enrollment.setPerson( maleA.getUid() );
enrollment.setProgram( programA.getUid() );
+ enrollment.setDateOfIncident( new Date() );
+ enrollment.setDateOfEnrollment( new Date() );
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
@@ -310,6 +319,8 @@
Enrollment enrollment = new Enrollment();
enrollment.setPerson( maleA.getUid() );
enrollment.setProgram( programA.getUid() );
+ enrollment.setDateOfIncident( new Date() );
+ enrollment.setDateOfEnrollment( new Date() );
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/PersonServiceTest.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/PersonServiceTest.java 2013-10-14 10:24:31 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/PersonServiceTest.java 2013-12-16 04:27:26 +0000
@@ -30,9 +30,6 @@
import org.hisp.dhis.DhisTest;
import org.hisp.dhis.common.IdentifiableObjectManager;
-import org.hisp.dhis.dxf2.events.person.DateOfBirth;
-import org.hisp.dhis.dxf2.events.person.DateOfBirthType;
-import org.hisp.dhis.dxf2.events.person.Gender;
import org.hisp.dhis.dxf2.events.person.Person;
import org.hisp.dhis.dxf2.events.person.PersonService;
import org.hisp.dhis.dxf2.importsummary.ImportStatus;
@@ -85,10 +82,10 @@
organisationUnitB.setParent( organisationUnitA );
- maleA = createPatient( 'A', Patient.MALE, organisationUnitA );
- maleB = createPatient( 'B', Patient.MALE, organisationUnitB );
- femaleA = createPatient( 'C', Patient.FEMALE, organisationUnitA );
- femaleB = createPatient( 'D', Patient.FEMALE, organisationUnitB );
+ maleA = createPatient( 'A', organisationUnitA );
+ maleB = createPatient( 'B', organisationUnitB );
+ femaleA = createPatient( 'C', organisationUnitA );
+ femaleB = createPatient( 'D', organisationUnitB );
programA = createProgram( 'A', new HashSet<ProgramStage>(), organisationUnitA );
programA.setUseBirthDateAsEnrollmentDate( true );
@@ -161,13 +158,11 @@
{
Person person = personService.getPerson( maleA.getUid() );
person.setName( "UPDATED_NAME" );
- person.setGender( Gender.TRANSGENDER );
ImportSummary importSummary = personService.updatePerson( person );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
assertEquals( "UPDATED_NAME", personService.getPerson( maleA.getUid() ).getName() );
- assertEquals( Gender.TRANSGENDER, personService.getPerson( maleA.getUid() ).getGender() );
}
@Test
@@ -175,18 +170,12 @@
{
Person person = new Person();
person.setName( "NAME" );
- person.setGender( Gender.MALE );
person.setOrgUnit( organisationUnitA.getUid() );
- DateOfBirth dateOfBirth = new DateOfBirth( new Date(), DateOfBirthType.VERIFIED );
- person.setDateOfBirth( dateOfBirth );
-
ImportSummary importSummary = personService.savePerson( person );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
assertEquals( "NAME", personService.getPerson( importSummary.getReference() ).getName() );
- assertEquals( Gender.MALE, personService.getPerson( importSummary.getReference() ).getGender() );
- assertEquals( DateOfBirthType.VERIFIED, personService.getPerson( importSummary.getReference() ).getDateOfBirth().getType() );
}
@Test
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2013-10-14 09:59:01 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationMultiEventsServiceTest.java 2013-12-16 04:27:26 +0000
@@ -82,35 +82,48 @@
private IdentifiableObjectManager manager;
private Patient maleA;
+
private Patient maleB;
+
private Patient femaleA;
+
private Patient femaleB;
private Person personMaleA;
+
private Person personMaleB;
+
private Person personFemaleA;
+
private Person personFemaleB;
private OrganisationUnit organisationUnitA;
+
private OrganisationUnit organisationUnitB;
+
private Program programA;
+
private DataElement dataElementA;
+
private DataElement dataElementB;
+
private ProgramStage programStageA;
+
private ProgramStage programStageB;
@Override
- protected void setUpTest() throws Exception
+ protected void setUpTest()
+ throws Exception
{
organisationUnitA = createOrganisationUnit( 'A' );
organisationUnitB = createOrganisationUnit( 'B' );
manager.save( organisationUnitA );
manager.save( organisationUnitB );
- maleA = createPatient( 'A', Patient.MALE, organisationUnitA );
- maleB = createPatient( 'B', Patient.MALE, organisationUnitB );
- femaleA = createPatient( 'C', Patient.FEMALE, organisationUnitA );
- femaleB = createPatient( 'D', Patient.FEMALE, organisationUnitB );
+ maleA = createPatient( 'A', organisationUnitA );
+ maleB = createPatient( 'B', organisationUnitB );
+ femaleA = createPatient( 'C', organisationUnitA );
+ femaleB = createPatient( 'D', organisationUnitB );
manager.save( maleA );
manager.save( maleB );
@@ -182,16 +195,19 @@
@Test
public void testSaveWithoutProgramStageShouldFail()
{
- Event event = createEvent( programA.getUid(), null, organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ Event event = createEvent( programA.getUid(), null, organisationUnitA.getUid(), personMaleA.getPerson(),
+ dataElementA.getUid() );
ImportSummary importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.ERROR, importSummary.getStatus() );
- assertThat( importSummary.getDescription(), CoreMatchers.containsString( "Event.programStage does not point to a valid programStage" ) );
+ assertThat( importSummary.getDescription(),
+ CoreMatchers.containsString( "Event.programStage does not point to a valid programStage" ) );
}
@Test
public void testSaveWithoutEnrollmentShouldFail()
{
- Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
ImportSummary importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.ERROR, importSummary.getStatus() );
assertThat( importSummary.getDescription(), CoreMatchers.containsString( "is not enrolled in program" ) );
@@ -204,15 +220,18 @@
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
- importSummary = eventService.saveEvent( event );
- assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
-
- event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
- importSummary = eventService.saveEvent( event );
- assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
-
- event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
+ importSummary = eventService.saveEvent( event );
+ assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
+
+ event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
+ importSummary = eventService.saveEvent( event );
+ assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
+
+ event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
@@ -226,17 +245,20 @@
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() );
+ event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementB.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
- event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() );
+ event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementB.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
@@ -250,24 +272,28 @@
ImportSummary importSummary = enrollmentService.saveEnrollment( enrollment );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ Event event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
- event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() );
+ event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementB.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
- event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementB.getUid() );
+ event = createEvent( programA.getUid(), programStageB.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementB.getUid() );
event.setEvent( importSummary.getReference() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
assertEquals( 2, eventService.getEvents( programA, organisationUnitA ).getEvents().size() );
- event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(), personMaleA.getPerson(), dataElementA.getUid() );
+ event = createEvent( programA.getUid(), programStageA.getUid(), organisationUnitA.getUid(),
+ personMaleA.getPerson(), dataElementA.getUid() );
importSummary = eventService.saveEvent( event );
assertEquals( ImportStatus.SUCCESS, importSummary.getStatus() );
=== modified file 'dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java'
--- dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java 2013-10-07 18:38:10 +0000
+++ dhis-2/dhis-services/dhis-service-dxf2/src/test/java/org/hisp/dhis/dxf2/events/RegistrationSingleEventServiceTest.java 2013-12-16 04:27:26 +0000
@@ -107,10 +107,10 @@
manager.save( organisationUnitA );
manager.save( organisationUnitB );
- maleA = createPatient( 'A', Patient.MALE, organisationUnitA );
- maleB = createPatient( 'B', Patient.MALE, organisationUnitB );
- femaleA = createPatient( 'C', Patient.FEMALE, organisationUnitA );
- femaleB = createPatient( 'D', Patient.FEMALE, organisationUnitB );
+ maleA = createPatient( 'A', organisationUnitA );
+ maleB = createPatient( 'B', organisationUnitB );
+ femaleA = createPatient( 'C', organisationUnitA );
+ femaleB = createPatient( 'D', organisationUnitB );
manager.save( maleA );
manager.save( maleB );
=== modified file 'dhis-2/dhis-services/dhis-service-eventreporting/src/main/java/org/hisp/dhis/caseaggregation/hibernate/HibernateCaseAggregationConditionStore.java'
--- dhis-2/dhis-services/dhis-service-eventreporting/src/main/java/org/hisp/dhis/caseaggregation/hibernate/HibernateCaseAggregationConditionStore.java 2013-11-29 09:24:58 +0000
+++ dhis-2/dhis-services/dhis-service-eventreporting/src/main/java/org/hisp/dhis/caseaggregation/hibernate/HibernateCaseAggregationConditionStore.java 2013-12-16 04:27:26 +0000
@@ -32,7 +32,6 @@
import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PATIENT;
import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PATIENT_ATTRIBUTE;
import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PATIENT_PROGRAM_STAGE_PROPERTY;
-import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PATIENT_PROPERTY;
import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PROGRAM;
import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PROGRAM_PROPERTY;
import static org.hisp.dhis.caseaggregation.CaseAggregationCondition.OBJECT_PROGRAM_STAGE;
@@ -92,8 +91,6 @@
{
private final String IS_NULL = "is null";
- private final String PROPERTY_AGE = "age";
-
private final String IN_CONDITION_GET_ALL = "*";
private final String IN_CONDITION_START_SIGN = "@";
@@ -505,14 +502,9 @@
{
condition = getConditionForPatient( orgunitIds, operator, startDate, endDate );
}
- else if ( info[0].equalsIgnoreCase( OBJECT_PATIENT_PROPERTY ) )
- {
- String propertyName = info[1];
- condition = getConditionForPatientProperty( propertyName, operator, startDate, endDate );
- }
else if ( info[0].equalsIgnoreCase( OBJECT_PATIENT_ATTRIBUTE ) )
{
- int attributeId = Integer.parseInt( info[1] );
+ String attributeId = info[1];
String compareValue = expression[index].replace( "[" + match + "]", "" ).trim();
@@ -651,14 +643,19 @@
* Return standard SQL of a dynamic patient-attribute expression. E.g [CA:1]
*
*/
- private String getConditionForPatientAttribute( int attributeId, Collection<Integer> orgunitIds, boolean isExist )
+ private String getConditionForPatientAttribute( String attributeId, Collection<Integer> orgunitIds,
+ boolean isExist )
{
- String sql = " EXISTS ( SELECT * FROM patientattributevalue _pav "
- + " WHERE _pav.patientid=pi.patientid AND _pav.patientattributeid=" + attributeId;
-
+
+ String sql = " EXISTS ( SELECT * FROM patientattributevalue _pav " + " WHERE _pav.patientid=pi.patientid ";
+
+ if ( attributeId.split( SEPARATOR_ID ).length==2)
+ {
+ sql += " AND _pav.patientattributeid=" + attributeId.split( "." )[0] + " AND DATE(now) - DATE( _pav.value )";
+ }
if ( isExist )
{
- sql += " AND _pav.value ";
+ sql += " AND _pav.patientattributeid=" + attributeId + " AND _pav.value ";
}
else
{
@@ -676,31 +673,9 @@
private String getConditionForPatient( Collection<Integer> orgunitIds, String operator, String startDate,
String endDate )
{
- String sql = " EXISTS ( SELECT * " + "FROM patient _p " + "WHERE _p.patientid = pi.patientid "
+ String sql = " EXISTS ( SELECT * FROM patient _p WHERE _p.patientid = pi.patientid "
+ "AND _p.registrationdate>='" + startDate + "' AND _p.registrationdate<='" + endDate + "' "
- + "AND p.organisationunitid in (" + TextUtils.getCommaDelimitedString( orgunitIds ) + ") ";
-
- return sql;
- }
-
- /**
- * Return standard SQL of the patient-fixed-attribute expression. E.g
- * [CP:gender]
- *
- */
- private String getConditionForPatientProperty( String propertyName, String operator, String startDate,
- String endDate )
- {
- String sql = " EXISTS (SELECT _p.patientid FROM patient _p WHERE _p.patientid = pi.patientid AND ";
-
- if ( propertyName.equals( PROPERTY_AGE ) )
- {
- sql += "DATE(registrationdate) - DATE(birthdate) ";
- }
- else
- {
- sql += propertyName + " ";
- }
+ + "AND _p.organisationunitid in (" + TextUtils.getCommaDelimitedString( orgunitIds ) + ") ";
return sql;
}
@@ -1101,7 +1076,6 @@
String[] info = match.split( SEPARATOR_OBJECT );
if ( info[0].equalsIgnoreCase( CaseAggregationCondition.OBJECT_PATIENT )
- || info[0].equalsIgnoreCase( CaseAggregationCondition.OBJECT_PATIENT_PROPERTY )
|| info[0].equalsIgnoreCase( CaseAggregationCondition.OBJECT_PATIENT_ATTRIBUTE ) )
{
return true;
=== 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-11-18 11:50:20 +0000
+++ dhis-2/dhis-services/dhis-service-mobile/src/main/java/org/hisp/dhis/mobile/service/ActivityReportingServiceImpl.java 2013-12-16 04:27:26 +0000
@@ -100,8 +100,6 @@
import org.hisp.dhis.system.util.DateUtils;
import org.hisp.dhis.user.CurrentUserService;
import org.hisp.dhis.user.User;
-import org.joda.time.DateTime;
-import org.joda.time.Period;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Required;
@@ -153,24 +151,24 @@
private org.hisp.dhis.mobile.service.ModelMapping modelMapping;
private PatientIdentifierTypeService patientIdentifierTypeService;
-
+
private CurrentUserService currentUserService;
-
+
private MessageService messageService;
-
+
private SmsSender smsSender;
-
+
private PatientAttributeService patientAttributeService;
-
+
private Collection<PatientIdentifierType> patientIdentifierTypes;
private Collection<org.hisp.dhis.patient.PatientAttribute> patientAttributes;
-
+
private Integer patientId;
-
+
@Autowired
private OrganisationUnitService organisationUnitService;
-
+
// -------------------------------------------------------------------------
// Setters
// -------------------------------------------------------------------------
@@ -330,7 +328,7 @@
}
}
- this.setGroupByAttribute( patientAttService.getPatientAttributeByGroupBy( ) );
+ this.setGroupByAttribute( patientAttService.getPatientAttributeByGroupBy() );
if ( items.isEmpty() )
{
@@ -358,7 +356,7 @@
}
}
- this.setGroupByAttribute( patientAttService.getPatientAttributeByGroupBy( ) );
+ this.setGroupByAttribute( patientAttService.getPatientAttributeByGroupBy() );
if ( items.isEmpty() )
{
@@ -510,12 +508,9 @@
{
String patientsInfo = new String();
- DateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd" );
-
for ( Patient each : patients )
{
- patientsInfo += each.getId() + "/" + each.getName() + "/" + dateFormat.format( each.getBirthDate() )
- + "$";
+ patientsInfo += each.getId() + "/" + each.getName() + "$";
}
throw new NotAllowedException( patientsInfo );
@@ -709,13 +704,14 @@
}
if ( mobileProgramStage.isRepeatable() )
{
- Date nextDate = DateUtils.getDateAfterAddition( new Date(), mobileProgramStage.getStandardInterval() );
-
- return PROGRAM_STAGE_UPLOADED+"$"+PeriodUtil.dateToString( nextDate );
+ Date nextDate = DateUtils.getDateAfterAddition( new Date(),
+ mobileProgramStage.getStandardInterval() );
+
+ return PROGRAM_STAGE_UPLOADED + "$" + PeriodUtil.dateToString( nextDate );
}
else
{
- return PROGRAM_STAGE_UPLOADED;
+ return PROGRAM_STAGE_UPLOADED;
}
}
}
@@ -788,9 +784,9 @@
programInstanceService.updateProgramInstance( programInstance );
patient.getProgramInstances().add( programInstance );
patientService.updatePatient( patient );
-
+
patient = patientService.getPatient( patientId );
-
+
return getPatientModel( patient );
}
@@ -835,30 +831,10 @@
beneficiary.setId( patient.getId() );
beneficiary.setName( patient.getName() );
- Period period = new Period( new DateTime( patient.getBirthDate() ), new DateTime() );
- beneficiary.setAge( period.getYears() );
-
this.setSetting( getSettings() );
if ( setting != null )
{
- if ( setting.getGender() )
- {
- beneficiary.setGender( patient.getGender() );
- }
- if ( setting.getDobtype() )
- {
- beneficiary.setDobType( patient.getDobType() );
- }
- if ( setting.getBirthdate() )
- {
- beneficiary.setBirthDate( patient.getBirthDate() );
- }
- if ( setting.getRegistrationdate() )
- {
- beneficiary.setRegistrationDate( patient.getRegistrationDate() );
- }
-
atts = setting.getPatientAttributes();
for ( org.hisp.dhis.patient.PatientAttribute each : atts )
{
@@ -934,8 +910,7 @@
{
patientModel.setName( patient.getName() );
}
- Period period = new Period( new DateTime( patient.getBirthDate() ), new DateTime() );
- patientModel.setAge( period.getYears() );
+
/*
* DateFormat dateFormat = new SimpleDateFormat( "dd-MM-yyyy" );
* patientModel.setAge( dateFormat.format( patient.getBirthDate() ) );
@@ -953,24 +928,6 @@
if ( setting != null )
{
- if ( setting.getGender() )
- {
- patientModel.setGender( patient.getGender() );
- }
- if ( setting.getDobtype() )
- {
- patientModel.setDobType( patient.getDobType() );
- }
- if ( setting.getBirthdate() && patient.getBirthDate() != null )
- {
- DateFormat dateFormat = new SimpleDateFormat( "dd-MM-yyyy" );
- patientModel.setBirthDate( dateFormat.format( patient.getBirthDate() ) );
- }
- if ( setting.getRegistrationdate() )
- {
- patientModel.setRegistrationDate( patient.getRegistrationDate() );
- }
-
atts = setting.getPatientAttributes();
for ( org.hisp.dhis.patient.PatientAttribute each : atts )
{
@@ -1169,7 +1126,7 @@
// is repeatable
mobileProgramStage.setRepeatable( programStage.getIrregular() );
-
+
if ( programStage.getStandardInterval() == null )
{
mobileProgramStage.setStandardInterval( 0 );
@@ -1327,11 +1284,11 @@
}
else
{
- System.out.println("program name: "+program.getName());
+ System.out.println( "program name: " + program.getName() );
}
}
}
- System.out.println("final size: "+programs.size());
+ System.out.println( "final size: " + programs.size() );
return programs;
}
@@ -1372,12 +1329,9 @@
{
String patientsInfo = new String();
- DateFormat dateFormat = new SimpleDateFormat( "yyyy-MM-dd" );
-
for ( Patient each : patients )
{
- patientsInfo += each.getId() + "/" + each.getName() + "/" + dateFormat.format( each.getBirthDate() )
- + "$";
+ patientsInfo += each.getId() + "/" + each.getName() + "$";
}
throw new NotAllowedException( patientsInfo );
@@ -1789,12 +1743,8 @@
org.hisp.dhis.patient.Patient patientWeb = new org.hisp.dhis.patient.Patient();
patientWeb.setName( patient.getName() );
- patientWeb.setGender( patient.getGender() );
- patientWeb.setDobType( patient.getDobType() );
patientWeb.setPhoneNumber( patient.getPhoneNumber() );
- patientWeb.setBirthDate( PeriodUtil.stringToDate( patient.getBirthDate() ) );
patientWeb.setOrganisationUnit( organisationUnitService.getOrganisationUnit( orgUnitId ) );
- patientWeb.setRegistrationDate( new Date() );
Set<org.hisp.dhis.patient.PatientIdentifier> patientIdentifierSet = new HashSet<org.hisp.dhis.patient.PatientIdentifier>();
Set<org.hisp.dhis.patient.PatientAttribute> patientAttributeSet = new HashSet<org.hisp.dhis.patient.PatientAttribute>();
@@ -1925,11 +1875,8 @@
{
String patientsInfo = new String();
- DateFormat dateFormat = new SimpleDateFormat( "dd-MM-yyyy" );
-
int i = 1;
String name = "";
- String DOB = "";
for ( Patient each : patients )
{
if ( i > 10 )
@@ -1946,15 +1893,7 @@
name = "unknown";
}
- if ( each.getBirthDate() != null )
- {
- DOB = dateFormat.format( each.getBirthDate() );
- }
- else
- {
- DOB = "unknown";
- }
- patientsInfo += each.getId() + "/" + name + ", DOB: " + DOB + "$";
+ patientsInfo += each.getId() + "/" + name + "$";
i++;
}
@@ -1981,20 +1920,20 @@
throws NotAllowedException
{
String[] searchEventInfosArray = searchEventInfos.split( "-" );
-
+
int programStageStatus = 0;
-
- if ( searchEventInfosArray[1].equalsIgnoreCase("Scheduled in future") )
+
+ if ( searchEventInfosArray[1].equalsIgnoreCase( "Scheduled in future" ) )
{
programStageStatus = ProgramStageInstance.FUTURE_VISIT_STATUS;
}
- else if ( searchEventInfosArray[1].equalsIgnoreCase("Overdue") )
+ else if ( searchEventInfosArray[1].equalsIgnoreCase( "Overdue" ) )
{
programStageStatus = ProgramStageInstance.LATE_VISIT_STATUS;
}
-
+
boolean followUp;
-
+
if ( searchEventInfosArray[2].equalsIgnoreCase( "true" ) )
{
followUp = true;
@@ -2003,9 +1942,9 @@
{
followUp = false;
}
-
+
String eventsInfo = "";
-
+
DateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd" );
List<String> searchTextList = new ArrayList<String>();
@@ -2114,43 +2053,46 @@
return notification;
}
}
-
-
+
@Override
public org.hisp.dhis.api.mobile.model.LWUITmodel.Patient generateRepeatableEvent( int orgUnitId, String eventInfo )
throws NotAllowedException
{
- OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( orgUnitId );
-
+ OrganisationUnit orgUnit = organisationUnitService.getOrganisationUnit( orgUnitId );
+
String mobileProgramStageId = eventInfo.substring( 0, eventInfo.indexOf( "$" ) );
-
- String nextDueDate = eventInfo.substring( eventInfo.indexOf( "$" )+1, eventInfo.length() );
-
- ProgramStageInstance oldProgramStageIntance = programStageInstanceService.getProgramStageInstance( Integer.valueOf( mobileProgramStageId ) );
-
+
+ String nextDueDate = eventInfo.substring( eventInfo.indexOf( "$" ) + 1, eventInfo.length() );
+
+ ProgramStageInstance oldProgramStageIntance = programStageInstanceService.getProgramStageInstance( Integer
+ .valueOf( mobileProgramStageId ) );
+
ProgramInstance programInstance = oldProgramStageIntance.getProgramInstance();
-
- ProgramStageInstance newProgramStageInstance = new ProgramStageInstance( programInstance, oldProgramStageIntance.getProgramStage() );
-
+
+ ProgramStageInstance newProgramStageInstance = new ProgramStageInstance( programInstance,
+ oldProgramStageIntance.getProgramStage() );
+
newProgramStageInstance.setDueDate( PeriodUtil.stringToDate( nextDueDate ) );
-
+
newProgramStageInstance.setOrganisationUnit( orgUnit );
-
+
programInstance.getProgramStageInstances().add( newProgramStageInstance );
-
- List<ProgramStageInstance> proStageInstanceList = new ArrayList<ProgramStageInstance>( programInstance.getProgramStageInstances() );
-
+
+ List<ProgramStageInstance> proStageInstanceList = new ArrayList<ProgramStageInstance>(
+ programInstance.getProgramStageInstances() );
+
Collections.sort( proStageInstanceList, new ProgramStageInstanceVisitDateComparator() );
-
+
programInstance.getProgramStageInstances().removeAll( proStageInstanceList );
programInstance.getProgramStageInstances().addAll( proStageInstanceList );
-
+
programStageInstanceService.addProgramStageInstance( newProgramStageInstance );
-
+
programInstanceService.updateProgramInstance( programInstance );
-
- org.hisp.dhis.api.mobile.model.LWUITmodel.Patient mobilePatient = getPatientModel( patientService.getPatient( programInstance.getPatient().getId() ));
-
+
+ org.hisp.dhis.api.mobile.model.LWUITmodel.Patient mobilePatient = getPatientModel( patientService
+ .getPatient( programInstance.getPatient().getId() ) );
+
return mobilePatient;
}
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java 2013-11-25 07:31:02 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientRegistrationFormService.java 2013-12-16 04:27:26 +0000
@@ -218,20 +218,8 @@
value = suggestedMarcher.group( 2 );
}
- String dobType = "";
- if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_BIRTHDATE ) )
- {
- hasBirthdate = true;
- dobType = DOB_FIELD;
- }
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_AGE ) )
- {
- hasAge = true;
- dobType = DOB_FIELD;
- }
-
- inputHtml = dobType + getFixedAttributeField( inputHtml, fixedAttr, value.toString(), healthWorkers, i18n,
- index, hidden, style );
+ inputHtml = getFixedAttributeField( inputHtml, fixedAttr, value.toString(), healthWorkers, i18n, index,
+ hidden, style );
}
else if ( identifierMatcher.find() && identifierMatcher.groupCount() > 0 )
{
@@ -367,7 +355,7 @@
{
dobType = "<input type=\'hidden\' id=\'dobType\' name=\"dobType\" value=\'A\'>";
}
-
+
entryForm = entryForm.replaceFirst( DOB_FIELD, dobType );
entryForm = entryForm.replaceAll( DOB_FIELD, "" );
@@ -455,101 +443,11 @@
private String getFixedAttributeField( String inputHtml, String fixedAttr, String value,
Collection<User> healthWorkers, I18n i18n, int index, String hidden, String style )
{
-
inputHtml = TAG_OPEN + "input id=\"" + fixedAttr + "\" name=\"" + fixedAttr + "\" tabindex=\"" + index
+ "\" value=\"" + value + "\" style=\"" + style + "\"";
- // Fullname fields
- if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_FULLNAME ) )
- {
- inputHtml += " class=\"{validate:{required:true, rangelength:[3,50]}}\" " + hidden + " " + TAG_CLOSE;
- }
-
- // Phone number fields
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_PHONE_NUMBER ) )
- {
- inputHtml += " class=\"{validate:{phone:true}}\" " + hidden + " " + TAG_CLOSE;
- inputHtml += " <input type=\"button\" value=\"+\" style=\"width:20px;\" class=\"phoneNumberTR\" onclick=\"addCustomPhoneNumberField(\'\');\" />";
- }
-
- // Age fields
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_AGE ) )
- {
- inputHtml += " class=\"{validate:{number:true}}\" " + hidden + " " + TAG_CLOSE;
- }
-
- // Gender selector
- if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_GENDER ) )
- {
- inputHtml = inputHtml.replaceFirst( "input", "select" ) + " class='" + hidden + "' >";
-
- if ( value.equals( "" ) || value.equals( Patient.FEMALE ) )
- {
- inputHtml += "<option value=\"M\" >" + i18n.getString( "male" ) + "</option>";
- inputHtml += "<option value=\"F\" selected >" + i18n.getString( "female" ) + "</option>";
- inputHtml += "<option value=\"T\">" + i18n.getString( "transgender" ) + "</option>";
- }
- else if ( value.equals( Patient.MALE ) )
- {
- inputHtml += "<option value=\"M\" selected >" + i18n.getString( "male" ) + "</option>";
- inputHtml += "<option value=\"F\">" + i18n.getString( "female" ) + "</option>";
- inputHtml += "<option value=\"T\">" + i18n.getString( "transgender" ) + "</option>";
- }
- else if ( value.equals( Patient.TRANSGENDER ) )
- {
- inputHtml += "<option value=\"M\">" + i18n.getString( "male" ) + "</option>";
- inputHtml += "<option value=\"F\">" + i18n.getString( "female" ) + "</option>";
- inputHtml += "<option value=\"T\" selected >" + i18n.getString( "transgender" ) + "</option>";
- }
- inputHtml += "</select>";
- }
-
- // Date field
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_BIRTHDATE )
- || fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_DEATH_DATE )
- || fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_REGISTRATION_DATE ) )
- {
- inputHtml += " class='" + hidden + "' " + TAG_CLOSE;
- if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_BIRTHDATE )
- || fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_REGISTRATION_DATE ) )
- {
- inputHtml += "<script>datePickerValid(\"" + fixedAttr + "\", true);</script>";
- }
- else
- {
- inputHtml += "<script>datePickerValid(\"" + fixedAttr + "\", false);</script>";
- }
- }
-
- // DobType field
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_DOB_TYPE ) )
- {
- inputHtml = inputHtml.replaceFirst( "input", "select" ) + " class='" + hidden + "' >";
-
- if ( value.equals( "" ) || value.equals( Patient.DOB_TYPE_VERIFIED + "" ) )
- {
- inputHtml += "<option value=\"V\" selected >" + i18n.getString( "verified" ) + "</option>";
- inputHtml += "<option value=\"D\">" + i18n.getString( "declared" ) + "</option>";
- inputHtml += "<option value=\"A\">" + i18n.getString( "approximated" ) + "</option>";
- }
- else if ( value.equals( Patient.DOB_TYPE_DECLARED + "" ) )
- {
- inputHtml += "<option value=\"V\">" + i18n.getString( "verified" ) + "</option>";
- inputHtml += "<option value=\"D\" selected >" + i18n.getString( "declared" ) + "</option>";
- inputHtml += "<option value=\"A\">" + i18n.getString( "approximated" ) + "</option>";
- }
- else if ( value.equals( Patient.DOB_TYPE_APPROXIMATED + "" ) )
- {
- inputHtml += "<option value=\"V\">" + i18n.getString( "verified" ) + "</option>";
- inputHtml += "<option value=\"D\">" + i18n.getString( "declared" ) + "</option>";
- inputHtml += "<option value=\"A\" selected >" + i18n.getString( "approximated" ) + "</option>";
- }
-
- inputHtml += "</select>";
- }
-
// Health-worker field
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_ASSOCIATE ) )
+ if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_ASSOCIATE ) )
{
inputHtml = inputHtml.replaceFirst( "input", "select" ) + " class='" + hidden + "' >";
inputHtml += "<option value=\"\" selected >" + i18n.getString( "please_select" ) + "</option>";
@@ -566,28 +464,11 @@
inputHtml += "</select>";
}
- // IsDead field
- else if ( fixedAttr.equals( PatientRegistrationForm.FIXED_ATTRIBUTE_IS_DEAD ) )
- {
- inputHtml += " type='checkbox' class='" + hidden + "' ";
-
- if ( value.equals( "true" ) )
- {
- inputHtml += " checked ";
- }
-
- inputHtml += TAG_CLOSE;
- }
-
return inputHtml;
}
private Object getValueFromPatient( String property, Patient patient )
{
- if ( property.equals( Patient.FIXED_ATTR_AGE ) )
- {
- property = Patient.FIXED_ATTR_INTEGER_AGE;
- }
property = StringUtils.capitalize( property );
try
=== 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 2013-11-18 11:50:20 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/DefaultPatientService.java 2013-12-16 04:27:26 +0000
@@ -134,37 +134,34 @@
patientAttributeValueService.savePatientAttributeValue( pav );
patient.getAttributeValues().add( pav );
}
-
+
// ---------------------------------------------------------------------
// If under age, save representative information
// ---------------------------------------------------------------------
- if ( patient.isUnderAge() )
+ if ( representativeId != null )
{
- if ( representativeId != null )
+ Patient representative = patientStore.get( representativeId );
+ if ( representative != null )
{
- Patient representative = patientStore.get( representativeId );
- if ( representative != null )
+ patient.setRepresentative( representative );
+
+ Relationship rel = new Relationship();
+ rel.setPatientA( representative );
+ rel.setPatientB( patient );
+
+ if ( relationshipTypeId != null )
{
- patient.setRepresentative( representative );
-
- Relationship rel = new Relationship();
- rel.setPatientA( representative );
- rel.setPatientB( patient );
-
- if ( relationshipTypeId != null )
+ RelationshipType relType = relationshipTypeService.getRelationshipType( relationshipTypeId );
+ if ( relType != null )
{
- RelationshipType relType = relationshipTypeService.getRelationshipType( relationshipTypeId );
- if ( relType != null )
- {
- rel.setRelationshipType( relType );
- relationshipService.saveRelationship( rel );
- }
+ rel.setRelationshipType( relType );
+ relationshipService.saveRelationship( rel );
}
}
}
}
-
+
updatePatient( patient ); // Save patient to update associations
return id;
@@ -201,12 +198,6 @@
}
@Override
- public Collection<Patient> getPatients( String name, Date birthdate, String gender )
- {
- return patientStore.get( name, birthdate, gender );
- }
-
- @Override
public Collection<Patient> getPatients( String searchText, Integer min, Integer max )
{
int countPatientName = patientStore.countGetPatientsByName( searchText );
@@ -276,30 +267,35 @@
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatients( OrganisationUnit organisationUnit, Integer min, Integer max )
{
return patientStore.getByOrgUnit( organisationUnit, min, max );
}
-
+
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatients( Program program )
{
return patientStore.getByProgram( program, 0, Integer.MAX_VALUE );
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatients( OrganisationUnit organisationUnit, Program program )
{
return patientStore.getByOrgUnitProgram( organisationUnit, program, 0, Integer.MAX_VALUE );
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatientsLikeName( OrganisationUnit organisationUnit, String name, Integer min,
Integer max )
{
return patientStore.getByOrgUnitAndNameLike( organisationUnit, name, min, max );
}
+ @SuppressWarnings( "unchecked" )
@Override
public Collection<Patient> getPatient( Integer identifierTypeId, Integer attributeId, String value )
{
@@ -327,12 +323,9 @@
}
}
}
- else
- {
- return patientStore.getByNames( value, null, null );
- }
+
+ return patientStore.getByNames( value, null, null );
- return null;
}
@Override
@@ -371,6 +364,7 @@
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatientsByNames( String name, Integer min, Integer max )
{
return patientStore.getByNames( name.toLowerCase(), min, max );
@@ -444,16 +438,16 @@
private boolean shouldSaveRepresentativeInformation( Patient patient, Integer representativeId )
{
- if ( !patient.isUnderAge() )
- return false;
-
if ( representativeId == null )
+ {
return false;
+ }
return patient.getRepresentative() == null || !(patient.getRepresentative().getId() == representativeId);
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatients( OrganisationUnit organisationUnit, Program program, Integer min, Integer max )
{
return patientStore.getByOrgUnitProgram( organisationUnit, program, min, max );
@@ -499,11 +493,15 @@
return null;
}
+ @Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getRepresentatives( Patient patient )
{
return patientStore.getRepresentatives( patient );
}
+ @Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> searchPatients( List<String> searchKeys, Collection<OrganisationUnit> orgunits,
Boolean followup, Collection<PatientAttribute> patientAttributes,
Collection<PatientIdentifierType> identifierTypes, Integer statusEnrollment, Integer min, Integer max )
@@ -512,12 +510,15 @@
statusEnrollment, min, max );
}
+ @Override
public int countSearchPatients( List<String> searchKeys, Collection<OrganisationUnit> orgunits, Boolean followup,
Integer statusEnrollment )
{
return patientStore.countSearch( searchKeys, orgunits, followup, statusEnrollment );
}
+ @Override
+ @SuppressWarnings( "unchecked" )
public Collection<String> getPatientPhoneNumbers( List<String> searchKeys, Collection<OrganisationUnit> orgunits,
Boolean followup, Integer statusEnrollment, Integer min, Integer max )
{
@@ -537,6 +538,8 @@
return phoneNumbers;
}
+ @Override
+ @SuppressWarnings( "unchecked" )
public List<Integer> getProgramStageInstances( List<String> searchKeys, Collection<OrganisationUnit> orgunits,
Boolean followup, Integer statusEnrollment, Integer min, Integer max )
{
@@ -545,6 +548,7 @@
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatientsByPhone( String phoneNumber, Integer min, Integer max )
{
return patientStore.getByPhoneNumber( phoneNumber, min, max );
@@ -640,20 +644,16 @@
}
@Override
+ @SuppressWarnings( "unchecked" )
public Collection<Patient> getPatientByFullname( String fullName, OrganisationUnit organisationUnit )
{
return patientStore.getByFullName( fullName, organisationUnit );
}
@Override
- public Collection<Integer> getRegistrationOrgunitIds( Date startDate, Date endDate )
- {
- return patientStore.getRegistrationOrgunitIds( startDate, endDate );
- }
-
- @Override
public int validatePatient( Patient patient, Program program )
{
return patientStore.validate( patient, 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 2013-09-19 05:24:04 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/PatientDeletionHandler.java 2013-12-16 04:27:26 +0000
@@ -65,7 +65,6 @@
for ( Patient representative : representatives )
{
representative.setRepresentative( null );
- representative.setUnderAge( false );
patientService.updatePatient( representative );
}
}
=== 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-12-10 08:51:03 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/hibernate/HibernatePatientStore.java 2013-12-16 04:27:26 +0000
@@ -28,13 +28,27 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+import static org.hisp.dhis.patient.Patient.PREFIX_IDENTIFIER_TYPE;
+import static org.hisp.dhis.patient.Patient.PREFIX_PATIENT_ATTRIBUTE;
+import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM;
+import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM_EVENT_BY_STATUS;
+import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM_INSTANCE;
+import static org.hisp.dhis.patient.Patient.PREFIX_PROGRAM_STAGE;
+
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.criterion.Conjunction;
import org.hibernate.criterion.Disjunction;
-import org.hibernate.criterion.Order;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hisp.dhis.common.Grid;
@@ -56,21 +70,10 @@
import org.hisp.dhis.system.grid.GridUtils;
import org.hisp.dhis.system.util.SqlHelper;
import org.hisp.dhis.system.util.TextUtils;
-import org.hisp.dhis.validation.ValidationCriteria;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.support.rowset.SqlRowSet;
import org.springframework.transaction.annotation.Transactional;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.List;
-
-import static org.hisp.dhis.patient.Patient.*;
-
/**
* @author Abyot Asalefew Gizaw
*/
@@ -109,22 +112,6 @@
@Override
@SuppressWarnings( "unchecked" )
- public Collection<Patient> get( String name, Date birthdate, String gender )
- {
- Criteria criteria = getCriteria();
- Conjunction con = Restrictions.conjunction();
- con.add( Restrictions.ilike( "name", name ) );
- con.add( Restrictions.eq( "gender", gender ) );
- con.add( Restrictions.eq( "birthDate", birthdate ) );
- criteria.add( con );
-
- criteria.addOrder( Order.asc( "name" ) );
-
- return criteria.list();
- }
-
- @Override
- @SuppressWarnings( "unchecked" )
public Collection<Patient> getByOrgUnit( OrganisationUnit organisationUnit, Integer min, Integer max )
{
String hql = "select p from Patient p where p.organisationUnit = :organisationUnit order by p.id DESC";
@@ -433,15 +420,15 @@
}
}
- if ( program != null )
- {
- ValidationCriteria validationCriteria = program.isValid( patient );
-
- if ( validationCriteria != null )
- {
- return PatientService.ERROR_ENROLLMENT;
- }
- }
+// if ( program != null )
+// {
+// ValidationCriteria validationCriteria = program.isValid( patient );
+//
+// if ( validationCriteria != null )
+// {
+// return PatientService.ERROR_ENROLLMENT;
+// }
+// }
return PatientService.ERROR_NONE;
}
@@ -455,7 +442,7 @@
Collection<PatientIdentifierType> identifierTypes, Integer statusEnrollment, Integer min, Integer max )
{
String selector = count ? "count(*) " : "* ";
- String sql = "select " + selector + " from ( select distinct p.patientid, p.name, p.gender, p.phonenumber,";
+ String sql = "select " + selector + " from ( select distinct p.patientid, p.name, p.phonenumber,";
if ( identifierTypes != null )
{
@@ -478,7 +465,7 @@
String patientWhere = "";
String patientOperator = " where ";
- String patientGroupBy = " GROUP BY p.patientid, p.name, p.gender, p.phonenumber ";
+ String patientGroupBy = " GROUP BY p.patientid, p.name, p.phonenumber ";
String otherWhere = "";
String operator = " where ";
String orderBy = "";
@@ -509,29 +496,7 @@
value = keys[2];
}
- if ( keys[0].equals( PREFIX_FIXED_ATTRIBUTE ) )
- {
- patientWhere += patientOperator;
-
- if ( id.equals( FIXED_ATTR_BIRTH_DATE ) )
- {
- patientWhere += " p." + id + value;
- }
- else if ( id.equals( FIXED_ATTR_AGE ) )
- {
- patientWhere += " ((DATE(now()) - DATE(birthdate))/365) " + value;
- }
- else if ( id.equals( FIXED_ATTR_REGISTRATION_DATE ) )
- {
- patientWhere += "p." + id + value;
- }
- else
- {
- patientWhere += " lower(p." + id + ")='" + value + "'";
- }
- patientOperator = " and ";
- }
- else if ( keys[0].equals( PREFIX_IDENTIFIER_TYPE ) )
+ if ( keys[0].equals( PREFIX_IDENTIFIER_TYPE ) )
{
String[] keyValues = id.split( " " );
@@ -852,7 +817,8 @@
{
for ( OrganisationUnit orgunit : orgunits )
{
- orgUnitIds.addAll( organisationUnitService.getOrganisationUnitHierarchy().getChildren( orgunit.getId() ) );
+ orgUnitIds
+ .addAll( organisationUnitService.getOrganisationUnitHierarchy().getChildren( orgunit.getId() ) );
orgUnitIds.remove( orgunit.getId() );
}
}
@@ -881,4 +847,4 @@
return orgUnitIds;
}
-}
+}
\ No newline at end of file
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java 2013-12-05 10:41:52 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/patient/startup/TableAlteror.java 2013-12-16 04:27:26 +0000
@@ -38,15 +38,20 @@
import org.amplecode.quick.StatementManager;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.hisp.dhis.caseaggregation.CaseAggregationCondition;
import org.hisp.dhis.common.CodeGenerator;
import org.hisp.dhis.dataelement.DataElement;
import org.hisp.dhis.dataelement.DataElementService;
import org.hisp.dhis.dataentryform.DataEntryForm;
import org.hisp.dhis.dataentryform.DataEntryFormService;
+import org.hisp.dhis.patient.PatientAttribute;
import org.hisp.dhis.program.ProgramStage;
import org.hisp.dhis.program.ProgramStageService;
import org.hisp.dhis.system.startup.AbstractStartupRoutine;
+import org.hisp.dhis.system.util.DateUtils;
import org.hisp.dhis.system.util.ValidationUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.transaction.annotation.Transactional;
/**
@@ -95,6 +100,9 @@
this.dataEntryFormService = dataEntryFormService;
}
+ @Autowired
+ private JdbcTemplate jdbcTemplate;
+
// -------------------------------------------------------------------------
// Action Implementation
// -------------------------------------------------------------------------
@@ -276,6 +284,8 @@
executeSql( "ALTER TABLE programstageinstance ALTER COLUMN executiondate TYPE timestamp" );
updateCoordinatesProgramStageInstance();
+
+ addPatientAttributes();
}
// -------------------------------------------------------------------------
@@ -442,6 +452,204 @@
}
}
+ private void addPatientAttributes()
+ {
+ int max = jdbcTemplate.queryForInt( "select max(patientattributeid) from patientattribute" );
+
+ // ---------------------------------------------------------------------
+ // Gender
+ // ---------------------------------------------------------------------
+
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, name, description, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','Gender', 'Gender','" + PatientAttribute.TYPE_COMBO + "', false, false, false)" );
+
+ int maxOpt = jdbcTemplate.queryForInt( "select max(patientattributeoptionid) from patientattributeoption" );
+ maxOpt++;
+ executeSql( "INSERT INTO patientattributeoption (patientattributeoptionid, name, patientattributeid ) VALUES ('"
+ + maxOpt + "', 'F'," + max + ")" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value, patientattributeoptionid ) SELECT patientid,"
+ + max + ",'F'," + maxOpt + " from patient where gender='F'" );
+
+ maxOpt++;
+ executeSql( "INSERT INTO patientattributeoption (patientattributeoptionid, name, patientattributeid ) VALUES ('"
+ + maxOpt + "', 'M'," + max + ")" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value, patientattributeoptionid ) SELECT patientid,"
+ + max + ",'M'," + maxOpt + " from patient where gender='M'" );
+
+ maxOpt++;
+ executeSql( "INSERT INTO patientattributeoption (patientattributeoptionid, name, patientattributeid ) VALUES ('"
+ + maxOpt + "', 'T'," + max + ")" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value, patientattributeoptionid ) SELECT patientid,"
+ + max + ",'T'," + maxOpt + " from patient where gender='T'" );
+
+ // Update Case Aggregate Query Builder
+ String source = "[CP" + CaseAggregationCondition.SEPARATOR_OBJECT + "gender]";
+ String target = "[" + CaseAggregationCondition.OBJECT_PATIENT_ATTRIBUTE
+ + CaseAggregationCondition.SEPARATOR_OBJECT + max + "]";
+ updateFixedAttributeInCaseAggregate( source, target );
+
+ // ---------------------------------------------------------------------
+ // Death date
+ // ---------------------------------------------------------------------
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, name, description, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','Death date', 'Death date','" + PatientAttribute.TYPE_DATE + "', false, false, false)" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value ) SELECT patientid," + max
+ + ",deathDate from patient where deathDate is not null" );
+
+ // ---------------------------------------------------------------------
+ // registrationDate
+ // ---------------------------------------------------------------------
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, name, description, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','Registration date', 'Registration date','" + PatientAttribute.TYPE_DATE + "', false, false, false)" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value ) SELECT patientid," + max
+ + ",registrationDate from patient where registrationDate is not null" );
+
+ // ---------------------------------------------------------------------
+ // isDead
+ // ---------------------------------------------------------------------
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, name, description, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','Is Dead', 'Is Dead','" + PatientAttribute.TYPE_TRUE_ONLY + "', false, false, false)" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value ) SELECT patientid," + max
+ + ",isDead from patient where isDead is not null" );
+
+ // ---------------------------------------------------------------------
+ // underAge
+ // ---------------------------------------------------------------------
+
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, description, name, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','Is under age', 'Is under age','" + PatientAttribute.TYPE_TRUE_ONLY + "', false, false, false)" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value ) SELECT patientid," + max
+ + ",isDead from patient where underAge=true" );
+
+ // ---------------------------------------------------------------------
+ // DobType
+ // ---------------------------------------------------------------------
+
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, description, name, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','DOB type', 'DOB type','" + PatientAttribute.TYPE_COMBO + "', false, false, false)" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value ) SELECT patientid," + max
+ + ",dobType from patient where dobType is not null" );
+
+ maxOpt++;
+ executeSql( "INSERT INTO patientattributeoption (patientattributeoptionid, name, patientattributeid ) VALUES ('"
+ + maxOpt + "', 'A'," + max + ")" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value, patientattributeoptionid ) SELECT patientid,"
+ + max + ",'A'," + maxOpt + " from patient where dobType='A'" );
+
+ maxOpt++;
+ executeSql( "INSERT INTO patientattributeoption (patientattributeoptionid, name, patientattributeid ) VALUES ('"
+ + maxOpt + "', 'D'," + max + ")" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value, patientattributeoptionid ) SELECT patientid,"
+ + max + ",'D'," + maxOpt + " from patient where dobType='D'" );
+
+ maxOpt++;
+ executeSql( "INSERT INTO patientattributeoption (patientattributeoptionid, name, patientattributeid ) VALUES ('"
+ + maxOpt + "', 'V'," + max + ")" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value, patientattributeoptionid ) SELECT patientid,"
+ + max + ",'V'," + maxOpt + " from patient where dobType='V'" );
+
+ // Update Case Aggregate Query Builder
+ source = "[CP" + CaseAggregationCondition.SEPARATOR_OBJECT + "dobType]";
+ target = "[" + CaseAggregationCondition.OBJECT_PATIENT_ATTRIBUTE + CaseAggregationCondition.SEPARATOR_OBJECT
+ + max + "]";
+ updateFixedAttributeInCaseAggregate( source, target );
+
+ // ---------------------------------------------------------------------
+ // Birthdate
+ // ---------------------------------------------------------------------
+
+ max++;
+ executeSql( "INSERT INTO patientattribute (patientattributeid, uid, lastUpdated, name, description, valueType, mandatory, inherit, displayOnVisitSchedule ) VALUES ("
+ + max
+ + ",'"
+ + CodeGenerator.generateCode()
+ + "','"
+ + DateUtils.getMediumDateString()
+ + "','Birth date', 'Birth date','" + PatientAttribute.TYPE_DATE + "', false, false, false)" );
+ executeSql( "INSERT INTO patientattributevalue (patientid, patientattributeid, value ) SELECT patientid," + max
+ + ",birthdate from patient where birthdate is not null" );
+
+ // Update Case Aggregate Query Builder
+ source = "[CP" + CaseAggregationCondition.SEPARATOR_OBJECT + "age]";
+ target = "[" + CaseAggregationCondition.OBJECT_PATIENT_ATTRIBUTE + CaseAggregationCondition.SEPARATOR_OBJECT
+ + max + ".age]";
+ updateFixedAttributeInCaseAggregate( source, target );
+
+ // executeSql( "ALTER TABLE patient DROP COLUMN deathDate" );
+ // executeSql( "ALTER TABLE patient DROP COLUMN registrationDate" );
+ // executeSql( "ALTER TABLE patient DROP COLUMN isDead" );
+ // executeSql( "ALTER TABLE patient DROP COLUMN underAge" );
+ // executeSql( "ALTER TABLE patient DROP COLUMN dobType" );
+ // executeSql( "ALTER TABLE patient DROP COLUMN birthdate" );
+ }
+
+ private void updateFixedAttributeInCaseAggregate( String source, String target )
+ {
+ StatementHolder holder = statementManager.getHolder();
+ try
+ {
+ Statement statement = holder.getStatement();
+
+ ResultSet resultSet = statement
+ .executeQuery( "SELECT caseaggregationconditionid, aggregationExpression FROM caseaggregationcondition where aggregationExpression like '%"
+ + source + "%'" );
+
+ while ( resultSet.next() )
+ {
+ String id = resultSet.getString( "caseaggregationconditionid" );
+ String expression = resultSet.getString( "aggregationExpression" );
+
+ expression = expression.replaceAll( source, target );
+ executeSql( "UPDATE caseaggregationcondition SET aggregationExpression='" + expression
+ + "' WHERE caseaggregationconditionid=" + id );
+ }
+ }
+ catch ( Exception ex )
+ {
+ log.debug( ex );
+ }
+ finally
+ {
+ holder.close();
+ }
+ }
+
private int executeSql( String sql )
{
try
@@ -451,7 +659,6 @@
catch ( Exception ex )
{
log.debug( ex );
-
return -1;
}
}
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java'
--- dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java 2013-11-14 08:17:57 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/java/org/hisp/dhis/program/DefaultProgramInstanceService.java 2013-12-16 04:27:26 +0000
@@ -282,31 +282,6 @@
// Add fixed attribues
// ---------------------------------------------------------------------
- if ( patient.getGender() != null )
- {
- attrGrid.addRow();
- attrGrid.addValue( i18n.getString( "gender" ) );
- attrGrid.addValue( i18n.getString( patient.getGender() ) );
- }
-
- if ( patient.getBirthDate() != null )
- {
- attrGrid.addRow();
- attrGrid.addValue( i18n.getString( "date_of_birth" ) );
- attrGrid.addValue( format.formatDate( patient.getBirthDate() ) );
-
- attrGrid.addRow();
- attrGrid.addValue( i18n.getString( "age" ) );
- attrGrid.addValue( patient.getAge() );
- }
-
- if ( patient.getDobType() != null )
- {
- attrGrid.addRow();
- attrGrid.addValue( i18n.getString( "dob_type" ) );
- attrGrid.addValue( i18n.getString( patient.getDobType() + "" ) );
- }
-
attrGrid.addRow();
attrGrid.addValue( i18n.getString( "phoneNumber" ) );
attrGrid
@@ -542,7 +517,7 @@
{
return programInstanceStore.getByStatus( status, program, orgunitIds, startDate, endDate );
}
-
+
public Collection<SchedulingProgramObject> getScheduleMesssages()
{
Collection<SchedulingProgramObject> result = programInstanceStore
@@ -607,16 +582,6 @@
public ProgramInstance enrollPatient( Patient patient, Program program, Date enrollmentDate, Date dateOfIncident,
OrganisationUnit organisationUnit, I18nFormat format )
{
- if ( enrollmentDate == null )
- {
- enrollmentDate = program.getUseBirthDateAsIncidentDate() ? patient.getBirthDate() : new Date();
- }
-
- if ( dateOfIncident == null )
- {
- dateOfIncident = program.getUseBirthDateAsIncidentDate() ? patient.getBirthDate() : enrollmentDate;
- }
-
// ---------------------------------------------------------------------
// Add program instance
// ---------------------------------------------------------------------
@@ -624,10 +589,26 @@
ProgramInstance programInstance = new ProgramInstance();
programInstance.enrollPatient( patient, program );
- programInstance.setEnrollmentDate( enrollmentDate );
- programInstance.setDateOfIncident( dateOfIncident );
+
+ if ( enrollmentDate != null )
+ {
+ programInstance.setEnrollmentDate( enrollmentDate );
+ }
+ else
+ {
+ programInstance.setEnrollmentDate( new Date() );
+ }
+
+ if ( dateOfIncident != null )
+ {
+ programInstance.setDateOfIncident( dateOfIncident );
+ }
+ else
+ {
+ programInstance.setDateOfIncident( new Date() );
+ }
+
programInstance.setStatus( ProgramInstance.STATUS_ACTIVE );
-
addProgramInstance( programInstance );
// ---------------------------------------------------------------------
@@ -637,10 +618,10 @@
for ( ProgramStage programStage : program.getProgramStages() )
{
if ( programStage.getAutoGenerateEvent() )
- {
+ {
ProgramStageInstance programStageInstance = generateEvent( programInstance, programStage,
- enrollmentDate, dateOfIncident, organisationUnit );
-
+ programInstance.getEnrollmentDate(), programInstance.getDateOfIncident(), organisationUnit );
+
if ( programStageInstance != null )
{
programStageInstanceService.addProgramStageInstance( programStageInstance );
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patient/hibernate/Patient.hbm.xml'
--- dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patient/hibernate/Patient.hbm.xml 2013-11-25 07:31:02 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/main/resources/org/hisp/dhis/patient/hibernate/Patient.hbm.xml 2013-12-16 04:27:26 +0000
@@ -13,23 +13,9 @@
&identifiableProperties;
<property name="name" column="name" length="230" />
-
- <property name="birthDate" column="birthdate" />
-
- <property name="deathDate" column="deathdate" />
-
- <property name="registrationDate" column="registrationdate" not-null="true" />
-
- <property name="isDead" column="isdead" />
-
- <property name="gender" column="gender" length="5" />
-
+
<property name="phoneNumber" length="25" />
-
- <property name="underAge" column="underage" />
-
- <property name="dobType" column="dobType" />
-
+
<set name="identifiers" inverse="true">
<key column="patientid" />
<one-to-many class="org.hisp.dhis.patient.PatientIdentifier" />
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientServiceTest.java'
--- dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientServiceTest.java 2013-11-18 11:50:20 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientServiceTest.java 2013-12-16 04:27:26 +0000
@@ -33,7 +33,6 @@
import static org.junit.Assert.assertTrue;
import java.util.ArrayList;
-import java.util.Calendar;
import java.util.Collection;
import java.util.Date;
import java.util.HashSet;
@@ -52,7 +51,6 @@
import org.hisp.dhis.program.ProgramStageInstance;
import org.hisp.dhis.relationship.RelationshipType;
import org.hisp.dhis.relationship.RelationshipTypeService;
-import org.hisp.dhis.validation.ValidationCriteria;
import org.hisp.dhis.validation.ValidationCriteriaService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -119,7 +117,7 @@
{
organisationUnit = createOrganisationUnit( 'A' );
organisationUnitService.addOrganisationUnit( organisationUnit );
-
+
OrganisationUnit organisationUnitB = createOrganisationUnit( 'B' );
organisationUnitService.addOrganisationUnit( organisationUnitB );
@@ -129,10 +127,10 @@
patientAttribute = createPatientAttribute( 'A' );
attributeId = patientAttributeService.savePatientAttribute( patientAttribute );
- patientA1 = createPatient( 'A', "F", organisationUnit );
- patientA2 = createPatient( 'A', "F", organisationUnitB );
+ patientA1 = createPatient( 'A', organisationUnit );
+ patientA2 = createPatient( 'A', organisationUnitB );
patientA3 = createPatient( 'A', organisationUnit, patientIdentifierType );
- patientB1 = createPatient( 'B', "M", organisationUnit );
+ patientB1 = createPatient( 'B', organisationUnit );
patientB2 = createPatient( 'B', organisationUnit );
programA = createProgram( 'A', new HashSet<ProgramStage>(), organisationUnit );
@@ -215,20 +213,6 @@
}
@Test
- public void testGetByNameGenderBirthdate()
- {
- patientService.savePatient( patientA1 );
- patientService.savePatient( patientA2 );
-
- Collection<Patient> patients = patientService.getPatients( "NameA", patientA1.getBirthDate(),
- patientA1.getGender() );
-
- assertEquals( 2, patients.size() );
- assertTrue( patients.contains( patientA1 ) );
- assertTrue( patients.contains( patientA2 ) );
- }
-
- @Test
public void testGetPatientsByNames()
{
patientService.savePatient( patientA1 );
@@ -292,7 +276,7 @@
public void testGetPatientsbyOuProgram()
{
programService.addProgram( programA );
-
+
patientService.savePatient( patientA1 );
patientService.savePatient( patientA2 );
patientService.savePatient( patientA3 );
@@ -333,12 +317,12 @@
patientAttributeValues.add( attributeValue );
patientService.createPatient( patientA3, null, null, patientAttributeValues );
-
+
Collection<Patient> patients = patientService.getPatient( null, attributeId, "AttributeA" );
assertEquals( 1, patients.size() );
assertTrue( patients.contains( patientA3 ) );
-
+
Patient patient = patients.iterator().next();
assertEquals( 1, patient.getAttributeValues().size() );
assertTrue( patient.getAttributeValues().contains( attributeValue ) );
@@ -416,7 +400,6 @@
RelationshipType relationshipType = createRelationshipType( 'A' );
int relationshipTypeId = relationshipTypeService.saveRelationshipType( relationshipType );
- patientA1.setUnderAge( true );
PatientAttributeValue attributeValue = createPatientAttributeValue( 'A', patientA1, patientAttribute );
Set<PatientAttributeValue> patientAttributeValues = new HashSet<PatientAttributeValue>();
patientAttributeValues.add( attributeValue );
@@ -433,7 +416,6 @@
RelationshipType relationshipType = createRelationshipType( 'A' );
int relationshipTypeId = relationshipTypeService.saveRelationshipType( relationshipType );
- patientA3.setUnderAge( true );
patientA3.setName( "B" );
PatientAttributeValue attributeValue = createPatientAttributeValue( 'A', patientA3, patientAttribute );
Set<PatientAttributeValue> patientAttributeValues = new HashSet<PatientAttributeValue>();
@@ -442,10 +424,11 @@
assertNotNull( patientService.getPatient( idA ) );
attributeValue.setValue( "AttributeB" );
- List<PatientAttributeValue> attributeValues = new ArrayList<PatientAttributeValue>(); //TODO use set
+ List<PatientAttributeValue> attributeValues = new ArrayList<PatientAttributeValue>();
attributeValues.add( attributeValue );
- patientService.updatePatient( patientA3, idB, relationshipTypeId, attributeValues, new ArrayList<PatientAttributeValue>(), new ArrayList<PatientAttributeValue>() );
+ patientService.updatePatient( patientA3, idB, relationshipTypeId, attributeValues,
+ new ArrayList<PatientAttributeValue>(), new ArrayList<PatientAttributeValue>() );
assertEquals( "B", patientService.getPatient( idA ).getName() );
}
@@ -614,43 +597,4 @@
assertTrue( patients.contains( patientB2 ) );
}
- @Test
- public void testGetRegistrationOrgunitIds()
- {
- patientService.savePatient( patientA1 );
- patientService.savePatient( patientB1 );
- patientService.savePatient( patientB2 );
-
- Calendar yesterday = Calendar.getInstance();
- yesterday.add( Calendar.DATE, -1 );
- Calendar tomorrow = Calendar.getInstance();
- tomorrow.add( Calendar.DATE, 1 );
-
- Collection<Integer> orgunitIds = patientService.getRegistrationOrgunitIds( yesterday.getTime(),
- tomorrow.getTime() );
-
- assertEquals( 1, orgunitIds.size() );
- assertEquals( organisationUnit.getId(), orgunitIds.iterator().next().intValue() );
- }
-
- @Test
- public void testValidatePatient()
- {
- programService.addProgram( programA );
-
- ValidationCriteria validationCriteria = createValidationCriteria( 'A', "gender", 0, "F" );
- validationCriteriaService.saveValidationCriteria( validationCriteria );
-
- programA.getPatientValidationCriteria().add( validationCriteria );
- programService.updateProgram( programA );
-
- patientService.savePatient( patientA1 );
- patientService.savePatient( patientB1 );
-
- int validatePatientA1 = patientService.validatePatient( patientA1, programA );
- int validatePatientB1 = patientService.validatePatient( patientB1, programA );
-
- assertEquals( 0, validatePatientA1 );
- assertEquals( 2, validatePatientB1 );
- }
}
=== modified file 'dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientStoreTest.java'
--- dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientStoreTest.java 2013-12-06 16:26:51 +0000
+++ dhis-2/dhis-services/dhis-service-patient/src/test/java/org/hisp/dhis/patient/PatientStoreTest.java 2013-12-16 04:27:26 +0000
@@ -49,7 +49,6 @@
import org.hisp.dhis.program.ProgramService;
import org.hisp.dhis.program.ProgramStage;
import org.hisp.dhis.program.ProgramStageInstance;
-import org.hisp.dhis.validation.ValidationCriteria;
import org.hisp.dhis.validation.ValidationCriteriaService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -121,10 +120,10 @@
patientAttribute = createPatientAttribute( 'A' );
attributeId = patientAttributeService.savePatientAttribute( patientAttribute );
- patientA1 = createPatient( 'A', "F", organisationUnit );
- patientA2 = createPatient( 'A', "F", organisationUnitB );
+ patientA1 = createPatient( 'A', organisationUnit );
+ patientA2 = createPatient( 'A', organisationUnitB );
patientA3 = createPatient( 'A', organisationUnit, patientIdentifierType );
- patientB1 = createPatient( 'B', "M", organisationUnit );
+ patientB1 = createPatient( 'B', organisationUnit );
patientB2 = createPatient( 'B', organisationUnit );
programA = createProgram( 'A', new HashSet<ProgramStage>(), organisationUnit );
@@ -271,19 +270,6 @@
}
@Test
- public void testGetByNameGenderBirthdate()
- {
- patientStore.save( patientA1 );
- patientStore.save( patientA2 );
-
- Collection<Patient> patients = patientStore.get( "NameA", patientA1.getBirthDate(), patientA1.getGender() );
-
- assertEquals( 2, patients.size() );
- assertTrue( patients.contains( patientA1 ) );
- assertTrue( patients.contains( patientA2 ) );
- }
-
- @Test
public void testGetByOrgUnitAndNameLike()
{
patientStore.save( patientA1 );
@@ -354,27 +340,6 @@
}
@Test
- public void testValidate()
- {
- programService.addProgram( programA );
-
- ValidationCriteria validationCriteria = createValidationCriteria( 'A', "gender", 0, "F" );
- validationCriteriaService.saveValidationCriteria( validationCriteria );
-
- programA.getPatientValidationCriteria().add( validationCriteria );
- programService.updateProgram( programA );
-
- patientStore.save( patientA1 );
- patientStore.save( patientB1 );
-
- int validatePatientA1 = patientStore.validate( patientA1, programA );
- int validatePatientB1 = patientStore.validate( patientB1, programA );
-
- assertEquals( 0, validatePatientA1 );
- assertEquals( 2, validatePatientB1 );
- }
-
- @Test
public void testQuery()
{
patientStore.save( patientA1 );
@@ -382,11 +347,11 @@
patientStore.save( patientA3 );
patientStore.save( patientB1 );
patientStore.save( patientB2 );
-
+
TrackedEntityQueryParams params = new TrackedEntityQueryParams();
-
+
List<Patient> list = patientStore.query( params );
-
+
assertEquals( 5, list.size() );
}
}
=== modified file 'dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java'
--- dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java 2013-11-14 08:17:57 +0000
+++ dhis-2/dhis-support/dhis-support-test/src/main/java/org/hisp/dhis/DhisConvenienceTest.java 2013-12-16 04:27:26 +0000
@@ -1005,27 +1005,7 @@
patient.setAutoFields();
patient.setName( "Name" + uniqueChar );
- patient.setGender( Patient.MALE );
- patient.setDobType( Patient.DOB_TYPE_VERIFIED );
- patient.setBirthDate( getDate( 1970, 1, 1 ) );
- patient.setPhoneNumber( "123456789" );
- patient.setRegistrationDate( new Date() );
- patient.setOrganisationUnit( organisationUnit );
-
- return patient;
- }
-
- public static Patient createPatient( char uniqueChar, String gender, OrganisationUnit organisationUnit )
- {
- Patient patient = new Patient();
- patient.setAutoFields();
-
- patient.setName( "Name" + uniqueChar );
- patient.setGender( gender );
- patient.setDobType( Patient.DOB_TYPE_VERIFIED );
- patient.setBirthDate( getDate( 1970, 1, 1 ) );
- patient.setPhoneNumber( "123456789" );
- patient.setRegistrationDate( new Date() );
+ patient.setPhoneNumber( "123456789" );
patient.setOrganisationUnit( organisationUnit );
return patient;
@@ -1038,10 +1018,6 @@
patient.setAutoFields();
patient.setName( "Name" + uniqueChar );
- patient.setGender( Patient.MALE );
- patient.setDobType( Patient.DOB_TYPE_VERIFIED );
- patient.setBirthDate( getDate( 1970, 1, 1 ) );
- patient.setRegistrationDate( new Date() );
patient.setOrganisationUnit( organisationUnit );
PatientIdentifier pIdentifier = new PatientIdentifier();
=== 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-11-25 07:31:02 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddPatientAction.java 2013-12-16 04:27:26 +0000
@@ -38,9 +38,6 @@
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.struts2.ServletActionContext;
-import org.hisp.dhis.i18n.I18nFormat;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager;
import org.hisp.dhis.patient.Patient;
import org.hisp.dhis.patient.PatientAttribute;
import org.hisp.dhis.patient.PatientAttributeOption;
@@ -77,16 +74,12 @@
// Dependencies
// -------------------------------------------------------------------------
- private I18nFormat format;
-
private PatientService patientService;
private PatientIdentifierService patientIdentifierService;
private PatientIdentifierTypeService patientIdentifierTypeService;
- private OrganisationUnitSelectionManager selectionManager;
-
private PatientAttributeService patientAttributeService;
private PatientAttributeOptionService patientAttributeOptionService;
@@ -105,18 +98,8 @@
private String fullName;
- private String birthDate;
-
- private Integer age;
-
- private Boolean verified;
-
- private String gender;
-
private String[] phoneNumber;
- private String registrationDate;
-
private boolean underAge;
private Integer representativeId;
@@ -125,10 +108,6 @@
private Integer healthWorker;
- private boolean isDead;
-
- private String deathDate;
-
private Integer relationshipId;
private boolean relationshipFromA;
@@ -141,12 +120,6 @@
public String execute()
{
- // ---------------------------------------------------------------------
- // Prepare values
- // ---------------------------------------------------------------------
-
- OrganisationUnit organisationUnit = selectionManager.getSelectedOrganisationUnit();
-
Patient patient = new Patient();
// ---------------------------------------------------------------------
@@ -178,62 +151,11 @@
patient.setPhoneNumber( phone );
}
- patient.setGender( gender );
- patient.setIsDead( false );
- patient.setUnderAge( underAge );
- patient.setOrganisationUnit( organisationUnit );
- patient.setIsDead( isDead );
-
- if ( deathDate != null )
- {
- deathDate = deathDate.trim();
- patient.setDeathDate( format.parseDate( deathDate ) );
- }
-
if ( healthWorker != null )
{
patient.setAssociate( userService.getUser( healthWorker ) );
}
- Date _birthDate = new Date();
- if ( birthDate != null || age != null )
- {
- verified = (verified == null) ? false : verified;
-
- Character dobType = (verified) ? Patient.DOB_TYPE_VERIFIED : Patient.DOB_TYPE_DECLARED;
-
- if ( !verified && age != null )
- {
- dobType = 'A';
- }
-
- if ( dobType == Patient.DOB_TYPE_VERIFIED || dobType == Patient.DOB_TYPE_DECLARED )
- {
- birthDate = birthDate.trim();
- patient.setBirthDate( format.parseDate( birthDate ) );
- }
- else
- {
- patient.setBirthDateFromAge( age.intValue(), Patient.AGE_TYPE_YEAR );
- }
-
- _birthDate = patient.getBirthDate();
- patient.setDobType( dobType );
- }
-
- // -----------------------------------------------------------------------------
- // Registration Date
- // -----------------------------------------------------------------------------
-
- if ( registrationDate == null )
- {
- patient.setRegistrationDate( new Date() );
- }
- else
- {
- patient.setRegistrationDate( format.parseDate( registrationDate ) );
- }
-
// -----------------------------------------------------------------------------
// Prepare Patient Identifiers
// -----------------------------------------------------------------------------
@@ -269,17 +191,12 @@
// PatientIdentifierType will be null
// --------------------------------------------------------------------------------
- if ( gender == null )
- {
- gender = Patient.FEMALE;
- }
-
- String identifier = PatientIdentifierGenerator.getNewIdentifier( _birthDate, gender );
+ String identifier = PatientIdentifierGenerator.getNewIdentifier( new Date(), "F" );
PatientIdentifier systemGenerateIdentifier = patientIdentifierService.get( null, identifier );
while ( systemGenerateIdentifier != null )
{
- identifier = PatientIdentifierGenerator.getNewIdentifier( patient.getBirthDate(), patient.getGender() );
+ identifier = PatientIdentifierGenerator.getNewIdentifier( new Date(), "F" );
systemGenerateIdentifier = patientIdentifierService.get( null, identifier );
}
@@ -416,16 +333,6 @@
this.systemSettingManager = systemSettingManager;
}
- public void setDead( boolean isDead )
- {
- this.isDead = isDead;
- }
-
- public void setDeathDate( String deathDate )
- {
- this.deathDate = deathDate;
- }
-
public String getMessage()
{
return message;
@@ -436,26 +343,11 @@
this.healthWorker = healthWorker;
}
- public void setVerified( Boolean verified )
- {
- this.verified = verified;
- }
-
public void setPatientIdentifierTypeService( PatientIdentifierTypeService patientIdentifierTypeService )
{
this.patientIdentifierTypeService = patientIdentifierTypeService;
}
- public void setBirthDate( String birthDate )
- {
- this.birthDate = birthDate;
- }
-
- public void setFormat( I18nFormat format )
- {
- this.format = format;
- }
-
public void setPatientService( PatientService patientService )
{
this.patientService = patientService;
@@ -466,11 +358,6 @@
this.patientIdentifierService = patientIdentifierService;
}
- public void setSelectionManager( OrganisationUnitSelectionManager selectionManager )
- {
- this.selectionManager = selectionManager;
- }
-
public void setPatientAttributeService( PatientAttributeService patientAttributeService )
{
this.patientAttributeService = patientAttributeService;
@@ -481,21 +368,6 @@
this.fullName = fullName;
}
- public void setAge( Integer age )
- {
- this.age = age;
- }
-
- public void setRegistrationDate( String registrationDate )
- {
- this.registrationDate = registrationDate;
- }
-
- public void setGender( String gender )
- {
- this.gender = gender;
- }
-
public void setPhoneNumber( String[] phoneNumber )
{
this.phoneNumber = phoneNumber;
=== 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 2013-09-16 17:07:25 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/AddRepresentativeAction.java 2013-12-16 04:27:26 +0000
@@ -29,6 +29,7 @@
*/
import java.util.Collection;
+import java.util.Date;
import javax.servlet.http.HttpServletRequest;
@@ -55,8 +56,6 @@
// Dependencies
// -------------------------------------------------------------------------
- private I18nFormat format;
-
private PatientService patientService;
private PatientIdentifierService patientIdentifierService;
@@ -71,18 +70,6 @@
private String fullName;
- private String birthDate;
-
- private char ageType;
-
- private Integer age;
-
- private Character dobType;
-
- private String gender;
-
- private String registrationDate;
-
private Integer relationshipTypeId;
// -------------------------------------------------------------------------
@@ -112,29 +99,8 @@
fullName = fullName.trim();
patient.setName( fullName );
-
- // ---------------------------------------------------------------------
- // Get Other information for patient
- // ---------------------------------------------------------------------
-
- patient.setGender( gender );
- patient.setIsDead( false );
patient.setOrganisationUnit( organisationUnit );
- if ( dobType == Patient.DOB_TYPE_VERIFIED || dobType == Patient.DOB_TYPE_DECLARED )
- {
- birthDate = birthDate.trim();
- patient.setBirthDate( format.parseDate( birthDate ) );
- }
- else
- {
- patient.setBirthDateFromAge( age.intValue(), ageType );
- }
-
- patient.setDobType( dobType );
-
- patient.setRegistrationDate( format.parseDate( registrationDate ) );
-
patientService.savePatient( patient );
// --------------------------------------------------------------------------------
@@ -143,12 +109,12 @@
// PatientIdentifierType will be null
// --------------------------------------------------------------------------------
- String identifier = PatientIdentifierGenerator.getNewIdentifier( patient.getBirthDate(), patient.getGender() );
+ String identifier = PatientIdentifierGenerator.getNewIdentifier( new Date(), "F" );
PatientIdentifier systemGenerateIdentifier = patientIdentifierService.get( null, identifier );
while ( systemGenerateIdentifier != null )
{
- identifier = PatientIdentifierGenerator.getNewIdentifier( patient.getBirthDate(), patient.getGender() );
+ identifier = PatientIdentifierGenerator.getNewIdentifier( new Date(), "F" );
systemGenerateIdentifier = patientIdentifierService.get( null, identifier );
}
@@ -204,16 +170,6 @@
this.patientIdentifierTypeService = patientIdentifierTypeService;
}
- public void setBirthDate( String birthDate )
- {
- this.birthDate = birthDate;
- }
-
- public void setFormat( I18nFormat format )
- {
- this.format = format;
- }
-
public void setPatientService( PatientService patientService )
{
this.patientService = patientService;
@@ -234,21 +190,6 @@
this.fullName = fullName;
}
- public void setRegistrationDate( String registrationDate )
- {
- this.registrationDate = registrationDate;
- }
-
- public void setAge( Integer age )
- {
- this.age = age;
- }
-
- public void setGender( String gender )
- {
- this.gender = gender;
- }
-
public Integer getRelationshipTypeId()
{
return relationshipTypeId;
@@ -264,13 +205,4 @@
return patient;
}
- public void setDobType( Character dobType )
- {
- this.dobType = dobType;
- }
-
- public void setAgeType( char ageType )
- {
- this.ageType = ageType;
- }
}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientAction.java 2013-10-11 13:49:41 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/GetPatientAction.java 2013-12-16 04:27:26 +0000
@@ -283,16 +283,13 @@
Patient representative = patient.getRepresentative();
relationship = relationshipService.getRelationship( representative, patient );
- if ( patient.isUnderAge() && representative != null )
+ for ( PatientIdentifier representativeIdentifier : representative.getIdentifiers() )
{
- for ( PatientIdentifier representativeIdentifier : representative.getIdentifiers() )
+ if ( representativeIdentifier.getIdentifierType() != null
+ && representativeIdentifier.getIdentifierType().isRelated() )
{
- if ( representativeIdentifier.getIdentifierType() != null
- && representativeIdentifier.getIdentifierType().isRelated() )
- {
- identiferMap.put( representativeIdentifier.getIdentifierType().getId(),
- representativeIdentifier.getIdentifier() );
- }
+ identiferMap.put( representativeIdentifier.getIdentifierType().getId(),
+ representativeIdentifier.getIdentifier() );
}
}
@@ -315,8 +312,8 @@
for ( PatientAttributeValue patientAttributeValue : patientAttributeValues )
{
- patientAttributeValueMap.put( patientAttributeValue.getPatientAttribute().getId(),
- patientAttributeValue.getValue() );
+ patientAttributeValueMap.put( patientAttributeValue.getPatientAttribute().getId(),
+ patientAttributeValue.getValue() );
}
}
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/PatientDashboardAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/PatientDashboardAction.java 2013-11-25 08:18:35 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/PatientDashboardAction.java 2013-12-16 04:27:26 +0000
@@ -236,7 +236,7 @@
}
}
}
-
+
// ---------------------------------------------------------------------
// Get patient-identifiers
// ---------------------------------------------------------------------
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ProgramEnrollmentAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ProgramEnrollmentAction.java 2013-10-24 08:31:35 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ProgramEnrollmentAction.java 2013-12-16 04:27:26 +0000
@@ -67,8 +67,6 @@
private PatientIdentifierService patientIdentifierService;
- private PatientAttributeValueService patientAttributeValueService;
-
private OrganisationUnitSelectionManager selectionManager;
// -------------------------------------------------------------------------
@@ -117,12 +115,7 @@
{
return patientAttributeValueMap;
}
-
- public void setPatientAttributeValueService( PatientAttributeValueService patientAttributeValueService )
- {
- this.patientAttributeValueService = patientAttributeValueService;
- }
-
+
public Map<Integer, String> getIdentiferMap()
{
return identiferMap;
@@ -231,8 +224,8 @@
if ( patientAttributes != null )
{
- Collection<PatientAttributeValue> patientAttributeValues = patientAttributeValueService
- .getPatientAttributeValues( programInstance.getPatient() );
+ Collection<PatientAttributeValue> patientAttributeValues = programInstance.getPatient()
+ .getAttributeValues();
for ( PatientAttributeValue patientAttributeValue : patientAttributeValues )
{
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/RemoveRepresentativeAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/RemoveRepresentativeAction.java 2013-08-23 16:05:01 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/RemoveRepresentativeAction.java 2013-12-16 04:27:26 +0000
@@ -71,7 +71,6 @@
{
Patient patient = patientService.getPatient( patientId );
patient.setRepresentative( null );
- patient.setUnderAge( false );
patientService.updatePatient( patient );
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java 2013-09-27 11:13:20 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveIdentifierAndAttributeAction.java 2013-12-16 04:27:26 +0000
@@ -219,7 +219,8 @@
String value = null;
Collection<PatientAttribute> attributes = patientAttributeService.getAllPatientAttributes();
-
+ patient.getAttributeValues().clear();
+
PatientAttributeValue attributeValue = null;
if ( attributes != null && attributes.size() > 0 )
@@ -258,6 +259,7 @@
attributeValue.setValue( value.trim() );
}
patientAttributeValueService.savePatientAttributeValue( attributeValue );
+ patient.getAttributeValues().add( attributeValue );
}
else
{
@@ -280,6 +282,7 @@
attributeValue.setValue( value.trim() );
}
patientAttributeValueService.updatePatientAttributeValue( attributeValue );
+ patient.getAttributeValues().add( attributeValue );
}
}
else if ( attributeValue != null )
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveRepresentativeAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveRepresentativeAction.java 2013-09-19 06:06:15 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/SaveRepresentativeAction.java 2013-12-16 04:27:26 +0000
@@ -102,7 +102,6 @@
patient = patientService.getPatient( patientId );
patient.setRepresentative( representative );
- patient.setUnderAge( true );
patientService.updatePatient( patient );
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java 2013-11-25 07:31:02 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/UpdatePatientAction.java 2013-12-16 04:27:26 +0000
@@ -28,13 +28,15 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-import com.opensymphony.xwork2.Action;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.servlet.http.HttpServletRequest;
+
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;
import org.apache.struts2.ServletActionContext;
-import org.hisp.dhis.i18n.I18nFormat;
-import org.hisp.dhis.organisationunit.OrganisationUnit;
-import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager;
import org.hisp.dhis.patient.Patient;
import org.hisp.dhis.patient.PatientAttribute;
import org.hisp.dhis.patient.PatientAttributeOption;
@@ -50,10 +52,7 @@
import org.hisp.dhis.setting.SystemSettingManager;
import org.hisp.dhis.user.UserService;
-import javax.servlet.http.HttpServletRequest;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
+import com.opensymphony.xwork2.Action;
/**
* @author Abyot Asalefew Gizaw
@@ -66,8 +65,6 @@
// Dependencies
// -------------------------------------------------------------------------
- private I18nFormat format;
-
private PatientService patientService;
private PatientAttributeService patientAttributeService;
@@ -78,8 +75,6 @@
private PatientIdentifierTypeService patientIdentifierTypeService;
- private OrganisationUnitSelectionManager selectionManager;
-
private PatientAttributeOptionService patientAttributeOptionService;
private UserService userService;
@@ -99,22 +94,8 @@
private String fullName;
- private String birthDate;
-
- private boolean isDead;
-
- private String deathDate;
-
- private Integer age;
-
- private Boolean verified;
-
- private String gender;
-
private String[] phoneNumber;
- private boolean underAge;
-
private Integer representativeId;
private Integer relationshipTypeId;
@@ -134,12 +115,9 @@
public String execute()
throws Exception
{
- OrganisationUnit organisationUnit = selectionManager.getSelectedOrganisationUnit();
patient = patientService.getPatient( id );
- verified = (verified == null) ? false : verified;
-
// ---------------------------------------------------------------------
// Set FullName
// ---------------------------------------------------------------------
@@ -167,46 +145,10 @@
phone = (phone.isEmpty()) ? null : phone.substring( 0, phone.length() - 1 );
patient.setPhoneNumber( phone );
}
-
- patient.setGender( gender );
- patient.setIsDead( false );
- patient.setUnderAge( underAge );
- patient.setOrganisationUnit( organisationUnit );
- patient.setIsDead( isDead );
-
- if ( deathDate != null )
- {
- deathDate = deathDate.trim();
- patient.setDeathDate( format.parseDate( deathDate ) );
- }
if ( healthWorker != null )
{
- patient.setAssociate( userService.getUser( healthWorker ) );
- }
-
- if ( birthDate != null || age != null )
- {
- verified = (verified == null) ? false : verified;
-
- Character dobType = (verified) ? Patient.DOB_TYPE_VERIFIED : Patient.DOB_TYPE_DECLARED;
-
- if ( !verified && age != null )
- {
- dobType = 'A';
- }
-
- if ( dobType == Patient.DOB_TYPE_VERIFIED || dobType == Patient.DOB_TYPE_DECLARED )
- {
- birthDate = birthDate.trim();
- patient.setBirthDate( format.parseDate( birthDate ) );
- }
- else
- {
- patient.setBirthDateFromAge( age.intValue(), Patient.AGE_TYPE_YEAR );
- }
-
- patient.setDobType( dobType );
+ patient.setAssociate( userService.getUser( healthWorker ) );
}
// -------------------------------------------------------------------------------------
@@ -351,11 +293,6 @@
this.patientIdentifierTypeService = patientIdentifierTypeService;
}
- public void setFormat( I18nFormat format )
- {
- this.format = format;
- }
-
public void setPatientService( PatientService patientService )
{
this.patientService = patientService;
@@ -376,41 +313,16 @@
this.patientIdentifierService = patientIdentifierService;
}
- public void setSelectionManager( OrganisationUnitSelectionManager selectionManager )
- {
- this.selectionManager = selectionManager;
- }
-
public void setId( Integer id )
{
this.id = id;
}
- public void setIsDead( boolean isDead )
- {
- this.isDead = isDead;
- }
-
- public void setDeathDate( String deathDate )
- {
- this.deathDate = deathDate;
- }
-
public void setFullName( String fullName )
{
this.fullName = fullName;
}
- public void setBirthDate( String birthDate )
- {
- this.birthDate = birthDate;
- }
-
- public void setGender( String gender )
- {
- this.gender = gender;
- }
-
public void setPhoneNumber( String[] phoneNumber )
{
this.phoneNumber = phoneNumber;
@@ -421,21 +333,11 @@
return patient;
}
- public void setAge( Integer age )
- {
- this.age = age;
- }
-
public void setPatientAttributeOptionService( PatientAttributeOptionService patientAttributeOptionService )
{
this.patientAttributeOptionService = patientAttributeOptionService;
}
- public void setUnderAge( boolean underAge )
- {
- this.underAge = underAge;
- }
-
public void setRepresentativeId( Integer representativeId )
{
this.representativeId = representativeId;
@@ -446,9 +348,4 @@
this.relationshipTypeId = relationshipTypeId;
}
- public void setVerified( Boolean verified )
- {
- this.verified = verified;
- }
-
}
=== 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 2013-10-25 05:00:41 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/patient/ValidatePatientAction.java 2013-12-16 04:27:26 +0000
@@ -38,7 +38,6 @@
import org.apache.commons.lang.StringUtils;
import org.apache.struts2.ServletActionContext;
-import org.hisp.dhis.i18n.I18nFormat;
import org.hisp.dhis.organisationunit.OrganisationUnit;
import org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager;
import org.hisp.dhis.patient.Patient;
@@ -63,8 +62,6 @@
// Dependencies
// -------------------------------------------------------------------------
- private I18nFormat format;
-
private PatientService patientService;
private PatientIdentifierTypeService identifierTypeService;
@@ -79,12 +76,6 @@
private String fullName;
- private String birthDate;
-
- private Integer age;
-
- private String gender;
-
private Integer id;
private boolean underAge;
@@ -126,21 +117,6 @@
patient = new Patient();
}
- if ( gender != null )
- {
- patient.setGender( gender );
- }
-
- if ( birthDate != null && !birthDate.isEmpty() )
- {
- birthDate = birthDate.trim();
- patient.setBirthDate( format.parseDate( birthDate ) );
-
- }
- else if ( age != null )
- {
- patient.setBirthDateFromAge( age, Patient.AGE_TYPE_YEAR );
- }
patient.setName( fullName );
patient.setOrganisationUnit( orgunit );
@@ -209,11 +185,6 @@
this.identifierTypeService = identifierTypeService;
}
- public void setFormat( I18nFormat format )
- {
- this.format = format;
- }
-
public void setPatientService( PatientService patientService )
{
this.patientService = patientService;
@@ -229,16 +200,6 @@
this.fullName = fullName;
}
- public void setBirthDate( String birthDate )
- {
- this.birthDate = birthDate;
- }
-
- public void setAge( Integer age )
- {
- this.age = age;
- }
-
public String getMessage()
{
return message;
@@ -259,11 +220,6 @@
this.id = id;
}
- public void setGender( String gender )
- {
- this.gender = gender;
- }
-
public void setUnderAge( boolean underAge )
{
this.underAge = underAge;
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetProgramStageSectionsAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetProgramStageSectionsAction.java 2013-09-25 07:00:33 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/GetProgramStageSectionsAction.java 2013-12-16 04:27:26 +0000
@@ -83,7 +83,7 @@
throws Exception
{
ProgramStage programStage = programStageService.getProgramStage( programStageId );
-
+
if ( programStage.getProgramStageSections() != null )
{
sections = new ArrayList<ProgramStageSection>( programStage.getProgramStageSections() );
=== modified file 'dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/LoadDataElementsAction.java'
--- dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/LoadDataElementsAction.java 2013-11-04 22:45:00 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/java/org/hisp/dhis/caseentry/action/report/LoadDataElementsAction.java 2013-12-16 04:27:26 +0000
@@ -122,8 +122,6 @@
ProgramStage programStage = programStageService.getProgramStage( programStageId );
psDataElements = new ArrayList<ProgramStageDataElement>( programStage.getProgramStageDataElements() );
program = programStage.getProgram();
-
- System.out.println("psd " + psDataElements.size());
}
else if ( sectionId != null )
{
=== 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-12-01 22:32:50 +0000
+++ dhis-2/dhis-web/dhis-web-caseentry/src/main/resources/META-INF/dhis/beans.xml 2013-12-16 04:27:26 +0000
@@ -455,8 +455,6 @@
<bean id="org.hisp.dhis.caseentry.action.patient.AddPatientAction"
class="org.hisp.dhis.caseentry.action.patient.AddPatientAction" scope="prototype">
- <property name="selectionManager"
- ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
<property name="patientService" ref="org.hisp.dhis.patient.PatientService" />
<property name="patientIdentifierService"
ref="org.hisp.dhis.patient.PatientIdentifierService" />
@@ -494,8 +492,6 @@
</property>
<property name="patientIdentifierService"
ref="org.hisp.dhis.patient.PatientIdentifierService" />
- <property name="selectionManager"
- ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
<property name="patientAttributeOptionService"
ref="org.hisp.dhis.patient.PatientAttributeOptionService" />
<property name="userService" ref="org.hisp.dhis.user.UserService" />
@@ -627,8 +623,6 @@
<property name="programInstanceService" ref="org.hisp.dhis.program.ProgramInstanceService" />
<property name="patientIdentifierService"
ref="org.hisp.dhis.patient.PatientIdentifierService" />
- <property name="patientAttributeValueService"
- ref="org.hisp.dhis.patientattributevalue.PatientAttributeValueService" />
<property name="selectionManager"
ref="org.hisp.dhis.ouwt.manager.OrganisationUnitSelectionManager" />
</bean>
=== modified file 'dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryregistration/action/SaveBeneficiaryAction.java'
--- dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryregistration/action/SaveBeneficiaryAction.java 2013-12-01 22:32:50 +0000
+++ dhis-2/dhis-web/dhis-web-light/src/main/java/org/hisp/dhis/light/beneficiaryregistration/action/SaveBeneficiaryAction.java 2013-12-16 04:27:26 +0000
@@ -29,7 +29,6 @@
*/
import java.util.Collection;
-import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
@@ -51,14 +50,10 @@
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.program.Program;
import org.hisp.dhis.program.ProgramService;
import org.hisp.dhis.util.ContextUtils;
-import org.joda.time.DateTime;
-import org.joda.time.format.DateTimeFormatter;
-import org.joda.time.format.ISODateTimeFormat;
import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
@@ -358,35 +353,6 @@
patient.setName( patientFullName.trim() );
}
- patient.setGender( gender );
- patient.setRegistrationDate( new Date() );
- patient.setDobType( dobType.charAt( 0 ) );
-
- if ( dobType.equals( "A" ) )
- {
- try
- {
- patient.setBirthDateFromAge( Integer.parseInt( dateOfBirth ), Patient.AGE_TYPE_YEAR );
- }
- catch ( NumberFormatException nfe )
- {
- validationMap.put( "dob", "is_invalid_number" );
- }
- }
- else
- {
- try
- {
- DateTimeFormatter sdf = ISODateTimeFormat.yearMonthDay();
- DateTime date = sdf.parseDateTime( dateOfBirth );
- patient.setBirthDate( date.toDate() );
- }
- catch ( Exception e )
- {
- validationMap.put( "dob", "is_invalid_date" );
- }
- }
-
if ( phoneNumber.matches( "^(\\+)?\\d+$" ) )
{
patient.setPhoneNumber( phoneNumber );
@@ -453,14 +419,6 @@
}
}
- String identifier = PatientIdentifierGenerator.getNewIdentifier( patient.getBirthDate(), gender );
-
- PatientIdentifier systemGenerateIdentifier = patientIdentifierService.get( null, identifier );
- systemGenerateIdentifier = new PatientIdentifier();
- systemGenerateIdentifier.setIdentifier( identifier );
- systemGenerateIdentifier.setPatient( patient );
- patientIdentifierSet.add( systemGenerateIdentifier );
-
for ( PatientAttribute patientAttribute : patientAttributes )
{
patientAttributeSet.add( patientAttribute );