diff --git a/dristhi-app/assets/app-extra.properties b/dristhi-app/assets/app-extra.properties new file mode 100644 index 000000000..93f33ba09 --- /dev/null +++ b/dristhi-app/assets/app-extra.properties @@ -0,0 +1 @@ +AVAILABLE_REGISTERS=WAIT_FOR_VALUE diff --git a/dristhi-app/assets/www/child_detail.html b/dristhi-app/assets/www/child_detail.html deleted file mode 100644 index a9db633b5..000000000 --- a/dristhi-app/assets/www/child_detail.html +++ /dev/null @@ -1,48 +0,0 @@ - - - - - - - - - - - - -
-
-
- - - - - - - - - - - - - - - - - - - diff --git a/dristhi-app/pom.xml b/dristhi-app/pom.xml index 201320b22..c45be82b3 100644 --- a/dristhi-app/pom.xml +++ b/dristhi-app/pom.xml @@ -119,14 +119,72 @@ + + maven-resources-plugin + 2.7 + + + copy-assets + validate + + copy-resources + + + ${basedir}/target/assets + + + ${basedir}/assets + + + + + + copy-res + validate + + copy-resources + + + ${basedir}/target/res + + + ${basedir}/res + + + + + + + + com.google.code.maven-replacer-plugin + replacer + 1.5.3 + + + validate + + replace + + + + + ${basedir}/target/assets/app-extra.properties + + + WAIT_FOR_VALUE + ${availableRegisters} + + + + com.jayway.maven.plugins.android.generation2 android-maven-plugin 3.6.0 ${project.basedir}/AndroidManifest.xml - ${project.basedir}/assets - ${project.basedir}/res + ${project.basedir}/target/assets + ${project.basedir}/target/res ${project.basedir}/src/main/native 16 @@ -164,6 +222,95 @@ + + bangladesh + + EC:FP:ANC:PNC:CHILD + + + + + maven-resources-plugin + 2.7 + + + copy-extra-assets + validate + + copy-resources + + + ${basedir}/target/assets + + + ${basedir}/registers/child/assets + + + false + + + + copy-extra-resources + validate + + copy-resources + + + ${basedir}/target/res + + + ${basedir}/registers/child/res + + + + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + registers/child/src/main/java + + + + + + + + + + pakistan + + + + org.codehaus.mojo + build-helper-maven-plugin + + + generate-sources + + add-source + + + + registers/child/src/main/java + + + + + + + + + sign diff --git a/dristhi-app/assets/template/child_detail.handlebars b/dristhi-app/registers/child/assets/template/child_detail.handlebars similarity index 100% rename from dristhi-app/assets/template/child_detail.handlebars rename to dristhi-app/registers/child/assets/template/child_detail.handlebars diff --git a/dristhi-app/registers/child/assets/www/child_detail.html b/dristhi-app/registers/child/assets/www/child_detail.html new file mode 100644 index 000000000..4703c96a5 --- /dev/null +++ b/dristhi-app/registers/child/assets/www/child_detail.html @@ -0,0 +1,48 @@ + + + + + + + + + + + + +
+
+
+ + + + + + + + + + + + + + + + + + + diff --git a/dristhi-app/assets/www/form/child_close/form.xml b/dristhi-app/registers/child/assets/www/form/child_close/form.xml similarity index 100% rename from dristhi-app/assets/www/form/child_close/form.xml rename to dristhi-app/registers/child/assets/www/form/child_close/form.xml diff --git a/dristhi-app/assets/www/form/child_close/form_definition.json b/dristhi-app/registers/child/assets/www/form/child_close/form_definition.json similarity index 100% rename from dristhi-app/assets/www/form/child_close/form_definition.json rename to dristhi-app/registers/child/assets/www/form/child_close/form_definition.json diff --git a/dristhi-app/assets/www/form/child_close/model.xml b/dristhi-app/registers/child/assets/www/form/child_close/model.xml similarity index 100% rename from dristhi-app/assets/www/form/child_close/model.xml rename to dristhi-app/registers/child/assets/www/form/child_close/model.xml diff --git a/dristhi-app/assets/www/form/child_illness/form.xml b/dristhi-app/registers/child/assets/www/form/child_illness/form.xml similarity index 100% rename from dristhi-app/assets/www/form/child_illness/form.xml rename to dristhi-app/registers/child/assets/www/form/child_illness/form.xml diff --git a/dristhi-app/assets/www/form/child_illness/form_definition.json b/dristhi-app/registers/child/assets/www/form/child_illness/form_definition.json similarity index 100% rename from dristhi-app/assets/www/form/child_illness/form_definition.json rename to dristhi-app/registers/child/assets/www/form/child_illness/form_definition.json diff --git a/dristhi-app/assets/www/form/child_illness/model.xml b/dristhi-app/registers/child/assets/www/form/child_illness/model.xml similarity index 100% rename from dristhi-app/assets/www/form/child_illness/model.xml rename to dristhi-app/registers/child/assets/www/form/child_illness/model.xml diff --git a/dristhi-app/assets/www/form/child_immunizations/form.xml b/dristhi-app/registers/child/assets/www/form/child_immunizations/form.xml similarity index 100% rename from dristhi-app/assets/www/form/child_immunizations/form.xml rename to dristhi-app/registers/child/assets/www/form/child_immunizations/form.xml diff --git a/dristhi-app/assets/www/form/child_immunizations/form_definition.json b/dristhi-app/registers/child/assets/www/form/child_immunizations/form_definition.json similarity index 100% rename from dristhi-app/assets/www/form/child_immunizations/form_definition.json rename to dristhi-app/registers/child/assets/www/form/child_immunizations/form_definition.json diff --git a/dristhi-app/assets/www/form/child_immunizations/model.xml b/dristhi-app/registers/child/assets/www/form/child_immunizations/model.xml similarity index 100% rename from dristhi-app/assets/www/form/child_immunizations/model.xml rename to dristhi-app/registers/child/assets/www/form/child_immunizations/model.xml diff --git a/dristhi-app/assets/www/form/child_registration_ec/form.xml b/dristhi-app/registers/child/assets/www/form/child_registration_ec/form.xml similarity index 100% rename from dristhi-app/assets/www/form/child_registration_ec/form.xml rename to dristhi-app/registers/child/assets/www/form/child_registration_ec/form.xml diff --git a/dristhi-app/assets/www/form/child_registration_ec/form_definition.json b/dristhi-app/registers/child/assets/www/form/child_registration_ec/form_definition.json similarity index 100% rename from dristhi-app/assets/www/form/child_registration_ec/form_definition.json rename to dristhi-app/registers/child/assets/www/form/child_registration_ec/form_definition.json diff --git a/dristhi-app/assets/www/form/child_registration_ec/model.xml b/dristhi-app/registers/child/assets/www/form/child_registration_ec/model.xml similarity index 100% rename from dristhi-app/assets/www/form/child_registration_ec/model.xml rename to dristhi-app/registers/child/assets/www/form/child_registration_ec/model.xml diff --git a/dristhi-app/assets/www/form/child_registration_oa/form.xml b/dristhi-app/registers/child/assets/www/form/child_registration_oa/form.xml similarity index 100% rename from dristhi-app/assets/www/form/child_registration_oa/form.xml rename to dristhi-app/registers/child/assets/www/form/child_registration_oa/form.xml diff --git a/dristhi-app/assets/www/form/child_registration_oa/form_definition.json b/dristhi-app/registers/child/assets/www/form/child_registration_oa/form_definition.json similarity index 100% rename from dristhi-app/assets/www/form/child_registration_oa/form_definition.json rename to dristhi-app/registers/child/assets/www/form/child_registration_oa/form_definition.json diff --git a/dristhi-app/assets/www/form/child_registration_oa/model.xml b/dristhi-app/registers/child/assets/www/form/child_registration_oa/model.xml similarity index 100% rename from dristhi-app/assets/www/form/child_registration_oa/model.xml rename to dristhi-app/registers/child/assets/www/form/child_registration_oa/model.xml diff --git a/dristhi-app/assets/www/smart_registry/child_register.html b/dristhi-app/registers/child/assets/www/smart_registry/child_register.html similarity index 71% rename from dristhi-app/assets/www/smart_registry/child_register.html rename to dristhi-app/registers/child/assets/www/smart_registry/child_register.html index 8ec5308ff..f3821cfe2 100644 --- a/dristhi-app/assets/www/smart_registry/child_register.html +++ b/dristhi-app/registers/child/assets/www/smart_registry/child_register.html @@ -1,27 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +
diff --git a/dristhi-app/res/layout/child_register_client_last_service.xml b/dristhi-app/registers/child/res/layout/child_register_client_last_service.xml similarity index 100% rename from dristhi-app/res/layout/child_register_client_last_service.xml rename to dristhi-app/registers/child/res/layout/child_register_client_last_service.xml diff --git a/dristhi-app/res/layout/child_register_client_sick_status.xml b/dristhi-app/registers/child/res/layout/child_register_client_sick_status.xml similarity index 100% rename from dristhi-app/res/layout/child_register_client_sick_status.xml rename to dristhi-app/registers/child/res/layout/child_register_client_sick_status.xml diff --git a/dristhi-app/res/layout/child_register_immunization0to9_service_mode_views.xml b/dristhi-app/registers/child/res/layout/child_register_immunization0to9_service_mode_views.xml similarity index 100% rename from dristhi-app/res/layout/child_register_immunization0to9_service_mode_views.xml rename to dristhi-app/registers/child/res/layout/child_register_immunization0to9_service_mode_views.xml diff --git a/dristhi-app/res/layout/child_register_immunization9plus_service_mode_views.xml b/dristhi-app/registers/child/res/layout/child_register_immunization9plus_service_mode_views.xml similarity index 100% rename from dristhi-app/res/layout/child_register_immunization9plus_service_mode_views.xml rename to dristhi-app/registers/child/res/layout/child_register_immunization9plus_service_mode_views.xml diff --git a/dristhi-app/res/layout/child_register_overview_service_mode_views.xml b/dristhi-app/registers/child/res/layout/child_register_overview_service_mode_views.xml similarity index 100% rename from dristhi-app/res/layout/child_register_overview_service_mode_views.xml rename to dristhi-app/registers/child/res/layout/child_register_overview_service_mode_views.xml diff --git a/dristhi-app/res/layout/child_smart_register_id_details.xml b/dristhi-app/registers/child/res/layout/child_smart_register_id_details.xml similarity index 100% rename from dristhi-app/res/layout/child_smart_register_id_details.xml rename to dristhi-app/registers/child/res/layout/child_smart_register_id_details.xml diff --git a/dristhi-app/registers/child/src/main/java/org/ei/drishti/AllConstantsForChildRegister.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/AllConstantsForChildRegister.java new file mode 100644 index 000000000..69ea40d43 --- /dev/null +++ b/dristhi-app/registers/child/src/main/java/org/ei/drishti/AllConstantsForChildRegister.java @@ -0,0 +1,61 @@ +package org.ei.drishti; + +public class AllConstantsForChildRegister { + public class ChildRegistrationECFields { + public static final String BCG_DATE = "bcgDate"; + public static final String MEASLES_DATE = "measlesDate"; + public static final String MEASLESBOOSTER_DATE = "measlesboosterDate"; + public static final String OPV_0_DATE = "opv0Date"; + public static final String OPV_1_DATE = "opv1Date"; + public static final String OPV_2_DATE = "opv2Date"; + public static final String OPV_3_DATE = "opv3Date"; + public static final String OPVBOOSTER_DATE = "opvboosterDate"; + public static final String DPTBOOSTER_1_DATE = "dptbooster1Date"; + public static final String DPTBOOSTER_2_DATE = "dptbooster2Date"; + public static final String PENTAVALENT_1_DATE = "pentavalent1Date"; + public static final String PENTAVALENT_2_DATE = "pentavalent2Date"; + public static final String PENTAVALENT_3_DATE = "pentavalent3Date"; + public static final String HEPB_BIRTH_DOSE_DATE = "hepb0Date"; + public static final String SHOULD_CLOSE_MOTHER = "shouldCloseMother"; + public static final String MMR_DATE = "mmrDate"; + public static final String JE_DATE = "jeDate"; + } + + public class ChildRegistrationFields { + public static final String MOTHER_ID = "motherId"; + public static final String CHILD_ID = "childId"; + public static final String DATE_OF_BIRTH = "dateOfBirth"; + public static final String WEIGHT = "weight"; + public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; + public static final String GENDER = "gender"; + public static final String NAME = "name"; + public static final String HIGH_RISK_REASON = "childHighRiskReason"; + public static final String IS_CHILD_HIGH_RISK = "isChildHighRisk"; + } + + public class ChildRegistrationOAFields { + public static final String CHILD_ID = "id"; + public static final String DATE_OF_BIRTH = "dateOfBirth"; + public static final String WEIGHT = "weight"; + public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; + public static final String NAME = "name"; + public static final String THAYI_CARD_NUMBER = "thayiCardNumber"; + } + + public class ChildImmunizationsFields { + public static final String PREVIOUS_IMMUNIZATIONS_GIVEN = "previousImmunizations"; + public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; + public static final String IMMUNIZATION_DATE = "immunizationDate"; + } + + public class ChildIllnessFields { + public static final String CHILD_SIGNS = "childSigns"; + public static final String CHILD_SIGNS_OTHER = "childSignsOther"; + public static final String SICK_VISIT_DATE = "sickVisitDate"; + public static final String REPORT_CHILD_DISEASE = "reportChildDisease"; + public static final String REPORT_CHILD_DISEASE_OTHER = "reportChildDiseaseOther"; + public static final String REPORT_CHILD_DISEASE_DATE = "reportChildDiseaseDate"; + public static final String REPORT_CHILD_DISEASE_PLACE = "reportChildDiseasePlace"; + public static final String CHILD_REFERRAL = "childReferral"; + } +} diff --git a/dristhi-app/src/main/java/org/ei/drishti/domain/Child.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/domain/Child.java similarity index 94% rename from dristhi-app/src/main/java/org/ei/drishti/domain/Child.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/domain/Child.java index b88cbebe2..48e38a97b 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/domain/Child.java +++ b/dristhi-app/registers/child/src/main/java/org/ei/drishti/domain/Child.java @@ -10,8 +10,8 @@ import java.util.Map; import static org.ei.drishti.AllConstants.BOOLEAN_TRUE; -import static org.ei.drishti.AllConstants.ChildRegistrationFields.HIGH_RISK_REASON; -import static org.ei.drishti.AllConstants.ChildRegistrationFields.IS_CHILD_HIGH_RISK; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationFields.HIGH_RISK_REASON; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationFields.IS_CHILD_HIGH_RISK; import static org.ei.drishti.AllConstants.SPACE; public class Child { diff --git a/dristhi-app/src/main/java/org/ei/drishti/domain/ChildServiceType.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/domain/ChildServiceType.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/domain/ChildServiceType.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/domain/ChildServiceType.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/provider/ChildSmartRegisterClientsProvider.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/provider/ChildSmartRegisterClientsProvider.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/provider/ChildSmartRegisterClientsProvider.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/provider/ChildSmartRegisterClientsProvider.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/repository/ChildRepository.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/repository/ChildRepository.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/repository/ChildRepository.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/repository/ChildRepository.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/service/ChildService.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/ChildService.java similarity index 82% rename from dristhi-app/src/main/java/org/ei/drishti/service/ChildService.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/service/ChildService.java index 1b7c16fc3..99d065ebd 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/service/ChildService.java +++ b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/ChildService.java @@ -1,6 +1,7 @@ package org.ei.drishti.service; import org.ei.drishti.AllConstants; +import org.ei.drishti.AllConstantsForChildRegister; import org.ei.drishti.domain.Child; import org.ei.drishti.domain.Mother; import org.ei.drishti.domain.ServiceProvided; @@ -12,13 +13,17 @@ import java.util.*; import static org.apache.commons.lang3.StringUtils.isBlank; -import static org.ei.drishti.AllConstants.ChildIllnessFields.*; -import static org.ei.drishti.AllConstants.ChildRegistrationECFields.*; -import static org.ei.drishti.AllConstants.ChildRegistrationOAFields.CHILD_ID; -import static org.ei.drishti.AllConstants.ChildRegistrationOAFields.THAYI_CARD_NUMBER; import static org.ei.drishti.AllConstants.ENTITY_ID_FIELD_NAME; import static org.ei.drishti.AllConstants.Immunizations.*; import static org.ei.drishti.AllConstants.SPACE; +import static org.ei.drishti.AllConstantsForChildRegister.ChildIllnessFields.*; +import static org.ei.drishti.AllConstantsForChildRegister.ChildImmunizationsFields.IMMUNIZATION_DATE; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationECFields.*; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationFields.IMMUNIZATIONS_GIVEN; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationFields.WEIGHT; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationOAFields.CHILD_ID; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationOAFields.DATE_OF_BIRTH; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationOAFields.THAYI_CARD_NUMBER; import static org.ei.drishti.domain.TimelineEvent.*; public class ChildService { @@ -49,10 +54,10 @@ public void register(FormSubmission submission) { Child child = childRepository.find(childInstance.get(ENTITY_ID_FIELD_NAME)); childRepository.update(child.setIsClosed(false).setThayiCardNumber(mother.thayiCardNumber()).setDateOfBirth(referenceDate)); allTimelines.add(forChildBirthInChildProfile(child.caseId(), referenceDate, - child.getDetail(AllConstants.ChildRegistrationFields.WEIGHT), child.getDetail(AllConstants.ChildRegistrationFields.IMMUNIZATIONS_GIVEN))); + child.getDetail(WEIGHT), child.getDetail(IMMUNIZATIONS_GIVEN))); allTimelines.add(forChildBirthInMotherProfile(mother.caseId(), referenceDate, child.gender(), referenceDate, deliveryPlace)); allTimelines.add(forChildBirthInECProfile(mother.ecCaseId(), referenceDate, child.gender(), referenceDate)); - String immunizationsGiven = child.getDetail(AllConstants.ChildRegistrationFields.IMMUNIZATIONS_GIVEN); + String immunizationsGiven = child.getDetail(IMMUNIZATIONS_GIVEN); for (String immunization : immunizationsGiven.split(SPACE)) { serviceProvidedService.add(ServiceProvided.forChildImmunization(child.caseId(), immunization, referenceDate)); } @@ -66,28 +71,28 @@ private boolean isDeliveryOutcomeStillBirth(FormSubmission submission) { public void registerForEC(FormSubmission submission) { if (shouldCloseMother(submission.getFieldValue(SHOULD_CLOSE_MOTHER))) { - closeMother(submission.getFieldValue(AllConstants.ChildRegistrationFields.MOTHER_ID)); + closeMother(submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.MOTHER_ID)); } Map immunizationDateFieldMap = createImmunizationDateFieldMap(); allTimelines.add(forChildBirthInChildProfile( - submission.getFieldValue(AllConstants.ChildRegistrationFields.CHILD_ID), - submission.getFieldValue(AllConstants.ChildRegistrationFields.DATE_OF_BIRTH), - submission.getFieldValue(AllConstants.ChildRegistrationFields.WEIGHT), - submission.getFieldValue(AllConstants.ChildRegistrationFields.IMMUNIZATIONS_GIVEN))); + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.CHILD_ID), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.DATE_OF_BIRTH), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.WEIGHT), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.IMMUNIZATIONS_GIVEN))); allTimelines.add(forChildBirthInMotherProfile( - submission.getFieldValue(AllConstants.ChildRegistrationFields.MOTHER_ID), - submission.getFieldValue(AllConstants.ChildRegistrationFields.DATE_OF_BIRTH), - submission.getFieldValue(AllConstants.ChildRegistrationFields.GENDER), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.MOTHER_ID), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.DATE_OF_BIRTH), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.GENDER), null, null)); allTimelines.add(forChildBirthInECProfile( submission.entityId(), - submission.getFieldValue(AllConstants.ChildRegistrationFields.DATE_OF_BIRTH), - submission.getFieldValue(AllConstants.ChildRegistrationFields.GENDER), null)); - String immunizationsGiven = submission.getFieldValue(AllConstants.ChildRegistrationFields.IMMUNIZATIONS_GIVEN); + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.DATE_OF_BIRTH), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.GENDER), null)); + String immunizationsGiven = submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.IMMUNIZATIONS_GIVEN); for (String immunization : immunizationsGiven.split(SPACE)) { serviceProvidedService.add(ServiceProvided.forChildImmunization( - submission.getFieldValue(AllConstants.ChildRegistrationFields.CHILD_ID), + submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationFields.CHILD_ID), immunization, submission.getFieldValue(immunizationDateFieldMap.get(immunization)))); } @@ -167,9 +172,9 @@ private boolean handleStillBirth(FormSubmission submission, SubForm subForm) { } public void updateImmunizations(FormSubmission submission) { - String immunizationDate = submission.getFieldValue(AllConstants.ChildImmunizationsFields.IMMUNIZATION_DATE); - List immunizationsGivenList = splitFieldValueBySpace(submission, AllConstants.ChildImmunizationsFields.IMMUNIZATIONS_GIVEN); - List previousImmunizationsList = splitFieldValueBySpace(submission, AllConstants.ChildImmunizationsFields.PREVIOUS_IMMUNIZATIONS_GIVEN); + String immunizationDate = submission.getFieldValue(IMMUNIZATION_DATE); + List immunizationsGivenList = splitFieldValueBySpace(submission, AllConstantsForChildRegister.ChildImmunizationsFields.IMMUNIZATIONS_GIVEN); + List previousImmunizationsList = splitFieldValueBySpace(submission, AllConstantsForChildRegister.ChildImmunizationsFields.PREVIOUS_IMMUNIZATIONS_GIVEN); immunizationsGivenList.removeAll(previousImmunizationsList); for (String immunization : immunizationsGivenList) { allTimelines.add(forChildImmunization(submission.entityId(), immunization, immunizationDate)); @@ -242,12 +247,12 @@ public void registerForOA(FormSubmission submission) { Map immunizationDateFieldMap = createImmunizationDateFieldMap(); - String immunizationsGiven = submission.getFieldValue(AllConstants.ChildRegistrationOAFields.IMMUNIZATIONS_GIVEN); + String immunizationsGiven = submission.getFieldValue(AllConstantsForChildRegister.ChildRegistrationOAFields.IMMUNIZATIONS_GIVEN); immunizationsGiven = isBlank(immunizationsGiven) ? "" : immunizationsGiven; allTimelines.add(forChildBirthInChildProfile( submission.getFieldValue(CHILD_ID), - submission.getFieldValue(AllConstants.ChildRegistrationOAFields.DATE_OF_BIRTH), - submission.getFieldValue(AllConstants.ChildRegistrationOAFields.WEIGHT), + submission.getFieldValue(DATE_OF_BIRTH), + submission.getFieldValue(WEIGHT), immunizationsGiven)); for (String immunization : immunizationsGiven.split(SPACE)) { diff --git a/dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildCloseHandler.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildCloseHandler.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildCloseHandler.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildCloseHandler.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildIllnessHandler.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildIllnessHandler.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildIllnessHandler.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildIllnessHandler.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildImmunizationsHandler.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildImmunizationsHandler.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildImmunizationsHandler.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildImmunizationsHandler.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationECHandler.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationECHandler.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationECHandler.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationECHandler.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationOAHandler.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationOAHandler.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationOAHandler.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/service/formSubmissionHandler/ChildRegistrationOAHandler.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/activity/ChildDetailActivity.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/activity/ChildDetailActivity.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/activity/ChildDetailActivity.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/activity/ChildDetailActivity.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/activity/ChildSmartRegisterActivity.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/activity/ChildSmartRegisterActivity.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/activity/ChildSmartRegisterActivity.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/activity/ChildSmartRegisterActivity.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/activity/NativeChildSmartRegisterActivity.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/activity/NativeChildSmartRegisterActivity.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/activity/NativeChildSmartRegisterActivity.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/activity/NativeChildSmartRegisterActivity.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/contract/Child.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/Child.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/contract/Child.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/Child.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildClient.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildClient.java similarity index 97% rename from dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildClient.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildClient.java index 39690c505..f945541d6 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildClient.java +++ b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildClient.java @@ -4,7 +4,6 @@ import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; -import org.ei.drishti.AllConstants; import org.ei.drishti.domain.ChildServiceType; import org.ei.drishti.util.DateUtil; import org.joda.time.Days; @@ -16,9 +15,9 @@ import java.util.*; import static org.apache.commons.lang3.StringUtils.isBlank; -import static org.ei.drishti.AllConstants.*; -import static org.ei.drishti.AllConstants.ChildIllnessFields.*; import static org.ei.drishti.AllConstants.ECRegistrationFields.*; +import static org.ei.drishti.AllConstants.*; +import static org.ei.drishti.AllConstantsForChildRegister.ChildIllnessFields.*; import static org.ei.drishti.domain.ChildServiceType.*; import static org.ei.drishti.util.DateUtil.formatDate; import static org.ei.drishti.util.StringUtil.humanize; @@ -287,9 +286,9 @@ public ChildSickStatus sickStatus() { otherDiseases = data.get(REPORT_CHILD_DISEASE_OTHER); date = data.get(REPORT_CHILD_DISEASE_DATE); } else { - diseases = data.get(AllConstants.ChildIllnessFields.CHILD_SIGNS); - otherDiseases = data.get(AllConstants.ChildIllnessFields.CHILD_SIGNS_OTHER); - date = data.get(AllConstants.ChildIllnessFields.SICK_VISIT_DATE); + diseases = data.get(CHILD_SIGNS); + otherDiseases = data.get(CHILD_SIGNS_OTHER); + date = data.get(SICK_VISIT_DATE); } return new ChildSickStatus(diseases, otherDiseases, date); } diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildDetail.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildDetail.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildDetail.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildDetail.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildSmartRegisterClient.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildSmartRegisterClient.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/contract/ChildSmartRegisterClient.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/contract/ChildSmartRegisterClient.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/controller/ChildDetailController.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/controller/ChildDetailController.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/controller/ChildDetailController.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/controller/ChildDetailController.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/controller/ChildSmartRegisterController.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/controller/ChildSmartRegisterController.java similarity index 95% rename from dristhi-app/src/main/java/org/ei/drishti/view/controller/ChildSmartRegisterController.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/controller/ChildSmartRegisterController.java index bec055911..d0a1e69df 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/view/controller/ChildSmartRegisterController.java +++ b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/controller/ChildSmartRegisterController.java @@ -20,6 +20,8 @@ import static java.lang.String.valueOf; import static java.util.Collections.sort; import static org.apache.commons.lang3.StringUtils.isBlank; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationFields.NAME; +import static org.ei.drishti.AllConstantsForChildRegister.ChildRegistrationFields.WEIGHT; import static org.ei.drishti.domain.ServiceProvided.*; public class ChildSmartRegisterController { @@ -54,9 +56,9 @@ public String fetch() { new ChildClient( child.caseId(), child.gender(), - child.getDetail(AllConstants.ChildRegistrationFields.WEIGHT), + child.getDetail(WEIGHT), child.mother().thayiCardNumber()) - .withName(child.getDetail(AllConstants.ChildRegistrationFields.NAME)) + .withName(child.getDetail(NAME)) .withEntityIdToSavePhoto(child.caseId()) .withMotherName(child.ec().wifeName()) .withDOB(child.dateOfBirth()) @@ -95,9 +97,9 @@ public SmartRegisterClients fetch() { new ChildClient( child.caseId(), child.gender(), - child.getDetail(AllConstants.ChildRegistrationFields.WEIGHT), + child.getDetail(WEIGHT), child.mother().thayiCardNumber()) - .withName(child.getDetail(AllConstants.ChildRegistrationFields.NAME)) + .withName(child.getDetail(NAME)) .withEntityIdToSavePhoto(child.caseId()) .withMotherName(child.ec().wifeName()) .withDOB(child.dateOfBirth()) diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildAgeSort.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildAgeSort.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildAgeSort.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildAgeSort.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildHighRiskSort.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildHighRiskSort.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildHighRiskSort.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildHighRiskSort.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildImmunization0to9ServiceMode.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildImmunization0to9ServiceMode.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildImmunization0to9ServiceMode.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildImmunization0to9ServiceMode.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildImmunization9PlusServiceMode.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildImmunization9PlusServiceMode.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildImmunization9PlusServiceMode.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildImmunization9PlusServiceMode.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildOverviewServiceMode.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildOverviewServiceMode.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/dialog/ChildOverviewServiceMode.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/dialog/ChildOverviewServiceMode.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/viewHolder/ChildRegisterProfilePhotoLoader.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/viewHolder/ChildRegisterProfilePhotoLoader.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/viewHolder/ChildRegisterProfilePhotoLoader.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/viewHolder/ChildRegisterProfilePhotoLoader.java diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/viewHolder/NativeChildSmartRegisterViewHolder.java b/dristhi-app/registers/child/src/main/java/org/ei/drishti/view/viewHolder/NativeChildSmartRegisterViewHolder.java similarity index 100% rename from dristhi-app/src/main/java/org/ei/drishti/view/viewHolder/NativeChildSmartRegisterViewHolder.java rename to dristhi-app/registers/child/src/main/java/org/ei/drishti/view/viewHolder/NativeChildSmartRegisterViewHolder.java diff --git a/dristhi-app/res/layout/smart_registers_home.xml b/dristhi-app/res/layout/smart_registers_home.xml index 4aa8260c6..7f8e83d50 100644 --- a/dristhi-app/res/layout/smart_registers_home.xml +++ b/dristhi-app/res/layout/smart_registers_home.xml @@ -24,6 +24,7 @@ android:orientation="horizontal"> @@ -56,6 +57,7 @@ @@ -87,6 +89,7 @@ @@ -118,6 +121,7 @@ @@ -149,6 +153,7 @@ diff --git a/dristhi-app/src/main/java/org/ei/drishti/AllConstants.java b/dristhi-app/src/main/java/org/ei/drishti/AllConstants.java index 544a3d503..7e645156e 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/AllConstants.java +++ b/dristhi-app/src/main/java/org/ei/drishti/AllConstants.java @@ -193,59 +193,12 @@ public class DeliveryOutcomeFields { public static final String STILL_BIRTH_VALUE = "still_birth"; } - public class ChildRegistrationECFields { - public static final String BCG_DATE = "bcgDate"; - public static final String MEASLES_DATE = "measlesDate"; - public static final String MEASLESBOOSTER_DATE = "measlesboosterDate"; - public static final String OPV_0_DATE = "opv0Date"; - public static final String OPV_1_DATE = "opv1Date"; - public static final String OPV_2_DATE = "opv2Date"; - public static final String OPV_3_DATE = "opv3Date"; - public static final String OPVBOOSTER_DATE = "opvboosterDate"; - public static final String DPTBOOSTER_1_DATE = "dptbooster1Date"; - public static final String DPTBOOSTER_2_DATE = "dptbooster2Date"; - public static final String PENTAVALENT_1_DATE = "pentavalent1Date"; - public static final String PENTAVALENT_2_DATE = "pentavalent2Date"; - public static final String PENTAVALENT_3_DATE = "pentavalent3Date"; - public static final String HEPB_BIRTH_DOSE_DATE = "hepb0Date"; - public static final String SHOULD_CLOSE_MOTHER = "shouldCloseMother"; - public static final String MMR_DATE = "mmrDate"; - public static final String JE_DATE = "jeDate"; - } - - public class ChildRegistrationFields { - public static final String MOTHER_ID = "motherId"; - public static final String CHILD_ID = "childId"; - public static final String DATE_OF_BIRTH = "dateOfBirth"; - public static final String WEIGHT = "weight"; - public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; - public static final String GENDER = "gender"; - public static final String NAME = "name"; - public static final String HIGH_RISK_REASON = "childHighRiskReason"; - public static final String IS_CHILD_HIGH_RISK = "isChildHighRisk"; - } - - public class ChildRegistrationOAFields { - public static final String CHILD_ID = "id"; - public static final String DATE_OF_BIRTH = "dateOfBirth"; - public static final String WEIGHT = "weight"; - public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; - public static final String NAME = "name"; - public static final String THAYI_CARD_NUMBER = "thayiCardNumber"; - } - public class PNCRegistrationOAFields { public static final String WEIGHT = "weight"; public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; public static final String CHILD_REGISTRATION_OA_SUB_FORM_NAME = "child_registration_oa"; } - public class ChildImmunizationsFields { - public static final String PREVIOUS_IMMUNIZATIONS_GIVEN = "previousImmunizations"; - public static final String IMMUNIZATIONS_GIVEN = "immunizationsGiven"; - public static final String IMMUNIZATION_DATE = "immunizationDate"; - } - public static class Immunizations { public static final String BCG = "bcg"; @@ -280,17 +233,6 @@ public static class Immunizations { MMR}; } - public class ChildIllnessFields { - public static final String CHILD_SIGNS = "childSigns"; - public static final String CHILD_SIGNS_OTHER = "childSignsOther"; - public static final String SICK_VISIT_DATE = "sickVisitDate"; - public static final String REPORT_CHILD_DISEASE = "reportChildDisease"; - public static final String REPORT_CHILD_DISEASE_OTHER = "reportChildDiseaseOther"; - public static final String REPORT_CHILD_DISEASE_DATE = "reportChildDiseaseDate"; - public static final String REPORT_CHILD_DISEASE_PLACE = "reportChildDiseasePlace"; - public static final String CHILD_REFERRAL = "childReferral"; - } - public class VitaminAFields { public static final String VITAMIN_A_DOSE = "vitaminADose"; public static final String VITAMIN_A_DATE = "vitaminADate"; diff --git a/dristhi-app/src/main/java/org/ei/drishti/DristhiConfiguration.java b/dristhi-app/src/main/java/org/ei/drishti/DristhiConfiguration.java index 4bac86c73..a4454199c 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/DristhiConfiguration.java +++ b/dristhi-app/src/main/java/org/ei/drishti/DristhiConfiguration.java @@ -7,18 +7,20 @@ import java.util.Properties; public class DristhiConfiguration { - private static final String DRISHTI_BASE_URL = "DRISHTI_BASE_URL"; private static final String HOST = "HOST"; private static final String PORT = "PORT"; private static final String SHOULD_VERIFY_CERTIFICATE = "SHOULD_VERIFY_CERTIFICATE"; private static final String SYNC_DOWNLOAD_BATCH_SIZE = "SYNC_DOWNLOAD_BATCH_SIZE"; + public static final String AVAILABLE_REGISTERS = "AVAILABLE_REGISTERS"; private Properties properties = new Properties(); + private Properties extraProperties = new Properties(); public DristhiConfiguration(AssetManager assetManager) { try { properties.load(assetManager.open("app.properties")); + extraProperties.load(assetManager.open("app-extra.properties")); } catch (IOException e) { e.printStackTrace(); } @@ -44,6 +46,10 @@ public String dristhiBaseURL() { return this.get(DRISHTI_BASE_URL); } + public String availableRegisters() { + return extraProperties.getProperty(AVAILABLE_REGISTERS); + } + public int syncDownloadBatchSize() { return IntegerUtil.tryParse(this.get(SYNC_DOWNLOAD_BATCH_SIZE), 100); } diff --git a/dristhi-app/src/main/java/org/ei/drishti/view/activity/NativeHomeActivity.java b/dristhi-app/src/main/java/org/ei/drishti/view/activity/NativeHomeActivity.java index 4d3c283f1..e78f4bc04 100644 --- a/dristhi-app/src/main/java/org/ei/drishti/view/activity/NativeHomeActivity.java +++ b/dristhi-app/src/main/java/org/ei/drishti/view/activity/NativeHomeActivity.java @@ -5,6 +5,7 @@ import android.view.View; import android.widget.TextView; import org.ei.drishti.Context; +import org.ei.drishti.DristhiConfiguration; import org.ei.drishti.R; import org.ei.drishti.event.Listener; import org.ei.drishti.service.PendingFormSubmissionService; @@ -15,6 +16,13 @@ import org.ei.drishti.view.controller.NativeAfterANMDetailsFetchListener; import org.ei.drishti.view.controller.NativeUpdateANMDetailsTask; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static android.view.View.GONE; +import static android.view.View.VISIBLE; +import static com.google.common.collect.Lists.newArrayList; import static java.lang.String.valueOf; import static org.ei.drishti.event.Event.*; @@ -67,11 +75,34 @@ public void onEvent(String data) { @Override protected void onCreation() { setContentView(R.layout.smart_registers_home); - setupViews(); initialize(); + setupViews(); } private void setupViews() { + Map registerButtons = new HashMap() { + { + put("EC", R.id.enter_ec_register); + put("FP", R.id.enter_fp_register); + put("ANC", R.id.enter_anc_register); + put("PNC", R.id.enter_pnc_register); + put("CHILD", R.id.enter_child_register); + } + }; + for (Integer registerButtonId : registerButtons.values()) { + findViewById(registerButtonId).setVisibility(GONE); + } + + DristhiConfiguration dristhiConfiguration = new DristhiConfiguration(getApplicationContext().getAssets()); + String availableRegistersAsString = dristhiConfiguration.availableRegisters(); + List availableRegisters = newArrayList(availableRegistersAsString.split(":")); + for (String availableRegister : availableRegisters) { + Integer registerButtonId = registerButtons.get(availableRegister); + if(registerButtonId != null) { + findViewById(registerButtonId).setVisibility(VISIBLE); + } + } + findViewById(R.id.btn_ec_register).setOnClickListener(onRegisterStartListener); findViewById(R.id.btn_pnc_register).setOnClickListener(onRegisterStartListener); findViewById(R.id.btn_anc_register).setOnClickListener(onRegisterStartListener);